{"version":3,"file":"static/js/main.6ffd312d.js","mappings":";oBA+ZAA,EAAOC,QAvZP,SAAeC,GAOb,IAAIC,EAAmB,uDAoTnBC,EAAW,CACbC,SAAUF,EACVG,QA1SiB,CACjB,aACA,QACA,QACA,QACA,QACA,QACA,WACA,KACA,OACA,SACA,MACA,SACA,QACA,UACA,MACA,WACA,SACA,KACA,SACA,KACA,MACA,MACA,QACA,QACA,SACA,QACA,SACA,OACA,MACA,QACA,QACA,SA2QAC,QAzPiB,CACjB,OACA,SACA,aACA,aACA,MACA,MACA,QACA,QACA,QACA,gBACA,YACA,YACA,MACA,QACA,QACA,QACA,eACA,YACA,YACA,gBACA,eACA,uBACA,qBACA,cACA,UACA,YACA,UACA,QACA,KACA,UACA,UACA,KACA,SACA,QACA,SACA,OACA,QACA,SACA,UAmNAC,SAjMkB,CAClB,gBACA,kBACA,eACA,eACA,kBACA,gBACA,qBACA,iBACA,gBACA,cACA,iBACA,oBACA,mBACA,iBACA,MACA,gBACA,QACA,iBACA,WACA,SACA,WACA,YACA,SACA,YACA,OACA,cACA,oBACA,iBACA,mBACA,QACA,UACA,SACA,UACA,OACA,OACA,YACA,QACA,YACA,MACA,QACA,UACA,aACA,aACA,aACA,qBACA,YACA,aACA,SACA,UACA,WACA,UACA,SACA,QACA,aACA,SACA,aACA,UACA,QACA,WACA,WACA,WACA,aACA,cACA,gBACA,cACA,OACA,oBACA,OACA,cACA,cACA,WACA,OACA,iBACA,YACA,qBACA,OACA,UACA,UACA,UACA,WACA,YACA,OACA,KACA,WACA,YACA,WACA,SACA,iBACA,cACA,aACA,eACA,YACA,MACA,SACA,QACA,QACA,QACA,OACA,UACA,qBACA,wBACA,aACA,WACA,WACA,iBACA,gBACA,YACA,OACA,SACA,SACA,cACA,UACA,mBACA,SACA,SACA,aACA,UACA,SACA,eACA,mBACA,gBACA,OACA,mBACA,oBACA,OACA,yBACA,MACA,YACA,WACA,QACA,sBACA,OACA,gBACA,MACA,QACA,aACA,eACA,oBA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kBAEfC,EAAmB,IACvBF,EAAmB,IACnBf,EAASgB,GACT,gBAAkBhB,EAJS,YAK7B,IACMkB,EAAsB,CAC1BlD,UAAW,UACXC,MAAO,sBAMHkD,EAAU,CACdnD,UAAW,SACXO,SAAU,CACR,CACEN,MAAO,cACPC,IAAK,IACLJ,QAAS,MACTO,SAAU,CAAEhB,EAAKiB,mBAEnB,CACEL,MAAO,sEACPC,IAAK,IACLJ,QAAS,KAEXT,EAAK+D,kBAAkB,CACrBnD,MAAO,mCACPC,IAAK,0BAKLmD,EAAU,CACdrD,UAAW,SACXO,SAAU,CACR,CACEN,MAAO,iBAET,CACEA,MAAO,yFAET,CACEA,MAAO,wFAGXO,UAAW,GAGP8C,EAAe,CACnBtD,UAAW,OACXC,MAAO,eACPC,IAAK,IACLL,SAAU,CACR,eACE,0FAGJQ,SAAU,CACR,CACEJ,MAAO,OACPO,UAAW,GAEbnB,EAAKkE,QAAQJ,EAAS,CACpBnD,UAAW,gBAEb,CACEA,UAAW,cACXC,MAAO,SAET4C,EACAxD,EAAKmE,uBAIHC,EAAa,CACjBzD,UAAW,QACXC,MAAO+B,EAASgB,GAAgB3D,EAAKqE,SACrClD,UAAW,GAGPmD,EAAiB3B,EAASgB,GAAgB3D,EAAKqE,SAAW,UAsH1DE,EAAe,CACnBnE,QAAS,y0BAYTE,SAAU,4BACVkE,iBAlIuB,CACvB,OACA,QACA,OACA,SACA,OACA,OACA,MACA,OACA,MACA,OACA,QACA,OACA,UACA,QACA,OACA,QACA,WACA,QACA,OACA,QACA,QACA,SACA,MACA,MACA,OACA,SACA,WACA,WACA,gBACA,SACA,SACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,WACA,UACA,UACA,OACA,QACA,QACA,MACA,SACA,UACA,SACA,SACA,SACA,SACA,OACA,MACA,SACA,UACA,OACA,QACA,OACA,MACA,WACA,UACA,OACA,SACA,SACA,SACA,SACA,SACA,UACA,SACA,UACA,UACA,UACA,UACA,UACA,SACA,SACA,OACA,MACA,gBACA,qBACA,qBACA,iBACA,YACA,QACA,aACA,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gB,CACd,MAAS,WAEX,oBAAqB,CACnB,MAAS,WAEX,cAAe,CACb,MAAS,WAEX,WAAY,CACV,MAAS,WAEX,aAAc,CACZ,MAAS,WAEX,gBAAiB,CACf,MAAS,WAEX,oBAAqB,CACnB,MAAS,WAEX,yBAA0B,CACxB,MAAS,WAEX,YAAa,CACX,MAAS,WAEX,gBAAiB,CACf,MAAS,WAEX,oBAAqB,CACnB,MAAS,WAEX,aAAc,CACZ,MAAS,WAEX,eAAgB,CACd,MAAS,WAEX,sBAAuB,CACrB,MAAS,WAEX,gBAAiB,CACf,UAAa,UAEf,cAAe,CACb,WAAc,kBC7GlB,SAAS8J,EAAUjH,GACjB,OAOF,WAAyB,QAAAE,EAAAC,UAAAR,OAANS,EAAI,IAAAC,MAAAH,GAAAI,EAAA,EAAAA,EAAAJ,EAAAI,IAAJF,EAAIE,GAAAH,UAAAG,GAErB,OADeF,EAAKG,KAAKC,GApB3B,SAAgBR,GACd,OAAKA,EACa,kBAAPA,EAAwBA,EAE5BA,EAAGS,OAHM,IAIlB,CAeiCA,CAAOD,KAAIE,KAAK,GAEjD,CAVST,CAAO,MAAOD,EAAI,IAC3B,CAuaA9C,EAAOC,QArZP,SAAgBC,GACd,MAuIME,EAAW,CACfC,SAAU,sBACVC,QAzIqB,CACrB,MACA,KACA,SACA,QACA,QACA,QACA,QACA,WACA,MACA,MACA,OACA,OACA,SACA,UACA,MACA,OACA,SACA,KACA,SACA,KACA,KACA,SACA,cACA,MACA,KACA,OACA,QACA,SACA,MACA,QACA,OACA,SA0GAE,SAvGgB,CAChB,aACA,MACA,MACA,MACA,QACA,MACA,OACA,aACA,YACA,QACA,WACA,MACA,cACA,UACA,UACA,UACA,OACA,MACA,SACA,YACA,OACA,OACA,SACA,QACA,SACA,YACA,UACA,UACA,UACA,OACA,OACA,MACA,KACA,QACA,MACA,aACA,aACA,OACA,MACA,OACA,SACA,MACA,MACA,aACA,MACA,OACA,SACA,MACA,OACA,MACA,MACA,QACA,WACA,QACA,OACA,WACA,QACA,MACA,UACA,QACA,SACA,eACA,MACA,MACA,QACA,QACA,OA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C,UAAW,WACXC,MAAO,QAAUyJ,EAAc,YAAcG,EAC7C3J,IAAK,QACLiE,aAAa,EACb9D,SAAU,CACRuJ,EACAJ,IAGJ,CACEvJ,MAAO,aACPO,UAAW,EACXH,SAAU,CACR,CACEL,UAAW,WACXC,MAAO4J,EACP3J,IAAK,QACLiE,aAAa,EACb9D,SAAU,CAAEmJ,MAIlB,CACExJ,UAAW,QACXiE,cAAe,QACf/D,IAAK,IACLJ,QAAS,YACTO,SAAU,CACR,CACE4D,cAAe,UACfI,gBAAgB,EAChBvE,QAAS,YACTO,SAAU,CAAEuJ,IAEdA,IAGJ,CACE5J,UAAW,OACXC,MAAOyJ,EAAc,IACrBxJ,IAAK,IACLiE,aAAa,EACb2D,WAAW,EACXtH,UAAW,KAInB,WChJA,MAAMjB,EAAW,CACf,KACA,KACA,KACA,KACA,MACA,QACA,UACA,MACA,MACA,WACA,KACA,SACA,OACA,OACA,QACA,QACA,aACA,OACA,QACA,OACA,UACA,MACA,SACA,WACA,SACA,SACA,MACA,QACA,QACA,QAIA,WACA,QACA,QACA,SACA,SACA,OACA,SACA,WAEIuK,EAAW,CACf,OACA,QACA,OACA,YACA,MACA,YAoFIC,EAAY,GAAG7H,OAlCI,CACvB,cACA,aACA,gBACA,eAEA,UACA,UAEA,OACA,WACA,QACA,aACA,WACA,YACA,qBACA,YACA,qBACA,SACA,YAGyB,CACzB,YACA,OACA,QACA,UACA,SACA,WACA,eACA,SACA,UA9EY,CACZ,OACA,WACA,SACA,OACA,OACA,SACA,SACA,SACA,WACA,UACA,QACA,SACA,MACA,MACA,UACA,UACA,QACA,UACA,OACA,UACA,eACA,aACA,aACA,YACA,cACA,cACA,eACA,QACA,aACA,oBACA,cACA,gBACA,iBACA,UAGkB,CAClB,YACA,gBACA,aACA,iBACA,cACA,YACA,aAqRF/C,EAAOC,QA/NP,SAAoBC,GAClB,MA4CM2K,EAAa,CACjBvK,QAASF,EAAS2C,OAhCQ,CAC1B,OACA,SACA,QACA,OACA,KACA,KACA,OACA,MACA,KACA,KACA,OACA,MACA,KACA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EAChBhE,SAAU,CACRqN,EACArO,EAAKwD,oBACL4K,GAEFjN,UAAW,GAEbnB,EAAKwD,oBACL4K,EACAH,EACAC,EACAnN,EACAf,EAAKwI,gBAGT4F,IAGJ,CACEzN,UAAW,QACXiE,cAAe,wBACf/D,IAAK,WACLkE,YAAY,EACZtE,QAAS,qBACTO,SAAU,CACR,CACE4D,cAAe,iDAEjB5E,EAAK0J,sBACL,CACE/I,UAAW,OACXC,MAAO,IACPC,IAAK,IACL6H,cAAc,EACd3D,YAAY,EACZ5D,UAAW,GAEb,CACER,UAAW,OACXC,MAAO,UACPC,IAAK,WACL6H,cAAc,EACdD,WAAW,GAEbwF,EACAC,IAGJnN,EACA,CACEJ,UAAW,OACXC,MAAO,kBACPC,IAAK,IACLJ,QAAS,MAEX0N,GAGN,YCzRA,MAAM9J,EAAW,2BACXnE,EAAW,CACf,KACA,KACA,KACA,KACA,MACA,QACA,UACA,MACA,MACA,WACA,KACA,SACA,OACA,OACA,QACA,QACA,aACA,OACA,QACA,OACA,UACA,MACA,SACA,WACA,SACA,SACA,MACA,QACA,QACA,QAIA,WACA,QACA,QACA,SACA,SACA,OACA,SACA,WAEIuK,EAAW,CACf,OACA,QACA,OACA,YACA,MACA,YAoFIC,EAAY,GAAG7H,OAlCI,CACvB,cACA,aACA,gBACA,eAEA,UACA,UAEA,OACA,WACA,QACA,aACA,WACA,YACA,qBACA,YACA,qBACA,SACA,YAGyB,CACzB,YACA,OACA,QACA,UACA,SACA,WACA,eACA,SACA,UA9EY,CACZ,OACA,WACA,SACA,OACA,OACA,SACA,SACA,SACA,WACA,UACA,QACA,SACA,MACA,MACA,UACA,UACA,QACA,UACA,OACA,UACA,eACA,aACA,aACA,YACA,cACA,cACA,eACA,QACA,aACA,oBACA,cACA,gBACA,iBACA,UAGkB,CAClB,YACA,gBACA,aACA,iBACA,cACA,YACA,aAgEF,SAASgH,EAAUjH,GACjB,OAAOC,EAAO,MAAOD,EAAI,IAC3B,CAMA,SAASC,IAAgB,QAAAC,EAAAC,UAAAR,OAANS,EAAI,IA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EAAKkE,QAAQlE,EAAKqI,kBAAmB,CACnC5H,QAAS,SAIT2D,EAAapE,EAAK0J,sBAClBZ,EAAS,CACb5H,SAAU,CACRlB,EAAK4J,mBACL5J,EAAKwI,gBAGHtI,EAEJ,sfAyBF,MAAO,CACLoB,KAAM,SACN2D,QAAS,CAAE,OACXzE,SAAUN,EACVc,SAAU,CACRhB,EAAKwD,oBACLxD,EAAKyD,QACH,OACA,OACA,CACEzC,SAAU,CACR,CACEL,UAAW,SACXC,MAAO,iBAKf,CACED,UAAW,SACXC,MAAO,oBACPC,IAAK,QACLG,SAAU,CAAEhB,EAAKiB,mBAEnB,CAEEL,MAAO,oDAET,CACED,UAAW,WACXiE,cAAe,cACf/D,IAAK,OACLkE,YAAY,EACZtE,QAAS,UACTO,SAAU,CACRoD,EACA,CACEzD,UAAW,SACXC,MAAO,KACPC,IAAK,KACLL,SAAUN,EACVc,SAAU,CACR,OACAhB,EAAKmE,qBACLpD,EACA+H,MAKR,CACEnI,UAAW,QACXiE,cAAe,kBACf/D,IAAK,KACLkE,YAAY,EACZtE,QAAS,SACTO,SAAU,CACR,CACE4D,cAAe,sBAEjBR,IAGJ,CACEQ,cAAe,YACf/D,IAAK,IACLJ,QAAS,OACTO,SAAU,CAAEoD,IAEd,CACEQ,cAAe,MACf/D,IAAK,IACLG,SAAU,CAAEoD,IAEd,CACExD,MAAO,MAETG,EACA+H,GAGN,YCzIA,MAuBM2L,EAAO,CACX,IACA,OACA,UACA,UACA,QACA,QACA,IACA,aACA,OACA,SACA,SACA,UACA,OACA,OACA,KACA,MACA,UACA,MACA,MACA,KACA,KACA,KACA,WACA,aACA,SACA,SACA,OACA,KACA,KACA,KACA,KACA,KACA,KACA,SACA,SACA,OACA,IACA,SACA,MACA,QACA,MACA,MACA,QACA,SACA,KACA,OACA,OACA,OACA,MACA,SACA,KACA,IACA,IACA,QACA,OACA,UACA,OACA,SACA,UACA,MACA,QACA,QACA,KACA,WACA,QACA,KACA,QACA,OACA,KACA,KACA,MACA,SAGIC,EAAiB,CACrB,YACA,cACA,eACA,QACA,cACA,cACA,sBACA,gBACA,eACA,eACA,gBACA,OACA,SACA,QACA,kBACA,aACA,cACA,iBACA,kBACA,UACA,uBACA,mBACA,yBACA,+BACA,aACA,OACA,YACA,SACA,QAEA,YACA,YACA,aACA,cAIIC,EAAiB,CACrB,SACA,WACA,QACA,UACA,UACA,UACA,UACA,MACA,WACA,OACA,QACA,UACA,QACA,cACA,gBACA,aACA,SACA,QACA,gBACA,eACA,MACA,OACA,eACA,QACA,gBACA,WACA,UACA,KACA,OACA,aACA,eACA,OACA,OACA,aACA,MACA,YACA,UACA,iBACA,eACA,mBACA,cACA,aACA,eACA,WACA,eACA,OACA,oBACA,YACA,aACA,WACA,QACA,OACA,QACA,SACA,gBACA,eACA,QACA,UACA,SAIIC,EAAkB,CACtB,QACA,WACA,SACA,MACA,aACA,eACA,aACA,gBACA,SACA,OACA,cACA,YACA,UACA,kBAGIC,EAAa,CACjB,gBACA,cACA,aACA,YACA,kBACA,sBACA,qBACA,sBACA,4BACA,iBACA,uBACA,4BACA,OACA,sBACA,aACA,wBACA,kBACA,mBACA,mBACA,oBACA,sBACA,oBACA,kBACA,SACA,gBACA,sBACA,4BACA,6BACA,sBACA,sBACA,kBACA,eACA,eACA,sBACA,sBACA,qBACA,sBACA,qBACA,cACA,oBACA,oBACA,oBACA,gBACA,eACA,qBACA,qBACA,qBACA,iBACA,eACA,aACA,mBACA,yBACA,0BACA,mBACA,mBACA,eACA,SACA,uBACA,aACA,aACA,cACA,eACA,eACA,eACA,QACA,OACA,YACA,QACA,eACA,cACA,aACA,cACA,oBACA,oBACA,oBACA,cACA,eACA,UACA,UACA,oBACA,gBACA,SACA,YACA,UACA,cACA,SACA,OACA,aACA,iBACA,YACA,YACA,cACA,YACA,QACA,OACA,eACA,cACA,wBACA,eACA,yBACA,YACA,mBACA,iBACA,eACA,aACA,eACA,yBACA,0BACA,cACA,SACA,UACA,OACA,oBACA,kBACA,mBACA,WACA,UACA,UACA,kBACA,OACA,iBACA,cACA,aACA,mBACA,sBACA,kBACA,SACA,gBACA,cACA,eACA,aACA,QACA,OACA,aACA,YACA,aACA,YACA,WACA,YACA,WACA,YACA,SACA,OACA,SACA,aACA,kBACA,UACA,QACA,UACA,UACA,gBACA,iBACA,gBACA,gBACA,WACA,gBACA,aACA,aACA,UACA,iBACA,eACA,gBACA,cACA,mBACA,oBACA,oBACA,cACA,qBACA,iBACA,WACA,SACA,SACA,QACA,MACA,WACA,eACA,aACA,kBACA,kBACA,wBACA,uBACA,wBACA,cACA,gBACA,iBACA,cACA,iBACA,0BACA,MACA,YACA,mBACA,kBACA,aACA,mBACA,sBACA,sBACA,6BACA,eACA,iBACA,aACA,cACA,SACA,QACA,aACA,eACA,YACA,WAGAC,UAGIC,EAAmBJ,EAAe9R,OAAO+R,GA4O/C9U,EAAOC,QAjOP,SAAcC,GACZ,MAAMgV,EAzbOhV,KACN,CACLiV,UAAW,CACTtU,UAAW,OACXC,MAAO,cAETsU,SAAU,CACRvU,UAAW,SACXC,MAAO,oCAETuU,wBAAyB,CACvBxU,UAAW,gBACXC,MAAO,KACPC,IAAK,KACLJ,QAAS,IACTO,SAAU,CACRhB,EAAKsI,iBACLtI,EAAKqI,sBAwaG+M,CAAMpV,GACdqV,EAAqBN,EAGrB1Q,EAAW,UACXiR,EAAkB,IAAMjR,EAAW,QAAUA,EAAW,OAIxDkR,EAAQ,GAAUC,EAAc,GAEhCC,EAAc,SAASvC,GAC3B,MAAO,CAELvS,UAAW,SACXC,MAAO,KAAOsS,EAAI,MAAQA,EAE9B,EAEMwC,EAAa,SAASpU,EAAMV,EAAOO,GACvC,MAAO,CACLR,UAAWW,EACXV,MAAOA,EACPO,UAAWA,EAEf,EAEMwU,EAAc,CAClBxV,SAAU,UACVC,QA1BmB,kBA2BnBwV,UAAWlB,EAAepR,KAAK,MAG3BuS,EAAc,CAElBjV,MAAO,MACPC,IAAK,MACLG,SAAUwU,EACVhV,SAAUmV,EACVxU,UAAW,GAIbqU,EAAYhT,KACVxC,EAAKwD,oBACLxD,EAAKmE,qBACLsR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A,UACA,OACA,SACA,SACA,SACA,SACA,SACA,UACA,SACA,UACA,UACA,UACA,UACA,UACA,SACA,SACA,OACA,MACA,gBACA,qBACA,qBACA,iBACA,YACA,QACA,aACA,QACA,YACA,MACA,OACA,WACA,UACA,WACA,OACA,mBACA,aACA,UACA,YACA,MACA,SACA,UACA,MACA,OACA,OACA,OACA,QACA,SACA,SACA,eACA,gBACA,iBAkBAnE,QAAS,2BAGLoE,EAAoB,CACxB9D,UAAW,oBACXQ,UAAW,EACXX,SAAU+D,EACV3D,MAAOiC,EACL,KACA,eACA,SACA,UACA,YACA7C,EAAKqE,UA9QQzB,EA+QH,QA9QPC,EAAO,MAAOD,EAAI,QAD3B,IAAmBA,EAkRjB,MAAM8B,EAAsB,CAC1BD,EACAR,EACAJ,EACAL,EACAxD,EAAKmE,qBACLH,EACAF,GAIIa,EAAqB,CAIzBzD,SAAU,CACR,CACEN,MAAO,IACPC,IAAK,KAEP,CACED,MAAO,KACPC,IAAK,MAEP,CACE+D,cAAe,wBACf/D,IAAK,MAGTL,SAAU+D,EACVvD,SAAU0D,EAAoB7B,OAAO,CACnC,CACEjC,MAAO,KACPC,IAAK,KACLL,SAAU+D,EACVvD,SAAU0D,EAAoB7B,OAAO,CAAE,SACvC1B,UAAW,KAGfA,UAAW,GAGP0D,EAAuB,CAC3BlE,UAAW,WACXC,MAAO,IAAMgD,EAAmB,eAAiBU,EACjDQ,aAAa,EACbjE,IAAK,QACLkE,YAAY,EACZvE,SAAU+D,EACV9D,QAAS,iBACTO,SAAU,CACR,CACEJ,MAAO8C,EACPlD,SAAU+D,EACVpD,UAAW,GAEb,CACEP,MAAO0D,EACPQ,aAAa,EACb9D,SAAU,CAAEoD,GACZjD,UAAW,GAIb,CACEP,MAAO,KACPO,UAAW,GAGb,CACEP,MAAO,IACPoE,gBAAgB,EAChBhE,SAAU,CACR8C,EACAE,IAGJ,CACErD,UAAW,SACXC,MAAO,KACPC,IAAK,KACLL,SAAU+D,EACVpD,UAAW,EACXH,SAAU,CACRwC,EACAxD,EAAKmE,qBACLL,EACAE,EACAH,EAEA,CACEjD,MAAO,KACPC,IAA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ACTJ,MAAOyD,EAAW,QAClBS,aAAa,EACb3D,UAAW,EACXH,SAAU,CAAC,CACTL,UAAW,OACXC,MAAOyD,EACPlD,UAAW,OAIjB,CACEP,MAAO,IAAMZ,EAAKsJ,eAAiB,uBACnC9I,SAAU,SACVQ,SAAU,CACRhB,EAAKwD,oBACLxD,EAAKmE,qBACLnE,EAAKuN,YACL,CACE5M,UAAW,WACXC,MAAO,cAAgByD,EAAW,UAClCS,aAAa,EACbjE,IAAK,SACLG,SAAU,CAAC,CACTL,UAAW,SACXO,SAAU,CACR,CACEN,MAAOyD,GAET,CACEzD,MAAO,WAET,CACEA,MAAO,KACPC,IAAK,KACL6H,cAAc,EACd3D,YAAY,EACZvE,SAAUN,EACVc,SAAUyM,QAMpBtM,UAAW,GAEb,CACER,UAAW,WACXiE,cAAe,WACf/D,IAAK,KACLkE,YAAY,EACZ/D,SAAU,CACRhB,EAAKkE,QAAQlE,EAAKoE,WAAY,CAC5BxD,MAAOyD,IAET,CACE1D,UAAW,SACXC,MAAO,KACPC,IAAK,KACL6H,cAAc,EACd3D,YAAY,EACZ/D,SAAUyM,IAGdhN,QAAS,QAEX,CACEG,MAAO,WAGXH,QAAS,SAEb,YCgBAX,EAAOC,QAzKP,SAAgBC,GAyId,MAAO,CACLsB,KAAM,MACN2D,QAAS,CAAC,OACVzE,SATe,CACfJ,QAxGsB,CACtB,WACA,KACA,MACA,MACA,QACA,aACA,KACA,QACA,OACA,QACA,gBACA,QACA,SACA,SACA,SACA,QACA,WACA,QACA,eACA,WACA,cACA,OACA,UACA,MACA,KACA,OACA,OACA,eACA,SACA,UACA,QACA,UACA,YACA,YACA,aACA,cACA,eACA,gBACA,QACA,MACA,gBACA,kBACA,oBACA,mBACA,YACA,OACA,eACA,QACA,OACA,KACA,aACA,KACA,QACA,mBACA,YACA,WACA,KACA,OACA,OACA,QACA,QACA,MACA,YACA,MACA,OACA,UACA,YACA,iBACA,QACA,QACA,kBACA,QACA,UACA,YACA,SACA,WACA,iBACA,QACA,SACA,UACA,SACA,SACA,UACA,SACA,MACA,QACA,SACA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CLnE,EAAKwD,oBACLxD,EAAKqI,kBACL,CACE1H,UAAW,SACXK,SAAU,CAAEhB,EAAKiB,kBACjBC,SAAU,CACR,CACEN,MAAO,kDAET,CACEA,MAAO,8CAET,CACEA,MAAO,eACPO,UAAW,KAKjB,CACER,UAAW,WACXO,SAAU,CACR,CACEN,MAAO,0BAET,CACEA,MAAO,UACPO,UAAW,KAIjB,CACER,UAAW,OACXC,MAAO,IACPC,IAAK,IACLL,SAAU,CACR,eACE,qOAMJW,UAAW,IAInB,YCMArB,EAAOC,QA/HP,SAAeC,GACb,MAAMozB,EAAuB,CAC3B,MACA,MACA,MACA,OACA,OACA,QACA,MACA,SACA,QACA,OACA,KACA,MACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,KACA,MACA,SACA,MACA,MACA,OACA,MACA,QACA,OACA,OAkCF,MAAO,CACL9xB,KAAM,QACNN,SAAU,CACR,CACEL,UAAW,SACXC,MAAO,IACPC,IAAK,IACLM,UAAW,GAEbnB,EAAKyD,QACH,IACA,IACA,CACEtC,UAAW,IAGf,CACER,UAAW,UACXO,SAAU,CACR,CACEN,MAAO,6BAET,CACEA,MAAO,oBACPO,UAAW,GAEb,CACEP,MAAO,oBACPO,UAAW,GAEb,CACEP,MAAO,OA5CM,CACrB,YACA,cACA,WACA,QACA,YACA,SACA,UACA,YACA,SACA,SACA,UAiCuC0C,KAAK,KAAO,OAIjD,CACE3C,UAAW,WACXO,SAAU,CACR,CACEN,MAAO,OAASwyB,EAAqB9vB,KAAK,KAAO,QAEnD,CACE1C,MAAO,OAASwyB,EAAqB9vB,KAAK,KAAO,2BACjDnC,UAAW,IAEb,CACEP,MAAO,OA9Ea,CAC5B,OACA,OACA,QACA,QACA,UACA,OACA,SACA,UACA,UACA,OACA,WACA,SACA,OACA,UACA,SACA,OACA,UA6D8C0C,KAAK,KAAO,2BAClDnC,UAAW,MAIjB,CACER,UAAW,QACXC,MAAO,cACPO,UAAW,GAEb,CACEP,MAAO,eAIf,YCtCAd,EAAOC,QAtFP,SAAaC,GAET,IAKIqzB,EAAc,CACd1yB,UAAW,SACXC,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AC,OACVzE,SAAU,CACRJ,QAAS,uKACTC,QAAS,wBACTC,SAAU,6CAEZU,SAAU,CACRk7D,EACAl8D,EAAKkE,QAAQlE,EAAKqI,kBAAmB,CACnCrH,SAAU,CAACk7D,KAEbl8D,EAAKyD,QAAQ,IAAK,IAAK,CACrBtC,UAAW,IAEbnB,EAAKmE,qBACL,CACExD,UAAW,SACXC,MAAOZ,EAAKmhB,UACZhgB,UAAW,GAEb,CAIER,UAAW,WACXC,MAAO,sBAET,CACED,UAAW,WACXC,MAAO,sBAGT,CAIED,UAAW,QACXO,SAAU,CACR,CACEN,MAAO,qBAET,CACEA,MAAO,mBAGPO,UAAW,KAIjB,CACER,UAAW,OACXC,MAAO,aACPC,IAAK,IACLM,UAAW,GAEb,CACER,UAAW,WACXC,MAAO,kBAET,CAEEA,MAAO,WAIf,YCjFA,MAAMu7D,EAAiB,CACrB,cACA,eACA,QACA,eACA,eACA,qBACA,QACA,MACA,SACA,aACA,WACA,sBACA,8BACA,uBACA,kBACA,mBACA,kBACA,oBACA,oBACA,eACA,iBACA,sBACA,iBACA,aACA,WACA,eACA,cACA,aACA,gBACA,uBACA,WACA,SACA,uBACA,6BACA,aACA,mBACA,yBACA,cACA,gBACA,gBACA,WACA,QACA,mBACA,WACA,iBACA,gBACA,kBACA,oBACA,gBACA,uBACA,2BACA,6BACA,kBACA,cACA,wBACA,kBACA,QACA,wBACA,mBACA,eACA,cACA,kBACA,qBACA,SACA,cACA,aACA,SACA,cACA,aACA,oBACA,kBACA,6BACA,sBACA,4BACA,uBACA,iBACA,qBACA,aACA,iBACA,YACA,kBACA,iBACA,MACA,oBACA,8BACA,kCACA,oBACA,wBACA,eACA,kBACA,kBACA,mBACA,4BACA,oBACA,yBACA,yBACA,qBACA,UACA,WACA,kBACA,iBACA,eACA,iBACA,uBACA,mBACA,wBACA,eACA,iBACA,eACA,oBACA,gBACA,WACA,cACA,cACA,gBACA,mBACA,iBACA,iBACA,MACA,sBACA,SACA,gBACA,eACA,YACA,cACA,cACA,eACA,UACA,uBACA,4BACA,qBACA,uBACA,gBACA,uBACA,mBACA,mBACA,qBACA,WACA,cACA,qBACA,mBACA,WACA,aACA,mBACA,iBACA,kBACA,kBACA,UACA,aACA,UACA,mBACA,kBACA,0BACA,YACA,eACA,uBACA,gBACA,uBACA,WACA,WACA,YACA,UACA,QACA,kBACA,cACA,aACA,qBACA,kBACA,WACA,SACA,cACA,cACA,WACA,QACA,aACA,SACA,UACA,SACA,UACA,SACA,UACA,eACA,cACA,YACA,SACA,UACA,SACA,qBACA,UACA,SACA,UACA,OACA,MACA,SACA,SACA,iBACA,eACA,0BACA,cACA,SACA,gBACA,YACA,QACA,kBACA,aACA,cACA,eACA,YACA,WACA,YACA,SACA,gBACA,eACA,aACA,SACA,QACA,aACA,WACA,aACA,cACA,MACA,YACA,aACA,aACA,SACA,aACA,cACA,WACA,qBACA,cACA,mBACA,SACA,cACA,cACA,oBACA,iBACA,eACA,oBACA,sBACA,WACA,cACA,mBACA,aACA,wBACA,kBACA,uBACA,oBACA,yBACA,sBACA,iBACA,sBACA,0BACA,oBACA,wBACA,kBACA,gBACA,eACA,yBACA,oBACA,OACA,kBACA,YACA,yBACA,WACA,QACA,iBACA,aACA,QACA,eACA,gBACA,wBACA,gBACA,eACA,yBACA,sBACA,kBACA,gBACA,uBACA,YACA,aACA,cACA,cACA,gBACA,gBACA,YACA,sBACA,iBACA,gBACA,mBACA,cACA,iBACA,iBACA,YACA,aACA,cACA,yBACA,eACA,gBACA,oBACA,iBACA,oBACA,eACA,WACA,WACA,iBACA,aACA,kBACA,YACA,YACA,SACA,cACA,eACA,gBACA,cACA,eACA,kBACA,mBACA,8BACA,aACA,YACA,cACA,eACA,mBACA,cACA,YACA,YACA,sBACA,+BACA,eACA,iBACA,uBACA,aACA,eACA,yBACA,WACA,sBACA,aACA,qBACA,uBACA,aACA,qBACA,kBACA,eACA,YACA,YACA,qBACA,2BACA,uBACA,oBACA,mBACA,sBACA,gBACA,aACA,oBACA,cACA,aACA,cACA,mBACA,iBACA,iBACA,OACA,WACA,YACA,aACA,YACA,kBACA,OACA,oBACA,OACA,aACA,uBACA,0BACA,YACA,mBACA,WACA,OACA,OACA,iBACA,iBACA,kCACA,WACA,aACA,eACA,mBACA,sBACA,YACA,2BACA,UACA,YACA,aACA,qBACA,iBACA,aACA,aACA,WACA,WACA,mBACA,YACA,sBACA,0BACA,YACA,oBACA,uBACA,uBACA,6BACA,uBACA,6BACA,UACA,uBACA,OACA,SACA,QACA,oBACA,iCACA,eACA,QACA,QACA,QACA,sBACA,qBACA,+BACA,gCACA,aACA,wBACA,6BACA,mBACA,iBACA,oBACA,UACA,UACA,cACA,UACA,UACA,cACA,OACA,2BACA,mBACA,mCACA,wBACA,kBACA,UACA,wBACA,oBACA,cACA,mBACA,0BACA,iBACA,wBACA,iBACA,kBACA,WACA,oBACA,iBACA,eACA,eACA,aACA,iBACA,kBACA,cACA,YACA,WACA,WACA,uBACA,kBACA,uBACA,4BACA,kBACA,yBACA,qBACA,+BACA,SACA,WACA,SACA,YACA,SACA,QACA,SACA,eACA,gBACA,SACA,mBACA,sBACA,QACA,uBACA,wBACA,iBACA,QACA,YACA,oBACA,gBACA,QACA,QACA,wBACA,iBACA,sBACA,0BACA,iBACA,gBACA,sBACA,gBACA,sBACA,wBACA,4BACA,4BACA,8BACA,WACA,cACA,gBACA,oBACA,OACA,OACA,WACA,eACA,OACA,OACA,YACA,WACA,QACA,YACA,QACA,6BACA,iBACA,0BACA,kBACA,eACA,kBACA,kBACA,kBACA,WACA,gBACA,WACA,iBACA,eACA,mBACA,mBACA,0BACA,SACA,qBACA,6BACA,2BACA,eACA,qBACA,sBACA,gBACA,iBACA,iBACA,SACA,MACA,mBACA,UACA,gBACA,QACA,QACA,UACA,qBACA,WACA,QACA,aACA,YACA,YACA,YACA,cACA,mBACA,WACA,kBACA,MACA,gBACA,SACA,qBACA,mBACA,QACA,aACA,qBACA,uBACA,QACA,oBACA,wBACA,kBACA,eACA,eACA,oBACA,2BACA,kBACA,yBACA,kBACA,iBACA,sBACA,6BACA,cACA,gBACA,cACA,cACA,eACA,cACA,eACA,iBACA,yBACA,SACA,YACA,YACA,mBACA,aACA,iBACA,aACA,kBACA,mBACA,cACA,iBACA,gBACA,kBACA,aACA,iBACA,eACA,cACA,yBACA,OACA,YACA,kBACA,aACA,oBACA,YACA,eACA,IACA,cACA,gBACA,mBACA,kBACA,eACA,eACA,UACA,gBACA,eACA,aACA,mBACA,SACA,eACA,mBACA,iBACA,sBACA,yBACA,gBACA,iCACA,2BACA,aACA,kBACA,MACA,UACA,uBACA,aACA,eACA,iBACA,uBACA,oBACA,mBACA,eACA,QACA,gBACA,WACA,aACA,UACA,gBACA,QACA,0BACA,WACA,gBACA,qBACA,eACA,cACA,MACA,YACA,iBACA,aACA,UACA,kBACA,OACA,oBACA,eACA,kBACA,qBACA,kBACA,eACA,cACA,cACA,wBACA,oBACA,0BACA,sBACA,aACA,0BACA,yBACA,yBACA,mBACA,YACA,iBACA,wBACA,kBACA,mBACA,YACA,gBACA,eACA,oBACA,0BACA,SACA,YACA,sBACA,mBACA,uBACA,iBACA,oBACA,cACA,aACA,WACA,YACA,aACA,QACA,WACA,YACA,WACA,oBACA,uBACA,YACA,SACA,cACA,YACA,iBACA,gBACA,kCACA,cACA,mBACA,gBACA,QACA,qBACA,gBACA,cACA,sBACA,iBACA,uBACA,gBACA,kBACA,mBACA,sBACA,gBACA,yBACA,0BACA,cACA,qBACA,mBACA,YACA,kBACA,oBACA,yBACA,yBACA,2BACA,gBACA,qBACA,iBACA,aACA,iBACA,mBACA,2BACA,uBACA,gBACA,cACA,cACA,eACA,aACA,wBACA,wBACA,oBACA,aACA,aACA,QACA,aACA,WACA,WACA,cACA,cACA,qBACA,eACA,qBACA,kBACA,mBACA,wBACA,gBACA,eACA,wBACA,OACA,mBACA,qBACA,sBACA,SACA,YACA,YACA,cACA,aACA,eACA,gBACA,cACA,iBACA,uCACA,uCACA,iCACA,uCACA,oCACA,eACA,WACA,qBACA,wBACA,yBACA,+BACA,WACA,cACA,QACA,WACA,kBACA,eACA,mBACA,mBACA,gBACA,YACA,OACA,oBACA,WACA,gBACA,aACA,kBACA,YACA,QACA,aACA,2BACA,QACA,SACA,eACA,sBACA,UACA,kBACA,eACA,oBACA,mBACA,YACA,eACA,mBACA,cACA,iBACA,kBACA,gBACA,cACA,kBACA,mBACA,gBACA,WACA,cACA,mBACA,cACA,yBACA,6BACA,wBACA,eACA,qBACA,eACA,WACA,uBACA,YACA,aACA,cACA,cACA,eACA,cACA,kBACA,+BACA,uBACA,iBACA,YACA,SACA,oBACA,cACA,oBACA,oBACA,kBACA,mBACA,iBACA,UACA,QACA,YACA,eACA,eACA,eACA,gBACA,YACA,oBACA,cACA,gBACA,gBACA,uBACA,WACA,cACA,cACA,mBACA,SACA,gBACA,eACA,aACA,wBACA,gBACA,cACA,iBACA,wBACA,cACA,aACA,aACA,mBACA,SACA,mBACA,oBACA,aACA,cACA,eACA,iBACA,eACA,sBACA,mBACA,YACA,2BACA,YACA,kBACA,aACA,cACA,yBACA,qBACA,kBACA,uBACA,cACA,kBACA,qBACA,oBACA,UACA,WACA,uBACA,mBACA,kBACA,aACA,0BACA,gBACA,iBACA,mBACA,wBACA,UACA,qBACA,YACA,gBACA,kBACA,qBACA,kBACA,cACA,gBACA,oBACA,oBACA,oBACA,wBACA,2BACA,UACA,cACA,gBACA,aACA,cACA,kBACA,qBACA,8BACA,yBACA,yBACA,WACA,iBACA,mBACA,qBACA,YACA,wBACA,cACA,OACA,UACA,kBACA,kBACA,sBACA,oBACA,eACA,gBACA,YACA,kBACA,uBACA,qBACA,oBACA,YACA,qBACA,cACA,UACA,sBACA,2BACA,kBACA,0BACA,8BACA,qBACA,qBACA,iCACA,+BACA,eACA,cACA,iBACA,uBACA,WACA,gBACA,qBACA,gBACA,oBACA,kBACA,YACA,qBACA,oBACA,iBACA,iBACA,YACA,aACA,cACA,cACA,kBACA,eACA,eACA,sBACA,0BACA,gBACA,iBACA,sBACA,oBACA,cACA,UACA,cACA,WACA,oBACA,eACA,WACA,oBACA,qBACA,mBACA,0BACA,iBACA,uBACA,wBACA,6BACA,gBACA,kBACA,kBACA,gBACA,eACA,cACA,gBACA,WACA,iBACA,mBACA,eACA,qBACA,uBACA,UACA,gBACA,mBACA,0BACA,yBACA,wBACA,4BACA,qBACA,qBACA,wBACA,4BACA,oBACA,uBACA,mBACA,iBACA,kBACA,mBACA,oBACA,cACA,cACA,oBACA,kBACA,wBACA,sBACA,4BACA,iBACA,iBACA,oBACA,mBACA,WACA,iBACA,iBACA,iBACA,iBACA,UACA,wBACA,6BACA,mBACA,wBACA,sBACA,yBACA,sBACA,0BACA,WACA,YACA,qBACA,WACA,cACA,gBACA,WACA,UACA,kBACA,eACA,kBACA,cACA,sBACA,sBACA,kBACA,MACA,OACA,eACA,iBACA,eACA,cACA,MACA,OACA,QACA,gBACA,kBACA,qBACA,aACA,oBACA,kCACA,mBACA,kBACA,oBACA,eACA,0BACA,aACA,cACA,SACA,WACA,aACA,8BACA,qBACA,qBACA,0BACA,WACA,cACA,qBACA,gBACA,eACA,gBACA,wBACA,gBACA,sBACA,wBACA,eACA,kBACA,iBACA,aACA,gCACA,iCACA,iBACA,sBACA,gBACA,sBACA,yBACA,sBACA,oBACA,oBACA,kBACA,aACA,eACA,oBACA,+BACA,+BACA,kBACA,QACA,wBACA,gBACA,iBACA,kBACA,cACA,MACA,OACA,eACA,OACA,WACA,SACA,SACA,YACA,WACA,6BACA,MACA,SACA,OACA,mBACA,aACA,kBACA,cACA,eACA,0BACA,uBACA,qBACA,eACA,QACA,eACA,sBACA,cACA,OACA,aACA,uBACA,SACA,cACA,aACA,WACA,cACA,2BACA,IACA,oBACA,UACA,6BACA,gBACA,SACA,SACA,UACA,kBACA,qBACA,oBACA,UACA,aACA,gBACA,WACA,gBACA,kBACA,mBACA,YACA,eACA,UACA,sBACA,gBACA,iBACA,OACA,aACA,QACA,iBACA,iBACA,YACA,aACA,eACA,gBACA,eACA,WACA,kBACA,eACA,mBACA,aACA,cACA,gBACA,cACA,WACA,YACA,gBACA,aACA,kBACA,YACA,cACA,oBACA,oBACA,UACA,WACA,qBACA,gBACA,YACA,YACA,UACA,qBACA,UACA,WACA,WACA,gBACA,mBACA,QACA,WACA,eACA,UACA,cACA,sBACA,iBACA,YACA,qBACA,YACA,UACA,cACA,cACA,qBACA,UACA,mBACA,mBACA,kBACA,gBACA,eACA,0BACA,4BACA,kBACA,iBACA,wBACA,wBACA,cACA,wBACA,oBACA,4BACA,oBACA,yBACA,wBACA,0BACA,yBACA,oBACA,mBACA,yBACA,sBACA,4BACA,kBACA,iBACA,0BACA,wBACA,eACA,0BACA,wBACA,8BACA,oBACA,sBACA,eACA,gBACA,QACA,iBACA,0BACA,2BACA,yBACA,aACA,SACA,mBACA,0BACA,sBACA,6BACA,eACA,eACA,mBACA,MACA,eACA,UACA,YACA,SACA,kBACA,yBACA,cACA,gBACA,wBACA,iBACA,kBACA,mBACA,qBACA,aACA,gBACA,eACA,uBACA,oBACA,wBACA,kBACA,qBACA,kBACA,iBACA,oBACA,YACA,qBACA,oBACA,aACA,mBACA,aACA,cACA,kBACA,mBACA,cACA,gBACA,qBACA,SACA,WACA,QACA,iBACA,aACA,mBACA,aACA,uBACA,eACA,yBACA,MACA,cACA,kBACA,gBACA,4BACA,eACA,aACA,cACA,aACA,mBACA,mBACA,iBACA,uBACA,UACA,gBACA,cACA,oBACA,mBACA,yBACA,WACA,wBACA,iBACA,kBACA,SACA,eACA,cACA,cACA,iBACA,eACA,eACA,gBACA,UACA,gBACA,oBACA,mBACA,kBACA,kBACA,kBACA,qBACA,iBACA,uBACA,cACA,gBACA,mBACA,yBACA,uBACA,mBACA,aACA,oBACA,iBACA,aACA,SACA,gBACA,gBACA,WACA,0BACA,4BACA,kBACA,2BACA,qBACA,aACA,YACA,aACA,eACA,gBACA,gBACA,iBACA,mBACA,YACA,YACA,YACA,gBACA,aACA,iBACA,gBACA,qBACA,qBACA,oBACA,wBACA,eACA,aACA,kBACA,qBACA,kBACA,4BACA,oBACA,qBACA,0BACA,mBACA,gBACA,4BACA,oBACA,gBACA,2BACA,2BACA,wBACA,wBACA,mBACA,mBACA,eACA,iBACA,gBACA,uBACA,gBACA,qBACA,8BACA,oBACA,sBACA,iCACA,2BACA,qBACA,mBACA,eACA,YACA,cACA,OACA,UACA,aACA,cACA,WACA,YACA,8BACA,UACA,kBACA,mBACA,0BACA,cACA,kBACA,gBACA,eACA,uBACA,gBACA,mBACA,cACA,iBACA,sBACA,mBACA,iBACA,oBACA,aACA,cACA,sBACA,wBACA,oBACA,qBACA,sBACA,mCACA,yBACA,YACA,MACA,aACA,SACA,WACA,WACA,cACA,YACA,WACA,eACA,aACA,UACA,YACA,KACA,cACA,oBACA,+BACA,mCACA,qBACA,mBACA,yBACA,eACA,gCACA,iBACA,gBACA,MACA,YACA,WACA,WACA,eACA,SACA,sBACA,wBACA,kBACA,kBACA,uBACA,gBACA,sBACA,2BACA,uBACA,mBACA,iBACA,gBACA,oBACA,oBACA,iBACA,OACA,YACA,eACA,mBACA,sBACA,oBACA,iBACA,oBACA,qBACA,kBACA,qBACA,aACA,UACA,eACA,aACA,cACA,YACA,iBACA,kBACA,OACA,eACA,SACA,cACA,KACA,wBACA,iBACA,mBACA,UACA,WACA,iBACA,WACA,UACA,aACA,oBACA,2BACA,qBACA,eACA,kBACA,gBACA,mBACA,0BACA,sBACA,sBACA,cACA,mBACA,mBACA,iBACA,kBACA,iBACA,oBACA,2BACA,IACA,kBACA,iBACA,yBACA,OACA,eACA,cACA,UACA,4BACA,eACA,cACA,YACA,mBACA,eACA,WACA,YACA,aACA,kBACA,cACA,aACA,aACA,WACA,YACA,eACA,eACA,aACA,iBACA,WACA,cACA,QACA,wBACA,YACA,oBACA,YACA,kBACA,mBACA,WACA,gBACA,aACA,qBACA,WACA,qBACA,uBACA,eACA,oBACA,cACA,cACA,wBACA,eACA,UACA,cACA,mBACA,cACA,YACA,mBACA,YACA,YACA,cACA,mBACA,YACA,sBACA,YACA,cACA,gBACA,aACA,6BACA,gBACA,qBACA,YACA,eACA,kBACA,iBACA,kBACA,YACA,wBACA,wBACA,QACA,cACA,cACA,2BACA,UACA,SACA,UACA,kBACA,cACA,MACA,SACA,kBACA,+BACA,cACA,YACA,YACA,cACA,aACA,oBACA,kBACA,QACA,wBACA,kBACA,SACA,cACA,kBACA,eACA,iBACA,cACA,iBACA,aACA,iBACA,mBACA,iBACA,sBACA,iBACA,cACA,eACA,iBACA,mBACA,cACA,UACA,gBACA,cACA,SACA,iBACA,QACA,eACA,YACA,aACA,UACA,YACA,cACA,yBACA,aACA,MACA,OACA,OACA,UACA,UACA,qBACA,UACA,WACA,kBACA,YACA,cACA,uBACA,eACA,sBACA,wBACA,mBACA,iBACA,qBACA,oBACA,cACA,sBACA,SACA,aACA,iBACA,cACA,WACA,cACA,WACA,YACA,iBACA,wBACA,gBACA,iBACA,6BACA,iBACA,qBACA,wBACA,iBACA,oBACA,qBACA,mBACA,kBACA,YACA,iBACA,QACA,YACA,iBACA,eACA,kBACA,cACA,cACA,sBACA,eACA,qBACA,cACA,SACA,gBACA,gBACA,6BACA,cACA,aACA,kBACA,SACA,OACA,aACA,gBACA,MACA,SACA,YACA,oBACA,iBACA,kBACA,cACA,eACA,gBACA,uBACA,eACA,gBACA,iBACA,WACA,mBACA,0BACA,oBACA,gCACA,2BACA,+BACA,mBACA,eACA,SACA,yBACA,kBACA,aACA,eACA,eACA,aACA,iBACA,kBACA,mBACA,iBACA,YACA,sBACA,cACA,YACA,wBACA,gBACA,aACA,iBACA,eACA,gCACA,mBACA,mBACA,uBACA,qBACA,iBACA,kBACA,wBACA,mBACA,sBACA,0BACA,qBACA,wBACA,qBACA,wBACA,wBACA,gBACA,UACA,iBACA,eACA,uBACA,2BACA,YACA,WACA,YACA,iBACA,iBACA,SACA,iBACA,YACA,aACA,kBACA,oCACA,iBACA,gBACA,aACA,mBACA,uBACA,cACA,kBACA,OACA,UACA,gBACA,sBACA,WACA,QACA,gBACA,gBACA,kBACA,iBACA,oBACA,mBACA,2BACA,eACA,iBACA,mBACA,qBACA,eACA,8BACA,oBACA,iBACA,sBACA,eACA,6BACA,kBACA,YACA,aACA,0BACA,YACA,iBACA,cACA,YACA,OACA,eACA,gBACA,cACA,WACA,cACA,gBACA,aACA,cACA,WACA,kBACA,WACA,gBACA,yBACA,eACA,gBACA,eACA,YACA,iBACA,gBACA,eACA,YACA,WACA,gBACA,iBACA,eACA,oBACA,WACA,cACA,iBACA,wBACA,UACA,eACA,mBACA,sBACA,cACA,gBACA,gBACA,sBACA,qBACA,OACA,gBACA,aACA,aACA,eACA,aACA,eACA,cACA,gBACA,YACA,cACA,mBACA,6BACA,gBACA,gBACA,cACA,2BACA,sBACA,oBACA,yBACA,YACA,WACA,UACA,cACA,wBACA,yBACA,kBACA,2BACA,yBACA,uBACA,uBACA,qBACA,uBACA,sBACA,yBACA,gBACA,yBACA,2BACA,eACA,wBACA,YACA,cACA,YACA,YACA,cACA,uBACA,WACA,oBACA,cACA,iBACA,kBACA,eACA,kBACA,cACA,sBACA,iBACA,eACA,2BACA,WACA,YACA,kBACA,kBACA,wBACA,aACA,WACA,uBACA,eACA,mBACA,mBACA,mBACA,6BACA,oBACA,gBACA,sBACA,kBACA,gBACA,6BACA,OACA,gBACA,0BACA,mBACA,kBACA,QACA,YACA,+BACA,gBACA,mBACA,mBACA,wBACA,mCACA,kBACA,sBACA,MACA,SACA,oBACA,cACA,aACA,aACA,iBACA,iBACA,OACA,UACA,YACA,eACA,gBACA,WACA,QACA,iBACA,yBACA,OACA,WACA,WACA,eACA,kBACA,OACA,YACA,aACA,WACA,WACA,cACA,qBACA,iBACA,iBACA,WACA,YACA,oBACA,eACA,iBACA,aACA,MACA,SACA,sBACA,SACA,cACA,aACA,wBACA,eACA,UACA,iBACA,cACA,eACA,qBACA,aACA,WACA,YACA,cACA,gBACA,cACA,UACA,kBACA,UACA,qBACA,wBACA,mBACA,sBACA,aACA,mBACA,mBACA,aACA,mBACA,gBACA,oBACA,2BACA,gBACA,wBACA,mBACA,sBACA,mBACA,oBACA,kCACA,iCACA,iBACA,cACA,qBACA,eACA,QACA,WACA,kBACA,SACA,aACA,aACA,YACA,eACA,YACA,aACA,aACA,kBACA,qBACA,sBACA,QACA,qBACA,gCACA,WACA,WACA,WACA,WACA,SACA,kBACA,iBACA,mBACA,oBACA,uBACA,wBACA,WACA,aACA,UACA,aACA,iBACA,mBACA,uBACA,mBACA,2BACA,eACA,QACA,4BACA,uBACA,kBACA,iBACA,mBACA,yBACA,oBACA,gBACA,uBACA,qBACA,kBACA,iBACA,mBACA,OACA,WACA,iBACA,WACA,eACA,iCACA,cACA,aACA,eACA,WACA,kBACA,wBACA,iCACA,+BACA,8BACA,iBACA,iBACA,wBACA,iBACA,gBACA,gBACA,0BACA,cACA,cACA,eACA,cACA,mBACA,aACA,cACA,QACA,oBACA,mBACA,aACA,eACA,sBACA,SACA,WACA,2BACA,iBACA,4BACA,iBACA,kBACA,cACA,eACA,aACA,iBACA,mBACA,iBACA,uCACA,uCACA,oCACA,iBACA,MACA,cACA,UACA,4BACA,4BACA,qBACA,gBACA,2BACA,qBACA,2BACA,mBACA,sBACA,8BACA,wBACA,uBACA,mCACA,uBACA,qBACA,uBACA,yBACA,sBACA,UACA,kCACA,aACA,eACA,cACA,UACA,eACA,gBACA,iBACA,YACA,kBACA,iBACA,YACA,YACA,iBACA,iBACA,kBACA,mBACA,kBACA,kBACA,iBACA,cACA,eACA,UACA,kBACA,cACA,kBACA,mBACA,cACA,cACA,sBACA,6BACA,eACA,oBACA,kBACA,eACA,sBACA,kBACA,sBACA,gBACA,WACA,gBACA,wBACA,eACA,cACA,WACA,YACA,YACA,cACA,cACA,uBACA,uBACA,YACA,qBACA,iCACA,wBACA,gBACA,sBACA,wBACA,iBACA,0BACA,+BACA,sCACA,6BACA,oCACA,WACA,aACA,UACA,cACA,iBACA,iBACA,gBACA,oBACA,WACA,kBACA,qBACA,gBACA,cACA,YACA,qBACA,gBACA,aACA,0BACA,aACA,YACA,eACA,gBACA,eACA,mBACA,2BACA,aACA,eACA,iBACA,oBACA,MACA,2BACA,aACA,iBACA,cACA,+BACA,gCACA,iBACA,gCACA,WACA,8BACA,oBACA,gBACA,OACA,cACA,cACA,8BACA,eACA,sBACA,0BACA,OACA,OACA,WACA,iBACA,4BACA,eACA,eACA,eACA,QACA,UACA,qBACA,yBACA,cACA,kBACA,YACA,eACA,gBACA,kBACA,qBACA,gBACA,sBACA,mBACA,iBACA,iBACA,sBACA,WACA,WACA,aACA,gBACA,uBACA,gBACA,mBACA,cACA,qBACA,gBACA,iBACA,kBACA,uBACA,8BACA,qBACA,4BACA,mBACA,eACA,eACA,kBACA,gBACA,qBACA,4BACA,mBACA,0BACA,mBACA,yBACA,cACA,kBACA,gBACA,oBACA,cACA,sBACA,iBACA,YACA,cACA,aACA,4BACA,SACA,cACA,mBACA,YACA,aACA,aACA,OACA,YACA,UACA,eACA,mBACA,mBACA,mBACA,iBACA,cACA,oBACA,cACA,eACA,QACA,gBACA,OACA,eACA,UACA,mBACA,oBACA,kBACA,eACA,kBACA,mBACA,iBACA,kBACA,uBACA,qBACA,0BACA,YACA,mBACA,YACA,YACA,iBACA,gBACA,kBACA,UACA,mBACA,uBACA,uBACA,gBACA,gBACA,qBACA,kBACA,YACA,2BACA,cACA,aACA,uBACA,yBACA,kBACA,uBACA,wBACA,8BACA,oBACA,eACA,eACA,qBACA,cACA,iBACA,WACA,yBACA,YACA,YACA,kBACA,oBACA,kBACA,gBACA,mBACA,uBACA,WACA,WACA,eACA,kBACA,oBACA,aACA,sBACA,cACA,eACA,qBACA,iBACA,OACA,eACA,eACA,YACA,iBACA,OACA,cACA,kBACA,mBACA,wBACA,cACA,aACA,cACA,QACA,kBACA,cACA,iBACA,cACA,WACA,oBACA,sBACA,sBACA,OACA,uBACA,WACA,mBACA,0BACA,UACA,QACA,aACA,QACA,aACA,QACA,aACA,QACA,aACA,QACA,aACA,uBACA,aACA,gBACA,uBACA,cACA,sBACA,gBACA,cACA,iBACA,iBACA,gBACA,iBACA,oBACA,eACA,gBACA,gBACA,YACA,cACA,wBACA,gBACA,qBACA,kCACA,uBACA,mBACA,iBACA,qBACA,YACA,aACA,iBACA,OACA,UACA,kBACA,eACA,YACA,WACA,cACA,WACA,kBACA,gBACA,WACA,aACA,iBACA,kBACA,2BACA,aACA,aACA,+BACA,mBACA,WACA,oBACA,eACA,cACA,kBACA,eACA,MACA,kBACA,eACA,YACA,kBACA,cACA,yBACA,iBACA,+BACA,iBACA,oBACA,+BACA,oBACA,+BACA,oBACA,+BACA,6BACA,oBACA,+BACA,kBACA,YACA,kBACA,4BACA,aACA,cACA,qBACA,8BACA,qBACA,IACA,WACA,UACA,iBACA,YACA,cACA,WACA,iBACA,KACA,aACA,mBACA,oBACA,mBACA,mBACA,KACA,QACA,UACA,oBACA,gBACA,kBACA,WACA,cACA,aACA,aACA,oBACA,mBACA,gBACA,yBACA,qBACA,aACA,kBACA,eACA,uBACA,aACA,gBACA,YACA,eACA,kBACA,eACA,iBACA,gBACA,gBACA,oBACA,eACA,iBACA,2BACA,YACA,YACA,kBACA,gBACA,kBACA,kBACA,qBACA,gBACA,cACA,uBACA,oBACA,iBACA,kBACA,gBACA,cACA,oBACA,2BACA,uBACA,6BACA,gBACA,iBACA,gBACA,iBACA,iBACA,cACA,eACA,cACA,aACA,eACA,cACA,eACA,oBACA,YACA,gBACA,cACA,WACA,eACA,iBACA,mBACA,iCACA,gBACA,uBACA,eACA,oBACA,SACA,kBACA,eACA,eACA,cACA,cACA,kBACA,eACA,cACA,eACA,sBACA,cACA,YACA,YACA,kBACA,iBACA,uBACA,eACA,gBACA,YACA,sBACA,YACA,YACA,aACA,sBACA,gBACA,iBACA,UACA,SACA,yBACA,kBACA,gBACA,eACA,wBACA,KACA,aACA,WACA,iBACA,gBACA,kBACA,uBACA,uBACA,qBACA,qBACA,uBACA,wBACA,mBACA,qBACA,yBACA,cACA,oBACA,uBACA,sBACA,qBACA,YACA,oBACA,SACA,2BACA,oBACA,mBACA,sBACA,8BACA,kBACA,2BACA,wBACA,gBACA,yBACA,uBACA,UACA,uBACA,aACA,WACA,aACA,iBACA,iBACA,iBACA,eACA,eACA,gBACA,WACA,QACA,kBACA,kBACA,cACA,kBACA,sBACA,YACA,eACA,8BACA,2BACA,iBACA,qBACA,+BACA,4BACA,wBACA,sBACA,aACA,iBACA,2BACA,0BACA,cACA,QACA,eACA,kBACA,UACA,QACA,eACA,mBACA,wBACA,aACA,gBACA,uBACA,YACA,gBACA,kBACA,gBACA,cACA,gBACA,cACA,cACA,oBACA,uBACA,SACA,oBACA,uBACA,mBACA,gBACA,QACA,aACA,oBACA,WACA,kBACA,WACA,UACA,iBACA,6BACA,WACA,UACA,gBACA,kBACA,gBACA,cACA,cACA,oBACA,WACA,iBACA,WACA,gBACA,WACA,YACA,cACA,0BACA,aACA,eACA,kCACA,wBACA,0BACA,gBACA,qBACA,sBACA,yBACA,iBACA,oBACA,2BACA,yBACA,cACA,oBACA,qBACA,YACA,oBACA,yBACA,gBACA,eACA,WACA,uBACA,kBACA,uBACA,kBACA,iBACA,gBACA,OACA,UACA,yBACA,aACA,+BACA,oCACA,2BACA,uBACA,aACA,cACA,iBACA,6BACA,kCACA,6BACA,0BACA,kBACA,mBACA,2BACA,0BACA,8BACA,sBACA,yBACA,mBACA,sBACA,kBACA,kBACA,kBACA,kBACA,kBACA,kBACA,kBACA,kBACA,kBACA,kBACA,kBACA,kBACA,0BACA,yBACA,qBACA,eACA,wBACA,gBACA,0BACA,qBACA,0BACA,2BACA,0BACA,sBACA,mCACA,oBACA,YACA,uBACA,iBACA,YACA,yBACA,aACA,oBACA,mBACA,cACA,SACA,OACA,kBACA,UACA,iBACA,sBACA,WACA,YACA,aACA,uBACA,kBACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,eACA,aACA,eACA,eACA,eACA,eACA,oBACA,sBACA,OACA,aACA,SACA,cACA,iBACA,wBACA,WACA,sBACA,2BACA,aACA,oBACA,yBACA,eACA,iBACA,IACA,YACA,qBACA,eACA,kBACA,eACA,6BACA,WACA,iBACA,kBACA,gBACA,2BACA,uBACA,sBACA,YACA,YACA,YACA,YACA,aACA,iBACA,gBACA,iBACA,4BACA,eACA,UACA,MACA,MACA,uBACA,gBACA,UACA,cACA,aACA,WACA,kBACA,SACA,aACA,mBACA,OACA,YACA,UACA,YACA,UACA,WACA,cACA,kBACA,WACA,cACA,iBACA,kBACA,kBACA,gBACA,kBACA,WACA,aACA,YACA,wBACA,iBACA,8BACA,mBACA,kBACA,aACA,0BACA,WACA,iBACA,6BACA,yBACA,WACA,QACA,UACA,gBACA,mBACA,eACA,aACA,kBACA,YACA,WACA,mBACA,WACA,aACA,gBACA,qBACA,WACA,mBACA,eACA,mBACA,kBACA,sBACA,mBACA,YACA,kBACA,0BACA,QACA,SACA,OACA,WACA,oBACA,cACA,gBACA,SACA,gBACA,mBACA,oBACA,oBACA,WACA,MACA,aACA,YACA,YACA,oBACA,sBACA,eACA,0BACA,eACA,2BACA,OACA,YACA,eACA,sBACA,oBACA,iBACA,oBACA,iBACA,kBACA,UACA,eACA,gBACA,eACA,kBACA,oBACA,mBACA,kBACA,eACA,kBACA,aACA,gBACA,mBACA,WACA,iBACA,cACA,eACA,gBACA,gBACA,mBACA,YACA,YACA,eACA,SACA,cACA,WACA,OACA,YACA,mBACA,gBACA,gBACA,cACA,WACA,iBACA,WACA,YACA,kBACA,eACA,eACA,UACA,QACA,aACA,mBACA,mBACA,gBACA,kBACA,kBACA,uBACA,6BACA,sBACA,wBACA,cACA,gBACA,YACA,oBACA,0BACA,YACA,aACA,YACA,UACA,YACA,aACA,WACA,gBACA,eACA,cACA,YACA,cACA,WACA,eACA,cACA,aACA,QACA,oBACA,0BACA,sBACA,OACA,YACA,mBACA,eACA,+BACA,4BACA,sBACA,gCACA,cACA,iBACA,uBACA,qBACA,oBACA,mBACA,cACA,sBACA,UACA,iBACA,YACA,uBACA,iBACA,8BACA,kBACA,YACA,YACA,aACA,wBACA,8BACA,+BACA,aACA,cACA,cACA,gBACA,eACA,YACA,cACA,iBACA,aACA,YACA,YACA,eACA,WACA,gBACA,aACA,WACA,aACA,WACA,cACA,eACA,eACA,qBACA,WACA,eACA,aACA,QACA,cACA,YACA,gBACA,kBACA,OACA,WACA,cACA,kBACA,oBACA,eACA,gBACA,oBACA,iBACA,kBACA,oBACA,SACA,aACA,+BACA,oBACA,kCACA,eACA,oBACA,iBACA,cACA,aACA,gBACA,0BACA,uBACA,WACA,WACA,aACA,kBACA,gBACA,QACA,yBACA,yBACA,wBACA,eACA,wBACA,iBACA,oBACA,wBACA,iBACA,mBACA,iBACA,UACA,gBACA,wBACA,aACA,6BACA,sBACA,oBACA,cACA,eACA,kCACA,cACA,cACA,YACA,gBACA,0BACA,eACA,UACA,oBACA,aACA,oBACA,mBACA,cACA,iBACA,wBACA,gBACA,SACA,MACA,QACA,OACA,aACA,WACA,uBACA,gBACA,cACA,uBACA,kBACA,gBACA,gBACA,gBACA,0BACA,aACA,6BACA,wBACA,UACA,cACA,wBACA,YACA,UACA,wBACA,iCACA,2BACA,oCACA,eACA,yBACA,WACA,YACA,gBACA,qBACA,iBACA,2BACA,SACA,WACA,iBACA,UACA,eACA,aACA,iBACA,kBACA,qBACA,yBACA,gBACA,mBACA,eACA,yBACA,mBACA,qBACA,SACA,uBACA,kBACA,eACA,WACA,gBACA,eACA,YACA,cACA,iBACA,mBACA,2BACA,UACA,gBACA,UACA,wBACA,cACA,aACA,WACA,uBACA,uBACA,aACA,oBACA,uBACA,eACA,YACA,wBACA,WACA,YACA,iBACA,YACA,6BACA,4BACA,yBACA,wBACA,8BACA,uBACA,oBACA,iBACA,oBACA,aACA,cACA,yBACA,kBACA,mBACA,SACA,MACA,SACA,QACA,aACA,YACA,YACA,8BACA,UACA,qBACA,qBACA,qBACA,uBACA,0BACA,UACA,wBACA,kBACA,kBACA,SACA,WACA,2BACA,sBACA,WACA,yBACA,yBACA,gCACA,gBACA,kBACA,kBACA,kBACA,kBACA,kBACA,WACA,gBACA,aACA,aACA,WACA,YACA,aACA,iBACA,YACA,2BACA,aACA,cACA,6BACA,UACA,aACA,sBACA,MACA,UACA,iBACA,mBACA,UACA,YACA,cACA,qBACA,qBACA,yBACA,cACA,YACA,YACA,WACA,WACA,gBACA,WACA,gBACA,oBACA,qBACA,gBACA,YACA,eACA,wBACA,kBACA,WACA,cACA,oBACA,WACA,sBACA,aACA,qBACA,OACA,wBACA,aACA,4BACA,yBACA,gBACA,aACA,oBACA,qBACA,YACA,kBACA,uBACA,SACA,kBACA,eACA,kBACA,SACA,UACA,gBACA,sBACA,iBACA,kBACA,UACA,kBACA,oBACA,mBACA,cACA,aACA,OACA,iBACA,iBACA,gBACA,WACA,WACA,aACA,mBACA,YACA,WACA,QACA,mBACA,kBACA,wBACA,yBACA,OACA,mBACA,gBACA,oBACA,gBACA,gBACA,iBACA,kBACA,kBACA,YACA,wBACA,gBACA,wBACA,kBACA,gBACA,iBACA,kBACA,YACA,yBACA,aACA,cACA,cACA,YACA,UACA,gBACA,cACA,cACA,gBACA,iBACA,gBACA,WACA,mBACA,iBACA,kBACA,mBACA,SACA,gBACA,oBACA,eACA,WACA,MACA,mBACA,UACA,YACA,cACA,YACA,YACA,oBACA,yBACA,WACA,uBACA,kBACA,wBACA,WACA,SACA,kBACA,SACA,eACA,UACA,wBACA,QACA,YACA,WACA,UACA,kBACA,oBACA,mBACA,WACA,gBACA,eACA,sBACA,iBACA,qBACA,cACA,iBACA,aACA,qBACA,YACA,sBACA,MACA,QACA,OACA,UACA,iBACA,gBACA,SACA,UACA,YACA,WACA,oBACA,sBACA,gBACA,iBACA,kBACA,eACA,iBACA,mBACA,YACA,oBACA,gBACA,SACA,YACA,gBACA,iBACA,2BACA,kBACA,SACA,UACA,eACA,gBACA,gBACA,YACA,eACA,gBACA,wBACA,4BACA,0BACA,2BACA,qBACA,yBACA,yBACA,gBACA,OACA,eACA,kBACA,kBACA,qBACA,eACA,YACA,mBACA,gBACA,YACA,gBACA,YACA,eACA,oBACA,cACA,iBACA,cACA,qBACA,qBACA,mBACA,oBACA,cACA,0BACA,0BACA,sBACA,eACA,gBACA,iBACA,yCACA,kCACA,4BACA,IACA,uBACA,QACA,QACA,eACA,sBACA,OACA,UACA,UACA,cACA,kBACA,sBACA,SACA,gBACA,gBACA,UACA,eACA,UACA,kBACA,mBACA,uBACA,YACA,aACA,mCACA,mCACA,4BACA,QACA,WACA,+BACA,0BACA,mBACA,kCACA,oBACA,gBACA,8BACA,mBACA,oBACA,OACA,uBACA,iBACA,oBACA,YACA,WACA,YACA,gBACA,YACA,2BACA,WACA,aACA,YACA,UACA,aACA,oBACA,aACA,aACA,kBACA,iBACA,WACA,iBACA,gBACA,YACA,wBACA,UACA,iBACA,uBACA,kBACA,WACA,kBACA,2BACA,UACA,kBACA,aACA,YACA,aACA,iBACA,iBACA,iBACA,UACA,WACA,wBACA,uBACA,yBACA,+BACA,qBACA,eACA,gBACA,gBACA,gBACA,gBACA,oBACA,eACA,OACA,WACA,WACA,YACA,wBACA,WACA,aACA,YACA,mBACA,cACA,kBACA,aACA,YACA,YACA,YACA,YACA,mBACA,iBACA,6BACA,kCACA,+BACA,iCACA,yBACA,eACA,iCACA,OACA,WACA,oBACA,2BACA,sBACA,cACA,sBACA,uBACA,mBACA,cACA,sBACA,uBACA,mBACA,MACA,WACA,OACA,SACA,qBACA,iBACA,qBACA,YACA,aACA,qCACA,gBACA,kBACA,eACA,MACA,eACA,YACA,uBACA,WACA,gBACA,mBACA,gBACA,0BACA,iBACA,6BACA,kBACA,iBACA,oBACA,4BACA,mBACA,uBACA,mBACA,eACA,2BACA,cACA,qCACA,gCACA,iBACA,sBACA,0BACA,iBACA,iBACA,eACA,2BACA,eACA,gBACA,cACA,0BACA,eACA,8BACA,YACA,eACA,iBACA,oBACA,uCACA,gBACA,mBACA,gBACA,aACA,gBACA,YACA,aACA,kBACA,sBACA,oBACA,iBACA,uBACA,kBACA,UACA,kBACA,eACA,uBACA,kBACA,qBACA,uBACA,UACA,eACA,mBACA,iBACA,cACA,oBACA,eACA,0BACA,oBACA,cACA,mBACA,wBACA,mBACA,oBACA,mBACA,sBACA,wBACA,kBACA,uBACA,oBACA,yBACA,YACA,iBACA,cACA,mBACA,wBACA,mBACA,cACA,mBACA,WACA,gBACA,oBACA,gBACA,iBACA,MACA,eACA,eACA,WACA,kBACA,SACA,SACA,OACA,YACA,uBACA,qBACA,OACA,cACA,YACA,YACA,SACA,gBACA,kBACA,eACA,yBACA,0BACA,8BACA,2BACA,iCACA,uBACA,0BACA,uBACA,aACA,eACA,iBACA,cACA,mBACA,gBACA,cACA,UACA,kBACA,cACA,eACA,YACA,uBACA,iBACA,gBACA,eACA,gBACA,mBACA,kBACA,WACA,gBACA,UACA,mBACA,cACA,IACA,uBACA,sBACA,0BACA,mBACA,YACA,aACA,OACA,MACA,SACA,UACA,KACA,cACA,OACA,cACA,UACA,kBACA,yBACA,OACA,aACA,SACA,YACA,mBACA,aACA,8BACA,UACA,WACA,qBACA,gBACA,YACA,UACA,kBACA,kBACA,kBACA,WACA,kBACA,0BACA,UACA,UACA,gBACA,iBACA,cACA,iBACA,wBACA,KACA,SACA,QACA,oBACA,WACA,WACA,aACA,gBACA,YACA,2BACA,2BACA,gBACA,oBACA,MACA,QACA,eACA,kBACA,sBACA,8BACA,2BACA,aACA,iBACA,iBACA,2BACA,mBACA,iBACA,kBACA,eACA,OACA,UACA,UACA,WACA,UACA,WACA,UACA,aACA,oBACA,aACA,gBACA,uBACA,YACA,aACA,kBACA,QACA,YACA,UACA,gBACA,aACA,oBACA,qBACA,sBACA,wBACA,wBACA,gBACA,eACA,aACA,mBACA,oBACA,gBACA,sBACA,eACA,eACA,gBACA,aACA,mBACA,qBACA,cACA,uBACA,mBACA,kBACA,eACA,aACA,UACA,eACA,cACA,kBACA,UACA,WACA,iBACA,iBACA,kBACA,kBACA,cACA,kBACA,cACA,aACA,qBACA,YACA,YACA,aACA,iBACA,kBACA,wBACA,cACA,cACA,kBACA,cACA,cACA,OACA,UACA,iBACA,QACA,WACA,kBACA,UACA,eACA,kBACA,yBACA,aACA,qBACA,kBACA,mBACA,gBACA,kBACA,aACA,iBACA,mBACA,kBACA,cACA,cACA,gBACA,gBACA,kBACA,iBACA,cACA,gBACA,cACA,YACA,qBACA,+BACA,qBACA,qBACA,oBACA,yBACA,iBACA,mBACA,sBACA,mBACA,YACA,aACA,gBACA,kBACA,aACA,eACA,aACA,iBACA,qBACA,6BACA,WACA,OACA,eACA,6BACA,WACA,0BACA,eACA,YACA,uBACA,cACA,cACA,YACA,eACA,iBACA,eACA,qBACA,iBACA,eACA,QACA,2BACA,0BACA,cACA,OACA,YACA,aACA,UACA,iBACA,kBACA,cACA,cACA,cACA,QACA,aACA,MACA,aACA,aACA,uBACA,yBACA,sBACA,cACA,gBACA,iBACA,kBACA,YACA,4BACA,wBACA,cACA,mBACA,YACA,cACA,mBACA,0BACA,oBACA,iBACA,kBACA,oBACA,qBACA,mBACA,oBACA,kBACA,mBACA,iBACA,iBACA,mBACA,mBACA,qBACA,qBACA,eACA,qBACA,UACA,oBACA,gBACA,wBACA,sBACA,kBACA,mBACA,oBACA,kBACA,aACA,mBACA,gBACA,eACA,aACA,qBACA,KACA,OACA,UACA,sBACA,iBACA,UACA,YACA,kBACA,WACA,aACA,cACA,kBACA,WACA,OACA,iBACA,WACA,mBACA,aACA,sBACA,SACA,cACA,qBACA,QACA,cACA,cACA,eACA,qBACA,iBACA,oBACA,aACA,YACA,OACA,YACA,OACA,SACA,cACA,eACA,aACA,YACA,aACA,aACA,cACA,cACA,aACA,YACA,oBACA,2BACA,mBACA,aACA,YACA,YACA,YACA,OACA,YACA,aACA,YACA,WACA,QACA,aACA,oBACA,WACA,kBACA,mBACA,cACA,YACA,4BACA,sBACA,iBACA,gBACA,YACA,kBACA,iBACA,YACA,aACA,kBACA,0BACA,YACA,UACA,eACA,sBACA,kBACA,eACA,aACA,oBACA,qBACA,uBACA,mBACA,uBACA,eACA,aACA,kBACA,wBACA,iBACA,0BACA,kBACA,UACA,wBACA,iBACA,gBACA,gBACA,gBACA,cACA,qBACA,8BACA,mBACA,sBACA,cACA,eACA,YACA,eACA,sBACA,YACA,cACA,WACA,gBACA,WACA,0BACA,mBACA,oBACA,gBACA,8BACA,gBACA,UACA,aACA,QACA,oBACA,cACA,WACA,eACA,aACA,uBACA,wBACA,2BACA,aACA,iBACA,WACA,gBACA,qBACA,gBACA,YACA,gBACA,eACA,UACA,iBACA,oBACA,uBACA,wBACA,8BACA,iBACA,kBACA,SACA,eACA,UACA,eACA,YACA,qBACA,gBACA,uBACA,WACA,eACA,eACA,yBACA,qBACA,QACA,UACA,aACA,UACA,cACA,SACA,SACA,aACA,uBACA,gBACA,oBACA,sBACA,iBACA,QACA,kBACA,cACA,YACA,iBACA,kBACA,oBACA,6BACA,2BACA,aACA,sBACA,iBACA,iBACA,QACA,WACA,kBACA,qBACA,2BACA,qBACA,yBACA,aACA,yBACA,eACA,cACA,0BACA,kBACA,gBACA,uBACA,iBACA,oBACA,mBACA,qBACA,YACA,mBACA,qBACA,gBACA,8BACA,oBACA,qBACA,gBACA,oBACA,UACA,sBACA,aACA,oBACA,uBACA,8BACA,aACA,SACA,aACA,cACA,aACA,WACA,eACA,gBACA,aACA,eACA,UACA,YACA,cACA,UACA,gBACA,4BACA,YACA,cACA,aACA,uBACA,SACA,MACA,YACA,UACA,aACA,oBACA,YACA,aACA,SACA,qBACA,eACA,cACA,aACA,kBACA,uBACA,wBACA,WACA,eACA,WACA,gBACA,uBACA,eACA,oBACA,YACA,eACA,mBACA,gCACA,6BACA,6BACA,mCACA,WACA,oBACA,YACA,mBACA,QACA,yBACA,kBACA,kBACA,QACA,OACA,WACA,oBACA,sBACA,sBACA,aACA,oBACA,cACA,iBACA,iBACA,wBACA,QACA,iBACA,eACA,gBACA,oBACA,gBACA,OACA,SACA,eACA,cACA,gBACA,eACA,iBACA,oBACA,cACA,cACA,iBACA,gBACA,oBACA,cACA,gBACA,mBACA,cACA,aACA,eACA,aACA,gBACA,gBACA,oBACA,aACA,QACA,cACA,qBACA,YACA,YACA,mBACA,SACA,WACA,cACA,qBACA,cACA,YACA,mBACA,YACA,aACA,WACA,oBACA,cACA,YACA,SACA,WACA,WACA,UACA,YACA,uBACA,KACA,OACA,gBACA,WACA,WACA,gBACA,aACA,OACA,UACA,wBACA,aACA,eACA,QACA,WACA,OACA,oBACA,mBACA,uBACA,SACA,cACA,mBACA,YACA,eACA,sBACA,iBACA,mBACA,8BACA,mBACA,kBACA,sBACA,MACA,SACA,SACA,qBACA,mBACA,uBACA,SACA,mBACA,sBACA,UACA,cACA,SACA,iBACA,iBACA,sBACA,eACA,iBACA,mBACA,kBACA,iBACA,iBACA,yBACA,2BACA,cACA,qBACA,iBACA,cACA,qBACA,gBACA,eACA,uBACA,eACA,gBACA,wBACA,aACA,eACA,gBACA,UACA,eACA,aACA,4BACA,cACA,eACA,4BACA,oBACA,iBACA,oBACA,iBACA,OACA,aACA,WACA,YACA,YACA,qBACA,gBACA,UACA,cACA,0BACA,cACA,aACA,6BACA,gBACA,yBACA,aACA,YACA,mBACA,SACA,qBACA,yBACA,oBACA,mBACA,wBACA,2BACA,UACA,mBACA,0BACA,2BACA,iBACA,sBACA,cACA,oBACA,kBACA,aACA,YACA,mBACA,iBACA,aACA,aACA,WACA,eACA,iBACA,iBACA,mBACA,UACA,aACA,kBACA,oBACA,cACA,cACA,oBACA,kBACA,iBACA,6BACA,aACA,0BACA,mBACA,UACA,qBACA,iBACA,mBACA,qBACA,eACA,UACA,cACA,UACA,kBACA,eACA,mBACA,iBACA,mBACA,iBACA,iBACA,2BACA,iBACA,qBACA,qBACA,iBACA,kBACA,eACA,OACA,kBACA,aACA,YACA,eACA,SACA,oBACA,yBACA,wBACA,eACA,wBACA,mBACA,UACA,iBACA,mCACA,iBACA,qBACA,eACA,cACA,gBACA,uBACA,iBACA,mBACA,WACA,eACA,mBACA,cACA,WACA,qBACA,iBACA,YACA,SACA,QACA,aACA,gBACA,sBACA,mBACA,2BACA,qBACA,kBACA,qBACA,WACA,gBACA,iBACA,gBACA,mBACA,qBACA,oBACA,mBACA,gBACA,mBACA,cACA,iBACA,4BACA,0BACA,8BACA,qBACA,qBACA,eACA,OACA,kBACA,gBACA,gBACA,iBACA,eACA,aACA,QACA,UACA,SACA,cACA,aACA,cACA,iBACA,cACA,qBACA,iBACA,oBACA,QACA,eACA,iBACA,MACA,gBACA,iBACA,SACA,aACA,WACA,eACA,YACA,YACA,cACA,SACA,cACA,eACA,kBACA,OACA,gBACA,cACA,WACA,WACA,aACA,MACA,aACA,mBACA,aACA,oBACA,iBACA,0BACA,QACA,WACA,qBACA,qBACA,cACA,uBACA,mBACA,aACA,iBACA,gBACA,eACA,cACA,gBACA,sBACA,0BACA,eACA,WACA,OACA,WACA,iBACA,iBACA,kBACA,sBACA,eACA,QACA,SACA,iBACA,sBACA,cACA,eACA,cACA,kBACA,mBACA,gBACA,mBACA,OACA,gBACA,uBACA,2BACA,+BACA,sBACA,iBACA,qBACA,iBACA,8BACA,WACA,gBACA,WACA,gBACA,kBACA,yBACA,uBACA,aACA,cACA,gBACA,cACA,wBACA,aACA,mBACA,iBACA,mBACA,oBACA,gBACA,oBACA,qBACA,MACA,OACA,mBACA,8BACA,kBACA,cACA,gBACA,eACA,gBACA,2BACA,4BACA,aACA,SACA,aACA,mBACA,gBACA,mBACA,cACA,YACA,mBACA,gBACA,0BACA,4BACA,2BACA,sBACA,uBACA,yBACA,oBACA,8BACA,gBACA,uBACA,oBACA,qBACA,YACA,gBACA,iBACA,uBACA,yBACA,kCACA,2BACA,WACA,cACA,WACA,oBACA,yBACA,gBACA,gBACA,eACA,mBACA,eACA,eACA,oBACA,oBACA,mBACA,kBACA,4BACA,kBACA,oBACA,uBACA,gBACA,SACA,oBACA,aACA,iBACA,iBACA,oBACA,iBACA,gBACA,iBACA,kBACA,gBACA,gBACA,cACA,MACA,cACA,kBACA,gBACA,WACA,wBACA,oBACA,aACA,aACA,eACA,iBACA,wBACA,cACA,wBACA,wBACA,aACA,mBACA,iBACA,eACA,cACA,8BACA,sBACA,oBACA,oBACA,4BACA,oBACA,iBACA,mBACA,SACA,YACA,YACA,mBACA,UACA,WACA,WACA,UACA,UACA,iBACA,kBACA,QACA,cACA,UACA,iBACA,oBACA,cACA,mBACA,8BACA,wBACA,QACA,iBACA,WACA,gBACA,uBACA,iBACA,kBACA,mBACA,uBACA,eACA,OACA,kBACA,qBACA,iBACA,kBACA,gBACA,eACA,qBACA,iBACA,eACA,eACA,oBACA,yBACA,kBACA,0BACA,iBACA,0BACA,gBACA,mBACA,wBACA,uBACA,mBACA,iBACA,wBACA,eACA,cACA,kBACA,kBACA,iBACA,OACA,YACA,iBACA,uBACA,oBACA,cACA,WACA,kBACA,cACA,eACA,iBACA,oBACA,UACA,WACA,MACA,OACA,2BACA,mBACA,sBACA,oBACA,6BACA,oBACA,oBACA,iBACA,OACA,eACA,cACA,aACA,WACA,oBACA,sBACA,WACA,yBACA,YACA,OACA,qBACA,qBACA,oBACA,oBACA,SACA,WACA,cACA,qBACA,YACA,mBACA,YACA,OACA,eACA,QACA,cACA,UACA,qBACA,wBACA,0BACA,yBACA,kBACA,oBACA,2BACA,eACA,UACA,iBACA,kBACA,SACA,gBACA,eACA,iBACA,eACA,aACA,oBACA,eACA,UACA,gBACA,iBACA,eACA,2BACA,eACA,yBACA,aACA,YACA,eACA,QACA,cACA,eACA,OACA,SACA,WACA,oBACA,QACA,mBACA,YACA,cACA,aACA,MACA,QACA,iBACA,YACA,SACA,WACA,OACA,kBACA,wBACA,gBACA,eACA,eACA,oBACA,cACA,cACA,qBACA,gBACA,cACA,2BACA,gBACA,6BACA,QACA,gBACA,kBACA,mBACA,cACA,cACA,kBACA,mBACA,cACA,mBACA,cACA,cACA,oBACA,kBACA,mBACA,qBACA,yBACA,uBACA,2BACA,kBACA,4BACA,SACA,YACA,eACA,mBACA,mBACA,oBACA,oBACA,qBACA,kBACA,kBACA,iBACA,uBACA,0BACA,eACA,oBACA,eACA,oBACA,yBACA,eACA,oBACA,eACA,oBACA,SACA,sBACA,eACA,eACA,cACA,gBACA,QACA,UACA,eACA,OACA,UACA,iBACA,SACA,2BACA,cACA,qBACA,gBACA,yBACA,WACA,eACA,oBACA,iBACA,sBACA,cACA,aACA,cACA,mBACA,wBACA,qBACA,QACA,aACA,gBACA,sBACA,kBACA,eACA,eACA,yBACA,oBACA,0BACA,eACA,cACA,eACA,oBACA,sBACA,OACA,kBACA,WACA,YACA,wBACA,uBACA,mBACA,cACA,gBACA,eACA,qBACA,eACA,kBACA,kBACA,qBACA,uBACA,gBACA,kBACA,wBACA,sBACA,+BACA,yBACA,mCACA,6BACA,aACA,mBACA,cACA,0BACA,iBACA,iBACA,aACA,aACA,uBACA,oBACA,oBACA,kBACA,sBACA,sBACA,6BACA,oBACA,gBACA,aACA,eACA,iBACA,UACA,cACA,cACA,SACA,cACA,kBACA,cACA,kBACA,cACA,eACA,aACA,cACA,mBACA,gBACA,aACA,eACA,cACA,eACA,aACA,eACA,eACA,gBACA,iBACA,aACA,kBACA,iBACA,UACA,eACA,gBACA,oBACA,oBACA,gBACA,eACA,mBACA,oBACA,iBACA,cACA,gBACA,aACA,iBACA,oBACA,iBACA,aACA,aACA,eACA,oBACA,aACA,uBACA,kBACA,uBACA,sBACA,UACA,UACA,OACA,uBACA,QACA,WACA,qBACA,YACA,mBACA,YACA,aACA,kBACA,mBACA,0BACA,aACA,aACA,iBACA,YACA,eACA,WACA,WACA,UACA,mCACA,0BACA,gBACA,YACA,eACA,sBACA,cACA,eACA,SACA,cACA,cACA,cACA,YACA,iBACA,UACA,gBACA,UACA,UACA,qBACA,iBACA,oBACA,2BACA,mBACA,iBACA,WACA,eACA,gBACA,YACA,WACA,gBACA,qBACA,gBACA,UACA,WACA,MACA,iBACA,iBACA,SACA,cACA,UACA,SACA,cACA,aACA,gBACA,YACA,cACA,iBACA,wBACA,WACA,gBACA,YACA,OACA,WACA,oBACA,cACA,eACA,cACA,kBACA,uBACA,mBACA,gBACA,mBACA,gBACA,qBACA,iBACA,eACA,SACA,SACA,aACA,gBACA,YACA,iBACA,eACA,mBACA,sBACA,qBACA,aACA,mBACA,wBACA,iCACA,mCACA,yBACA,4BACA,sBACA,WACA,SACA,aACA,oBACA,eACA,eACA,UACA,0BACA,mBACA,uBACA,sBACA,uBACA,8BACA,oBACA,kBACA,YACA,iBACA,oBACA,wBACA,gBACA,cACA,gBACA,sBACA,uBACA,gCACA,kBACA,+BACA,yBACA,eACA,sBACA,iCACA,4BACA,aACA,gBACA,oBACA,kBACA,0BACA,oBACA,+BACA,qBACA,yBACA,sBACA,8BACA,qBACA,wBACA,oBACA,oBACA,8BACA,4BACA,mCACA,mCACA,aACA,aACA,MACA,aACA,QACA,kBACA,aACA,kBACA,YACA,gBACA,eACA,YACA,eACA,yBACA,uBACA,sBACA,cACA,UACA,aACA,oBACA,SACA,aACA,gBACA,eACA,SACA,gBACA,WACA,WACA,OACA,WACA,cACA,gBACA,WACA,eACA,iBACA,YACA,QACA,MACA,OACA,eACA,kBACA,eACA,cACA,YACA,cACA,aACA,aACA,aACA,QACA,cACA,WACA,aACA,mBACA,gBACA,iBACA,cACA,qBACA,mBACA,qBACA,aACA,iBACA,mBACA,eACA,uBACA,sBACA,mBACA,eACA,eACA,qBACA,YACA,oBACA,iBACA,mBACA,eACA,gBACA,UACA,aACA,eACA,iBACA,kBACA,cACA,SACA,aACA,mBACA,mBACA,cACA,iBACA,wBACA,UACA,UACA,OACA,YACA,mBACA,gBACA,WACA,kBACA,UACA,YACA,WACA,oBACA,eACA,WACA,cACA,WACA,WACA,oBACA,WACA,aACA,gBACA,eACA,gBACA,aACA,mBACA,gBACA,aACA,gBACA,YACA,kBACA,UACA,4BACA,2BACA,YACA,YACA,oBACA,mBACA,QACA,YACA,OACA,WACA,WACA,kBACA,SACA,iBACA,eACA,YACA,UACA,QACA,YACA,YACA,WACA,QACA,aACA,WACA,QACA,aACA,iBACA,aACA,kBACA,iBACA,gBACA,aACA,WACA,eACA,aACA,cACA,gBACA,QACA,UACA,aACA,sBACA,qBACA,mBACA,0BACA,gBACA,sBACA,kBACA,qBACA,qBACA,oBACA,kBACA,mBACA,mBACA,WACA,YACA,4BACA,sBACA,WACA,kBACA,iBACA,SACA,OACA,gBACA,aACA,UACA,kBACA,UACA,wBACA,SACA,QACA,sBACA,WACA,iBACA,eACA,aACA,WACA,SACA,cACA,UACA,aACA,aACA,oBACA,mBACA,yBACA,aACA,YACA,cACA,WACA,gBACA,SACA,UACA,aACA,oBACA,eACA,eACA,cACA,MACA,kBACA,qBACA,kBACA,aACA,UACA,yBACA,WACA,QACA,cACA,aACA,uBACA,aACA,gBACA,sBACA,8BACA,cACA,KACA,QACA,aACA,cACA,gBACA,aACA,cACA,eACA,gBACA,aACA,WACA,UACA,gBACA,aACA,YACA,iBACA,mBACA,yBACA,eACA,kBACA,8BACA,sBACA,mBACA,gCACA,2BACA,+BACA,4BACA,4BACA,yBACA,yBACA,yBACA,yBACA,wBACA,wBACA,4BACA,wBACA,sBACA,yBACA,0BACA,uBACA,0BACA,mBACA,qBACA,oBACA,sBACA,qBACA,mBACA,yBACA,2BACA,YACA,qBACA,uBACA,gBACA,cACA,mBACA,YACA,iBACA,gBACA,mBACA,uBACA,iBACA,qBACA,eACA,aACA,WACA,YACA,aACA,WACA,aACA,WACA,iBACA,oBACA,sBACA,eACA,yBACA,kBACA,OACA,aACA,aACA,iBACA,UACA,aACA,YACA,cACA,kBACA,oBACA,OACA,QACA,wBACA,sBACA,kCACA,+BACA,QACA,OACA,qBACA,4BACA,UACA,iBACA,sBACA,6BACA,UACA,0BACA,cACA,aACA,SACA,aACA,gBACA,kBACA,aACA,QACA,gBACA,SACA,aACA,0BACA,YACA,WACA,YACA,aACA,kBACA,qBACA,4BACA,cACA,iBACA,wBACA,sBACA,iBACA,kBACA,mBACA,cACA,uBACA,UACA,YACA,cACA,sBACA,2BACA,oBACA,yBACA,YACA,QACA,qBACA,YACA,SACA,iBACA,UACA,cACA,iBACA,UACA,eACA,eACA,WACA,aACA,eACA,aACA,kBACA,kBACA,oBACA,iBACA,WACA,YACA,8BACA,UACA,mBACA,QACA,cACA,qBACA,KACA,UACA,aACA,mBACA,SACA,uBACA,kCACA,iBACA,oBACA,oBACA,cACA,gBACA,aACA,iBACA,kBACA,qBACA,yBACA,WACA,QACA,eACA,QACA,aACA,OACA,WACA,MACA,WACA,YACA,gBACA,cACA,oBACA,YACA,aACA,YACA,WACA,uBACA,WACA,iBACA,iBACA,UACA,kBACA,UACA,sBACA,aACA,YACA,mBACA,qBACA,QACA,gBACA,kBACA,QACA,uBACA,mBACA,gBACA,QACA,WACA,kBACA,kBACA,YACA,6BACA,SACA,SACA,aACA,YACA,WACA,0BACA,4BACA,4BACA,eACA,cACA,eACA,oBACA,sBACA,6BACA,oBACA,kBACA,gBACA,qBACA,aACA,kBACA,gBACA,aACA,eACA,eACA,UACA,cACA,UACA,cACA,gBACA,cACA,cACA,MACA,WACA,UACA,mCACA,mBACA,oBACA,mBACA,yBACA,sBACA,uBACA,6BACA,kBACA,wBACA,UACA,uBACA,gBACA,YACA,iBACA,eACA,kBACA,qBACA,iBACA,wBACA,oBACA,8BACA,yBACA,cACA,eACA,wBACA,eACA,eACA,uBACA,qBACA,oBACA,iBACA,cACA,0BACA,iBACA,eACA,mBACA,aACA,gBACA,qBACA,kBACA,UACA,0BACA,gBACA,cACA,sBACA,aACA,cACA,2BACA,eACA,uBACA,WACA,cACA,eACA,gBACA,oBACA,iBACA,gBACA,QACA,gBACA,qBACA,iBACA,gBACA,aACA,YACA,SACA,YACA,cACA,eACA,kBACA,cACA,YACA,YACA,aACA,aACA,YACA,4BACA,WACA,iBACA,YACA,aACA,eACA,mBACA,UACA,cACA,iBACA,oBACA,cACA,SACA,uBACA,cACA,UACA,uBACA,WACA,YACA,qBACA,sCACA,yBACA,wBACA,kBACA,sBACA,oBACA,iCACA,mBACA,4BACA,mBACA,kBACA,oBACA,oBACA,aACA,aACA,eACA,mBACA,mBACA,4BACA,iCACA,wBACA,mBACA,cACA,sBACA,iBACA,mBACA,SACA,aACA,WACA,iBACA,YACA,mBACA,cACA,kBACA,QACA,YACA,sBACA,gBACA,gBACA,gBACA,kBACA,kBACA,kBACA,yBACA,0BACA,0BACA,0BACA,yBACA,yBACA,wBACA,eACA,oBACA,mBACA,kBACA,yBACA,0BACA,eACA,iBACA,UACA,cACA,aACA,YACA,QACA,QACA,QACA,oBACA,aACA,aACA,sBACA,aACA,aACA,eACA,gBACA,UACA,+BACA,eACA,iBACA,gBACA,kBACA,SACA,aACA,oBACA,eACA,iBACA,oBACA,iBACA,iBACA,cACA,sBACA,gBACA,gBACA,gBACA,yBACA,iBACA,aACA,mBACA,cACA,iBACA,cACA,gBACA,iBACA,iBACA,qBACA,4BACA,OACA,eACA,mBACA,uBACA,qBACA,sBACA,OACA,eACA,gBACA,YACA,YACA,aACA,WACA,iBACA,gBACA,oBACA,WACA,kBACA,aACA,wBACA,iBACA,eACA,WACA,kBACA,mBACA,aACA,QACA,YACA,cACA,YACA,aACA,YACA,cACA,OACA,MACA,WACA,SACA,YACA,oBACA,WACA,gBACA,WACA,iBACA,OACA,WACA,cACA,mBACA,aACA,aACA,QACA,aACA,WACA,qBACA,iBACA,4BACA,mBACA,oBACA,iCACA,iBACA,kBACA,eACA,oBACA,iBACA,iBACA,qBACA,sBACA,iBACA,wBACA,cACA,eACA,kBACA,YACA,gBACA,sBACA,YACA,eACA,qBACA,sBACA,oBACA,aACA,kBACA,mBACA,yBACA,mBACA,uBACA,yBACA,sBACA,sBACA,mBACA,eACA,iBACA,gBACA,sBACA,mCACA,eACA,qBACA,iBACA,qBACA,WACA,eACA,wBACA,WACA,eACA,gBACA,eACA,eACA,qBACA,kBACA,oBACA,2BACA,4BACA,eACA,mBACA,wBACA,oBACA,kBACA,2BACA,eACA,qBACA,gCACA,WACA,mBACA,uBACA,qBACA,QACA,yBACA,sBACA,gBACA,UACA,uBACA,yBACA,yBACA,iBACA,2BACA,uBACA,UACA,uBACA,gBACA,cACA,YACA,mBACA,kBACA,eACA,mBACA,sBACA,wBACA,qBACA,iBACA,iBACA,mBACA,eACA,eACA,aACA,wBACA,mBACA,iBACA,kBACA,iBACA,wBACA,oBACA,kBACA,0BACA,SACA,iBACA,sBACA,aACA,oBACA,yBACA,wBACA,oBACA,kBACA,eACA,YACA,YACA,mBACA,eACA,yBACA,aACA,oBACA,iBACA,uBACA,eACA,QACA,UACA,iBACA,eACA,aACA,mBACA,oBACA,iBACA,kBACA,kBACA,aACA,eACA,oBACA,eACA,qBACA,uBACA,0BACA,oBACA,aACA,qBACA,gBACA,iBACA,iBACA,eACA,mBACA,YACA,oBACA,aACA,sBACA,gBACA,eACA,gBACA,oBACA,qBACA,kBACA,cACA,aACA,8BACA,aACA,WACA,eACA,OACA,mBACA,UACA,eACA,mBACA,uBACA,YACA,cACA,mBACA,gBACA,gBACA,QACA,qBACA,mBACA,eACA,wBACA,mBACA,mBACA,iBACA,aACA,QACA,OACA,wBACA,qBACA,YACA,WACA,cACA,gBACA,uBACA,aACA,kBACA,iBACA,sBACA,eACA,eACA,eACA,kBACA,2BACA,sBACA,iBACA,oBACA,sBACA,wBACA,iBACA,iBACA,qBACA,qBACA,kCACA,2BACA,YACA,aACA,iBACA,mBACA,mBACA,gBACA,wBACA,cACA,qBACA,oBACA,oBACA,2BACA,0BACA,yBACA,iBACA,UACA,2BACA,yBACA,YACA,gBACA,eACA,kBACA,oBACA,gBACA,sBACA,mBACA,gBACA,aACA,YACA,YACA,YACA,kBACA,gBACA,YACA,WACA,gBACA,mBACA,kBACA,cACA,UACA,uBACA,sBACA,oBACA,iBACA,4BACA,mB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SkC,EAAOT,GACd,OAAKA,EACa,kBAAPA,EAAwBA,EAE5BA,EAAGS,OAHM,IAIlB,CAMA,SAASR,IAAgB,QAAAC,EAAAC,UAAAR,OAANS,EAAI,IAAAC,MAAAH,GAAAI,EAAA,EAAAA,EAAAJ,EAAAI,IAAJF,EAAIE,GAAAH,UAAAG,GAErB,OADeF,EAAKG,KAAKC,GAAMC,EAAOD,KAAIE,KAAK,GAEjD,CASA,SAAS0O,IAAgB,QAAAC,EAAAlP,UAAAR,OAANS,EAAI,IAAAC,MAAAgP,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAJlP,EAAIkP,GAAAnP,UAAAmP,GAErB,MADe,IAAMlP,EAAKG,KAAKC,GAAMC,EAAOD,KAAIE,KAAK,KAAO,GAE9D,CA+dAxD,EAAOC,QArdP,SAAcC,GACZ,MA0OMy9D,EAAkB,uBAClBC,EAAgB,CACpBv9D,SAAU,SACVC,QA7Oe,CACf,MACA,SACA,QACA,MACA,QACA,OACA,UACA,QACA,QACA,SACA,QACA,QACA,QACA,OACA,QACA,MACA,SACA,QACA,WACA,UACA,WACA,MACA,QACA,WACA,UACA,UACA,SACA,MACA,KACA,OACA,OACA,OACA,QACA,WACA,aACA,YACA,cACA,WACA,aACA,MACA,OACA,OACA,SACA,OACA,MACA,QACA,SACA,QACA,MACA,UACA,OACA,SACA,WACA,OACA,WACA,WACA,WACA,gBACA,gBACA,aACA,WACA,eACA,eACA,YACA,cACA,UACA,cACA,iBACA,mBACA,cACA,WACA,WACA,WACA,gBACA,gBACA,aACA,cACA,aACA,QACA,OACA,SACA,OACA,OACA,KACA,MACA,KACA,QACA,MACA,QACA,OACA,OACA,OACA,OACA,KACA,UACA,SACA,OACA,SACA,QACA,YACA,MACA,QACA,KACA,KACA,MACA,QACA,SACA,SACA,SACA,SACA,KACA,KACA,OACA,KACA,MACA,MACA,OACA,UACA,KACA,MACA,MACA,OACA,UACA,OACA,MACA,MACA,QACA,SACA,YACA,OACA,MACA,KACA,YACA,KACA,KACA,OACA,OACA,UACA,WACA,WACA,WACA,OACA,OACA,MACA,SACA,UACA,QACA,SACA,UACA,YACA,SACA,QACA,MACA,SACA,OACA,UACA,SACA,SACA,SACA,QACA,OACA,WACA,aACA,YACA,UACA,cACA,cACA,WACA,aACA,aACA,QACA,SACA,SACA,UACA,WACA,WACA,MACA,QACA,SACA,aACA,OACA,SACA,QACA,UACA,OACA,QACA,OACA,QACA,QACA,MACA,SACA,UACA,UACA,UACA,UACA,UACA,SACA,WACA,OACA,UACA,MACA,OACA,OACA,QACA,KACA,WACA,KACA,UACA,QACA,QACA,SACA,SACA,SACA,UACA,QACA,QACA,MACA,QACA,SACA,MACA,OACA,UACA,YACA,OACA,OACA,QACA,QACA,MACA,MACA,OAOkBkD,KAAK,MAEnBuF,EAAQ,CACZlI,UAAW,QACXC,MAAO,UACPC,IAAK,MACLL,SAAUk9D,GAENpD,EAAS,CACb15D,MAAO,OACPC,IAAK,MAGD88D,EAAM,CACVz8D,SAAU,CACR,CACEN,MAAO,QAET,CACEA,MAAOiC,EACL,iDAGA,0BAGJ,CACEjC,MAAO,gBACPO,UAAW,KAIXy8D,EAAkB,CACtB59D,EAAKiB,iBACL4H,EACA80D,GAEIE,EAAe,CACnB,IACA,KACA,KACA,KACA,IACA,IACA,KAOIC,EAAmB,SAACC,EAAQl1C,GAAwB,IAAlBK,EAAKnmB,UAAAR,OAAA,QAAAgc,IAAAxb,UAAA,GAAAA,UAAA,GAAG,MAC9C,MAAMi7D,EAAoB,QAAV90C,EACZA,EACArmB,EAAOqmB,EAAOL,GAClB,OAAOhmB,EACLA,EAAO,MAAOk7D,EAAQ,KACtBl1C,EACA,oBACAm1C,EACA,oBACA90C,EACAu0C,EAEJ,EAMMQ,EAAYA,CAACF,EAAQl1C,EAAMK,IACxBrmB,EACLA,EAAO,MAAOk7D,EAAQ,KACtBl1C,EACA,oBACAK,EACAu0C,GAGES,EAAwB,CAC5BP,EACA39D,EAAKuB,kBACLvB,EAAKyD,QACH,OACA,OACA,CACEuB,gBAAgB,IAGpBs1D,EACA,CACE35D,UAAW,SACXK,SA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A,KACA,SACA,WACA,QACA,SACA,QACA,QACA,kBACA,WACA,KACA,KACA,OACA,MACA,WACA,cACA,cACA,OACA,WACA,WACA,WACA,UACA,kBACA,SACA,iBACA,UACA,WACA,gBACA,SACA,SACA,WACA,WACA,SACA,MACA,OACA,SACA,SACA,YACA,QACA,SACA,SACA,QACA,QACA,OACA,MACA,YACA,kBACA,oBACA,UACA,MACA,OACA,QACA,QACA,WAOI0jE,EAAW,CACf,QACA,MACA,QAIIC,EAA0B,CAC9B,aACA,gBACA,aACA,OACA,YACA,OACA,SAKIC,EAAqB,CACzB,gBACA,UACA,aACA,QACA,UACA,SACA,SACA,QACA,UACA,eACA,YACA,YACA,MACA,gBACA,WACA,QACA,YACA,kBACA,2BACA,YAIIC,EAAW,CACf,MACA,MACA,MACA,SACA,mBACA,aACA,OACA,aACA,YACA,4BACA,MACA,MACA,cACA,eACA,eACA,eACA,sBACA,QACA,WACA,gBACA,WACA,SACA,OACA,oCACA,YACA,OACA,gBACA,iBACA,uBACA,2BACA,oBACA,aACA,0BACA,OAIIC,EAAetyD,EACnB,oBACA,kBACA,iBACA,iBACA,iBACA,mCACA,kBACA,kBACA,kBACA,kBACA,kBACA,kBACA,kBACA,kBACA,kBACA,kBACA,kBACA,YAIIuyD,EAAoBvyD,EACxBsyD,EACA,kBACA,kBACA,kBACA,kBACA,mBAMIE,EAAW3hE,EAAOyhE,EAAcC,EAAmB,KAGnDE,EAAiBzyD,EACrB,YACA,uDACA,yDACA,yDACA,kBACA,+DACA,yDACA,+BACA,yDACA,yDACA,gCASI0yD,EAAsB1yD,EAC1ByyD,EACA,KACA,0DAIIE,EAAa9hE,EAAO4hE,EAAgBC,EAAqB,KAGzDE,EAAiB/hE,EAAO,QAAS6hE,EAAqB,KAItDG,EAAoB,CACxB,cACAhiE,EAAO,eAAgBmP,EAAO,QAAS,QAAS,KAAM,MACtD,oBACA,kBACA,sBACA,WACA,SACA,gBACA,WACA,eACA,gBACA,WACA,gBACA,YACA,OACA,UACA,oBA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SAAU,CACR,eAAgB,kCAGpB,CACEG,UAAW,OACXC,MAAO,kBAET,CACEgE,cAAe,QACf/D,IAAK,IACLG,SAAU,CAAEhB,EAAK0J,wBAEnB1J,EAAKqI,kBACLS,GAGN,YCtFA,MAAM5I,EAAW,CACf,KACA,KACA,KACA,KACA,MACA,QACA,UACA,MACA,MACA,WACA,KACA,SACA,OACA,OACA,QACA,QACA,aACA,OACA,QACA,OACA,UACA,MACA,SACA,WACA,SACA,SACA,MACA,QACA,QACA,QAIA,WACA,QACA,QACA,SACA,SACA,OACA,SACA,WAEIuK,EAAW,CACf,OACA,QACA,OACA,YACA,MACA,YAoFIC,EAAY,GAAG7H,OAlCI,CACvB,cACA,aACA,gBACA,eAEA,UACA,UAEA,OACA,WACA,QACA,aACA,WACA,YACA,qBACA,YACA,qBACA,SACA,YAGyB,CACzB,YACA,OACA,QACA,UACA,SACA,WACA,eACA,SACA,UA9EY,CACZ,OACA,WACA,SACA,OACA,OACA,SACA,SACA,SACA,WACA,UACA,QACA,SACA,MACA,MACA,UACA,UACA,QACA,UACA,OACA,UACA,eACA,aACA,aACA,YACA,cACA,cACA,eACA,QACA,aACA,oBACA,cACA,gBACA,iBACA,UAGkB,CAClB,YACA,gBACA,aACA,iBACA,cACA,YACA,aAmQF/C,EAAOC,QA7MP,SAAsBC,GACpB,MAgCM2K,EAAa,CACjBvK,QAASF,EAAS2C,OAvBI,CACtB,OACA,SACA,QACA,OACA,KACA,OACA,MACA,KACA,KACA,OACA,QAY0CwrB,QAHzBd,EAPQ,CACzB,MACA,QACA,MACA,WACA,UAGC63C,IAAQ73C,EAAKnK,SAASgiD,KAGvB/kE,QAASoK,EAAS5H,OA9BI,CACtB,MACA,KACA,KACA,QA2BAvC,SAAUoK,EAAU7H,OAnCG,CACvB,MACA,WA4BiB0qB,MAOnB,MAAMljB,EAAc,2BACdxB,EAAQ,CACZlI,UAAW,QACXC,MAAO,MACPC,IAAK,KACLL,SAAUmK,GAENL,EAAc,CAClBtK,EAAK4J,mBACL5J,EAAKkE,QAAQlE,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,EACAxD,EAAKmE,uBAIHC,EAAa,CACjBzD,UAAW,QACXC,MAAO+B,EAASgB,GAAgB3D,EAAKqE,SACrClD,UAAW,GAGPmD,EAAiB3B,EAASgB,GAAgB3D,EAAKqE,SAAW,UAsH1DE,EAAe,CACnBnE,QAAS,y0BAYTE,SAAU,4BACVkE,iBAlIuB,CACvB,OACA,QACA,OACA,SACA,OACA,OACA,MACA,OACA,MACA,OACA,QACA,OACA,UACA,QACA,OACA,QACA,WACA,QACA,OACA,QACA,QACA,SACA,MACA,MACA,OACA,SACA,WACA,WACA,gBACA,SACA,SACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,WACA,UACA,UACA,OACA,QACA,QACA,MACA,SACA,UACA,SACA,SACA,SACA,SACA,OACA,MACA,SACA,UACA,OACA,QACA,OACA,MACA,WACA,UACA,OACA,SACA,SACA,SACA,SACA,SACA,UACA,SACA,UACA,UACA,UACA,UACA,UACA,SACA,SACA,OACA,MACA,gBACA,qBACA,qBACA,iBACA,YACA,QACA,aACA,QACA,YACA,MACA,OACA,WACA,UACA,WACA,OACA,mBACA,aACA,UACA,YACA,MACA,SACA,UACA,MACA,OACA,OACA,OACA,QACA,SACA,SACA,eACA,gBACA,iBAkBAnE,QAAS,2BAGLoE,EAAoB,CACxB9D,UAAW,oBACXQ,UAAW,EACXX,SAAU+D,EACV3D,MAAOiC,EACL,KACA,eACA,SACA,UACA,YACA7C,EAAKqE,UA9QQzB,EA+QH,QA9QPC,EAAO,MAAOD,EAAI,QAD3B,IAAmBA,EAkRjB,MAAM8B,EAAsB,CAC1BD,EACAR,EACAJ,EACAL,EACAxD,EAAKmE,qBACLH,EACAF,GAIIa,EAAqB,CAIzBzD,SAAU,CACR,CACEN,MAAO,IACPC,IAAK,KAEP,CACED,MAAO,KACPC,IAAK,MAEP,CACE+D,cAAe,wBACf/D,IAAK,MAGTL,SAAU+D,EACVvD,SAAU0D,EAAoB7B,OAAO,CACnC,CACEjC,MAAO,KACPC,IAAK,KACLL,SAAU+D,EACVvD,SAAU0D,EAAoB7B,OAAO,CAAE,SACvC1B,UAAW,KAGfA,UAAW,GAGP0D,EAAuB,CAC3BlE,UAAW,WACXC,MAAO,IAAMgD,EAAmB,eAAiBU,EACjDQ,aAAa,EACbjE,IAAK,QACLkE,YAAY,EACZvE,SAAU+D,EACV9D,QAAS,iBACTO,SAAU,CACR,CACEJ,MAAO8C,EACPlD,SAAU+D,EACVpD,UAAW,GAEb,CACEP,MAAO0D,EACPQ,aAAa,EACb9D,SAAU,CAAEoD,GACZjD,UAAW,GAIb,CACEP,MAAO,KACPO,UAAW,GAGb,CACEP,MAAO,IACPoE,gBAAgB,EAChBhE,SAAU,CACR8C,EACAE,IAGJ,CACErD,UAAW,SACXC,MAAO,KACPC,IAAK,KACLL,SAAU+D,EACVpD,UAAW,EACXH,SAAU,CACRwC,EACAxD,EAAKmE,qBACLL,EACAE,EACAH,EAEA,CACEjD,MAAO,KACPC,IAAK,KACLL,SAAU+D,EACVpD,UAAW,EACXH,SAAU,CACR,OACAwC,EACAxD,EAAKmE,qBACLL,EACAE,EACAH,MAKRA,EACAL,EACAxD,EAAKmE,qBACLF,IAIJ,MAAO,CACL3C,KAAM,MACN2D,QAAS,CACP,KACA,MACA,MACA,MACA,KACA,MACA,OAEFzE,SAAU+D,EACV9D,QAAS,KACTyE,iBAAkB,CAChB,oBAAqB,YAEvBlE,SAAU,GAAG6B,OACX8B,EACAE,EACAJ,EACAC,EACA,CACET,EACA,CACErD,MAAO,uKACPC,IAAK,IACLL,SAAU+D,EACVvD,SAAU,CACR,OACA6C,IAGJ,CACEjD,MAAOZ,EAAKqE,SAAW,KACvB7D,SAAU+D,GAEZ,CACE5D,UAAW,QACXiE,cAAe,0BACf/D,IAAK,WACLG,SAAU,CACR,CACE4D,cAAe,sBAEjB5E,EAAKoE,eAIbrE,QAAS,CACPoF,aAAclB,EACdmB,QAAStB,EACTtD,SAAU+D,GAGhB,YC7cA,MAuBMkQ,EAAO,CACX,IACA,OACA,UACA,UACA,QACA,QACA,IACA,aACA,OACA,SACA,SACA,UACA,OACA,OACA,KACA,MACA,UACA,MACA,MACA,KACA,KACA,KACA,WACA,aACA,SACA,SACA,OACA,KACA,KACA,KACA,KACA,KACA,KACA,SACA,SACA,OACA,IACA,SACA,MACA,QACA,MACA,MACA,QACA,SACA,KACA,OACA,OACA,OACA,MACA,SACA,KACA,IACA,IACA,QACA,OACA,UACA,OACA,SACA,UACA,MACA,QACA,QACA,KACA,WACA,QACA,KACA,QACA,OACA,KACA,KACA,MACA,SAGIC,EAAiB,CACrB,YACA,cACA,eACA,QACA,cACA,cACA,sBACA,gBACA,eACA,eACA,gBACA,OACA,SACA,QACA,kBACA,aACA,cACA,iBACA,kBACA,UACA,uBACA,mBACA,yBACA,+BACA,aACA,OACA,YACA,SACA,QAEA,YACA,YACA,aACA,cAIIC,EAAiB,CACrB,SACA,WACA,QACA,UACA,UACA,UACA,UACA,MACA,WACA,OACA,QACA,UACA,QACA,cACA,gBACA,aACA,SACA,QACA,gBACA,eACA,MACA,OACA,eACA,QACA,gBACA,WACA,UACA,KACA,OACA,aACA,eACA,OACA,OACA,aACA,MACA,YACA,UACA,iBACA,eACA,mBACA,cACA,aACA,eACA,WACA,eACA,OACA,oBACA,YACA,aACA,WACA,QACA,OACA,QACA,SACA,gBACA,eACA,QACA,UACA,SAIIC,EAAkB,CACtB,QACA,WACA,SACA,MACA,aACA,eACA,aACA,gBACA,SACA,OACA,cACA,YACA,UACA,kBAGIC,EAAa,CACjB,gBACA,cACA,aACA,YACA,kBACA,sBACA,qBACA,sBACA,4BACA,iBACA,uBACA,4BACA,OACA,sBACA,aACA,wBACA,kBACA,mBACA,mBACA,oBACA,sBACA,oBACA,kBACA,SACA,gBACA,sBACA,4BACA,6BACA,sBACA,sBACA,kBACA,eACA,eACA,sBACA,sBACA,qBACA,sBACA,qBACA,cACA,oBACA,oBACA,oBACA,gBACA,eACA,qBACA,qBACA,qBACA,iBACA,eACA,aACA,mBACA,yBACA,0BACA,mBACA,mBACA,eACA,SACA,uBACA,aACA,aACA,cACA,eACA,eACA,eACA,QACA,OACA,YACA,QACA,eACA,cACA,aACA,cACA,oBACA,oBACA,oBACA,cACA,eACA,UACA,UACA,oBACA,gBACA,SACA,YACA,UACA,cACA,SACA,OACA,aACA,iBACA,YACA,YACA,cACA,YACA,QACA,OACA,eACA,cACA,wBACA,eACA,yBACA,YACA,mBACA,iBACA,eACA,aACA,eACA,yBACA,0BACA,cACA,SACA,UACA,OACA,oBACA,kBACA,mBACA,WACA,UACA,UACA,kBACA,OACA,iBACA,cACA,aACA,mBACA,sBACA,kBACA,SACA,gBACA,cACA,eACA,aACA,QACA,OACA,aACA,YACA,aACA,YACA,WACA,YACA,WACA,YACA,SACA,OACA,SACA,aACA,kBACA,UACA,QACA,UACA,UACA,gBACA,iBACA,gBACA,gBACA,WACA,gBACA,aACA,aACA,UACA,iBACA,eACA,gBACA,cACA,mBACA,oBACA,oBACA,cACA,qBACA,iBACA,WACA,SACA,SACA,QACA,MACA,WACA,eACA,aACA,kBACA,kBACA,wBACA,uBACA,wBACA,cACA,gBACA,iBACA,cACA,iBACA,0BACA,MACA,YACA,mBACA,kBACA,aACA,mBACA,sBACA,sBACA,6BACA,eACA,iBACA,aACA,cACA,SACA,QACA,aACA,eACA,YACA,WAGAC,UAsHFhV,EAAOC,QA3GP,SAAcC,GACZ,MAAMgV,EAtbOhV,KACN,CACLiV,UAAW,CACTtU,UAAW,OACXC,MAAO,cAETsU,SAAU,CACRvU,UAAW,SACXC,MAAO,oCAETuU,wBAAyB,CACvBxU,UAAW,gBACXC,MAAO,KACPC,IAAK,KACLJ,QAAS,IACTO,SAAU,CACRhB,EAAKsI,iBACLtI,EAAKqI,sBAqaG+M,CAAMpV,GACdmqE,EAAoBv1D,EACpBw1D,EAAmBz1D,EAEnB01D,EAAgB,WAGhB1gE,EAAW,CACfhJ,UAAW,WACXC,MAAO,mCAGT,MAAO,CACLU,KAAM,OACN8G,kBAAkB,EAClB3H,QAAS,SACTO,SAAU,CACRhB,EAAKwD,oBACLxD,EAAKmE,qBACL,CACExD,UA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MACA,MACA,KACA,KACA,KACA,WACA,aACA,SACA,SACA,OACA,KACA,KACA,KACA,KACA,KACA,KACA,SACA,SACA,OACA,IACA,SACA,MACA,QACA,MACA,MACA,QACA,SACA,KACA,OACA,OACA,OACA,MACA,SACA,KACA,IACA,IACA,QACA,OACA,UACA,OACA,SACA,UACA,MACA,QACA,QACA,KACA,WACA,QACA,KACA,QACA,OACA,KACA,KACA,MACA,SAGIC,EAAiB,CACrB,YACA,cACA,eACA,QACA,cACA,cACA,sBACA,gBACA,eACA,eACA,gBACA,OACA,SACA,QACA,kBACA,aACA,cACA,iBACA,kBACA,UACA,uBACA,mBACA,yBACA,+BACA,aACA,OACA,YACA,SACA,QAEA,YACA,YACA,aACA,cAIIC,EAAiB,CACrB,SACA,WACA,QACA,UACA,UACA,UACA,UACA,MACA,WACA,OACA,QACA,UACA,QACA,cACA,gBACA,aACA,SACA,QACA,gBACA,eACA,MACA,OACA,eACA,QACA,gBACA,WACA,UACA,KACA,OACA,aACA,eACA,OACA,OACA,aACA,MACA,YACA,UACA,iBACA,eACA,mBACA,cACA,aACA,eACA,WACA,eACA,OACA,oBACA,YACA,aACA,WACA,QACA,OACA,QACA,SACA,gBACA,eACA,QACA,UACA,SAIIC,EAAkB,CACtB,QACA,WACA,SACA,MACA,aACA,eACA,aACA,gBACA,SACA,OACA,cACA,YACA,UACA,kBAGIC,EAAa,CACjB,gBACA,cACA,aACA,YACA,kBACA,sBACA,qBACA,sBACA,4BACA,iBACA,uBACA,4BACA,OACA,sBACA,aACA,wBACA,kBACA,mBACA,mBACA,oBACA,sBACA,oBACA,kBACA,SACA,gBACA,sBACA,4BACA,6BACA,sBACA,sBACA,kBACA,eACA,eACA,sBACA,sBACA,qBACA,sBACA,qBACA,cACA,oBACA,oBACA,oBACA,gBACA,eACA,qBACA,qBACA,qBACA,iBACA,eACA,aACA,mBACA,yBACA,0BACA,mBACA,mBACA,eACA,SACA,uBACA,aACA,aACA,cACA,eACA,eACA,eACA,QACA,OACA,YACA,QACA,eACA,cACA,aACA,cACA,oBACA,oBACA,oBACA,cACA,eACA,UACA,UACA,oBACA,gBACA,SACA,YACA,UACA,cACA,SACA,OACA,aACA,iBACA,YACA,YACA,cACA,YACA,QACA,OACA,eACA,cACA,wBACA,eACA,yBACA,YACA,mBACA,iBACA,eACA,aACA,eACA,yBACA,0BACA,cACA,SACA,UACA,OACA,oBACA,kBACA,mBACA,WACA,UACA,UACA,kBACA,OACA,iBACA,cACA,aACA,mBACA,sBACA,kBACA,SACA,gBACA,cACA,eACA,aACA,QACA,OACA,aACA,YACA,aACA,YACA,WACA,YACA,WACA,YACA,SACA,OACA,SACA,aACA,kBACA,UACA,QACA,UACA,UACA,gBACA,iBACA,gBACA,gBACA,WACA,gBACA,aACA,aACA,UACA,iBACA,eACA,gBACA,cACA,mBACA,oBACA,oBACA,cACA,qBACA,iBACA,WACA,SACA,SACA,QACA,MACA,WACA,eACA,aACA,kBACA,kBACA,wBACA,uBACA,wBACA,cACA,gBACA,iBACA,cACA,iBACA,0BACA,MACA,YACA,mBACA,kBACA,aACA,mBACA,sBACA,sBACA,6BACA,eACA,iBACA,aACA,cACA,SACA,QACA,aACA,eACA,YACA,WAGAC,UAsLFhV,EAAOC,QA3KP,SAAgBC,GACd,MAAMgV,EAtbOhV,KACN,CACLiV,UAAW,CACTtU,UAAW,OACXC,MAAO,cAETsU,SAAU,CACRvU,UAAW,SACXC,MAAO,oCAETuU,wBAAyB,CACvBxU,UAAW,gBACXC,MAAO,KACPC,IAAK,KACLJ,QAAS,IACTO,SAAU,CACRhB,EAAKsI,iBACLtI,EAAKqI,sBAqaG+M,CAAMpV,GAGd2J,EAAW,CACfhJ,UAAW,WACXC,MAAO,MAAQZ,EAAKqE,UAoBhBw0E,EAAoB,oBAiB1B,MAAO,CACLv3E,KAAM,SACN2D,QAAS,CAAE,QACXmD,kBAAkB,EAClB5H,SAAU,iBACVC,QAAS,IAnBK,CAC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HwU,EAAUiqD,EAAYjqD,EAASkqD,EAAW1+D,IAE5C,CAEA,OAAOwU,CACR,CAEA,SAASkqD,EAAY1+D,GACpB,GAAmB,kBAARA,GAAmC,kBAARA,EACrC,OAAOA,EAGR,GAAmB,kBAARA,EACV,MAAO,GAGR,GAAI3X,MAAMmf,QAAQxH,GACjB,OAAOw+D,EAAWp9D,MAAM,KAAMpB,GAG/B,GAAIA,EAAIU,WAAa9Z,OAAO8E,UAAUgV,WAAaV,EAAIU,SAASA,WAAW8H,SAAS,iBACnF,OAAOxI,EAAIU,WAGZ,IAAI8T,EAAU,GAEd,IAAK,IAAInnB,KAAO2S,EACXu+D,EAAO3lE,KAAKoH,EAAK3S,IAAQ2S,EAAI3S,KAChCmnB,EAAUiqD,EAAYjqD,EAASnnB,IAIjC,OAAOmnB,CACR,CAEA,SAASiqD,EAAa33E,EAAO63E,GAC5B,OAAKA,EAID73E,EACIA,EAAQ,IAAM63E,EAGf73E,EAAQ63E,EAPP73E,CAQT,CAEqC5B,EAAOC,SAC3Cq5E,EAAWh7D,QAAUg7D,EACrBt5E,EAAOC,QAAUq5E,QAKhB,KAFwB,EAAF,WACtB,OAAOA,CACP,UAFoB,OAEpB,YAIF,CArEA,aCibDt5E,EAAOC,QA/aP,SAAgBC,GACd,MA2IME,EAAW,CACfE,QA/FsB,CACtB,WACA,KACA,OACA,QACA,OACA,QACA,QACA,WACA,KACA,OACA,QACA,WACA,SACA,UACA,QACA,MACA,UACA,OACA,KACA,WACA,KACA,YACA,WACA,KACA,OACA,YACA,MACA,WACA,MACA,WACA,SACA,UACA,YACA,SACA,WACA,SACA,MACA,SACA,SACA,SACA,aACA,SACA,SACA,SACA,OACA,QACA,MACA,SACA,YACA,SACA,QACA,UACA,OACA,WACA,SAwCyByC,OAtCC,CAC1B,MACA,QACA,MACA,YACA,QACA,QACA,KACA,aACA,SACA,OACA,MACA,SACA,QACA,OACA,OACA,OACA,MACA,SACA,MACA,UACA,KACA,KACA,UACA,UACA,SACA,SACA,MACA,YACA,UACA,MACA,OACA,QACA,OACA,UAKAvC,SA7IwB,CACxB,OACA,OACA,OACA,UACA,WACA,SACA,UACA,OACA,QACA,MACA,OACA,OACA,QACA,SACA,QACA,QACA,SACA,QACA,OACA,UA0HAD,QAvGuB,CACvB,UACA,QACA,OACA,SAqGI+D,EAAapE,EAAKkE,QAAQlE,EAAKoE,WAAY,CAC/CxD,MAAO,uBAEHoD,EAAU,CACdrD,UAAW,SACXO,SAAU,CACR,CACEN,MAAO,iBAET,CACEA,MAAO,mEAET,CACEA,MAAO,wFAGXO,UAAW,GAEPq4E,EAAkB,CACtB74E,UAAW,SACXC,MAAO,KACPC,IAAK,IACLG,SAAU,CACR,CACEJ,MAAO,QAIP64E,EAAwBz5E,EAAKkE,QAAQs1E,EAAiB,CAC1D/4E,QAAS,OAELoI,EAAQ,CACZlI,UAAW,QACXC,MAAO,KACPC,IAAK,KACLL,SAAUN,GAENw5E,EAAc15E,EAAKkE,QAAQ2E,EAAO,CACtCpI,QAAS,OAELk5E,EAAsB,CAC1Bh5E,UAAW,SACXC,MAAO,MACPC,IAAK,IACLJ,QAAS,KACTO,SAAU,CACR,CACEJ,MAAO,QAET,CACEA,MAAO,QAETZ,EAAKiB,iBACLy4E,IAGEE,EAA+B,CACnCj5E,UAAW,SACXC,MAAO,OACPC,IAAK,IACLG,SAAU,CACR,CACEJ,MAAO,QAET,CACEA,MAAO,QAET,CACEA,MAAO,MAETiI,IAGEgxE,EAAqC75E,EAAKkE,QAAQ01E,EAA8B,CACpFn5E,QAAS,KACTO,SAAU,CACR,CACEJ,MAAO,QAET,CACEA,MAAO,QAET,CACEA,MAAO,MAET84E,KAGJ7wE,EAAM7H,SAAW,CACf44E,EACAD,EACAH,EACAx5E,EAAKsI,iBACLtI,EAAKqI,kBACLrE,EACAhE,EAAKmE,sBAEPu1E,EAAY14E,SAAW,CACrB64E,EACAF,EACAF,EACAz5E,EAAKsI,iBACLtI,EAAKqI,kBACLrE,EACAhE,EAAKkE,QAAQlE,EAAKmE,qBAAsB,CACtC1D,QAAS,QAGb,MAAMM,EAAS,CACbG,SAAU,CACR04E,EACAD,EACAH,EACAx5E,EAAKsI,iBACLtI,EAAKqI,oBAIHyxE,EAAmB,CACvBl5E,MAAO,IACPC,IAAK,IACLG,SAAU,CACR,CACE4D,cAAe,UAEjBR,IAGE21E,EAAgB/5E,EAAKqE,SAAW,KAAOrE,EAAKqE,SAAW,aAAerE,EAAKqE,SAAW,iBACtFgmE,EAAgB,CAGpBzpE,MAAO,IAAMZ,EAAKqE,SAClBlD,UAAW,GAGb,MAAO,CACLG,KAAM,KACN2D,QAAS,CACP,KACA,MAEFzE,SAAUN,EACVO,QAAS,KACTO,SAAU,CACRhB,EAAKyD,QACH,MACA,IACA,CACEqB,aAAa,EACb9D,SAAU,CACR,CACEL,UAAW,SACXO,SAAU,CACR,CACEN,MAAO,MACPO,UAAW,GAEb,CACEP,MAAO,kBAET,CACEA,MAAO,MACPC,IAAK,UAOjBb,EAAKwD,oBACLxD,EAAKmE,qBACL,CACExD,UAAW,OACXC,MAAO,IACPC,IAAK,IACLL,SAAU,CACR,eAAgB,wFAGpBO,EACAiD,EACA,CACEY,cAAe,kBACfzD,UAAW,EACXN,IAAK,QACLJ,QAAS,UACTO,SAAU,CACR,CACE4D,cAAe,eAEjBR,EACA01E,EACA95E,EAAKwD,oBACLxD,EAAKmE,uBAGT,CACES,cAAe,YACfzD,UAAW,EACXN,IAAK,QACLJ,QAAS,SACTO,SAAU,CACRoD,EACApE,EAAKwD,oBACLxD,EAAKmE,uBAGT,CACES,cAAe,SACfzD,UAAW,EACXN,IAAK,QACLJ,QAAS,SACTO,SAAU,CACRoD,EACA01E,EACA95E,EAAKwD,oBACLxD,EAAKmE,uBAGT,CAEExD,UAAW,OACXC,MAAO,WACP8H,cAAc,EACd7H,IAAK,MACLkE,YAAY,EACZ/D,SAAU,CACR,CACEL,UAAW,cACXC,MAAO,IACPC,IAAK,OAIX,CAGE+D,cAAe,8BACfzD,UAAW,GAEb,CACER,UAAW,WACXC,MAAO,IAAMm5E,EAAgB,SAAW/5E,EAAKqE,SAAW,qBACxDS,aAAa,EACbjE,IAAK,WACLkE,YAAY,EACZvE,SAAUN,EACVc,SAAU,CAER,CACE4D,cArXiB,CACzB,SACA,UACA,YACA,SACA,WACA,YACA,WACA,QACA,SACA,WACA,SACA,UACA,MACA,SACA,WAsW0CtB,KAAK,KACvCnC,UAAW,GAEb,CACEP,MAAOZ,EAAKqE,SAAW,qBACvBS,aAAa,EACb9D,SAAU,CACRhB,EAAKoE,WACL01E,GAEF34E,UAAW,GAEb,CACER,UAAW,SACXC,MAAO,KACPC,IAAK,KACL6H,cAAc,EACd3D,YAAY,EACZvE,SAAUN,EACViB,UAAW,EACXH,SAAU,CACRD,EACAiD,EACAhE,EAAKmE,uBAGTnE,EAAKwD,oBACLxD,EAAKmE,uBAGTkmE,GAGN,6BCpbA7oE,OAAOC,eAAe1B,EAAS,aAAc,CAC3C2B,OAAO,IAET3B,EAAiB,aAAI,EACNA,EAAiB,QAAI,CAClC,eAAgB,CACd,MAAS,WAEX,aAAc,CACZ,MAAS,WAEX,gBAAiB,CACf,MAAS,WAEX,yBAA0B,CACxB,MAAS,WAEX,iBAAkB,CAChB,MAAS,WAEX,WAAY,CACV,MAAS,WAEX,YAAa,CACX,MAAS,WAEX,cAAe,CACb,MAAS,WAEX,YAAa,CACX,MAAS,WAEX,mBAAoB,CAClB,MAAS,WAEX,sBAAuB,CACrB,MAAS,WAEX,cAAe,CACb,MAAS,WAEX,YAAa,CACX,MAAS,WAEX,gBAAiB,CACf,MAAS,WAEX,oBAAqB,CACnB,MAAS,WAEX,eAAgB,CACd,MAAS,WAEX,YAAa,CACX,MAAS,WAEX,cAAe,CACb,MAAS,WAEX,cAAe,CACb,MAAS,WAEX,cAAe,CACb,MAAS,WAEX,cAAe,CACb,MAAS,WAEX,aAAc,CACZ,MAAS,WAEX,eAAgB,CACd,MAAS,WAEX,eAAgB,CACd,MAAS,WAEX,oBAAqB,CACnB,MAAS,WAEX,gBAAiB,CACf,MAAS,UACT,QAAW,eACX,MAAS,OACT,gBAAmB,WAErB,gBAAiB,CACf,MAAS,UACT,QAAW,eACX,MAAS,OACT,gBAAmB,WAErB,KAAQ,CACN,QAAW,QACX,UAAa,OACb,WAAc,UACd,MAAS,UACT,QAAW,SAEb,gBAAiB,CACf,UAAa,UAEf,cAAe,CACb,WAAc,mBCrFlB,SAAS4C,EAASC,GAChB,OAOF,WAAyB,QAAAE,EAAAC,UAAAR,OAANS,EAAI,IAAAC,MAAAH,GAAAI,EAAA,EAAAA,EAAAJ,EAAAI,IAAJF,EAAIE,GAAAH,UAAAG,GAErB,OADeF,EAAKG,KAAKC,GApB3B,SAAgBR,GACd,OAAKA,EACa,kBAAPA,EAAwBA,EAE5BA,EAAGS,OAHM,IAIlB,CAeiCA,CAAOD,KAAIE,KAAK,GAEjD,CAVST,CAAO,IAAKD,EAAI,KACzB,CA8RA9C,EAAOC,QA5QP,SAAWC,GAIT,MAAMwD,EAAsBxD,EAAKyD,QAAQ,KAAM,IAAK,CAClDzC,SAAU,CACR,CACEJ,MAAO,WAIP8C,EAAmB,qBACnBC,EAAe,kBAEfC,EAAmB,IACvBF,EAAmB,IACnBf,EAASgB,GACT,gBAAkBhB,EAJS,YAK7B,IACMkB,EAAsB,CAC1BlD,UAAW,UACXC,MAAO,sBAMHkD,EAAU,CACdnD,UAAW,SACXO,SAAU,CACR,CACEN,MAAO,cACPC,IAAK,IACLJ,QAAS,MACTO,SAAU,CAAEhB,EAAKiB,mBAEnB,CACEL,MAAO,sEACPC,IAAK,IACLJ,QAAS,KAEXT,EAAK+D,kBAAkB,CACrBnD,MAAO,mCACPC,IAAK,0BAKLmD,EAAU,CACdrD,UAAW,SACXO,SAAU,CACR,CACEN,MAAO,iBAET,CACEA,MAAO,yFAET,CACEA,MAAO,wFAGXO,UAAW,GAGP8C,EAAe,CACnBtD,UAAW,OACXC,MAAO,eACPC,IAAK,IACLL,SAAU,CACR,eACE,0FAGJQ,SAAU,CACR,CACEJ,MAAO,OACPO,UAAW,GAEbnB,EAAKkE,QAAQJ,EAAS,CACpBnD,UAAW,gBAEb,CACEA,UAAW,cACXC,MAAO,SAET4C,EACAxD,EAAKmE,uBAIHC,EAAa,CACjBzD,UAAW,QACXC,MAAO+B,EAASgB,GAAgB3D,EAAKqE,SACrClD,UAAW,GAGPmD,EAAiB3B,EAASgB,GAAgB3D,EAAKqE,SAAW,UAE1DE,EAAe,CACnBnE,QAAS,y0BAYTE,SAAU,+1BASVD,QAAS,2BAGLqE,EAAsB,CAC1BT,EACAJ,EACAL,EACAxD,EAAKmE,qBACLH,EACAF,GAGIa,EAAqB,CAIzBzD,SAAU,CACR,CACEN,MAAO,IACPC,IAAK,KAEP,CACED,MAAO,KACPC,IAAK,MAEP,CACE+D,cAAe,wBACf/D,IAAK,MAGTL,SAAU+D,EACVvD,SAAU0D,EAAoB7B,OAAO,CACnC,CACEjC,MAAO,KACPC,IAAK,KACLL,SAAU+D,EACVvD,SAAU0D,EAAoB7B,OAAO,CAAE,SACvC1B,UAAW,KAGfA,UAAW,GAGP0D,EAAuB,CAC3BlE,UAAW,WACXC,MAAO,IAAMgD,EAAmB,eAAiBU,EACjDQ,aAAa,EACbjE,IAAK,QACLkE,YAAY,EACZvE,SAAU+D,EACV9D,QAAS,iBACTO,SAAU,CACR,CACEJ,MAAO8C,EACPlD,SAAU+D,EACVpD,UAAW,GAEb,CACEP,MAAO0D,EACPQ,aAAa,EACb9D,SAAU,CAAEoD,GACZjD,UAAW,GAEb,CACER,UAAW,SACXC,MAAO,KACPC,IAAK,KACLL,SAAU+D,EACVpD,UAAW,EACXH,SAAU,CACRwC,EACAxD,EAAKmE,qBACLL,EACAE,EACAH,EAEA,CACEjD,MAAO,KACPC,IAAK,KACLL,SAAU+D,EACVpD,UAAW,EACXH,SAAU,CACR,OACAwC,EACAxD,EAAKmE,qBACLL,EACAE,EACAH,MAKRA,EACAL,EACAxD,EAAKmE,qBACLF,IAIJ,MAAO,CACL3C,KAAM,IACN2D,QAAS,CACP,KAEFzE,SAAU+D,EAGVe,mBAAmB,EACnB7E,QAAS,KACTO,SAAU,GAAG6B,OACX8B,EACAE,EACAH,EACA,CACET,EACA,CACErD,MAAO,uKACPC,IAAK,IACLL,SAAU+D,EACVvD,SAAU,CACR,OACA6C,IAGJ,CACEjD,MAAOZ,EAAKqE,SAAW,KACvB7D,SAAU+D,GAEZ,CACE5D,UAAW,QACXiE,cAAe,0BACf/D,IAAK,WACLG,SAAU,CACR,CACE4D,cAAe,sBAEjB5E,EAAKoE,eAIbrE,QAAS,CACPoF,aAAclB,EACdmB,QAAStB,EACTtD,SAAU+D,GAGhB,+BCvSA,IAAIy1E,EAAQp4E,EAAQ,MAIpB,IAAIq4E,EAAW,oBAAsBz4E,OAAO8+B,GAAK9+B,OAAO8+B,GAHxD,SAAYl9B,EAAGg8C,GACb,OAAQh8C,IAAMg8C,IAAM,IAAMh8C,GAAK,EAAIA,IAAM,EAAIg8C,IAAQh8C,IAAMA,GAAKg8C,IAAMA,CACxE,EAEEmJ,EAAuByxB,EAAMzxB,qBAC7BN,EAAS+xB,EAAM/xB,OACfN,EAAYqyB,EAAMryB,UAClBI,EAAUiyB,EAAMjyB,QAChBI,EAAgB6xB,EAAM7xB,cACxBpoD,EAAQm6E,iCAAmC,SACzCC,EACA70B,EACA80B,EACAC,EACAC,GAEA,IAAIC,EAAUtyB,EAAO,MACrB,GAAI,OAASsyB,EAAQ3mE,QAAS,CAC5B,IAAI4mE,EAAO,CAAEC,UAAU,EAAI/4E,MAAO,MAClC64E,EAAQ3mE,QAAU4mE,CACpB,MAAOA,EAAOD,EAAQ3mE,QACtB2mE,EAAUxyB,GACR,WACE,SAAS2yB,EAAiBC,GACxB,IAAKC,EAAS,CAIZ,GAHAA,GAAU,EACVC,EAAmBF,EACnBA,EAAeN,EAASM,QACpB,IAAWL,GAAWE,EAAKC,SAAU,CACvC,IAAIK,EAAmBN,EAAK94E,MAC5B,GAAI44E,EAAQQ,EAAkBH,GAC5B,OAAQI,EAAoBD,CAChC,CACA,OAAQC,EAAoBJ,CAC9B,CAEA,GADAG,EAAmBC,EACfd,EAASY,EAAkBF,GAAe,OAAOG,EACrD,IAAIE,EAAgBX,EAASM,GAC7B,YAAI,IAAWL,GAAWA,EAAQQ,EAAkBE,IAC1CH,EAAmBF,EAAeG,IAC5CD,EAAmBF,EACXI,EAAoBC,EAC9B,CACA,IACEH,EACAE,EAFEH,GAAU,EAGZK,OACE,IAAWb,EAAoB,KAAOA,EAC1C,MAAO,CACL,WACE,OAAOM,EAAiBp1B,IAC1B,EACA,OAAS21B,OACL,EACA,WACE,OAAOP,EAAiBO,IAC1B,EAER,GACA,CAAC31B,EAAa80B,EAAmBC,EAAUC,IAE7C,IAAI54E,EAAQ6mD,EAAqB4xB,EAAWI,EAAQ,GAAIA,EAAQ,IAShE,OARA5yB,GACE,WACE6yB,EAAKC,UAAW,EAChBD,EAAK94E,MAAQA,CACf,GACA,CAACA,IAEHymD,EAAczmD,GACPA,CACT,YC1EA,SAAS2B,EAAOT,GACd,OAAKA,EACa,kBAAPA,EAAwBA,EAE5BA,EAAGS,OAHM,IAIlB,CAsBA,SAASR,IAAgB,QAAAC,EAAAC,UAAAR,OAANS,EAAI,IAAAC,MAAAH,GAAAI,EAAA,EAAAA,EAAAJ,EAAAI,IAAJF,EAAIE,GAAAH,UAAAG,GAErB,OADeF,EAAKG,KAAKC,GAAMC,EAAOD,KAAIE,KAAK,GAEjD,CA4RAxD,EAAOC,QArQP,SAAoBC,GAClB,MAAM0K,EAAY,CAChB,eAAgB,CACd,SACA,WACA,aACA,YACA,SACA,WACA,OACA,UACA,MACA,OACA,KACA,KACA,QACA,UACA,MACA,MACA,SACA,MACA,SACA,UACA,eACA,SACA,WACA,WACA,UACA,SACA,OACA,OACA,UAmBEypB,EAA0B,kBAC1BC,EAAiB,wCAEjBC,EAnER,WAAyB,QAAApiB,EAAAlP,UAAAR,OAANS,EAAI,IAAAC,MAAAgP,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAJlP,EAAIkP,GAAAnP,UAAAmP,GAErB,MADe,IAAMlP,EAAKG,KAAKC,GAAMC,EAAOD,KAAIE,KAAK,KAAO,GAE9D,CAgEiB0O,CALgB,aACA,aAO7BmiB,EACAC,GAGIE,EAAmBzxB,EA7FlBA,EAAO,IA8FH,aA9FY,MA+FrBwxB,EAxGJ,SAA0BzxB,GACxB,OAAOC,EAAO,IAAKD,EAAI,KACzB,CAuGI2xB,CAAiB1xB,EAXU,UAazBwxB,KAKEG,EAAmB3xB,EACvB,IACAsxB,EAAyB,IACzBC,EACA,UAGIK,EAAiC,CACrC7zB,MAAO0zB,EACPvO,QAAS,YAGL2O,EAAmB10B,EAAKkE,QAAQuwB,EAAgC,CACpEj0B,SAhDe,CACfH,QAAS,CACP,OACA,QACA,YACA,WA8CEs0B,EAAiB,CACrB/zB,MAAO,KACPC,IAAK,MAID+zB,EAAO,CAEXj0B,UAAW,OACXC,MAAO4zB,EACPrzB,UAAW,EACXoI,OAAQ,CACN3I,MAAO,IACPC,IAAK,IACL0I,OAAQ,CACNvI,SAAU,CACRhB,EAAKuI,YACLvI,EAAKqI,kBACLrI,EAAKsI,iBACLosB,EACAC,MAqBFE,EAAoB,CACxB7zB,SAAU,CACRhB,EAAKuI,YACLvI,EAAKqI,kBACLrI,EAAKsI,iBAnBY,CAEnB1H,MAAO,UACPJ,SAAU,CACRJ,QAAS,MAEXS,IAAK,KACLG,SAAU,CACR,CAEEJ,MAAO,SAWTg0B,EACAF,EACAC,GAEFlsB,WAAW,GAMPqsB,EAA0B90B,EAAKkE,QAAQuwB,EAAgC,CAC3E9zB,UAAW,OACXH,SAAUkK,EACVnB,OAAQvJ,EAAKkE,QAAQ2wB,EAAmB,CACtCh0B,IAAK,SAIT8zB,EAAe3zB,SAAW,CAAC8zB,GAE3B,MAAMC,EAAkC/0B,EAAKkE,QAAQuwB,EAAgC,CACnFj0B,SAAUkK,EACV/J,UAAW,OACX4I,OAAQvJ,EAAKkE,QAAQ2wB,EAAmB,CACtCh0B,IAAK,WAIHm0B,EAAkCh1B,EAAKkE,QAAQuwB,EAAgC,CACnFj0B,SAAUkK,EACV/J,UAAW,SAGPs0B,EAA0Bj1B,EAAKkE,QAAQuwB,EAAgC,CAC3E9zB,UAAW,OACXH,SAAUkK,EACVnB,OAAQvJ,EAAKkE,QAAQ2wB,EAAmB,CACtCh0B,IAAK,WAaT,MAAO,CACLS,KAAM,aACN2D,QAAS,CACP,MACA,WACA,kBACA,YAEFmD,kBAAkB,EAClByC,YAAa,MACb7J,SAAU,CAnBsC,CAChDJ,MAAO,SACPwJ,MAAM,GAEiD,CACvDxJ,MAAO,eACPwJ,MAAM,GAgBJpK,EAAKyD,QAAQ,UAAW,UACxBzD,EAAKyD,QAAQ,QAAS,QACtB,CAEE9C,UAAW,eACXC,MAAO,iBACPC,IAAK,WACLG,SAAU,CAAC+zB,GACXxrB,OAAQ,CACN1I,IAAK,aACL4H,WAAW,EACXoC,YAAa,QAGjB,CAEElK,UAAW,eACXC,MAAO,aACPC,IAAK,WACLG,SAAU,CAACg0B,IAEb,CAEEr0B,UAAW,eACXC,MAAO,QACPC,IAAK,OACLG,SAAU,CAAC+zB,IAEb,CACEp0B,UAAW,eACXC,MAAO,mBACPC,IAAK,OACLL,SAAU,QAEZ,CACEG,UAAW,eACXC,MAAO,kBACPC,IAAK,OACLL,SAAU,WAEZ,CAEEG,UAAW,eACXC,MAAO,SACPC,IAAK,OACLG,SAAU,CAACg0B,IAEb,CAEEr0B,UAAW,oBACXC,MAAO,SACPC,IAAK,SACLG,SAAU,CAACi0B,IAEb,CAEEt0B,UAAW,oBACXC,MAAO,OACPC,IAAK,OACLG,SAAU,CAACi0B,KAInB,YCjPAn1B,EAAOC,QAxEP,SAAaC,GACX,MAAO,CACLsB,KAAM,oBACN2D,QAAS,CAAE,MACXzE,SAAU,CACRL,SAAU,eACVC,QAEE,iPAIFE,SAEE,uFACFD,QACE,+CAEJI,QAAS,UACTO,SAAU,CACR,CACEL,UAAW,UACXC,MAAO,mBACPO,UAAW,GAEbnB,EAAKyD,QACH,SACA,SACA,CACEzC,SAAU,CAAE,UAGhB,CACEL,UAAW,SACXC,MAAO,0BAGT,CACED,UAAW,OACXC,MAAO,iBAET,CACED,UAAW,OACXC,MAAO,kBACPO,UAAW,GAEb,CACEP,MAAO,sBAETZ,EAAKkE,QAAQlE,EAAKsI,iBAAkB,CAClC3H,UAAW,SACXQ,UAAW,IAEbnB,EAAKkE,QAAQlE,EAAKqI,kBAAmB,CACnC5H,QAAS,OAEX,CACEE,UAAW,SACXC,MACE,2HAIFO,UAAW,GAEb,CACEP,MAAO,UAIf,YC1BAd,EAAOC,QA7CP,SAAcC,GACZ,MAAM2yB,EAAc3yB,EAAKyD,QAAQ,OAAQ,QAiCzC,MAAO,CACLnC,KAAM,4BACNb,QAAS,KACTO,SAAU,CACR2xB,EAnCoB,CACtBhyB,UAAW,YACXC,MAAO,qCAQY,CACnBA,MAAO,IACPC,IAAK,OACLG,SAAU,CACR2xB,EATwB,CAC1BhyB,UAAW,OACXC,MAAO,UASL,CAEED,UAAW,SACXO,SAAU,CACRlB,EAAKsI,iBACLtI,EAAKqI,kBACL,CACEzH,MAAO,IACPC,IAAK,UAgBjB,YCoEAf,EAAOC,QA/GP,SAAcC,GACZ,MAKMk7E,EAAU,CAEdv6E,UAAW,WACXC,MAAO,mBAGHmyB,EAAY,CAEhBpyB,UAAW,WACXC,MAAO,SACPH,QAAS,YAGL06E,EAAY,CAEhBx6E,UAAW,WACXC,MAAO,oBA2BHG,EAAS,CACbJ,UAAW,SACXO,SAAU,CACR,CACEN,MAAO,IACPC,IAAK,KAEP,CACED,MAAO,IACPC,IAAK,KAEP,CACED,MAAO,IACPC,IAAK,MAGTJ,QAAS,KACTO,SAAU,CA7BM,CAEhBL,UAAW,OACXC,MAAO,kBAvCS,CAChBD,UAAW,WACXC,MAAO,wbAkELs6E,EACAnoD,EACAooD,IAIJ,MAAO,CACL75E,KAAM,OACN8G,kBAAkB,EAClB5H,SAAU,CACRJ,QACA,ilFACAC,QACA,kYAEFW,SAAU,CACRhB,EAAKuB,kBACLvB,EAAKmE,qBACLnE,EAAKyD,QACH,IACA,IACA,CACEtC,UAAW,IAGf,CACER,UAAW,WACXiE,cAAe,uCACf/D,IAAK,KAEPE,EApEa,CAEfJ,UAAW,UACXC,MAAO,4RAmELs6E,EACAnoD,EACAooD,EA9Ee,CAEjBx6E,UAAW,SACXC,MAAO,qpBAeO,CAEdD,UAAW,QACXC,MAAO,YA4DLZ,EAAKuI,aAGX,YCpFAzI,EAAOC,QAzBP,SAAcC,GACZ,MAAO,CACLsB,KAAM,OACNd,SAAU,CACRJ,QACI,0TAKJC,QACI,mBAENW,SAAU,CACRhB,EAAKuB,kBACLvB,EAAKqI,kBACLrI,EAAKwI,cACL,CACE7H,UAAW,OACXC,MAAO,eAIf,6BC5BAY,OAAOC,eAAe1B,EAAS,aAAc,CAC3C2B,OAAO,IAET3B,EAAiB,aAAI,EACNA,EAAiB,QAAI,CAClC,KAAQ,CACN,QAAW,QACX,UAAa,OACb,QAAW,QACX,WAAc,UACd,MAAS,WAEX,eAAgB,CACd,MAAS,UACT,WAAc,QAEhB,gBAAiB,CACf,MAAS,WAEX,eAAgB,CACd,MAAS,WAEX,cAAe,CACb,MAAS,WAEX,eAAgB,CACd,MAAS,WAEX,cAAe,CACb,MAAS,WAEX,cAAe,CACb,MAAS,WAEX,iBAAkB,CAChB,MAAS,WAEX,oBAAqB,CACnB,MAAS,WAEX,cAAe,CACb,MAAS,WAEX,YAAa,CACX,MAAS,WAEX,cAAe,CACb,MAAS,WAEX,YAAa,CACX,MAAS,WAEX,gBAAiB,CACf,MAAS,WAEX,cAAe,CACb,MAAS,WAEX,gBAAiB,CACf,MAAS,WAEX,yBAA0B,CACxB,MAAS,WAEX,YAAa,CACX,MAAS,WAEX,qBAAsB,CACpB,MAAS,WAEX,uBAAwB,CACtB,MAAS,WAEX,YAAa,CACX,MAAS,WAEX,mBAAoB,CAClB,MAAS,WAEX,sBAAuB,CACrB,MAAS,WAEX,aAAc,CACZ,MAAS,WAEX,oBAAqB,CACnB,MAAS,WAEX,gBAAiB,CACf,MAAS,WAEX,aAAc,CACZ,MAAS,WAEX,eAAgB,CACd,MAAS,WAEX,gBAAiB,CACf,MAAS,WAEX,oBAAqB,CACnB,MAAS,WAEX,YAAa,CACX,MAAS,WAEX,aAAc,CACZ,MAAS,WAEX,gBAAiB,CACf,UAAa,UAEf,cAAe,CACb,WAAc,mBCwBlBD,EAAOC,QAnIP,SAAeC,GACb,MAAM29D,EAAM,CACVh9D,UAAW,WACXO,SAAU,CACR,CACEN,MAAO,SAET,CACEA,MAAO,OACPC,IAAK,MAEP,CACED,MAAO,OAASZ,EAAKgL,uBAIrBzK,EAAU,CACdyE,gBAAgB,EAChBxE,SAAU,CACRL,SAAU,WACVE,QACE,kJAGJc,UAAW,EACXV,QAAS,KACTO,SAAU,CACRhB,EAAKuB,kBACL,CACEZ,UAAW,SACXK,SAAU,CACRhB,EAAKiB,iBACL08D,GAEFz8D,SAAU,CACR,CACEN,MAAO,IACPC,IAAK,KAEP,CACED,MAAO,IACPC,IAAK,OAKX,CACED,MAAO,aACPC,IAAK,MACLmE,gBAAgB,EAChBD,YAAY,EACZ/D,SAAU,CAAE28D,IAEd,CACEh9D,UAAW,SACXK,SAAU,CACRhB,EAAKiB,iBACL08D,GAEFz8D,SAAU,CACR,CACEN,MAAO,SACPC,IAAK,YACL4H,WAAW,GAGb,CACE7H,MAAO,YACPC,IAAK,YACL4H,WAAW,GAGb,CACE7H,MAAO,sBAGT,CACEA,MAAO,wBAKb,CACED,UAAW,SACXC,MAAO,+DAGT,CACED,UAAW,SACXC,MAAO,4BACPO,UAAW,GAEbw8D,IAIJ,MAAO,CACLr8D,KAAM,eACN2D,QAAS,CAAE,aACXjE,SAAU,CACRhB,EAAKuB,kBACL,CACEX,MAAOZ,EAAKgL,oBAAsB,UAClClG,aAAa,EACbjE,IAAK,KACLG,SAAU,CACR,CACEL,UAAW,UACXC,MAAOZ,EAAKgL,sBAGhB7J,UAAW,GAEb,CACEP,MAAOZ,EAAKgL,oBAAsB,MAClCnK,IAAK,QACLiE,aAAa,EACb9D,SAAU,CACR,CACEL,UAAW,YACXC,MAAOZ,EAAKgL,oBACZzB,OAAQhJ,IAGZY,UAAW,IAGfV,QAAS,YAEb,6BCvIAV,EAAQonE,YAAa,EAErBpnE,EAAAA,QAAkB,SAAUq7E,EAAMC,GAChC,GAAID,GAAQC,EAAe,CACzB,IAAIC,EAAqBr4E,MAAMmf,QAAQi5D,GAAiBA,EAAgBA,EAAc9vE,MAAM,KAE5F,GAAkC,IAA9B+vE,EAAmB/4E,OACrB,OAAO,EAGT,IAAIg5E,EAAWH,EAAK95E,MAAQ,GACxBk6E,GAAYJ,EAAKh1E,MAAQ,IAAI0T,cAC7B2hE,EAAeD,EAAS7/D,QAAQ,QAAS,IAC7C,OAAO2/D,EAAmBI,MAAK,SAAUt1E,GACvC,IAAIu1E,EAAYv1E,EAAKytB,OAAO/Z,cAE5B,MAA4B,MAAxB6hE,EAAUt8C,OAAO,GACZk8C,EAASzhE,cAAc8hE,SAASD,GAC9BA,EAAUC,SAAS,MAErBH,IAAiBE,EAAUhgE,QAAQ,QAAS,IAG9C6/D,IAAaG,CACtB,GACF,CAEA,OAAO,CACT,6BC5BAn6E,OAAOC,eAAe1B,EAAS,aAAc,CAC3C2B,OAAO,IAET3B,EAAiB,aAAI,EACNA,EAAiB,QAAI,CAClC,eAAgB,CACd,MAAS,WAEX,aAAc,CACZ,MAAS,WAEX,gBAAiB,CACf,MAAS,WAEX,yBAA0B,CACxB,MAAS,WAEX,iBAAkB,CAChB,MAAS,WAEX,WAAY,CACV,MAAS,WAEX,YAAa,CACX,MAAS,WAEX,cAAe,CACb,MAAS,WAEX,YAAa,CACX,MAAS,WAEX,mBAAoB,CAClB,MAAS,WAEX,sBAAuB,CACrB,MAAS,WAEX,cAAe,CACb,MAAS,WAEX,YAAa,CACX,MAAS,WAEX,gBAAiB,CACf,MAAS,WAEX,oBAAqB,CACnB,MAAS,WAEX,eAAgB,CACd,MAAS,WAEX,YAAa,CACX,MAAS,WAEX,cAAe,CACb,MAAS,WAEX,cAAe,CACb,MAAS,WAEX,cAAe,CACb,MAAS,WAEX,cAAe,CACb,MAAS,WAEX,aAAc,CACZ,MAAS,WAEX,eAAgB,CACd,MAAS,WAEX,eAAgB,CACd,MAAS,WAEX,oBAAqB,CACnB,MAAS,WAEX,gBAAiB,CACf,MAAS,UACT,QAAW,eACX,MAAS,OACT,gBAAmB,WAErB,gBAAiB,CACf,MAAS,UACT,QAAW,eACX,MAAS,OACT,gBAAmB,WAErB,KAAQ,CACN,QAAW,QACX,UAAa,OACb,WAAc,UACd,MAAS,UACT,QAAW,SAEb,gBAAiB,CACf,UAAa,UAEf,cAAe,CACb,WAAc,oCCvGlByB,OAAOC,eAAe1B,EAAS,aAAc,CAC3C2B,OAAO,IAET3B,EAAiB,aAAI,EACNA,EAAiB,QAAI,CAClC,eAAgB,CACd,MAAS,WAEX,aAAc,CACZ,MAAS,WAEX,gBAAiB,CACf,MAAS,WAEX,yBAA0B,CACxB,MAAS,WAEX,WAAY,CACV,MAAS,WAEX,YAAa,CACX,MAAS,WAEX,mBAAoB,CAClB,MAAS,WAEX,sBAAuB,CACrB,MAAS,WAEX,cAAe,CACb,MAAS,WAEX,gBAAiB,CACf,MAAS,WAEX,cAAe,CACb,MAAS,WAEX,gBAAiB,CACf,MAAS,WAEX,oBAAqB,CACnB,MAAS,WAEX,eAAgB,CACd,MAAS,WAEX,YAAa,CACX,MAAS,WAEX,cAAe,CACb,MAAS,WAEX,YAAa,CACX,MAAS,WAEX,YAAa,CACX,MAAS,WAEX,iBAAkB,CAChB,MAAS,WAEX,cAAe,CACb,MAAS,WAEX,cAAe,CACb,MAAS,WAEX,cAAe,CACb,MAAS,WAEX,gBAAiB,CACf,MAAS,WAEX,aAAc,CACZ,MAAS,WAEX,eAAgB,CACd,MAAS,WAEX,eAAgB,CACd,MAAS,WAEX,oBAAqB,CACnB,MAAS,WAEX,KAAQ,CACN,QAAW,QACX,UAAa,OACb,WAAc,QACd,MAAS,UACT,QAAW,SAEb,gBAAiB,CACf,UAAa,UAEf,cAAe,CACb,WAAc,mBCrFlB,SAAS87E,EAASC,EAAOC,GACvB,IAAIC,EAASF,EAAMv5E,OACfgsB,EAAS,IAAItrB,MAAM+4E,GACnBC,EAAU,CAAC,EACXj0E,EAAIg0E,EAEJE,EA4DN,SAA2BC,GAEzB,IADA,IAAIJ,EAAQ,IAAIv+D,IACPxV,EAAI,EAAGg7D,EAAMmZ,EAAI55E,OAAQyF,EAAIg7D,EAAKh7D,IAAK,CAC9C,IAAIo0E,EAAOD,EAAIn0E,GACV+zE,EAAM1kC,IAAI+kC,EAAK,KAAKL,EAAMp+D,IAAIy+D,EAAK,GAAI,IAAIx+D,KAC3Cm+D,EAAM1kC,IAAI+kC,EAAK,KAAKL,EAAMp+D,IAAIy+D,EAAK,GAAI,IAAIx+D,KAChDm+D,EAAMziD,IAAI8iD,EAAK,IAAIv+D,IAAIu+D,EAAK,GAC9B,CACA,OAAOL,CACT,CArEsBM,CAAkBN,GAClCO,EAsEN,SAAuBH,GAErB,IADA,IAAII,EAAM,IAAI/+D,IACLxV,EAAI,EAAGg7D,EAAMmZ,EAAI55E,OAAQyF,EAAIg7D,EAAKh7D,IACzCu0E,EAAI5+D,IAAIw+D,EAAIn0E,GAAIA,GAElB,OAAOu0E,CACT,CA5EkBC,CAAcV,GAS9B,IANAC,EAAMh+D,SAAQ,SAASq+D,GACrB,IAAKE,EAAUjlC,IAAI+kC,EAAK,MAAQE,EAAUjlC,IAAI+kC,EAAK,IACjD,MAAM,IAAIvtE,MAAM,gEAEpB,IAEO7G,KACAi0E,EAAQj0E,IAAIy0E,EAAMX,EAAM9zE,GAAIA,EAAG,IAAI4V,KAG1C,OAAO2Q,EAEP,SAASkuD,EAAMxjE,EAAMjR,EAAG00E,GACtB,GAAGA,EAAarlC,IAAIp+B,GAAO,CACzB,IAAI0jE,EACJ,IACEA,EAAU,cAAgB/gE,KAAKC,UAAU5C,EAC3C,CAAE,MAAM9Q,GACNw0E,EAAU,EACZ,CACA,MAAM,IAAI9tE,MAAM,oBAAsB8tE,EACxC,CAEA,IAAKL,EAAUjlC,IAAIp+B,GACjB,MAAM,IAAIpK,MAAM,+EAA+E+M,KAAKC,UAAU5C,IAGhH,IAAIgjE,EAAQj0E,GAAZ,CACAi0E,EAAQj0E,IAAK,EAEb,IAAI40E,EAAWV,EAAc5iD,IAAIrgB,IAAS,IAAI2E,IAG9C,GAAI5V,GAFJ40E,EAAW35E,MAAM45E,KAAKD,IAELr6E,OAAQ,CACvBm6E,EAAa7+D,IAAI5E,GACjB,EAAG,CACD,IAAIsH,EAAQq8D,IAAW50E,GACvBy0E,EAAMl8D,EAAO+7D,EAAUhjD,IAAI/Y,GAAQm8D,EACrC,OAAS10E,GACT00E,EAAah/D,OAAOzE,EACtB,CAEAsV,IAASytD,GAAU/iE,CAfG,CAgBxB,CACF,CA5DAnZ,EAAOC,QAAU,SAASg8E,GACxB,OAAOF,EA6DT,SAAqBM,GAEnB,IADA,IAAII,EAAM,IAAI3+D,IACL5V,EAAI,EAAGg7D,EAAMmZ,EAAI55E,OAAQyF,EAAIg7D,EAAKh7D,IAAK,CAC9C,IAAIo0E,EAAOD,EAAIn0E,GACfu0E,EAAI1+D,IAAIu+D,EAAK,IACbG,EAAI1+D,IAAIu+D,EAAK,GACf,CACA,OAAOn5E,MAAM45E,KAAKN,EACpB,CArEkBO,CAAYf,GAAQA,EACtC,EAEAj8E,EAAOC,QAAQsY,MAAQwjE,6BCVvBr6E,OAAOC,eAAe1B,EAAS,aAAc,CAC3C2B,OAAO,IAET3B,EAAiB,aAAI,EACNA,EAAiB,QAAI,CAClC,KAAQ,CACN,QAAW,QACX,UAAa,OACb,QAAW,QACX,WAAc,OACd,MAAS,SAEX,YAAa,CACX,MAAS,QAEX,gBAAiB,CACf,MAAS,OACT,UAAa,UAEf,iBAAkB,CAChB,MAAS,QAEX,gBAAiB,CACf,MAAS,QAEX,cAAe,CACb,MAAS,OACT,WAAc,QAEhB,cAAe,CACb,MAAS,QAEX,gBAAiB,CACf,MAAS,QAEX,aAAc,CACZ,MAAS,OACT,UAAa,UAEf,eAAgB,CACd,MAAS,OACT,UAAa,UAEf,eAAgB,CACd,MAAS,QAEX,aAAc,CACZ,MAAS,QAEX,yBAA0B,CACxB,MAAS,QAEX,YAAa,CACX,MAAS,QAEX,gBAAiB,CACf,MAAS,WAEX,yBAA0B,CACxB,MAAS,WAEX,cAAe,CACb,MAAS,WAEX,YAAa,CACX,MAAS,WAEX,YAAa,CACX,MAAS,QAEX,cAAe,CACb,MAAS,QAEX,eAAgB,CACd,MAAS,QAEX,eAAgB,CACd,MAAS,QAEX,oBAAqB,CACnB,MAAS,QAEX,cAAe,CACb,gBAAmB,UACnB,MAAS,WAEX,cAAe,CACb,MAAS,WAEX,WAAY,CACV,MAAS,WAEX,YAAa,CACX,MAAS,WAEX,mBAAoB,CAClB,MAAS,WAEX,sBAAuB,CACrB,MAAS,sBCrGb,MAuBM0U,EAAO,CACX,IACA,OACA,UACA,UACA,QACA,QACA,IACA,aACA,OACA,SACA,SACA,UACA,OACA,OACA,KACA,MACA,UACA,MACA,MACA,KACA,KACA,KACA,WACA,aACA,SACA,SACA,OACA,KACA,KACA,KACA,KACA,KACA,KACA,SACA,SACA,OACA,IACA,SACA,MACA,QACA,MACA,MACA,QACA,SACA,KACA,OACA,OACA,OACA,MACA,SACA,KACA,IACA,IACA,QACA,OACA,UACA,OACA,SACA,UACA,MACA,QACA,QACA,KACA,WACA,QACA,KACA,QACA,OACA,KACA,KACA,MACA,SAGIC,EAAiB,CACrB,YACA,cACA,eACA,QACA,cACA,cACA,sBACA,gBACA,eACA,eACA,gBACA,OACA,SACA,QACA,kBACA,aACA,cACA,iBACA,kBACA,UACA,uBACA,mBACA,yBACA,+BACA,aACA,OACA,YACA,SACA,QAEA,YACA,YACA,aACA,cAIIC,EAAiB,CACrB,SACA,WACA,QACA,UACA,UACA,UACA,UACA,MACA,WACA,OACA,QACA,UACA,QACA,cACA,gBACA,aACA,SACA,QACA,gBACA,eACA,MACA,OACA,eACA,QACA,gBACA,WACA,UACA,KACA,OACA,aACA,eACA,OACA,OACA,aACA,MACA,YACA,UACA,iBACA,eACA,mBACA,cACA,aACA,eACA,WACA,eACA,OACA,oBACA,YACA,aACA,WACA,QACA,OACA,QACA,SACA,gBACA,eACA,QACA,UACA,SAIIC,EAAkB,CACtB,QACA,WACA,SACA,MACA,aACA,eACA,aACA,gBACA,SACA,OACA,cACA,YACA,UACA,kBAGIC,EAAa,CACjB,gBACA,cACA,aACA,YACA,kBACA,sBACA,qBACA,sBACA,4BACA,iBACA,uBACA,4BACA,OACA,sBACA,aACA,wBACA,kBACA,mBACA,mBACA,oBACA,sBACA,oBACA,kBACA,SACA,gBACA,sBACA,4BACA,6BACA,sBACA,sBACA,kBACA,eACA,eACA,sBACA,sBACA,qBACA,sBACA,qBACA,cACA,oBACA,oBACA,oBACA,gBACA,eACA,qBACA,qBACA,qBACA,iBACA,eACA,aACA,mBACA,yBACA,0BACA,mBACA,mBACA,eACA,SACA,uBACA,aACA,aACA,cACA,eACA,eACA,eACA,QACA,OACA,YACA,QACA,eACA,cACA,aACA,cACA,oBACA,oBACA,oBACA,cACA,eACA,UACA,UACA,oBACA,gBACA,SACA,YACA,UACA,cACA,SACA,OACA,aACA,iBACA,YACA,YACA,cACA,YACA,QACA,OACA,eACA,cACA,wBACA,eACA,yBACA,YACA,mBACA,iBACA,eACA,aACA,eACA,yBACA,0BACA,cACA,SACA,UACA,OACA,oBACA,kBACA,mBACA,WACA,UACA,UACA,kBACA,OACA,iBACA,cACA,aACA,mBACA,sBACA,kBACA,SACA,gBACA,cACA,eACA,aACA,QACA,OACA,aACA,YACA,aACA,YACA,WACA,YACA,WACA,YACA,SACA,OACA,SACA,aACA,kBACA,UACA,QACA,UACA,UACA,gBACA,iBACA,gBACA,gBACA,WACA,gBACA,aACA,aACA,UACA,iBACA,eACA,gBACA,cACA,mBACA,oBACA,oBACA,cACA,qBACA,iBACA,WACA,SACA,SACA,QACA,MACA,WACA,eACA,aACA,kBACA,kBACA,wBACA,uBACA,wBACA,cACA,gBACA,iBACA,cACA,iBACA,0BACA,MACA,YACA,mBACA,kBACA,aACA,mBACA,sBACA,sBACA,6BACA,eACA,iBACA,aACA,cACA,SACA,QACA,aACA,eACA,YACA,WAGAC,UAsBF,SAASjL,EAAUjH,GACjB,OAOF,WAAyB,QAAAE,EAAAC,UAAAR,OAANS,EAAI,IAAAC,MAAAH,GAAAI,EAAA,EAAAA,EAAAJ,EAAAI,IAAJF,EAAIE,GAAAH,UAAAG,GAErB,OADeF,EAAKG,KAAKC,GApB3B,SAAgBR,GACd,OAAKA,EACa,kBAAPA,EAAwBA,EAE5BA,EAAGS,OAHM,IAIlB,CAeiCA,CAAOD,KAAIE,KAAK,GAEjD,CAVST,CAAO,MAAOD,EAAI,IAC3B,CA6JA9C,EAAOC,QA3IP,SAAaC,GACX,MAAMgV,EArdOhV,KACN,CACLiV,UAAW,CACTtU,UAAW,OACXC,MA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CA,gBACA,kBACA,iBACA,uBACA,sBACA,iBACA,gBACA,oBACA,qBACA,oBACA,sBACA,qBACA,qBACA,oBACA,WACA,aACA,YACA,YACA,WACA,kBACA,eACA,2BACA,iBACA,gBACA,sBACA,gBACA,eACA,QACA,yBACA,wBACA,mBACA,kBACA,aACA,eACA,cACA,cACA,aACA,OACA,OACA,iBACA,mBACA,kBACA,kBACA,iBACA,qBACA,SACA,MACA,OACA,sBACA,mBACA,MACA,OACA,eACA,YACA,gBACA,gBACA,gBACA,0BACA,sBACA,iBACA,cACA,cACA,qBACA,oBACA,WACA,UACA,OACA,iBACA,gBACA,WACA,cACA,WACA,yBACA,2BACA,0BACA,0BACA,yBACA,IACA,kBACA,mBACA,MACA,OACA,MACA,OACA,qBACA,uBACA,sBACA,sBACA,qBACA,QACA,kBACA,oBACA,mBACA,mBACA,kBACA,OACA,oBACA,OACA,QACA,MACA,OACA,OACA,OACA,cACA,gBACA,eACA,eACA,cACA,YACA,cACA,aACA,aACA,UACA,UACA,YACA,wBACA,SACA,aACA,eACA,cACA,cACA,aACA,OACA,sBACA,qBACA,QACA,WACA,WACA,gBACA,oBACA,qBACA,MACA,UACA,qBACA,uBACA,sBACA,sBACA,qBACA,cACA,gBACA,kBACA,iBACA,iBACA,gBACA,YACA,WACA,aACA,mBACA,kBACA,UACA,cACA,SACA,SACA,QACA,UACA,SACA,yBACA,wBACA,gBACA,eACA,UACA,YACA,MACA,QACA,QACA,YACA,kBACA,QACA,YACA,OACA,kBACA,eACA,wBACA,gBACA,UACA,uBACA,cACA,cACA,eACA,iBACA,gBACA,gBACA,eACA,QACA,gBACA,kBACA,iBACA,iBACA,gBACA,oBACA,aACA,MACA,mBACA,uBACA,oBACA,wBACA,OACA,MACA,6BACA,8BACA,yBACA,gBACA,6BACA,4BACA,oBACA,yBACA,mBACA,uBACA,sBACA,mBACA,kBACA,eACA,oCACA,qBACA,uBACA,sBACA,0BACA,yBACA,sBACA,qBACA,mBACA,qBACA,oBACA,oBACA,mBACA,oBACA,aACA,eACA,cACA,cACA,aACA,eACA,eACA,wBACA,uBACA,UACA,aACA,eACA,cACA,cACA,aACA,oBACA,sBACA,qBACA,qBACA,oBACA,KACA,cACA,gBACA,eACA,mBACA,kBACA,eACA,cACA,oBACA,MACA,QACA,OACA,OACA,OACA,YACA,iBACA,gBACA,OACA,eACA,iBACA,gBACA,gBACA,eACA,SACA,YACA,aACA,iBACA,aACA,mBACA,QACA,MACA,OACA,mBACA,gBACA,4BACA,8BACA,6BACA,6BACA,4BACA,KACA,UACA,MACA,kBACA,OACA,OACA,kBACA,oBACA,mBACA,mBACA,kBACA,UACA,WACA,YACA,mBACA,oBACA,OACA,QACA,SACA,mBACA,OACA,gBACA,kBACA,iBACA,iBACA,gBACA,UACA,UACA,MACA,OACA,MACA,OACA,SACA,aACA,SACA,cACA,cACA,YACA,gBACA,YACA,QACA,sBACA,kBACA,WACA,QACA,cACA,gBACA,eACA,eACA,cACA,WACA,iBACA,gBACA,cACA,gBACA,eACA,eACA,cACA,cACA,eACA,gBAiEAU,SAAU,CACRhB,EAAKwD,oBACLxD,EAAKyD,QACH,IACA,IACA,CACEtC,UAAW,EACXX,SAAU,CACR,eAAgB,aAItBR,EAAKyD,QACH,OACA,OACA,CACEtC,UAAW,EAEXH,SAAU,CACR,CACEL,UAAW,SACXC,MAAO,sBAKf,CAEEA,MAAO,gBACPJ,SAAU,SAEZ,CAGEI,MAAO,mBACPJ,SAAU,SAEZ,CACEG,UAAW,UACXC,MAAO,iBACPO,UAAW,IAEb,CACEP,MAAO,SAAWZ,EAAKqE,SAAW,WAClC7D,SA3GgB,CACpB,YACA,kBACA,OACA,gBACA,WACA,iBACA,cACA,oBACA,SACA,aACA,YACA,qBACA,iBACA,cACA,UACA,QACA,mBACA,SACA,iBACA,iBACA,YACA,cACA,WACA,oBACA,WACA,YACA,WACA,oBACA,eACA,wBACA,oBACA,kBACA,cACA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ezzB,EAAKyD,QAAQ,KAAM,KAmBlCgH,EAAW,CACf,OACA,QAGA,WAUIkpB,EAAQ,CACZ,SACA,SACA,OACA,UACA,OACA,YACA,OACA,OACA,MACA,WACA,UACA,QACA,MACA,UACA,WACA,QACA,QACA,WACA,UACA,OACA,MACA,WACA,OACA,YACA,UACA,UACA,aAmYIwpD,EAAqB,CACzB,MACA,OACA,YACA,OACA,OACA,MACA,OACA,OACA,UACA,WACA,OACA,MACA,OACA,QACA,YACA,aACA,YACA,aACA,QACA,UACA,MACA,UACA,cACA,QACA,aACA,gBACA,cACA,cACA,iBACA,aACA,aACA,uBACA,aACA,MACA,aACA,OACA,UACA,KACA,MACA,QACA,QACA,MACA,MACA,MACA,YACA,QACA,SACA,eACA,kBACA,kBACA,WACA,iBACA,QACA,OACA,YACA,YACA,aACA,iBACA,UACA,aACA,WACA,WACA,WACA,aACA,MACA,OACA,OACA,aACA,cACA,YACA,kBACA,MACA,MACA,OACA,YACA,kBACA,QACA,OACA,aACA,SACA,QACA,WACA,UACA,WACA,gBAwBIC,EAAS,CACb,eACA,cACA,cACA,cACA,WACA,cACA,iBACA,gBACA,cACA,gBACA,gBACA,eACA,cACA,aACA,cACA,iBAGIzgB,EAAYwgB,EAEZj9E,EAAW,CArff,MACA,OACA,MACA,WACA,QACA,MACA,MACA,MACA,QACA,YACA,wBACA,KACA,aACA,OACA,aACA,KACA,OACA,SACA,gBACA,MACA,QACA,cACA,kBACA,UACA,SACA,SACA,OACA,UACA,OACA,KACA,OACA,SACA,cACA,WACA,OACA,OACA,OACA,UACA,OACA,cACA,YACA,mBACA,QACA,aACA,OACA,QACA,WACA,UACA,UACA,SACA,SACA,YACA,UACA,aACA,WACA,UACA,OACA,OACA,gBACA,MACA,OACA,QACA,YACA,aACA,SACA,QACA,OACA,YACA,UACA,kBACA,eACA,kCACA,eACA,eACA,cACA,iBACA,eACA,oBACA,eACA,eACA,mCACA,eACA,SACA,QACA,OACA,MACA,aACA,MACA,UACA,WACA,UACA,UACA,SACA,SACA,aACA,QACA,WACA,gBACA,aACA,WACA,SACA,OACA,UACA,OACA,UACA,OACA,QACA,MACA,YACA,gBACA,WACA,SACA,SACA,QACA,SACA,OACA,UACA,SACA,MACA,WACA,UACA,QACA,QACA,SACA,cACA,QACA,QACA,MACA,UACA,YACA,OACA,OACA,OACA,WACA,SACA,MACA,SACA,QACA,QACA,WACA,SACA,SACA,OACA,OACA,WACA,KACA,YACA,UACA,QACA,QACA,cACA,SACA,MACA,UACA,YACA,eACA,WACA,OACA,KACA,OACA,aACA,gBACA,cACA,cACA,iBACA,aACA,aACA,uBACA,aACA,MACA,WACA,QACA,aACA,UACA,OACA,UACA,OACA,OACA,aACA,UACA,KACA,QACA,YACA,iBACA,MACA,QACA,QACA,QACA,eACA,kBACA,UACA,MACA,SACA,QACA,SACA,MACA,SACA,MACA,WACA,SACA,QACA,WACA,WACA,UACA,QACA,QACA,MACA,KACA,OACA,YACA,MACA,YACA,QACA,OACA,SACA,UACA,eACA,oBACA,KACA,SACA,MACA,OACA,KACA,MACA,OACA,OACA,KACA,QACA,MACA,QACA,OACA,WACA,UACA,YACA,YACA,UACA,MACA,UACA,eACA,kBACA,kBACA,SACA,UACA,WACA,iBACA,QACA,WACA,YACA,UACA,UACA,YACA,MACA,QACA,OACA,QACA,OACA,YACA,MACA,aACA,cACA,YACA,YACA,aACA,iBACA,UACA,aACA,WACA,WACA,WACA,UACA,SACA,SACA,UACA,SACA,QACA,WACA,SACA,MACA,aACA,OACA,UACA,YACA,QACA,SACA,SACA,SACA,OACA,SACA,YACA,eACA,MACA,OACA,UACA,MACA,OACA,OACA,WACA,OACA,WACA,eACA,MACA,eACA,WACA,aACA,OACA,QACA,SACA,aACA,cACA,cACA,SACA,YACA,kBACA,WACA,MACA,YACA,SACA,cACA,cACA,QACA,cACA,MACA,OACA,OACA,OACA,YACA,gBACA,kBACA,KACA,WACA,YACA,kBACA,cACA,QACA,UACA,OACA,aACA,OACA,WACA,UACA,QACA,SACA,UACA,SACA,YACA,QACA,OACA,QACA,QACA,SACA,WACA,UACA,WACA,YACA,UACA,UACA,aACA,OACA,WACA,QACA,eACA,SACA,OACA,SACA,UACA,OAzXA,MACA,MACA,YACA,OACA,QACA,QACA,OACA,QA0f0DmuB,QAAQjuB,IAC1D+8E,EAAmB/5D,SAAShjB,KAchCwgE,EAAgB,CACpBhgE,MAAOiC,EAAO,KAAMmP,KAAU2qD,GAAY,SAC1Cn8D,SAAU,CACRF,SAAUq8D,IAmBd,MAAO,CACLr7D,KAAM,MACN8G,kBAAkB,EAElB3H,QAAS,WACTD,SAAU,CACRL,SAAU,YACVC,QArBJ,SAAyBmtB,GAA+B,IAAzB,WAAC8vD,EAAU,KAAEC,GAAKv6E,UAAAR,OAAA,QAAAgc,IAAAxb,UAAA,GAAAA,UAAA,GAAG,CAAC,EACnD,MAAMw6E,EAAYD,EAElB,OADAD,EAAaA,GAAc,GACpB9vD,EAAKpqB,KAAKqqB,GACXA,EAAKphB,MAAM,WAAaixE,EAAWj6D,SAASoK,GACvCA,EACE+vD,EAAU/vD,GACZ,GAAGA,MAEHA,GAGb,CAUMgwD,CAAgBt9E,EAAU,CAAEo9E,KAAOl6E,GAAMA,EAAEb,OAAS,IACtDlC,QAASoK,EACTrE,KAAMutB,EACNrzB,SAzF4B,CAC9B,kBACA,eACA,kCACA,eACA,eACA,iBACA,mCACA,eACA,eACA,cACA,cACA,eACA,YACA,oBACA,mBA4EAU,SAAU,CACR,CACEJ,MAAOoR,KAAUorE,GACjB58E,SAAU,CACRL,SAAU,UACVC,QAASF,EAAS2C,OAAOu6E,GACzB/8E,QAASoK,EACTrE,KAAMutB,IAGV,CACEhzB,UAAW,OACXC,MAAOoR,EApmBX,mBACA,eACA,gBACA,qBAmmBE4uD,EA5Da,CACfjgE,UAAW,WACXC,MAAO,cAvkBM,CACbD,UAAW,SACXO,SAAU,CACR,CACEN,MAAO,IACPC,IAAK,IACL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ACvBw2I,EAAAA,GAAAA,KAAA,QAAM31J,UAAU,QAAOmf,SAAC,YACxBw2I,EAAAA,GAAAA,KAAA,OAAAx2I,SAAMm3R,GAAoB30M,YAI9Bg0D,EAAAA,GAAAA,KAAA,OAAK31J,UAAU,0BAAyBmf,UACtCs4I,EAAAA,GAAAA,MAAA,OAAKz3J,UAAU,eAAcmf,SAAA,EAC3Bw2I,EAAAA,GAAAA,KAACihJ,GAAiB,CAACj1M,MAAOA,IACK,YAA9BA,EAAM/4C,MAAMzvC,eACXwoF,EAAM35D,KAAOu5D,GACbpqF,EAASquI,SAAS/iI,SAAS,aACzBkzI,EAAAA,GAAAA,KAACiE,GAAM,CACLh0I,QAAS4wR,EAAc,iBAAmB,kBAC1CtoP,QAAU1mD,IACRA,EAAE0gC,kBACEsuQ,GACFC,GAAe,GACfC,EAAgB,IAChB3oJ,EAAS,WAAWp9C,OAEpB8lM,GAAe,GACfC,EAAgB,KAClB,EAEFl4Q,MAAO,CACL8lK,WAAY,qBACZsnD,OAAQ4qD,EAAc,mCAAqC,oCAC3DtmQ,MAAO,OACP4/G,QAAS,cACT29H,aAAc,MACd7lP,WAAY,gBACZoG,MAAO,OACP5R,KAAM,YACNjd,SAEDq3R,EAAc,iBAAmB,mBAKxC,EClPGK,GAAa,CACxB,WACA,YACA,UACA,aACA,aACA,YACA,cACA,cACA,WACA,YACA,aACA,YACA,QACA,UACA,UACA,WACA,WACA,WACA,SACA,WACA,WACA,cACA,WACA,aACA,iBACA,cACA,SACA,aACA,WACA,aACA,WACA,YACA,QACA,UACA,WACA,OACA,aACA,aACA,cACA,WACA,eACA,YACA,UACA,cACA,cACA,YACA,aACA,aACA,cACA,YACA,YACA,cACA,aACA,aACA,UACA,UACA,UACA,aACA,SACA,SACA,UACA,WACA,cACA,WACA,YACA,WACA,UACA,WACA,UACA,UACA,eACA,WACA,UACA,WACA,YACA,aACA,WACA,WACA,YACA,UACA,cACA,WACA,WACA,aACA,WACA,YACA,iBACA,YACA,WACA,WACA,UACA,YACA,YACA,aACA,WACA,cACA,WACA,SACA,aACA,aACA,aAC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A,WACA,WACA,YACA,QACA,UACA,WACA,OACA,aACA,aACA,cACA,WACA,eACA,YACA,UACA,cACA,cACA,YACA,aACA,aACA,cACA,YACA,aACA,UACA,UACA,UACA,aACA,SACA,SACA,UACA,WACA,cACA,WACA,YACA,WACA,UACA,WACA,UACA,UACA,eACA,WACA,YACA,aACA,WACA,YACA,UACA,cACA,WACA,WACA,WACA,YACA,iBACA,WACA,WACA,YACA,YACA,WACA,aACA,aACA,eAEIC,EAAQ,CACZ,YACA,UACA,YACA,UACA,WACA,WACA,WACA,WACA,YACA,WACA,WACA,YACA,UACA,WACA,WACA,UACA,WACA,SACA,UACA,SACA,SACA,SACA,SACA,QACA,YACA,YACA,cACA,eACA,SACA,aACA,aACA,SACA,SACA,WACA,WACA,UACA,aACA,YACA,UACA,YACA,QACA,cACA,QACA,WACA,QACA,cACA,cACA,cACA,WACA,QACA,WACA,WACA,WACA,QACA,SACA,WAEIqmH,EAAkBtmH,EAAW7pR,KAAKC,MAAMD,KAAK8pB,SAAW+/P,EAAWj1S,SACnEw7Z,EAAatmH,EAAM9pR,KAAKC,MAAMD,KAAK8pB,SAAWggQ,EAAMl1S,SACpDsvH,EAAcl4G,GAAgBA,EAAI0lB,OAAO,GAAGxlB,cAAgBF,EAAI9M,MAAM,GAC5E,MAAO,GAAGglH,EAAWisS,MAAoBjsS,EAAWksS,IAAa,EAK/CF,GAChB,IACE,MAAM9Q,QAAqBnuR,EAAY,CACrCj2F,GAAIu5D,EACJw8B,UAAW,CAAEp9H,KAAMs8Z,EAASllT,YAAaijL,EAAcjjL,YAAa4sF,WAAYq2F,EAAcr2F,cAC7FpsG,SACHl0C,EAASm9C,GAAmB4qT,EAAapkX,KACzC00X,EAAaO,EACf,CAAE,MAAO3lZ,GACPxV,QAAQmnB,MAAM,+BAAgC3R,EAChD,CACF,MAwJ0Bq+I,EAAAA,GAAAA,KAAA,MAAI31J,UAAU,6BAA4Bmf,UAAe,OAAb67Q,QAAa,IAAbA,OAAa,EAAbA,EAAer6R,OAAQ,uBAErE82J,EAAAA,GAAAA,MAAA,OAAKj5H,M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s5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,IAAK,GAAGt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,IAAK,GAAGt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,IAAK,GAAGt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,IAAK,GAAGt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,IAAK,GAAGt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,IAAK,GAAGt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,IAAK,GAAGt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,IAAK,GAAGt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,IAAK,GAAGt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,IAAK,GAAGt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,IAAK,GAAGt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,IAAK,GAAGt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,IAAK,GAAGt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,IAAK,GAAGt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,IAAK,GAAGt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,IAAK,GAAGt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,IAAK,GAAGt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,IAAK,GAAGt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,IAAK,GAAGt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,IAAK,GAAGt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,IAAK,GAAGt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,IAAK,GAAGt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,IAAK,GAAGt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,IAAK,GAAGt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,IAAK,GAAGt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,IAAK,GAAGt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,IAAK,GAAGt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,IAAK,GAAGt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,IAAK,GAAGt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,IAAK,GAAGt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,IAAK,GAAGt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,IAAK,GAAGt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,IAAK,GAAGt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,IAAK,GAAGt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,IAAK,GAAGt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,IAAK,GAAGt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,IAAK,GAAGt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,IAAK,GAAGt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,IAAK,GAAGt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,IAAK,GAAGt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,IAAK,GAAGt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,IAAK,GAAGt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,IAAK,GAAGt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,IAAK,GAAGt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,IAAK,GAAGt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,IAAK,GAAGt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,IAAK,GAAGt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,IAAK,GAAGt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,IAAK,GAAGt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,IAAK,GAAGt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,IAAK,GAAGt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,IAAK,GAAGt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,GAAI,KAAKt5E,OAAOs5E,EAAI,UAHzuH,CAKF,CAMiCymV,CAAqBxpV,IAE7CmpV,GAAsBt6Z,EAC/B,CAO+B46Z,CAHJzpV,EAAW/qD,QAAO,SAAU1tB,GACnD,MAAqB,UAAdA,CACT,KAE8BqZ,QAAO,SAAU8oZ,EAAania,GAC1D,OAAOmkS,GAAcA,GAAc,CAAC,EAAGg+H,GAAcJ,EAAW/ha,GAClE,GAAG8ha,EACL,CACO,SAASM,GAAsB3pV,GACpC,OAAOA,EAAW91E,KAAK,IACzB,CAee,SAASskB,GAAcjb,GACpC,IAAIsM,EAAOtM,EAAKsM,KACdypZ,EAAa/1Z,EAAK+1Z,WAClBM,EAAar2Z,EAAKwyB,MAClBA,OAAuB,IAAf6jY,EAAwB,CAAC,EAAIA,EACrCC,EAAkBt2Z,EAAKs2Z,gBACvBh7Z,EAAM0E,EAAK1E,IACTwpE,EAAax4D,EAAKw4D,WACpBrrE,EAAO6S,EAAK7S,KACZ88Z,EAAUjqZ,EAAKlX,QACfL,EAAQuX,EAAKvX,MACf,GAAa,SAAT0E,EACF,OAAO1E,EACF,GAAIwha,EAAS,CAClB,IACIxvZ,EADAyvZ,EA5BD,SAAwBT,EAAYO,GACzC,IAAIG,EAAgB,EACpB,OAAO,SAAUtjZ,GAEf,OADAsjZ,GAAiB,EACVtjZ,EAAS3c,KAAI,SAAUod,EAAOvY,GACnC,OAAO4f,GAAc,CACnB3O,KAAMsH,EACNmiZ,WAAYA,EACZO,gBAAiBA,EACjBh7Z,IAAK,gBAAgBpF,OAAOuga,EAAe,KAAKvga,OAAOmF,IAE3D,GACF,CACF,CAe0Bq7Z,CAAeX,EAAYO,GAEjD,GAAKA,EAIE,CACL,IAAIK,EAAyB9ha,OAAOqG,KAAK66Z,GAAY1oZ,QAAO,SAAUoV,EAASirD,GAI7E,OAHAA,EAAS9uE,MAAM,KAAKwS,SAAQ,SAAUpd,GAC/ByuB,EAAQhM,SAASziB,IAAYyuB,EAAQ5sB,KAAK7B,EACjD,IACOyuB,CACT,GAAG,IAGCm0Y,EAAoB9xV,EAAW9wE,WAAa8wE,EAAW9wE,UAAUyiB,SAAS,SAAW,CAAC,SAAW,GACjGziB,EAAY8wE,EAAW9wE,WAAa4ia,EAAkB1ga,OAAO4uE,EAAW9wE,UAAU0tB,QAAO,SAAU1tB,GACrG,OAAQ2ia,EAAuBlgZ,SAASziB,EAC1C,KACA+S,EAAQoxR,GAAcA,GAAc,CAAC,EAAGrzN,GAAa,CAAC,EAAG,CACvD9wE,UAAWoia,GAAsBpia,SAAc4d,EAC/C4gB,MAAOqjY,GAAkB/wV,EAAW9wE,UAAWa,OAAOyN,OAAO,CAAC,EAAGwiE,EAAWtyC,MAAOA,GAAQujY,IAE/F,MApBEhvZ,EAAQoxR,GAAcA,GAAc,CAAC,EAAGrzN,GAAa,CAAC,EAAG,CACvD9wE,UAAWoia,GAAsBtxV,EAAW9wE,aAoBhD,IAAImf,EAAWqjZ,EAAgBlqZ,EAAK6G,UACpC,OAAoBk6D,EAAAA,cAAoBkpV,EAASh9Q,GAAS,CACxDj+I,IAAKA,GACJyL,GAAQoM,EACb,CACF,CCvGA,IAAIi6I,GAAY,CAAC,WAAY,WAAY,QAAS,cAAe,eAAgB,kBAAmB,kBAAmB,wBAAyB,qBAAsB,2BAA4B,kBAAmB,YAAa,gBAAiB,YAAa,WAAY,SAAU,UAAW,OAAQ,gBACzS,SAASxvE,GAAQpiF,EAAGg3C,GAAK,IAAItH,EAAIr2C,OAAOqG,KAAKM,GAAI,GAAI3G,OAAO4F,sBAAuB,CAAE,IAAIi5E,EAAI7+E,OAAO4F,sBAAsBe,GAAIg3C,IAAMkhC,EAAIA,EAAEhyD,QAAO,SAAU8wB,GAAK,OAAO39C,OAAO6F,yBAAyBc,EAAGg3C,GAAG3lB,UAAY,KAAKqe,EAAEr1C,KAAKwZ,MAAM67B,EAAGwoC,EAAI,CAAE,OAAOxoC,CAAG,CAC9P,SAASitP,GAAc38R,GAAK,IAAK,IAAIg3C,EAAI,EAAGA,EAAIp8C,UAAUR,OAAQ48C,IAAK,CAAE,IAAItH,EAAI,MAAQ90C,UAAUo8C,GAAKp8C,UAAUo8C,GAAK,CAAC,EAAGA,EAAI,EAAIorC,GAAQ/oF,OAAOq2C,IAAI,GAAI95B,SAAQ,SAAUohC,GAAK4lP,GAAgB58R,EAAGg3C,EAAGtH,EAAEsH,GAAK,IAAK39C,OAAO2pF,0BAA4B3pF,OAAO29L,iBAAiBh3L,EAAG3G,OAAO2pF,0BAA0BtzC,IAAM0yC,GAAQ/oF,OAAOq2C,IAAI95B,SAAQ,SAAUohC,GAAK39C,OAAOC,eAAe0G,EAAGg3C,EAAG39C,OAAO6F,yBAAyBwwC,EAAGsH,GAAK,GAAI,CAAE,OAAOh3C,CAAG,CAItb,IAAIq7Z,GAAe,MAiBnB,SAASC,GAAep+Y,GACtB,IAAIq+Y,EAAar+Y,EAAMq+Y,WACrBC,EAAYt+Y,EAAMs+Y,UAClBC,EAAuBv+Y,EAAM+9R,eAC7BA,OAA0C,IAAzBwgH,EAAkC,CACjD,MAAS,OACT/4K,aAAc,QACZ+4K,EACJC,EAAoBx+Y,EAAMy+Y,YAC1BA,OAAoC,IAAtBD,EAA+B,CAAC,EAAIA,EAClDE,EAAqB1+Y,EAAM0+Y,mBAC7B,OAAoB/pV,EAAAA,cAAoB,OAAQ,CAC9C76C,MAAO39B,OAAOyN,OAAO,CAAC,EAAG00Z,EAAWvgH,IAzBxC,SAA2Bz2S,GACzB,IAAIkkU,EAAQlkU,EAAKkkU,MACfkzF,EAAqBp3Z,EAAKo3Z,mBAC1B5kY,EAAQxyB,EAAKwyB,MACf,OAAO0xS,EAAM1tU,KAAI,SAAUsT,EAAGzO,GAC5B,IAAIyQ,EAASzQ,EAAI+7Z,EACjB,OAAoB/pV,EAAAA,cAAoB,OAAQ,CAC9C/xE,IAAK,QAAQpF,OAAOmF,GACpBrH,UAAW,uCACXw+B,MAAwB,oBAAVA,EAAuBA,EAAM1mB,GAAU0mB,GACpD,GAAGt8B,OAAO4V,EAAQ,MACvB,GACF,CAcKurZ,CAAkB,CACnBnzF,MAAO6yF,EAAW/nZ,QAAQ,MAAO,IAAIpQ,MAAM,MAC3C4zB,MAAO2kY,EACPC,mBAAoBA,IAExB,CAIA,SAASE,GAAoBC,EAAYC,GACvC,MAAO,CACL/9Z,KAAM,UACNrE,QAAS,OACT0vE,WAAY,CACVxpE,IAAK,gBAAgBpF,OAAOqha,GAC5Bvja,UAAW,CAAC,UAAW,aAAc,wCACrCw+B,MAAOglY,GAETrkZ,SAAU,CAAC,CACT1Z,KAAM,OACN1E,MAAOwia,IAGb,CACA,SAASE,GAAyBC,EAAiBH,EAAYI,GAE7D,IApB0Bv7F,EAoBtBw7F,EAAyB,CAC3B/yW,QAAS,eACT28N,UAtBwB46C,EAsBKu7F,EArBxB,GAAGzha,OAAOkmU,EAAIztT,WAAW/Y,OAAQ,UAsBtCsoP,aAAc,MACdskE,UAAW,QACXhN,WAAY,QAGVqiH,EAAmD,oBAApBH,EAAiCA,EAAgBH,GAAcG,EAGlG,OADqBv/H,GAAcA,GAAc,CAAC,EAAGy/H,GAAyBC,EAEhF,CACA,SAASC,GAAkBr8Y,GACzB,IAAItI,EAAWsI,EAAMtI,SACnBokZ,EAAa97Y,EAAM87Y,WACnBG,EAAkBj8Y,EAAMi8Y,gBACxBC,EAAoBl8Y,EAAMk8Y,kBAC1BI,EAAwBt8Y,EAAMs8Y,sBAC9BC,EAAkBv8Y,EAAMw8Y,UACxBA,OAAgC,IAApBD,EAA6B,CAAC,EAAIA,EAC9CE,EAAkBz8Y,EAAMznB,UACxBA,OAAgC,IAApBkka,EAA6B,GAAKA,EAC9CC,EAAkB18Y,EAAM08Y,gBACxBC,EAAgB38Y,EAAM28Y,cACtBC,EAAkB58Y,EAAM68Y,UAEtBxzV,OAD8B,IAApBuzV,GAAqCA,EACtBlgI,GAAc,CAAC,EAAwB,oBAAd8/H,EAA2BA,EAAUV,GAAcU,GAAa,CAAC,EAEvH,GADAnzV,EAAsB,UAAIA,EAAsB,UAAI,GAAG5uE,OAAOwhS,GAAmB5yN,EAAsB,UAAE59C,OAAOtoB,MAAM,QAAS84R,GAAmB1jS,IAAcA,EAC5Juja,GAAcQ,EAAuB,CACvC,IAAIP,EAAwBC,GAAyBC,EAAiBH,EAAYI,GAClFxkZ,EAAStL,QAAQyvZ,GAAoBC,EAAYC,GACnD,CAMA,OALIY,EAAgBD,IAClBrzV,EAAWtyC,MAAQ2lQ,GAAc,CAC/BtzO,QAAS,QACRigB,EAAWtyC,QAET,CACL/4B,KAAM,UACNrE,QAAS,OACT0vE,WAAYA,EACZ3xD,SAAUA,EAEd,CACA,SAASolZ,GAAgBxyP,GAGvB,IAFA,IAAI/xK,EAAYoC,UAAUR,OAAS,QAAsBgc,IAAjBxb,UAAU,GAAmBA,UAAU,GAAK,GAChFoia,EAAUpia,UAAUR,OAAS,QAAsBgc,IAAjBxb,UAAU,GAAmBA,UAAU,GAAK,GACzEiF,EAAI,EAAGA,EAAI0qK,EAAKnwK,OAAQyF,IAAK,CACpC,IAAIiR,EAAOy5J,EAAK1qK,GAChB,GAAkB,SAAdiR,EAAK7S,KACP++Z,EAAQ3ia,KAAKiia,GAAkB,CAC7B3kZ,SAAU,CAAC7G,GACXtY,UAAW0jS,GAAmB,IAAIzmR,IAAIjd,YAEnC,GAAIsY,EAAK6G,SAAU,CACxB,IAAIs5D,EAAaz4E,EAAUkC,OAAOoW,EAAKw4D,WAAW9wE,WAClDuka,GAAgBjsZ,EAAK6G,SAAUs5D,GAAYr7D,SAAQ,SAAU/V,GAC3D,OAAOm9Z,EAAQ3ia,KAAKwF,EACtB,GACF,CACF,CACA,OAAOm9Z,CACT,CACA,SAASC,GAAaC,EAAUJ,EAAWL,EAAWE,EAAiBJ,EAAuBX,EAAoBO,EAAmBD,EAAiBU,GACpJ,IAAIl2Y,EACA6jJ,EAAOwyP,GAAgBG,EAAS3ja,OAChCyja,EAAU,GACVG,GAAsB,EACtB/4Z,EAAQ,EAuBZ,SAASg5Z,EAAWzlZ,EAAUokZ,GAC5B,IAAIvja,EAAYoC,UAAUR,OAAS,QAAsBgc,IAAjBxb,UAAU,GAAmBA,UAAU,GAAK,GACpF,OAAOkia,GAAatka,EAAU4B,OAAS,EAxBzC,SAA2Bud,EAAUokZ,GAEnC,OAAOO,GAAkB,CACvB3kZ,SAAUA,EACVokZ,WAAYA,EACZG,gBAAiBA,EACjBC,kBAAmBA,EACnBI,sBAAuBA,EACvBE,UAAWA,EACXjka,UARcoC,UAAUR,OAAS,QAAsBgc,IAAjBxb,UAAU,GAAmBA,UAAU,GAAK,GASlF+ha,gBAAiBA,EACjBC,cAAeA,EACfE,UAAWA,GAEf,CAU6CO,CAAkB1lZ,EAAUokZ,EAAYvja,GATrF,SAA6Bmf,EAAUokZ,GACrC,GAAIY,GAAmBZ,GAAcQ,EAAuB,CAC1D,IAAIP,EAAwBC,GAAyBC,EAAiBH,EAAYI,GAClFxkZ,EAAStL,QAAQyvZ,GAAoBC,EAAYC,GACnD,CACA,OAAOrkZ,CACT,CAGkG2lZ,CAAoB3lZ,EAAUokZ,EAChI,CAqDA,IApDA,IAAI9oK,EAAQ,WACV,IAAIniP,EAAOy5J,EAAKnmK,GACZ7K,EAAQuX,EAAK6G,SAAS,GAAGpe,MAE7B,GAD2BA,EAzJlB0K,MAAMo3Z,IA0JD,CACZ,IAAIkC,EAAahka,EAAM6J,MAAM,MAC7Bm6Z,EAAW3nZ,SAAQ,SAAUwB,EAAMvX,GACjC,IAAIk8Z,EAAaY,GAAmBK,EAAQ5ia,OAASwha,EACjD4B,EAAW,CACbv/Z,KAAM,OACN1E,MAAO,GAAGmB,OAAO0c,EAAM,OAIzB,GAAU,IAANvX,EAAS,CACX,IAII49Z,EAAQL,EAJI7yP,EAAK7lK,MAAMy4Z,EAAqB,EAAG/4Z,GAAO1J,OAAO4ha,GAAkB,CACjF3kZ,SAAU,CAAC6lZ,GACXhla,UAAWsY,EAAKw4D,WAAW9wE,aAEKuja,GAClCiB,EAAQ3ia,KAAKoja,EAGf,MAAO,GAAI59Z,IAAM09Z,EAAWnja,OAAS,EAAG,CACtC,IAAIsja,EAAcnzP,EAAKnmK,EAAQ,IAAMmmK,EAAKnmK,EAAQ,GAAGuT,UAAY4yJ,EAAKnmK,EAAQ,GAAGuT,SAAS,GACtFgmZ,EAAyB,CAC3B1/Z,KAAM,OACN1E,MAAO,GAAGmB,OAAO0c,IAEnB,GAAIsmZ,EAAa,CACf,IAAIE,EAAUtB,GAAkB,CAC9B3kZ,SAAU,CAACgmZ,GACXnla,UAAWsY,EAAKw4D,WAAW9wE,YAE7B+xK,EAAK5jK,OAAOvC,EAAQ,EAAG,EAAGw5Z,EAC5B,KAAO,CACL,IACIC,EAAST,EADI,CAACO,GACkB5B,EAAYjrZ,EAAKw4D,WAAW9wE,WAChEwka,EAAQ3ia,KAAKwja,EACf,CAGF,KAAO,CACL,IACIC,EAASV,EADI,CAACI,GACkBzB,EAAYjrZ,EAAKw4D,WAAW9wE,WAChEwka,EAAQ3ia,KAAKyja,EACf,CACF,IACAX,EAAqB/4Z,CACvB,CACAA,GACF,EACOA,EAAQmmK,EAAKnwK,QAClB64P,IAEF,GAAIkqK,IAAuB5yP,EAAKnwK,OAAS,EAAG,CAC1C,IAAIud,EAAW4yJ,EAAK7lK,MAAMy4Z,EAAqB,EAAG5yP,EAAKnwK,QACvD,GAAIud,GAAYA,EAASvd,OAAQ,CAC/B,IACIq7I,EAAO2nR,EAAWzlZ,EADLglZ,GAAmBK,EAAQ5ia,OAASwha,GAErDoB,EAAQ3ia,KAAKo7I,EACf,CACF,CACA,OAAOqnR,EAAYE,GAAWt2Y,EAAQ,IAAIhsB,OAAOmZ,MAAM6S,EAAOs2Y,EAChE,CACA,SAASe,GAAgBp3Y,GACvB,IAAIi9P,EAAOj9P,EAAMi9P,KACf22I,EAAa5zY,EAAM4zY,WACnBO,EAAkBn0Y,EAAMm0Y,gBAC1B,OAAOl3I,EAAK5oR,KAAI,SAAU8V,EAAMjR,GAC9B,OAAO4f,GAAc,CACnB3O,KAAMA,EACNypZ,WAAYA,EACZO,gBAAiBA,EACjBh7Z,IAAK,gBAAgBpF,OAAOmF,IAEhC,GACF,CAGA,SAASm+Z,GAAcC,GACrB,OAAOA,GAAsD,qBAA/BA,EAAa7+Y,aAC7C,gBC/OA,IDoRyB8+Y,GAAqBC,GCpR1CC,IDoRqBF,UCpRGG,GDoRkBF,GExR9C,CACE,KAAQ,CACN,QAAW,QACX,UAAa,OACb,QAAW,QACX,WAAc,UACd,MAAS,QAEX,aAAc,CACZ,MAAS,QAEX,eAAgB,CACd,MAAS,WAEX,eAAgB,CACd,WAAc,QAEhB,iBAAkB,CAChB,WAAc,QAEhB,oBAAqB,CACnB,WAAc,QAEhB,oBAAqB,CACnB,WAAc,QAEhB,cAAe,CACb,WAAc,QAEhB,YAAa,CACX,WAAc,QAEhB,YAAa,CACX,MAAS,WAEX,cAAe,CACb,MAAS,WAEX,cAAe,CACb,MAAS,WAEX,mBAAoB,CAClB,MAAS,WAEX,sBAAuB,CACrB,MAAS,WAEX,aAAc,CACZ,MAAS,WAEX,oBAAqB,CACnB,MAAS,WAEX,gBAAiB,CACf,MAAS,WAEX,aAAc,CACZ,MAAS,UACT,WAAc,QAEhB,eAAgB,CACd,MAAS,UACT,WAAc,QAEhB,cAAe,CACb,MAAS,WAEX,cAAe,CACb,MAAS,WAEX,gBAAiB,CACf,MAAS,WAEX,yBAA0B,CACxB,MAAS,WAEX,YAAa,CACX,MAAS,WAEX,qBAAsB,CACpB,MAAS,WAEX,uBAAwB,CACtB,MAAS,WAEX,eAAgB,CACd,MAAS,WAEX,gBAAiB,CACf,MAAS,WAEX,cAAe,CACb,MAAS,WAEX,YAAa,CACX,MAAS,WAEX,gBAAiB,CACf,MAAS,WAEX,YAAa,CACX,MAAS,WAEX,mBAAoB,CAClB,MAAS,WAEX,gBAAiB,CACf,UAAa,UAEf,cAAe,CACb,WAAc,SF2KT,SAA2Bh2Y,GAChC,IAAI/M,EAAW+M,EAAM/M,SACnBzD,EAAWwQ,EAAMxQ,SACjB2mZ,EAAcn2Y,EAAM6O,MACpBA,OAAwB,IAAhBsnY,EAAyBH,GAAeG,EAChDC,EAAoBp2Y,EAAMq2Y,YAC1BA,OAAoC,IAAtBD,EAA+B,CAAC,EAAIA,EAClDE,EAAqBt2Y,EAAMu2Y,aAC3BA,OAAsC,IAAvBD,EAAgC,CAC7Cjma,UAAW4iB,EAAW,YAAY1gB,OAAO0gB,QAAYhF,EACrD4gB,MAAO2lQ,GAAcA,GAAc,CAAC,EAAG3lQ,EAAM,6BAA8BA,EAAM,yBAA0Bt8B,OAAO0gB,EAAU,SAC1HqjZ,EACJE,EAAwBx2Y,EAAM2yY,gBAC9BA,OAA4C,IAA1B6D,GAA0CA,EAC5DC,EAAwBz2Y,EAAMw0Y,gBAC9BA,OAA4C,IAA1BiC,GAA2CA,EAC7DC,EAAwB12Y,EAAMo0Y,sBAC9BA,OAAkD,IAA1BsC,GAA0CA,EAClEC,EAAwB32Y,EAAMyzY,mBAC9BA,OAA+C,IAA1BkD,EAAmC,EAAIA,EAC5DC,EAA2B52Y,EAAM42Y,yBACjCC,EAAwB72Y,EAAM+zY,gBAC9BA,OAA4C,IAA1B8C,EAAmC,CAAC,EAAIA,EAC1DlC,EAAY30Y,EAAM20Y,UAClBmC,EAAsB92Y,EAAMy0Y,cAC5BA,OAAwC,IAAxBqC,GAAyCA,EACzDC,EAAkB/2Y,EAAMs0Y,UACxBA,OAAgC,IAApByC,EAA6B,CAAC,EAAIA,EAC9CC,EAAWh3Y,EAAMg3Y,SACjBC,EAAej3Y,EAAMk3Y,OACrBA,OAA0B,IAAjBD,EAA0B,MAAQA,EAC3CE,EAAgBn3Y,EAAMo3Y,QACtBA,OAA4B,IAAlBD,EAA2B,OAASA,EAC9CE,EAAar3Y,EAAMhJ,KACnBA,OAAsB,IAAfqgZ,GAAyB1ka,MAAMmf,QAAQtC,GAAYA,EAAS,GAAKA,IAAa,GAAK6nZ,EAC1FvB,EAAe91Y,EAAM81Y,aACrBl7T,EAAO+uL,GAAyB3pQ,EAAOypI,IACzCqsQ,EAAeA,GAAgBC,GAC/B,IAAIuB,EAAiB9C,EAA+B9qV,EAAAA,cAAoBypV,GAAgB,CACtFrgH,eAAgB8jH,EAChBvD,UAAWkD,EAAa1nY,OAAS,CAAC,EAClC2kY,YAAaO,EACbN,mBAAoBA,EACpBL,WAAYp8Y,IACT,KACDugZ,EAAkB1oY,EAAMn/B,MAAQm/B,EAAM,4BAA8B,CACtEuxH,gBAAiB,QAEfo3Q,EAAqB3B,GAAcC,GAAgB,OAAS,UAC5D2B,EAAW9E,EAAkBzha,OAAOyN,OAAO,CAAC,EAAGi8F,EAAM,CACvD/rE,MAAO39B,OAAOyN,OAAO,CAAC,EAAG44Z,EAAiBlB,KACvCnla,OAAOyN,OAAO,CAAC,EAAGi8F,EAAM,CAC3BvqG,UAAWuqG,EAAKvqG,UAAY,GAAGkC,OAAOila,EAAoB,KAAKjla,OAAOqoG,EAAKvqG,WAAamna,EACxF3oY,MAAO39B,OAAOyN,OAAO,CAAC,EAAG03Z,KAW3B,GAREE,EAAa1nY,MAAQ2lQ,GADnBigI,EACiC,CACjC/3H,WAAY,YAGqB,CACjCA,WAAY,OAHX65H,EAAa1nY,QAMbinY,EACH,OAAoBpsV,EAAAA,cAAoBwtV,EAAQO,EAAUH,EAA6B5tV,EAAAA,cAAoB0tV,EAASb,EAAcv/Y,UAOlH/I,IAAd0mZ,GAA2BqC,GAAYvC,KAAeE,GAAY,GACtEqC,EAAWA,GAAYpB,GACvB,IAAI8B,EAAmB,CAAC,CACtB5ha,KAAM,OACN1E,MAAO4lB,IAEL+9Y,EAnHR,SAAqBp2Y,GACnB,IAAIm3Y,EAAen3Y,EAAMm3Y,aACvB7iZ,EAAW0L,EAAM1L,SACjB+D,EAAO2H,EAAM3H,KACb0gZ,EAAmB/4Y,EAAM+4Y,iBAK3B,GAAI7B,GAAcC,GAAe,CAC/B,IAAI6B,EG9PR,SAA0B7B,EAAc7iZ,GAEtC,OAAoC,IADxB6iZ,EAAa70Y,gBACZzkB,QAAQyW,EACtB,CH2PqB2kZ,CAAuB9B,EAAc7iZ,GACvD,MAAiB,SAAbA,EACK,CACL7hB,MAAOsma,EACPzkZ,SAAU,QAEH0kZ,EACF7B,EAAa5+Y,UAAUjE,EAAU+D,GAEjC8+Y,EAAa7+Y,cAAcD,EAEtC,CAGA,IACE,OAAO/D,GAAyB,SAAbA,EAAsB,CACvC7hB,MAAO0ka,EAAa5+Y,UAAUF,EAAM/D,IAClC,CACF7hB,MAAOsma,EAEX,CAAE,MAAO7/Z,KACP,MAAO,CACLzG,MAAOsma,EAEX,CACF,CAgFmBG,CAAY,CACzB/B,aAAcA,EACd7iZ,SAAUA,EACV+D,KAAMA,EACN0gZ,iBAAkBA,IAEM,OAAtB3C,EAAS9hZ,WACX8hZ,EAAS3ja,MAAQsma,GAInB,IAAIhkE,EAAYqhE,EAAS3ja,MAAMa,OACb,IAAdyhW,GAA8C,SAA3BqhE,EAAS3ja,MAAM,GAAG0E,OAEvC49V,EAAYqhE,EAAS3ja,MAAM,GAAGA,MAAM6J,MAAM,MAAMhJ,QAElD,IACIwpR,EAAOq5I,GAAaC,EAAUJ,EAAWL,EAAWE,EAAiBJ,EAAuBX,EADxE//D,EAAY+/D,EACmGM,EAAiBU,GACxJ,OAAoB/qV,EAAAA,cAAoBwtV,EAAQO,EAAuB/tV,EAAAA,cAAoB0tV,EAASb,GAAenC,GAAyBkD,EAAgBN,EAAS,CACnKv7I,KAAMA,EACN22I,WAAYvjY,EACZ8jY,gBAAiBA,KAErB,GCzXFsD,GAAYlE,mBGDZ,CAAgB,KAAM,OAAQ,YAAa,eAAgB,MAAO,cAAe,SAAU,cAAe,SAAU,UAAW,SAAU,WAAY,UAAW,aAAc,SAAU,SAAU,MAAO,SAAU,OAAQ,QAAS,MAAO,YAAa,SAAU,IAAK,MAAO,YAAa,SAAU,QAAS,eAAgB,UAAW,QAAS,eAAgB,MAAO,MAAO,MAAO,QAAS,UAAW,SAAU,MAAO,MAAO,IAAK,OAAQ,SAAU,OAAQ,SAAU,MAAO,aAAc,MAAO,WAAY,MAAO,OAAQ,OAAQ,SAAU,MAAO,MAAO,cAAe,SAAU,QAAS,MAAO,OAAQ,UAAW,SAAU,OAAQ,QAAS,QAAS,UAAW,OAAQ,MAAO,KAAM,OAAQ,SAAU,SAAU,OAAQ,aAAc,UAAW,OAAQ,MAAO,WAAY,OAAQ,KAAM,UAAW,MAAO,SAAU,OAAQ,OAAQ,aAAc,YAAa,OAAQ,aAAc,QAAS,SAAU,QAAS,QAAS,OAAQ,OAAQ,OAAQ,OAAQ,iBAAkB,aAAc,OAAQ,MAAO,MAAO,WAAY,WAAY,cAAe,SAAU,SAAU,MAAO,UAAW,UAAW,QAAS,cAAe,SAAU,aAAc,OAAQ,QAAS,MAAO,MAAO,YAAa,OAAQ,aAAc,QAAS,WAAY,UAAW,UAAW,OAAQ,KAAM,QAAS,eAAgB,MAAO,YAAa,OAAQ,aAAc,aAAc,UAAW,SAAU,aAAc,WAAY,SAAU,YAAa,cAAe,SAAU,IAAK,MAAO,IAAK,WAAY,MAAO,WAAY,WAAY,MAAO,OAAQ,gBAAiB,OAAQ,MAAO,QAAS,SAAU,SAAU,OAAQ,QAAS,QAAS,YAAa,MAAO,MAAO,MAAO,WAAY,OAAQ,QAAS,SAAU,SAAU,UAAW,QAAS,eAAgB,MAAO,MAAO,SAAU,KAAM,OAAQ,aAAc,OAAQ,QAAS,gBAAiB,WAAY,UAAW,OAAQ,MAAO,SAAU,KAAM,MAAO,SAAU,OAAQ,UHEl1D,2BILA,SAAS,GAAQl6Z,EAAGg3C,GAClB,IAAItH,EAAIr2C,OAAOqG,KAAKM,GACpB,GAAI3G,OAAO4F,sBAAuB,CAChC,IAAIi5E,EAAI7+E,OAAO4F,sBAAsBe,GACrCg3C,IAAMkhC,EAAIA,EAAEhyD,QAAO,SAAU8wB,GAC3B,OAAO39C,OAAO6F,yBAAyBc,EAAGg3C,GAAG3lB,UAC/C,KAAKqe,EAAEr1C,KAAKwZ,MAAM67B,EAAGwoC,EACvB,CACA,OAAOxoC,CACT,CACA,SAAS,GAAe1vC,GACtB,IAAK,IAAIg3C,EAAI,EAAGA,EAAIp8C,UAAUR,OAAQ48C,IAAK,CACzC,IAAItH,EAAI,MAAQ90C,UAAUo8C,GAAKp8C,UAAUo8C,GAAK,CAAC,EAC/CA,EAAI,EAAI,GAAQ39C,OAAOq2C,IAAI,GAAI95B,SAAQ,SAAUohC,GAC/C,GAAeh3C,EAAGg3C,EAAGtH,EAAEsH,GACzB,IAAK39C,OAAO2pF,0BAA4B3pF,OAAO29L,iBAAiBh3L,EAAG3G,OAAO2pF,0BAA0BtzC,IAAM,GAAQr2C,OAAOq2C,IAAI95B,SAAQ,SAAUohC,GAC7I39C,OAAOC,eAAe0G,EAAGg3C,EAAG39C,OAAO6F,yBAAyBwwC,EAAGsH,GACjE,GACF,CACA,OAAOh3C,CACT,CCjBA,SAAS,GAAeg3C,EAAGh3C,GACzB,OCLF,SAAyBg3C,GACvB,GAAIl8C,MAAMmf,QAAQ+8B,GAAI,OAAOA,CAC/B,CDGS,CAAeA,IELxB,SAA+BA,EAAG1sC,GAChC,IAAIolC,EAAI,MAAQsH,EAAI,KAAO,oBAAsB5sC,QAAU4sC,EAAE5sC,OAAO2lB,WAAainB,EAAE,cACnF,GAAI,MAAQtH,EAAG,CACb,IAAI1vC,EACFuK,EACA1K,EACA+vC,EACA5kC,EAAI,GACJd,GAAI,EACJguE,GAAI,EACN,IACE,GAAIr4E,GAAK6vC,EAAIA,EAAErkC,KAAK2rC,IAAIjlC,KAAM,IAAMzH,EAAG,CACrC,GAAIjR,OAAOq2C,KAAOA,EAAG,OACrBxlC,GAAI,CACN,MAAO,OAASA,GAAKlK,EAAIH,EAAEwL,KAAKqkC,IAAIwH,QAAUlsC,EAAE3Q,KAAK2F,EAAEzG,OAAQyR,EAAE5Q,SAAWkQ,GAAIJ,GAAI,GACtF,CAAE,MAAO8sC,GACPkhC,GAAI,EAAI3tE,EAAIysC,CACd,CAAE,QACA,IACE,IAAK9sC,GAAK,MAAQwlC,EAAU,SAAME,EAAIF,EAAU,SAAKr2C,OAAOu2C,KAAOA,GAAI,MACzE,CAAE,QACA,GAAIsoC,EAAG,MAAM3tE,CACf,CACF,CACA,OAAOS,CACT,CACF,CFrB8B,CAAqBgsC,EAAGh3C,IAAM,GAA2Bg3C,EAAGh3C,IGL1F,WACE,MAAM,IAAI+vE,UAAU,4IACtB,CHGgG,EAChG,CIDA,IAAI6hF,GAAY,CAAC,oBAAqB,oBAAqB,eAAgB,aAAc,aAAc,WAAY,gBAAiB,cAAe,aAAc,SCJjK,SAASquQ,GAAkBjga,EAAGg3C,GAC5B,IAAK,IAAItH,EAAI,EAAGA,EAAIsH,EAAE58C,OAAQs1C,IAAK,CACjC,IAAIwoC,EAAIlhC,EAAEtH,GACVwoC,EAAE7mD,WAAa6mD,EAAE7mD,aAAc,EAAI6mD,EAAE9mD,cAAe,EAAI,UAAW8mD,IAAMA,EAAEgL,UAAW,GAAK7pF,OAAOC,eAAe0G,EAAGm6Z,GAAcjiV,EAAEp4E,KAAMo4E,EAC5I,CACF,CCNA,SAASgoV,GAAgBxwX,GACvB,OAAOwwX,GAAkB7ma,OAAOwtF,eAAiBxtF,OAAO8F,eAAe+pB,OAAS,SAAUwmB,GACxF,OAAOA,EAAEt2B,WAAa/f,OAAO8F,eAAeuwC,EAC9C,EAAGwwX,GAAgBxwX,EACrB,CCJA,SAASywX,KACP,IACE,IAAIzwX,GAAKlwB,QAAQrhB,UAAUy1B,QAAQvoB,KAAKklB,QAAQC,UAAUhR,QAAS,IAAI,WAAa,IACtF,CAAE,MAAOkwB,GAAI,CACb,OAAQywX,GAA4B,WAClC,QAASzwX,CACX,IACF,CCLA,SAAS0wX,GAA2B1wX,EAAG1vC,GACrC,GAAIA,IAAM,UAAY,GAAQA,IAAM,mBAAqBA,GAAI,OAAOA,EACpE,QAAI,IAAWA,EAAG,MAAM,IAAI+vE,UAAU,4DACtC,OCLF,SAAgC/vE,GAC9B,QAAI,IAAWA,EAAG,MAAM,IAAI6vE,eAAe,6DAC3C,OAAO7vE,CACT,CDES,CAAsB0vC,EAC/B,CEmDA,IAAI2wX,GAA0B,WAE5B,SAASA,EAAWxma,GAClB,IAAImvF,EAAQ1yE,KAEZA,KAAKgqZ,WAAa,SAAUrma,GAC1B,IAAIuvE,EAIAA,EAFsB,IAAtBwf,EAAMlvF,KAAKM,OACT4uF,EAAMu3U,eACCv3U,EAAMu3U,eAAel/Y,YACrB2nE,EAAM2B,QACN3B,EAAMu+K,UAAUnmP,WAEhB4nE,EAAMxf,OAGRwf,EAAMlvF,KAAKkvF,EAAMlvF,KAAKM,OAAS,GAAGinB,YAG7C2nE,EAAMu+K,UAAUn/M,aAAanuD,EAAKuvE,GAElCwf,EAAMlvF,KAAKO,KAAKJ,EAClB,EAEAqc,KAAKkqZ,cAA8BpqZ,IAAnBvc,EAAQ4ma,QAAwC5ma,EAAQ4ma,OACxEnqZ,KAAKxc,KAAO,GACZwc,KAAKoqZ,IAAM,EACXpqZ,KAAKgmQ,MAAQziR,EAAQyiR,MAErBhmQ,KAAKxW,IAAMjG,EAAQiG,IACnBwW,KAAKixP,UAAY1tQ,EAAQ0tQ,UACzBjxP,KAAKq0E,QAAU9wF,EAAQ8wF,QACvBr0E,KAAKiqZ,eAAiB1ma,EAAQ0ma,eAC9BjqZ,KAAKkzD,OAAS,IAChB,CAEA,IAAI0lM,EAASmxJ,EAAWlia,UA0CxB,OAxCA+wQ,EAAOz9M,QAAU,SAAiBkiB,GAChCA,EAAM/9D,QAAQU,KAAKgqZ,WACrB,EAEApxJ,EAAOrnG,OAAS,SAAgBppJ,GAI1BnI,KAAKoqZ,KAAOpqZ,KAAKkqZ,SAAW,KAAQ,KAAO,GAC7ClqZ,KAAKgqZ,WA7DX,SAA4Bzma,GAC1B,IAAII,EAAMomB,SAASZ,cAAc,SASjC,OARAxlB,EAAI40B,aAAa,eAAgBh1B,EAAQiG,UAEnBsW,IAAlBvc,EAAQyiR,OACVriR,EAAI40B,aAAa,QAASh1B,EAAQyiR,OAGpCriR,EAAI65B,YAAYzT,SAAS0mC,eAAe,KACxC9sD,EAAI40B,aAAa,SAAU,IACpB50B,CACT,CAkDsB0ma,CAAmBrqZ,OAGrC,IAAIrc,EAAMqc,KAAKxc,KAAKwc,KAAKxc,KAAKM,OAAS,GAEvC,GAAIkc,KAAKkqZ,SAAU,CACjB,IAAI3nJ,EAtFV,SAAqB5+Q,GACnB,GAAIA,EAAI4+Q,MACN,OAAO5+Q,EAAI4+Q,MAMb,IAAK,IAAIh5Q,EAAI,EAAGA,EAAIwgB,SAASy4P,YAAY1+Q,OAAQyF,IAC/C,GAAIwgB,SAASy4P,YAAYj5Q,GAAGk5Q,YAAc9+Q,EACxC,OAAOomB,SAASy4P,YAAYj5Q,EAOlC,CAqEkB+ga,CAAY3ma,GAExB,IAGE4+Q,EAAMR,WAAW55P,EAAMo6P,EAAMG,SAAS5+Q,OACxC,CAAE,MAAO4F,KACT,CACF,MACE/F,EAAI65B,YAAYzT,SAAS0mC,eAAetoC,IAG1CnI,KAAKoqZ,KACP,EAEAxxJ,EAAOu7B,MAAQ,WACbn0R,KAAKxc,KAAK8b,SAAQ,SAAU3b,GAC1B,IAAI4ma,EAEJ,OAA6C,OAArCA,EAAkB5ma,EAAIitB,iBAAsB,EAAS25Y,EAAgBhtY,YAAY55B,EAC3F,IACAqc,KAAKxc,KAAO,GACZwc,KAAKoqZ,IAAM,CACb,EAEOL,CACT,CAhF8B,GCrDnBthS,GAAMv5G,KAAKu5G,IAMXrqD,GAAOthE,OAAOC,aAMdvM,GAASzN,OAAOyN,OAepB,SAAS4kB,GAAMnyB,GACrB,OAAOA,EAAMmyB,MACd,CAiBO,SAASlY,GAASja,EAAOoQ,EAASrD,GACxC,OAAO/M,EAAMia,QAAQ7J,EAASrD,EAC/B,CAOO,SAASuvQ,GAASt8Q,EAAO0vC,GAC/B,OAAO1vC,EAAMoL,QAAQskC,EACtB,CAOO,SAAS6sO,GAAQv8Q,EAAO6K,GAC9B,OAAiC,EAA1B7K,EAAM0kK,WAAW75J,EACzB,CAQO,SAAS6c,GAAQ1nB,EAAOd,EAAOC,GACrC,OAAOa,EAAMmL,MAAMjM,EAAOC,EAC3B,CAMO,SAASq9Q,GAAQx8Q,GACvB,OAAOA,EAAMa,MACd,CAMO,SAAS47Q,GAAQz8Q,GACvB,OAAOA,EAAMa,MACd,CAOO,SAASu6H,GAAQp7H,EAAO2W,GAC9B,OAAOA,EAAM7V,KAAKd,GAAQA,CAC3B,CCvGO,IAAIk8I,GAAO,EACPkb,GAAS,EACTv2J,GAAS,EACTwhB,GAAW,EACXq6P,GAAY,EACZC,GAAa,GAWjB,SAASplQ,GAAMvX,EAAOue,EAAM+B,EAAQ5b,EAAMsN,EAAOoM,EAAUvd,GACjE,MAAO,CAACb,MAAOA,EAAOue,KAAMA,EAAM+B,OAAQA,EAAQ5b,KAAMA,EAAMsN,MAAOA,EAAOoM,SAAUA,EAAU89H,KAAMA,GAAMkb,OAAQA,GAAQv2J,OAAQA,EAAQggC,OAAQ,GACrJ,CAOO,SAASstD,GAAM5vE,EAAMvM,GAC3B,OAAOzE,GAAOgK,GAAK,GAAI,KAAM,KAAM,GAAI,KAAM,KAAM,GAAIgH,EAAM,CAAC1d,QAAS0d,EAAK1d,QAASmR,EACtF,CAwBO,SAASwG,KAMf,OALAkkQ,GAAYr6P,GAAWxhB,GAAS07Q,GAAOI,GAAYt6P,MAAc,EAE7D+0I,KAAwB,KAAdslH,KACbtlH,GAAS,EAAGlb,MAENwgI,EACR,CAKO,SAAS3vL,KACf,OAAOwvL,GAAOI,GAAYt6P,GAC3B,CAKO,SAASw6P,KACf,OAAOx6P,EACR,CAOO,SAASlX,GAAOjM,EAAOC,GAC7B,OAAOuoB,GAAOi1P,GAAYz9Q,EAAOC,EAClC,CAMO,SAAS02H,GAAOnxH,GACtB,OAAQA,GAEP,KAAK,EAAG,KAAK,EAAG,KAAK,GAAI,KAAK,GAAI,KAAK,GACtC,OAAO,EAER,KAAK,GAAI,KAAK,GAAI,KAAK,GAAI,KAAK,GAAI,KAAK,GAAI,KAAK,GAAI,KAAK,IAE3D,KAAK,GAAI,KAAK,IAAK,KAAK,IACvB,OAAO,EAER,KAAK,GACJ,OAAO,EAER,KAAK,GAAI,KAAK,GAAI,KAAK,GAAI,KAAK,GAC/B,OAAO,EAER,KAAK,GAAI,KAAK,GACb,OAAO,EAGT,OAAO,CACR,CAMO,SAASo4Q,GAAO98Q,GACtB,OAAOk8I,GAAOkb,GAAS,EAAGv2J,GAAS27Q,GAAOG,GAAa38Q,GAAQqiB,GAAW,EAAG,EAC9E,CAMO,SAAS06P,GAAS/8Q,GACxB,OAAO28Q,GAAa,GAAI38Q,CACzB,CAMO,SAASg9Q,GAASt4Q,GACxB,OAAOytB,GAAKhnB,GAAMkX,GAAW,EAAGuxF,GAAmB,KAATlvG,EAAcA,EAAO,EAAa,KAATA,EAAcA,EAAO,EAAIA,IAC7F,CAcO,SAASu4Q,GAAYv4Q,GAC3B,MAAOg4Q,GAAY3vL,OACd2vL,GAAY,IACflkQ,KAIF,OAAOq9G,GAAMnxH,GAAQ,GAAKmxH,GAAM6mJ,IAAa,EAAI,GAAK,GACvD,CAwBO,SAASQ,GAAUryQ,EAAO0Y,GAChC,OAASA,GAAS/K,QAEbkkQ,GAAY,IAAMA,GAAY,KAAQA,GAAY,IAAMA,GAAY,IAAQA,GAAY,IAAMA,GAAY,MAG/G,OAAOvxQ,GAAMN,EAAOgyQ,MAAWt5P,EAAQ,GAAe,IAAVwpE,MAA0B,IAAVv0E,MAC7D,CAMO,SAASo7F,GAAWlvG,GAC1B,KAAO8T,aACEkkQ,IAEP,KAAKh4Q,EACJ,OAAO2d,GAER,KAAK,GAAI,KAAK,GACA,KAAT3d,GAAwB,KAATA,GAClBkvG,GAAU8oK,IACX,MAED,KAAK,GACS,KAATh4Q,GACHkvG,GAAUlvG,GACX,MAED,KAAK,GACJ8T,KAIH,OAAO6J,EACR,CAOO,SAAS86P,GAAWz4Q,EAAMmG,GAChC,KAAO2N,MAEF9T,EAAOg4Q,KAAc,KAGhBh4Q,EAAOg4Q,KAAc,IAAsB,KAAX3vL,QAG1C,MAAO,KAAO5hF,GAAMN,EAAOwX,GAAW,GAAK,IAAM84D,GAAc,KAATz2E,EAAcA,EAAO8T,KAC5E,CAMO,SAASyqD,GAAYp4D,GAC3B,MAAQgrH,GAAM9oC,OACbv0E,KAED,OAAOrN,GAAMN,EAAOwX,GACrB,CCrPO,IAAI25P,GAAK,OACLC,GAAM,QACNC,GAAS,WAETn6Q,GAAU,OACVo6Q,GAAU,OACVC,GAAc,OAUdC,GAAY,aCRhB,SAAS/rJ,GAAWlyG,EAAU6hC,GAIpC,IAHA,IAAIwkI,EAAS,GACT5jL,EAAS47Q,GAAOr+P,GAEX9X,EAAI,EAAGA,EAAIzF,EAAQyF,IAC3Bm+K,GAAUxkI,EAAS7hC,EAAS9X,GAAIA,EAAG8X,EAAU6hC,IAAa,GAE3D,OAAOwkI,CACR,CASO,SAAStqK,GAAW/C,EAASvM,EAAOuT,EAAU6hC,GACpD,OAAQ7oC,EAAQ1S,MACf,IDPiB,SCOL,GAAI0S,EAAQgH,SAASvd,OAAQ,MACzC,IDlBkB,UCkBL,KAAKu7Q,GAAa,OAAOhlQ,EAAQypB,OAASzpB,EAAQypB,QAAUzpB,EAAQpX,MACjF,KAAK+B,GAAS,MAAO,GACrB,KAAKs6Q,GAAW,OAAOjlQ,EAAQypB,OAASzpB,EAAQpX,MAAQ,IAAMswH,GAAUl5G,EAAQgH,SAAU6hC,GAAY,IACtG,KAAKk8N,GAAS/kQ,EAAQpX,MAAQoX,EAAQpF,MAAMpQ,KAAK,KAGlD,OAAO46Q,GAAOp+P,EAAWkyG,GAAUl5G,EAAQgH,SAAU6hC,IAAa7oC,EAAQypB,OAASzpB,EAAQpX,MAAQ,IAAMoe,EAAW,IAAM,EAC3H,CCRO,SAASmpZ,GAAWtnX,GAC1B,OAAO,SAAU7oC,GACXA,EAAQmH,OACRnH,EAAUA,EAAQypB,SACrBof,EAAS7oC,EACZ,CACD,CCzBO,SAASoL,GAASxiB,GACxB,OAAO+8Q,GAAQzmK,GAAM,GAAI,KAAM,KAAM,KAAM,CAAC,IAAKt2G,EAAQ88Q,GAAM98Q,GAAQ,EAAG,CAAC,GAAIA,GAChF,CAcO,SAASs2G,GAAOt2G,EAAOue,EAAM+B,EAAQ4E,EAAM7B,EAAOg6P,EAAUC,EAAQxtF,EAAQytF,GAiBlF,IAhBA,IAAI1yQ,EAAQ,EACRkY,EAAS,EACTliB,EAASy8Q,EACTE,EAAS,EACT3nL,EAAW,EACXy1B,EAAW,EACXmyJ,EAAW,EACXC,EAAW,EACXC,EAAY,EACZjB,EAAY,EACZh4Q,EAAO,GACPsN,EAAQqR,EACRjF,EAAWi/P,EACXhnM,EAAYnxD,EACZy3P,EAAaj4Q,EAEVg5Q,UACEpyJ,EAAWoxJ,EAAWA,EAAYlkQ,MAEzC,KAAK,GACJ,GAAgB,KAAZ8yG,GAAqD,IAAlCixJ,GAAOI,EAAY97Q,EAAS,GAAU,EACkB,GAA1Ey7Q,GAAQK,GAAc1iQ,GAAQ+iQ,GAAQN,GAAY,IAAK,OAAQ,SAClEiB,GAAa,GACd,KACD,CAED,KAAK,GAAI,KAAK,GAAI,KAAK,GACtBhB,GAAcK,GAAQN,GACtB,MAED,KAAK,EAAG,KAAK,GAAI,KAAK,GAAI,KAAK,GAC9BC,GAAcM,GAAW3xJ,GACzB,MAED,KAAK,GACJqxJ,GAAcO,GAASL,KAAU,EAAG,GACpC,SAED,KAAK,GACJ,OAAQ9vL,MACP,KAAK,GAAI,KAAK,GACbquC,GAAOwiJ,GAAQT,GAAU3kQ,KAAQqkQ,MAAUt+P,EAAM+B,GAASi9P,GAC1D,MACD,QACCZ,GAAc,IAEhB,MAED,KAAK,IAAMc,EACV3tF,EAAOjlL,KAAW2xQ,GAAOG,GAAcgB,EAExC,KAAK,IAAMF,EAAU,KAAK,GAAI,KAAK,EAClC,OAAQf,GAEP,KAAK,EAAG,KAAK,IAAKgB,EAAW,EAE7B,KAAK,GAAK36P,GAA0B,GAAd46P,IAAiBhB,EAAa1iQ,GAAQ0iQ,EAAY,MAAO,KAC1E9mL,EAAW,GAAM2mL,GAAOG,GAAc97Q,GACzCu6H,GAAOvlC,EAAW,GAAKgoL,GAAYlB,EAAa,IAAKz3P,EAAM5E,EAAQzf,EAAS,GAAKg9Q,GAAY5jQ,GAAQ0iQ,EAAY,IAAK,IAAM,IAAKz3P,EAAM5E,EAAQzf,EAAS,GAAI08Q,GAC7J,MAED,KAAK,GAAIZ,GAAc,IAEvB,QAGC,GAFAvhJ,GAAO/kD,EAAYynM,GAAQnB,EAAYp+P,EAAM+B,EAAQzV,EAAOkY,EAAQM,EAAOysK,EAAQprL,EAAMsN,EAAQ,GAAIoM,EAAW,GAAIvd,GAASw8Q,GAE3G,MAAdX,EACH,GAAe,IAAX35P,EACHuzF,GAAMqmK,EAAYp+P,EAAM83D,EAAWA,EAAWrkE,EAAOqrQ,EAAUx8Q,EAAQivL,EAAQ1xK,QAE/E,OAAmB,KAAXo/P,GAA2C,MAA1BjB,GAAOI,EAAY,GAAa,IAAMa,GAE9D,KAAK,IAAK,KAAK,IAAK,KAAK,IAAK,KAAK,IAClClnK,GAAMt2G,EAAOq2E,EAAWA,EAAWnxD,GAAQk2G,GAAO0iJ,GAAQ99Q,EAAOq2E,EAAWA,EAAW,EAAG,EAAGhzD,EAAOysK,EAAQprL,EAAM2e,EAAOrR,EAAQ,GAAInR,GAASud,GAAWiF,EAAOjF,EAAUvd,EAAQivL,EAAQ5qK,EAAOlT,EAAQoM,GACzM,MACD,QACCk4F,GAAMqmK,EAAYtmM,EAAWA,EAAWA,EAAW,CAAC,IAAKj4D,EAAU,EAAG0xK,EAAQ1xK,IAIpFvT,EAAQkY,EAAS8yE,EAAW,EAAG4nL,EAAWE,EAAY,EAAGj5Q,EAAOi4Q,EAAa,GAAI97Q,EAASy8Q,EAC1F,MAED,KAAK,GACJz8Q,EAAS,EAAI27Q,GAAOG,GAAa9mL,EAAWy1B,EAC7C,QACC,GAAImyJ,EAAW,EACd,GAAiB,KAAbf,IACDe,OACE,GAAiB,KAAbf,GAAkC,GAAde,KAA6B,MJxE9Df,GAAYr6P,GAAW,EAAIk6P,GAAOI,KAAct6P,IAAY,EAExD+0I,KAAwB,KAAdslH,KACbtlH,GAAS,EAAGlb,MAENwgI,IIoEF,SAEF,OAAQC,GAAcxhM,GAAKuhM,GAAYA,EAAYe,GAElD,KAAK,GACJE,EAAY56P,EAAS,EAAI,GAAK45P,GAAc,MAAO,GACnD,MAED,KAAK,GACJ7sF,EAAOjlL,MAAY2xQ,GAAOG,GAAc,GAAKgB,EAAWA,EAAY,EACpE,MAED,KAAK,GAEW,KAAX5wL,OACH4vL,GAAcK,GAAQxkQ,OAEvBglQ,EAASzwL,KAAQhqE,EAASliB,EAAS27Q,GAAO93Q,EAAOi4Q,GAAc15M,GAAW45M,OAAWH,IACrF,MAED,KAAK,GACa,KAAbpxJ,GAAyC,GAAtBkxJ,GAAOG,KAC7Bc,EAAW,IAIjB,OAAOJ,CACR,CAgBO,SAASS,GAAS99Q,EAAOue,EAAM+B,EAAQzV,EAAOkY,EAAQM,EAAOysK,EAAQprL,EAAMsN,EAAOoM,EAAUvd,GAKlG,IAJA,IAAIk9Q,EAAOh7P,EAAS,EAChBmC,EAAkB,IAAXnC,EAAeM,EAAQ,CAAC,IAC/BgqC,EAAOovN,GAAOv3P,GAET5e,EAAI,EAAG85E,EAAI,EAAGxvE,EAAI,EAAGtK,EAAIuE,IAASvE,EAC1C,IAAK,IAAI5E,EAAI,EAAGg8C,EAAIh2B,GAAO1nB,EAAO+9Q,EAAO,EAAGA,EAAOv4I,GAAIplD,EAAI0vG,EAAOxpL,KAAMuuB,EAAI70B,EAAO0B,EAAI2rD,IAAQ3rD,GAC1FmzB,EAAI1C,GAAKiuD,EAAI,EAAIl7D,EAAKxjB,GAAK,IAAMg8C,EAAIzjC,GAAQyjC,EAAG,OAAQx4B,EAAKxjB,QAChEsQ,EAAMpB,KAAOikB,GAEhB,OAAOtd,GAAKvX,EAAOue,EAAM+B,EAAmB,IAAXyC,EAAeo5P,GAAUz3Q,EAAMsN,EAAOoM,EAAUvd,EAClF,CAQO,SAAS+8Q,GAAS59Q,EAAOue,EAAM+B,GACrC,OAAO/I,GAAKvX,EAAOue,EAAM+B,EAAQve,GAASo5E,GJ/InCuhM,II+IiDh1P,GAAO1nB,EAAO,GAAI,GAAI,EAC/E,CASO,SAAS69Q,GAAa79Q,EAAOue,EAAM+B,EAAQzf,GACjD,OAAO0W,GAAKvX,EAAOue,EAAM+B,EAAQ87P,GAAa10P,GAAO1nB,EAAO,EAAGa,GAAS6mB,GAAO1nB,EAAOa,EAAS,GAAI,GAAIA,EACxG,CCzLA,IAAI2ma,GAA8B,SAAqCtoa,EAAO4wL,EAAQjlL,GAIpF,IAHA,IAAIygH,EAAW,EACXoxJ,EAAY,EAGdpxJ,EAAWoxJ,EACXA,EAAY3vL,KAEK,KAAbu+B,GAAiC,KAAdoxJ,IACrB5sF,EAAOjlL,GAAS,IAGdgrH,GAAM6mJ,IAIVlkQ,KAGF,OAAOrN,GAAMjM,EAAOmjB,GACtB,EA6CIolZ,GAAW,SAAkBzna,EAAO8vL,GACtC,OAAOitF,GA5CK,SAAiB7xG,EAAQ4kB,GAErC,IAAIjlL,GAAS,EACT6xQ,EAAY,GAEhB,GACE,OAAQ7mJ,GAAM6mJ,IACZ,KAAK,EAEe,KAAdA,GAA+B,KAAX3vL,OAKtB+iG,EAAOjlL,GAAS,GAGlBqgK,EAAOrgK,IAAU28Z,GAA4BnlZ,GAAW,EAAGytK,EAAQjlL,GACnE,MAEF,KAAK,EACHqgK,EAAOrgK,IAAUmyQ,GAAQN,GACzB,MAEF,KAAK,EAEH,GAAkB,KAAdA,EAAkB,CAEpBxxG,IAASrgK,GAAoB,KAAXkiF,KAAgB,MAAQ,GAC1C+iG,EAAOjlL,GAASqgK,EAAOrgK,GAAOhK,OAC9B,KACF,CAIF,QACEqqK,EAAOrgK,IAAUswE,GAAKuhM,UAEnBA,EAAYlkQ,MAErB,OAAO0yJ,CACT,CAGiBw8P,CAAQ5qJ,GAAM98Q,GAAQ8vL,GACvC,EAGI63O,GAA+B,IAAI/+W,QACnCg/W,GAAS,SAAgBxwZ,GAC3B,GAAqB,SAAjBA,EAAQ1S,MAAoB0S,EAAQkJ,UAExClJ,EAAQvW,OAAS,GAFjB,CAUA,IAJA,IAAIb,EAAQoX,EAAQpX,MAChBsgB,EAASlJ,EAAQkJ,OACjBunZ,EAAiBzwZ,EAAQggJ,SAAW92I,EAAO82I,QAAUhgJ,EAAQ8kI,OAAS57H,EAAO47H,KAE1D,SAAhB57H,EAAO5b,MAEZ,KADA4b,EAASA,EAAOA,QACH,OAIf,IAA6B,IAAzBlJ,EAAQpF,MAAMnR,QAAwC,KAAxBb,EAAM0kK,WAAW,IAE/CijQ,GAAc/vY,IAAItX,MAMlBunZ,EAAJ,CAIAF,GAAc1rZ,IAAI7E,GAAS,GAK3B,IAJA,IAAI04K,EAAS,GACTzsK,EAAQokZ,GAASzna,EAAO8vL,GACxBg4O,EAAcxnZ,EAAOtO,MAEhB1L,EAAI,EAAGsK,EAAI,EAAGtK,EAAI+c,EAAMxiB,OAAQyF,IACvC,IAAK,IAAI85E,EAAI,EAAGA,EAAI0nV,EAAYjna,OAAQu/E,IAAKxvE,IAC3CwG,EAAQpF,MAAMpB,GAAKk/K,EAAOxpL,GAAK+c,EAAM/c,GAAG2T,QAAQ,OAAQ6tZ,EAAY1nV,IAAM0nV,EAAY1nV,GAAK,IAAM/8D,EAAM/c,EAT3G,CAtBA,CAkCF,EACIyha,GAAc,SAAqB3wZ,GACrC,GAAqB,SAAjBA,EAAQ1S,KAAiB,CAC3B,IAAI1E,EAAQoX,EAAQpX,MAGI,MAAxBA,EAAM0kK,WAAW,IACO,KAAxB1kK,EAAM0kK,WAAW,KAEfttJ,EAAgB,OAAI,GACpBA,EAAQpX,MAAQ,GAEpB,CACF,EAIA,SAASq8D,GAAOr8D,EAAOa,GACrB,ON9GK,SAAeb,EAAOa,GAC5B,OAA0B,GAAnB07Q,GAAOv8Q,EAAO,MAAiBa,GAAU,EAAK07Q,GAAOv8Q,EAAO,KAAO,EAAKu8Q,GAAOv8Q,EAAO,KAAO,EAAKu8Q,GAAOv8Q,EAAO,KAAO,EAAKu8Q,GAAOv8Q,EAAO,GAAK,CACvJ,CM4GU0kJ,CAAK1kJ,EAAOa,IAElB,KAAK,KACH,OAAOq7Q,GAAS,SAAWl8Q,EAAQA,EAGrC,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KAEL,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KAEL,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KAEL,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KACH,OAAOk8Q,GAASl8Q,EAAQA,EAG1B,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KACH,OAAOk8Q,GAASl8Q,EAAQi8Q,GAAMj8Q,EAAQg8Q,GAAKh8Q,EAAQA,EAGrD,KAAK,KACL,KAAK,KACH,OAAOk8Q,GAASl8Q,EAAQg8Q,GAAKh8Q,EAAQA,EAGvC,KAAK,KACH,OAAOk8Q,GAASl8Q,EAAQg8Q,GAAK,QAAUh8Q,EAAQA,EAGjD,KAAK,KACH,OAAOk8Q,GAASl8Q,EAAQia,GAAQja,EAAO,iBAAkBk8Q,GAAS,WAAaF,GAAK,aAAeh8Q,EAGrG,KAAK,KACH,OAAOk8Q,GAASl8Q,EAAQg8Q,GAAK,aAAe/hQ,GAAQja,EAAO,cAAe,IAAMA,EAGlF,KAAK,KACH,OAAOk8Q,GAASl8Q,EAAQg8Q,GAAK,iBAAmB/hQ,GAAQja,EAAO,4BAA6B,IAAMA,EAGpG,KAAK,KACH,OAAOk8Q,GAASl8Q,EAAQg8Q,GAAK/hQ,GAAQja,EAAO,SAAU,YAAcA,EAGtE,KAAK,KACH,OAAOk8Q,GAASl8Q,EAAQg8Q,GAAK/hQ,GAAQja,EAAO,QAAS,kBAAoBA,EAG3E,KAAK,KACH,OAAOk8Q,GAAS,OAASjiQ,GAAQja,EAAO,QAAS,IAAMk8Q,GAASl8Q,EAAQg8Q,GAAK/hQ,GAAQja,EAAO,OAAQ,YAAcA,EAGpH,KAAK,KACH,OAAOk8Q,GAASjiQ,GAAQja,EAAO,qBAAsB,KAAOk8Q,GAAS,MAAQl8Q,EAG/E,KAAK,KACH,OAAOia,GAAQA,GAAQA,GAAQja,EAAO,eAAgBk8Q,GAAS,MAAO,cAAeA,GAAS,MAAOl8Q,EAAO,IAAMA,EAGpH,KAAK,KACL,KAAK,KACH,OAAOia,GAAQja,EAAO,oBAAqBk8Q,aAG7C,KAAK,KACH,OAAOjiQ,GAAQA,GAAQja,EAAO,oBAAqBk8Q,GAAS,cAAgBF,GAAK,gBAAiB,aAAc,WAAaE,GAASl8Q,EAAQA,EAGhJ,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KACH,OAAOia,GAAQja,EAAO,kBAAmBk8Q,GAAS,QAAUl8Q,EAG9D,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KAEH,GAAIw8Q,GAAOx8Q,GAAS,EAAIa,EAAS,EAAG,OAAQ07Q,GAAOv8Q,EAAOa,EAAS,IAEjE,KAAK,IAEH,GAAkC,KAA9B07Q,GAAOv8Q,EAAOa,EAAS,GAAW,MAGxC,KAAK,IACH,OAAOoZ,GAAQja,EAAO,mBAAoB,KAAOk8Q,GAAP,UAAiCD,IAAoC,KAA7BM,GAAOv8Q,EAAOa,EAAS,GAAY,KAAO,UAAYb,EAG1I,KAAK,IACH,OAAQs8Q,GAAQt8Q,EAAO,WAAaq8D,GAAOpiD,GAAQja,EAAO,UAAW,kBAAmBa,GAAUb,EAAQA,EAE9G,MAGF,KAAK,KAEH,GAAkC,MAA9Bu8Q,GAAOv8Q,EAAOa,EAAS,GAAY,MAGzC,KAAK,KACH,OAAQ07Q,GAAOv8Q,EAAOw8Q,GAAOx8Q,GAAS,IAAMs8Q,GAAQt8Q,EAAO,eAAiB,MAE1E,KAAK,IACH,OAAOia,GAAQja,EAAO,IAAK,IAAMk8Q,IAAUl8Q,EAG7C,KAAK,IACH,OAAOia,GAAQja,EAAO,wBAAyB,KAAOk8Q,IAAgC,KAAtBK,GAAOv8Q,EAAO,IAAa,UAAY,IAAxD,UAA+Ek8Q,GAA/E,SAAwGF,GAAK,WAAah8Q,EAG7K,MAGF,KAAK,KACH,OAAQu8Q,GAAOv8Q,EAAOa,EAAS,KAE7B,KAAK,IACH,OAAOq7Q,GAASl8Q,EAAQg8Q,GAAK/hQ,GAAQja,EAAO,qBAAsB,MAAQA,EAG5E,KAAK,IACH,OAAOk8Q,GAASl8Q,EAAQg8Q,GAAK/hQ,GAAQja,EAAO,qBAAsB,SAAWA,EAG/E,KAAK,GACH,OAAOk8Q,GAASl8Q,EAAQg8Q,GAAK/hQ,GAAQja,EAAO,qBAAsB,MAAQA,EAG9E,OAAOk8Q,GAASl8Q,EAAQg8Q,GAAKh8Q,EAAQA,EAGzC,OAAOA,CACT,CAEA,IAqCIgoa,GAAuB,CArCZ,SAAkB5wZ,EAASvM,EAAOuT,EAAU6hC,GACzD,GAAI7oC,EAAQvW,QAAU,IAAQuW,EAAgB,OAAG,OAAQA,EAAQ1S,MAC/D,KAAK03Q,GACHhlQ,EAAgB,OAAIilD,GAAOjlD,EAAQpX,MAAOoX,EAAQvW,QAClD,MAEF,KAAKw7Q,GACH,OAAO/rJ,GAAU,CAACniC,GAAK/2E,EAAS,CAC9BpX,MAAOia,GAAQ7C,EAAQpX,MAAO,IAAK,IAAMk8Q,OACtCj8N,GAEP,KAAKk8N,GACH,GAAI/kQ,EAAQvW,OAAQ,ON7MnB,SAAkB8V,EAAOspC,GAC/B,OAAOtpC,EAAMlV,IAAIw+C,GAAUr+C,KAAK,GACjC,CM2MiC+sM,CAAQv3L,EAAQpF,OAAO,SAAUhS,GAC1D,ONtRD,SAAgBA,EAAOoQ,GAC7B,OAAQpQ,EAAQoQ,EAAQsK,KAAK1a,IAAUA,EAAM,GAAKA,CACnD,CMoRgB0K,CAAM1K,EAAO,0BAEnB,IAAK,aACL,IAAK,cACH,OAAOswH,GAAU,CAACniC,GAAK/2E,EAAS,CAC9BpF,MAAO,CAACiI,GAAQja,EAAO,cAAe,gBACnCigD,GAGP,IAAK,gBACH,OAAOqwE,GAAU,CAACniC,GAAK/2E,EAAS,CAC9BpF,MAAO,CAACiI,GAAQja,EAAO,aAAc,IAAMk8Q,GAAS,eAClD/tL,GAAK/2E,EAAS,CAChBpF,MAAO,CAACiI,GAAQja,EAAO,aAAc,eACnCmuF,GAAK/2E,EAAS,CAChBpF,MAAO,CAACiI,GAAQja,EAAO,aAAcg8Q,GAAK,gBACvC/7N,GAGT,MAAO,EACT,IAEN,GAIIgoX,GAAc,SAAqB3na,GACrC,IAAIiG,EAAMjG,EAAQiG,IAElB,GAAY,QAARA,EAAe,CACjB,IAAI2ha,EAAYphZ,SAASwH,iBAAiB,qCAK1C/sB,MAAMqD,UAAUyX,QAAQvK,KAAKo2Z,GAAW,SAAU3wZ,IASL,IAFhBA,EAAK6/D,aAAa,gBAEpBhsE,QAAQ,OAIjC0b,SAASm5D,KAAK1lD,YAAYhjB,GAC1BA,EAAK+d,aAAa,SAAU,IAC9B,GACF,CAEA,IAGI04O,EAkBAm6J,EArBArnJ,EAAgBxgR,EAAQwgR,eAAiBknJ,GAEzCI,EAAW,CAAC,EAEZC,EAAiB,GAGnBr6J,EAAY1tQ,EAAQ0tQ,WAAalnP,SAASm5D,KAC1C1+E,MAAMqD,UAAUyX,QAAQvK,KAExBgV,SAASwH,iBAAiB,wBAA2B/nB,EAAM,QAAS,SAAUgR,GAG5E,IAFA,IAAI+wZ,EAAS/wZ,EAAK6/D,aAAa,gBAAgBvtE,MAAM,KAE5CvD,EAAI,EAAGA,EAAIgia,EAAOzna,OAAQyF,IACjC8ha,EAASE,EAAOhia,KAAM,EAGxB+ha,EAAevna,KAAKyW,EACtB,IAKF,IAGMgxZ,EAHFC,EAAqB,CAACZ,GAAQG,IAI5BU,EAAoB,CAACtuZ,GAAWotZ,IAAU,SAAUriZ,GACtDqjZ,EAAaj6P,OAAOppJ,EACtB,KACIwjZ,EFvYD,SAAqBjoJ,GAC3B,IAAI5/Q,EAAS47Q,GAAOgE,GAEpB,OAAO,SAAUrpQ,EAASvM,EAAOuT,EAAU6hC,GAG1C,IAFA,IAAIwkI,EAAS,GAEJn+K,EAAI,EAAGA,EAAIzF,EAAQyF,IAC3Bm+K,GAAUg8F,EAAWn6Q,GAAG8Q,EAASvM,EAAOuT,EAAU6hC,IAAa,GAEhE,OAAOwkI,CACR,CACD,CE4XqBx9D,CAAWuhT,EAAmBrna,OAAO2/Q,EAAe2nJ,IAMrEN,EAAU,SAAgBxvV,EAAU4kC,EAAY+hK,EAAOqpJ,GACrDJ,EAAejpJ,EALJ,SAAgB5rB,GACpBpjI,GAAU9tG,GAAQkxO,GAASg1K,EACpC,CAKE9nJ,CAAOjoM,EAAWA,EAAW,IAAM4kC,EAAWm2I,OAAS,IAAMn2I,EAAWm2I,QAEpEi1K,IACFp0W,EAAM6zW,SAAS7qT,EAAW39G,OAAQ,EAEtC,EAGF,IAAI20D,EAAQ,CACVhuD,IAAKA,EACL+4Q,MAAO,IAAIwnJ,GAAW,CACpBvga,IAAKA,EACLynQ,UAAWA,EACX+U,MAAOziR,EAAQyiR,MACfmkJ,OAAQ5ma,EAAQ4ma,OAChB91U,QAAS9wF,EAAQ8wF,QACjB41U,eAAgB1ma,EAAQ0ma,iBAE1BjkJ,MAAOziR,EAAQyiR,MACfqlJ,SAAUA,EACVQ,WAAY,CAAC,EACbt6P,OAAQ65P,GAGV,OADA5zW,EAAM+qN,MAAMpnN,QAAQmwW,GACb9zW,CACT,ECtaA,IAAIs0W,GAAiB,SAAwBt0W,EAAOgpD,EAAYurT,GAC9D,IAAI7pa,EAAYs1D,EAAMhuD,IAAM,IAAMg3G,EAAW39G,MAO5B,IAAhBkpa,QAIwDjsZ,IAAhC03C,EAAMq0W,WAAW3pa,KACxCs1D,EAAMq0W,WAAW3pa,GAAas+G,EAAWm2I,OAE7C,EC5BA,IAAIsqB,GAAe,CACjBrjP,wBAAyB,EACzBC,YAAa,EACbC,kBAAmB,EACnBC,iBAAkB,EAClBC,iBAAkB,EAClBC,QAAS,EACTC,aAAc,EACdC,gBAAiB,EACjBC,YAAa,EACbC,QAAS,EACTC,KAAM,EACNC,SAAU,EACVC,aAAc,EACdC,WAAY,EACZC,aAAc,EACdC,UAAW,EACXE,QAAS,EACTC,WAAY,EACZC,YAAa,EACbC,aAAc,EACdC,WAAY,EACZC,cAAe,EACfC,eAAgB,EAChBC,gBAAiB,EACjB8hP,UAAW,EACXC,cAAe,EACfC,aAAc,EACdC,iBAAkB,EAClBhiP,WAAY,EACZE,WAAY,EACZC,QAAS,EACTC,MAAO,EACPC,QAAS,EACTkkJ,MAAO,EACPjkJ,QAAS,EACTC,OAAQ,EACRC,OAAQ,EACRC,KAAM,EACNwhP,gBAAiB,EAEjBvhP,YAAa,EACbC,aAAc,EACdC,YAAa,EACbC,gBAAiB,EACjBC,iBAAkB,EAClBC,iBAAkB,EAClBC,cAAe,EACfC,YAAa,GChDf,SAASqlE,GAAQ1iB,GACf,IAAIzrB,EAAQz0D,OAAOqd,OAAO,MAC1B,OAAO,SAAUjE,GAEf,YADmB2D,IAAf03C,EAAMr7C,KAAoBq7C,EAAMr7C,GAAO8mE,EAAG9mE,IACvCq7C,EAAMr7C,EACf,CACF,CCFA,IAEI6vZ,GAAiB,aACjBC,GAAiB,8BAEjBC,GAAmB,SAA0BpzU,GAC/C,OAAkC,KAA3BA,EAAS6uE,WAAW,EAC7B,EAEIwkQ,GAAqB,SAA4Blpa,GACnD,OAAgB,MAATA,GAAkC,mBAAVA,CACjC,EAEImpa,GAAkCzmU,IAAQ,SAAUsnS,GACtD,OAAOi/B,GAAiBj/B,GAAaA,EAAYA,EAAU/vX,QAAQ8uZ,GAAgB,OAAO3wZ,aAC5F,IAEIgxZ,GAAoB,SAA2B7ia,EAAKvG,GACtD,OAAQuG,GACN,IAAK,YACL,IAAK,gBAED,GAAqB,kBAAVvG,EACT,OAAOA,EAAMia,QAAQ+uZ,IAAgB,SAAUt+Z,EAAOyoL,EAAIC,GAMxD,OALA94G,GAAS,CACP16E,KAAMuzL,EACNugE,OAAQtgE,EACR56K,KAAM8hE,IAED64G,CACT,IAKR,OAAsB,IAAlBk2O,GAAS9ia,IAAe0ia,GAAiB1ia,IAAyB,kBAAVvG,GAAgC,IAAVA,EAI3EA,EAHEA,EAAQ,IAInB,EAIA,SAASspa,GAAoBC,EAAaX,EAAY/jW,GACpD,GAAqB,MAAjBA,EACF,MAAO,GAGT,IAAI2kW,EAAoB3kW,EAExB,QAA2ChoD,IAAvC2sZ,EAAkBC,iBAEpB,OAAOD,EAGT,cAAe3kW,GACb,IAAK,UAED,MAAO,GAGX,IAAK,SAED,IAAI2qO,EAAY3qO,EAEhB,GAAuB,IAAnB2qO,EAAUmuC,KAMZ,OALArjQ,GAAS,CACP16E,KAAM4vS,EAAU5vS,KAChB8zP,OAAQ87C,EAAU97C,OAClBl7O,KAAM8hE,IAEDk1N,EAAU5vS,KAGnB,IAAI8pa,EAAmB7kW,EAEvB,QAAgChoD,IAA5B6sZ,EAAiBh2K,OAAsB,CACzC,IAAIl7O,EAAOkxZ,EAAiBlxZ,KAE5B,QAAaqE,IAATrE,EAGF,UAAgBqE,IAATrE,GACL8hE,GAAS,CACP16E,KAAM4Y,EAAK5Y,KACX8zP,OAAQl7O,EAAKk7O,OACbl7O,KAAM8hE,IAER9hE,EAAOA,EAAKA,KAKhB,OADakxZ,EAAiBh2K,OAAS,GAEzC,CAEA,OA2BR,SAAgC61K,EAAaX,EAAY/sZ,GACvD,IAAI3L,EAAS,GAEb,GAAI3O,MAAMmf,QAAQ7E,GAChB,IAAK,IAAIvV,EAAI,EAAGA,EAAIuV,EAAIhb,OAAQyF,IAC9B4J,GAAUo5Z,GAAoBC,EAAaX,EAAY/sZ,EAAIvV,IAAM,SAGnE,IAAK,IAAIC,KAAOsV,EAAK,CACnB,IAAI7b,EAAQ6b,EAAItV,GAEhB,GAAqB,kBAAVvG,EAAoB,CAC7B,IAAI2pa,EAAW3pa,EAEG,MAAd4oa,QAA+C/rZ,IAAzB+rZ,EAAWe,GACnCz5Z,GAAU3J,EAAM,IAAMqia,EAAWe,GAAY,IACpCT,GAAmBS,KAC5Bz5Z,GAAUi5Z,GAAiB5ia,GAAO,IAAM6ia,GAAkB7ia,EAAKoja,GAAY,IAE/E,MAKE,IAAIpoa,MAAMmf,QAAQ1gB,IAA8B,kBAAbA,EAAM,IAAkC,MAAd4oa,QAA+C/rZ,IAAzB+rZ,EAAW5oa,EAAM,IAM7F,CACL,IAAIu0W,EAAe+0D,GAAoBC,EAAaX,EAAY5oa,GAEhE,OAAQuG,GACN,IAAK,YACL,IAAK,gBAED2J,GAAUi5Z,GAAiB5ia,GAAO,IAAMguW,EAAe,IACvD,MAGJ,QAGIrkW,GAAU3J,EAAM,IAAMguW,EAAe,IAG7C,MAtBE,IAAK,IAAIluM,EAAK,EAAGA,EAAKrmK,EAAMa,OAAQwlK,IAC9B6iQ,GAAmBlpa,EAAMqmK,MAC3Bn2J,GAAUi5Z,GAAiB5ia,GAAO,IAAM6ia,GAAkB7ia,EAAKvG,EAAMqmK,IAAO,IAsBtF,CAGF,OAAOn2J,CACT,CAhFe05Z,CAAuBL,EAAaX,EAAY/jW,GAG3D,IAAK,WAED,QAAoBhoD,IAAhB0sZ,EAA2B,CAC7B,IAAIM,EAAiBvvV,GACjBhhE,EAASurD,EAAc0kW,GAE3B,OADAjvV,GAASuvV,EACFP,GAAoBC,EAAaX,EAAYtvZ,EACtD,EAON,IAAIqwZ,EAAW9kW,EAEf,GAAkB,MAAd+jW,EACF,OAAOe,EAGT,IAAInsT,EAASorT,EAAWe,GACxB,YAAkB9sZ,IAAX2gG,EAAuBA,EAASmsT,CACzC,CAyDA,IAGIrvV,GAHAwvV,GAAe,+BAInB,SAASC,GAAgBzoa,EAAMsna,EAAYW,GACzC,GAAoB,IAAhBjoa,EAAKT,QAAmC,kBAAZS,EAAK,IAA+B,OAAZA,EAAK,SAAkCub,IAAnBvb,EAAK,GAAGoyP,OAClF,OAAOpyP,EAAK,GAGd,IAAI0oa,GAAa,EACbt2K,EAAS,GACbp5K,QAASz9D,EACT,IAAInZ,EAAUpC,EAAK,GAEJ,MAAXoC,QAAmCmZ,IAAhBnZ,EAAQyrI,KAC7B66R,GAAa,EACbt2K,GAAU41K,GAAoBC,EAAaX,EAAYlla,IAIvDgwP,GAF2BhwP,EAEI,GAIjC,IAAK,IAAI4C,EAAI,EAAGA,EAAIhF,EAAKT,OAAQyF,IAAK,CAGpC,GAFAotP,GAAU41K,GAAoBC,EAAaX,EAAYtna,EAAKgF,IAExD0ja,EAGFt2K,GAFyBhwP,EAEI4C,EAEjC,CAGAwja,GAAa7mZ,UAAY,EAIzB,IAHA,IACIvY,EADAu/Z,EAAiB,GAG0B,QAAvCv/Z,EAAQo/Z,GAAapvZ,KAAKg5O,KAChCu2K,GAAkB,IAAMv/Z,EAAM,GAGhC,IAAI9K,EC/NN,SAAiBqY,GAYf,IANA,IAEIrH,EAFAiB,EAAI,EAGJvL,EAAI,EACJg7D,EAAMrpD,EAAIpX,OAEPygE,GAAO,IAAKh7D,EAAGg7D,GAAO,EAE3B1wD,EAEe,YAAV,OAHLA,EAAwB,IAApBqH,EAAIysJ,WAAWp+J,IAAmC,IAAtB2R,EAAIysJ,aAAap+J,KAAc,GAA2B,IAAtB2R,EAAIysJ,aAAap+J,KAAc,IAA4B,IAAtB2R,EAAIysJ,aAAap+J,KAAc,MAG9F,OAAZsK,IAAM,KAAgB,IAIpDiB,EAEe,YAAV,OALLjB,GAEAA,IAAM,MAGoC,OAAZA,IAAM,KAAgB,IAErC,YAAV,MAAJiB,IAAyC,OAAZA,IAAM,KAAgB,IAItD,OAAQyvD,GACN,KAAK,EACHzvD,IAA8B,IAAxBoG,EAAIysJ,WAAWp+J,EAAI,KAAc,GAEzC,KAAK,EACHuL,IAA8B,IAAxBoG,EAAIysJ,WAAWp+J,EAAI,KAAc,EAEzC,KAAK,EAEHuL,EAEe,YAAV,OAHLA,GAAyB,IAApBoG,EAAIysJ,WAAWp+J,MAGsB,OAAZuL,IAAM,KAAgB,IASxD,SAHAA,EAEe,YAAV,OAHLA,GAAKA,IAAM,MAG+B,OAAZA,IAAM,KAAgB,KACvCA,IAAM,MAAQ,GAAG+H,SAAS,GACzC,CD8KaswZ,CAAWx2K,GAAUu2K,EAEhC,MAAO,CACLrqa,KAAMA,EACN8zP,OAAQA,EACRl7O,KAAM8hE,GAEV,CEvOA,IAIIn0B,KAAqBmyB,EAA+B,oBAAIA,EAA+B,mBACvF6xV,GAA2ChkX,IAL5B,SAAsBhpC,GACvC,OAAOA,GACT,ECQIitZ,IDJuCjkX,IAAsBmyB,EAAAA,gBCIxBA,EAAAA,cAMlB,qBAAhB60K,YAA6C86K,GAAY,CAC9D1ha,IAAK,QACF,OAOD8ja,IALgBD,GAAoBlsW,SAKjB,SAA0BpnD,GAC/C,OAAoB0nD,EAAAA,EAAAA,aAAW,SAAUxsD,EAAOZ,GAE9C,IAAImjD,GAAQvO,EAAAA,EAAAA,YAAWokX,IACvB,OAAOtzZ,EAAK9E,EAAOuiD,EAAOnjD,EAC5B,GACF,GAEI2iJ,GAA8Bz7E,EAAAA,cAAoB,CAAC,GA6CvD,IAAIb,GAAS,CAAC,EAAE7pE,eAEZ08Z,GAAe,qCAgBfC,GAAY,SAAmBt/Z,GACjC,IAAIspD,EAAQtpD,EAAKspD,MACbgpD,EAAatyG,EAAKsyG,WAClBurT,EAAc79Z,EAAK69Z,YAMvB,OALAD,GAAet0W,EAAOgpD,EAAYurT,GAClCqB,IAAyC,WACvC,ON3Ee,SAAsB51W,EAAOgpD,EAAYurT,GAC1DD,GAAet0W,EAAOgpD,EAAYurT,GAClC,IAAI7pa,EAAYs1D,EAAMhuD,IAAM,IAAMg3G,EAAW39G,KAE7C,QAAwCid,IAApC03C,EAAM6zW,SAAS7qT,EAAW39G,MAAqB,CACjD,IAAIsS,EAAUqrG,EAEd,GACEhpD,EAAM+5G,OAAO/wD,IAAerrG,EAAU,IAAMjT,EAAY,GAAIiT,EAASqiD,EAAM+qN,OAAO,GAElFptQ,EAAUA,EAAQsG,gBACCqE,IAAZ3K,EACX,CACF,CM8DWs4Z,CAAaj2W,EAAOgpD,EAAYurT,EACzC,IAEO,IACT,EAEI2B,GAAyBJ,IAAiB,SAAUr4Z,EAAOuiD,EAAOnjD,GACpE,IAAIs5Z,EAAU14Z,EAAMm9O,IAIG,kBAAZu7K,QAAsD7tZ,IAA9B03C,EAAMq0W,WAAW8B,KAClDA,EAAUn2W,EAAMq0W,WAAW8B,IAG7B,IAAIr8P,EAAmBr8J,EAAMs4Z,IACzBK,EAAmB,CAACD,GACpBzra,EAAY,GAEe,kBAApB+S,EAAM/S,UACfA,EN1HJ,SAA6B2pa,EAAY+B,EAAkBjzV,GACzD,IAAIkzV,EAAe,GAQnB,OAPAlzV,EAAW7tE,MAAM,KAAKwS,SAAQ,SAAUpd,QACR4d,IAA1B+rZ,EAAW3pa,GACb0ra,EAAiB7pa,KAAK8na,EAAW3pa,GAAa,KACrCA,IACT2ra,GAAgB3ra,EAAY,IAEhC,IACO2ra,CACT,CMgHgBC,CAAoBt2W,EAAMq0W,WAAY+B,EAAkB34Z,EAAM/S,WAC9C,MAAnB+S,EAAM/S,YACfA,EAAY+S,EAAM/S,UAAY,KAGhC,IAAIs+G,EAAawsT,GAAgBY,OAAkB9tZ,EAAWy7D,EAAAA,WAAiBy7E,KAE/E90J,GAAas1D,EAAMhuD,IAAM,IAAMg3G,EAAW39G,KAC1C,IAAIkra,EAAW,CAAC,EAEhB,IAAK,IAAIt6Z,KAASwB,EACZylE,GAAO3lE,KAAKE,EAAOxB,IAAoB,QAAVA,GAAmBA,IAAU85Z,KAC5DQ,EAASt6Z,GAASwB,EAAMxB,IAU5B,OANAs6Z,EAAS7ra,UAAYA,EAEjBmS,IACF05Z,EAAS15Z,IAAMA,GAGGknE,EAAAA,cAAoBA,EAAAA,SAAgB,KAAmBA,EAAAA,cAAoBiyV,GAAW,CACxGh2W,MAAOA,EACPgpD,WAAYA,EACZurT,YAAyC,kBAArBz6P,IACL/1F,EAAAA,cAAoB+1F,EAAkBy8P,GACzD,IAEIC,GAAYN,GC7IZr4Z,GAAM,SAAa1N,EAAMsN,GAE3B,IAAI1Q,EAAOD,UAEX,GAAa,MAAT2Q,IAAkBylE,GAAO3lE,KAAKE,EAAO,OACvC,OAAOsmE,EAAAA,cAAoBh+D,WAAMuC,EAAWvb,GAG9C,IAAI0pa,EAAa1pa,EAAKT,OAClBoqa,EAAwB,IAAI1pa,MAAMypa,GACtCC,EAAsB,GAAKR,GAC3BQ,EAAsB,GD4DC,SAA4Bvma,EAAMsN,GAEzD,IAAI84Z,EAAW,CAAC,EAEhB,IAAK,IAAItpa,KAAQwQ,EACXylE,GAAO3lE,KAAKE,EAAOxQ,KACrBspa,EAAStpa,GAAQwQ,EAAMxQ,IAM3B,OAFAspa,EAASR,IAAgB5la,EAElBoma,CACT,CCzE6BI,CAAmBxma,EAAMsN,GAEpD,IAAK,IAAI1L,EAAI,EAAGA,EAAI0ka,EAAY1ka,IAC9B2ka,EAAsB3ka,GAAKhF,EAAKgF,GAGlC,OAAOgyE,EAAAA,cAAoBh+D,MAAM,KAAM2wZ,EACzC,GAEA,SAAWr2Q,GACT,IAAIu2Q,EAEiBA,IAAQA,EAAMv2Q,EAAKu2Q,MAAQv2Q,EAAKu2Q,IAAM,CAAC,GAC7D,CAJD,CAIG/4Z,KAAQA,GAAM,CAAC,IAsElB,SAAS+8O,KACP,IAAK,IAAI/tP,EAAOC,UAAUR,OAAQS,EAAO,IAAIC,MAAMH,GAAOI,EAAO,EAAGA,EAAOJ,EAAMI,IAC/EF,EAAKE,GAAQH,UAAUG,GAGzB,OAAOuoa,GAAgBzoa,EACzB,CC3GA,MAGMkxC,GAAMvmB,KAAKumB,IACXqyD,GAAM54E,KAAK44E,IACXyB,GAAQr6E,KAAKq6E,MACbp6E,GAAQD,KAAKC,MACbk/Y,GAAe/2Y,IAAK,CACxB3yB,EAAG2yB,EACHqpB,EAAGrpB,IAwGL,SAAS2gO,GAAiBrf,GACxB,MAAM,EACJj0O,EAAC,EACDg8C,EAAC,MACDzQ,EAAK,OACLC,GACEyoM,EACJ,MAAO,CACL1oM,QACAC,SACA5uB,IAAKo/B,EACLpK,KAAM5xC,EACNqzI,MAAOrzI,EAAIurC,EACX6tJ,OAAQp9I,EAAIxQ,EACZxrC,IACAg8C,IAEJ,CCvIA,SAAS2tX,KACP,MAAyB,qBAAXt8Y,MAChB,CACA,SAAS0/N,GAAYl3O,GACnB,OAAI+zZ,GAAO/zZ,IACDA,EAAK+P,UAAY,IAAIlP,cAKxB,WACT,CACA,SAAS60O,GAAU11O,GACjB,IAAIg0Z,EACJ,OAAgB,MAARh0Z,GAA8D,OAA7Cg0Z,EAAsBh0Z,EAAK4hB,oBAAyB,EAASoyY,EAAoB94X,cAAgB1jB,MAC5H,CACA,SAAS6/N,GAAmBr3O,GAC1B,IAAItM,EACJ,OAA0F,OAAlFA,GAAQqga,GAAO/zZ,GAAQA,EAAK4hB,cAAgB5hB,EAAKuP,WAAaiI,OAAOjI,eAAoB,EAAS7b,EAAKonC,eACjH,CACA,SAASi5X,GAAOtra,GACd,QAAKqra,OAGErra,aAAiBy0Y,MAAQz0Y,aAAiBitP,GAAUjtP,GAAOy0Y,KACpE,CACA,SAASjuU,GAAUxmE,GACjB,QAAKqra,OAGErra,aAAiBimE,SAAWjmE,aAAiBitP,GAAUjtP,GAAOimE,QACvE,CACA,SAASinL,GAAcltP,GACrB,QAAKqra,OAGErra,aAAiBmtP,aAAentP,aAAiBitP,GAAUjtP,GAAOmtP,YAC3E,CACA,SAASC,GAAaptP,GACpB,SAAKqra,MAAqC,qBAAfh+K,cAGpBrtP,aAAiBqtP,YAAcrtP,aAAiBitP,GAAUjtP,GAAOqtP,WAC1E,CACA,SAASm+K,GAAkBp0Z,GACzB,MAAM,SACJ6kC,EAAQ,UACRw4M,EAAS,UACTC,EAAS,QACT5kM,GACE4+L,GAAiBt3O,GACrB,MAAO,kCAAkCuC,KAAKsiC,EAAWy4M,EAAYD,KAAe,CAAC,SAAU,YAAY/yO,SAASouC,EACtH,CAiCA,SAAS27W,KACP,QAAmB,qBAARC,MAAwBA,IAAIC,WAChCD,IAAIC,SAAS,0BAA2B,OACjD,CACA,SAASC,GAAsBr0Z,GAC7B,MAAO,CAAC,OAAQ,OAAQ,aAAamK,SAAS+sO,GAAYl3O,GAC5D,CACA,SAASm3O,GAAiBt3O,GACxB,OAAO61O,GAAU71O,GAASs3O,iBAAiBt3O,EAC7C,CAaA,SAASy3O,GAAct3O,GACrB,GAA0B,SAAtBk3O,GAAYl3O,GACd,OAAOA,EAET,MAAM+B,EAEN/B,EAAKu3O,cAELv3O,EAAKoW,YAELy/N,GAAa71O,IAASA,EAAKi3O,MAE3BI,GAAmBr3O,GACnB,OAAO61O,GAAa9zO,GAAUA,EAAOk1O,KAAOl1O,CAC9C,CACA,SAASuyZ,GAA2Bt0Z,GAClC,MAAMoW,EAAakhO,GAAct3O,GACjC,OAAIq0Z,GAAsBj+Y,GACjBpW,EAAK4hB,cAAgB5hB,EAAK4hB,cAAcZ,KAAOhhB,EAAKghB,KAEzD20N,GAAcv/N,IAAe69Y,GAAkB79Y,GAC1CA,EAEFk+Y,GAA2Bl+Y,EACpC,CACA,SAASm+Y,GAAqBv0Z,EAAMsU,EAAMkgZ,GACxC,IAAIC,OACS,IAATngZ,IACFA,EAAO,SAEe,IAApBkgZ,IACFA,GAAkB,GAEpB,MAAME,EAAqBJ,GAA2Bt0Z,GAChDu9O,EAASm3K,KAAuE,OAA9CD,EAAuBz0Z,EAAK4hB,oBAAyB,EAAS6yY,EAAqBzzY,MACrHy6N,EAAM/F,GAAUg/K,GACtB,GAAIn3K,EAAQ,CACV,MAAMo3K,EAAeC,GAAgBn5K,GACrC,OAAOnnO,EAAK1qB,OAAO6xP,EAAKA,EAAI/E,gBAAkB,GAAIu9K,GAAkBS,GAAsBA,EAAqB,GAAIC,GAAgBH,EAAkBD,GAAqBI,GAAgB,GAC5L,CACA,OAAOrgZ,EAAK1qB,OAAO8qa,EAAoBH,GAAqBG,EAAoB,GAAIF,GACtF,CACA,SAASI,GAAgBn5K,GACvB,OAAOA,EAAI1yO,QAAUxgB,OAAO8F,eAAeotP,EAAI1yO,QAAU0yO,EAAIk5K,aAAe,IAC9E,CClJA,SAASE,GAAiBh1Z,GACxB,MAAM+3O,EAAMT,GAAiBt3O,GAG7B,IAAI61B,EAAQlzB,WAAWo1O,EAAIliN,QAAU,EACjCC,EAASnzB,WAAWo1O,EAAIjiN,SAAW,EACvC,MAAMm/X,EAAYn/K,GAAc91O,GAC1B22O,EAAcs+K,EAAYj1Z,EAAQ22O,YAAc9gN,EAChD+gN,EAAeq+K,EAAYj1Z,EAAQ42O,aAAe9gN,EAClDo/X,EAAiBhmU,GAAMr5D,KAAW8gN,GAAeznJ,GAAMp5D,KAAY8gN,EAKzE,OAJIs+K,IACFr/X,EAAQ8gN,EACR7gN,EAAS8gN,GAEJ,CACL/gN,QACAC,SACAwxO,EAAG4tJ,EAEP,CAEA,SAASC,GAAcn1Z,GACrB,OAAQovD,GAAUpvD,GAAoCA,EAAzBA,EAAQmgP,cACvC,CAEA,SAAS4tG,GAAS/tV,GAChB,MAAMo1Z,EAAaD,GAAcn1Z,GACjC,IAAK81O,GAAcs/K,GACjB,OAAOpB,GAAa,GAEtB,MAAMz1L,EAAO62L,EAAW52L,yBAClB,MACJ3oM,EAAK,OACLC,EAAM,EACNwxO,GACE0tJ,GAAiBI,GACrB,IAAI9qa,GAAKg9Q,EAAIp4K,GAAMqvI,EAAK1oM,OAAS0oM,EAAK1oM,OAASA,EAC3CyQ,GAAKghO,EAAIp4K,GAAMqvI,EAAKzoM,QAAUyoM,EAAKzoM,QAAUA,EAUjD,OANKxrC,GAAM+f,OAAOkkG,SAASjkH,KACzBA,EAAI,GAEDg8C,GAAMj8B,OAAOkkG,SAASjoE,KACzBA,EAAI,GAEC,CACLh8C,IACAg8C,IAEJ,CAEA,MAAM+uX,GAAyBrB,GAAa,GAC5C,SAASsB,GAAiBt1Z,GACxB,MAAM47O,EAAM/F,GAAU71O,GACtB,OAAKq0Z,MAAez4K,EAAI/E,eAGjB,CACLvsP,EAAGsxP,EAAI/E,eAAeE,WACtBzwM,EAAGs1M,EAAI/E,eAAeG,WAJfq+K,EAMX,CAWA,SAAS72L,GAAsBx+N,EAASw2O,EAAcC,EAAiBmB,QAChD,IAAjBpB,IACFA,GAAe,QAEO,IAApBC,IACFA,GAAkB,GAEpB,MAAMC,EAAa12O,EAAQw+N,wBACrB42L,EAAaD,GAAcn1Z,GACjC,IAAIupK,EAAQyqP,GAAa,GACrBx9K,IACEoB,EACExoL,GAAUwoL,KACZruE,EAAQwkL,GAASn2G,IAGnBruE,EAAQwkL,GAAS/tV,IAGrB,MAAMu1Z,EA7BR,SAAgCv1Z,EAASq7O,EAASm6K,GAIhD,YAHgB,IAAZn6K,IACFA,GAAU,MAEPm6K,GAAwBn6K,GAAWm6K,IAAyB3/K,GAAU71O,KAGpEq7O,CACT,CAqBwBo6K,CAAuBL,EAAY3+K,EAAiBmB,GAAgB09K,GAAiBF,GAAcpB,GAAa,GACtI,IAAI1pa,GAAKosP,EAAWx6M,KAAOq5X,EAAcjra,GAAKi/K,EAAMj/K,EAChDg8C,GAAKowM,EAAWxvO,IAAMquZ,EAAcjvX,GAAKijI,EAAMjjI,EAC/CzQ,EAAQ6gN,EAAW7gN,MAAQ0zI,EAAMj/K,EACjCwrC,EAAS4gN,EAAW5gN,OAASyzI,EAAMjjI,EACvC,GAAI8uX,EAAY,CACd,MAAMx5K,EAAM/F,GAAUu/K,GAChBM,EAAY99K,GAAgBxoL,GAAUwoL,GAAgB/B,GAAU+B,GAAgBA,EACtF,IAAI+9K,EAAa/5K,EACbg6K,EAAgBb,GAAgBY,GACpC,KAAOC,GAAiBh+K,GAAgB89K,IAAcC,GAAY,CAChE,MAAME,EAAc9nE,GAAS6nE,GACvBE,EAAaF,EAAcp3L,wBAC3BuZ,EAAMT,GAAiBs+K,GACvB15X,EAAO45X,EAAW55X,MAAQ05X,EAAc13K,WAAav7O,WAAWo1O,EAAIsrB,cAAgBwyJ,EAAYvra,EAChG4c,EAAM4uZ,EAAW5uZ,KAAO0uZ,EAAc33K,UAAYt7O,WAAWo1O,EAAIgrD,aAAe8yH,EAAYvvX,EAClGh8C,GAAKura,EAAYvra,EACjBg8C,GAAKuvX,EAAYvvX,EACjBzQ,GAASggY,EAAYvra,EACrBwrC,GAAU+/X,EAAYvvX,EACtBh8C,GAAK4xC,EACLoK,GAAKp/B,EACLyuZ,EAAa9/K,GAAU+/K,GACvBA,EAAgBb,GAAgBY,EAClC,CACF,CACA,OAAO/3K,GAAiB,CACtB/nN,QACAC,SACAxrC,IACAg8C,KAEJ,CA+VA,SAASyvX,GAAc17Z,EAAGE,GACxB,OAAOF,EAAE/P,IAAMiQ,EAAEjQ,GAAK+P,EAAEisC,IAAM/rC,EAAE+rC,GAAKjsC,EAAEw7B,QAAUt7B,EAAEs7B,OAASx7B,EAAEy7B,SAAWv7B,EAAEu7B,MAC7E,CAkGA,SAAS4jL,GAAWz6I,EAAWu0Q,EAAUryO,EAAQj4G,QAC/B,IAAZA,IACFA,EAAU,CAAC,GAEb,MAAM,eACJ8sa,GAAiB,EAAI,eACrBC,GAAiB,EAAI,cACrBC,EAA0C,oBAAnBx1E,eAA6B,YACpDy1E,EAA8C,oBAAzB9vC,qBAAmC,eACxD+vC,GAAiB,GACflta,EACEmta,EAAclB,GAAcl2V,GAC5Bq3V,EAAYN,GAAkBC,EAAiB,IAAKI,EAAc3B,GAAqB2B,GAAe,MAAQ3B,GAAqBlhF,IAAa,GACtJ8iF,EAAUrxZ,SAAQsxZ,IAChBP,GAAkBO,EAAS3+Y,iBAAiB,SAAUupF,EAAQ,CAC5DriE,SAAS,IAEXm3X,GAAkBM,EAAS3+Y,iBAAiB,SAAUupF,EAAO,IAE/D,MAAMq1T,EAAYH,GAAeF,EAlHnC,SAAqBn2Z,EAASsnY,GAC5B,IACI5oS,EADA+3T,EAAK,KAET,MAAMtvZ,EAAOqwO,GAAmBx3O,GAChC,SAAS02Z,IACP,IAAIC,EACJ/1X,aAAa89D,GACC,OAAbi4T,EAAMF,IAAeE,EAAI71E,aAC1B21E,EAAK,IACP,CA2EA,OA1EA,SAASG,EAAQtla,EAAM80H,QACR,IAAT90H,IACFA,GAAO,QAES,IAAd80H,IACFA,EAAY,GAEdswS,IACA,MAAMG,EAA2B72Z,EAAQw+N,yBACnC,KACJtiM,EAAI,IACJh1B,EAAG,MACH2uB,EAAK,OACLC,GACE+gY,EAIJ,GAHKvla,GACHg2Y,KAEGzxW,IAAUC,EACb,OAEF,MAKM5sC,EAAU,CACdq9X,YANezxW,GAAM5N,GAIQ,OAHZ4N,GAAM3N,EAAKgzO,aAAej+M,EAAOrG,IAGC,OAFjC/gB,GAAM3N,EAAK+yO,cAAgBhzO,EAAM4uB,IAEuB,OAD1DhhB,GAAMonB,GACyE,KAG/FkqF,UAAW34B,GAAI,EAAGryD,GAAI,EAAGgrF,KAAe,GAE1C,IAAI0wS,GAAgB,EACpB,SAASC,EAAcrkV,GACrB,MAAMyzO,EAAQzzO,EAAQ,GAAGskV,kBACzB,GAAI7wG,IAAU//L,EAAW,CACvB,IAAK0wS,EACH,OAAOF,IAEJzwG,EAOHywG,GAAQ,EAAOzwG,GAJfznN,EAAYh+D,YAAW,KACrBk2X,GAAQ,EAAO,KAAK,GACnB,IAIP,CACc,IAAVzwG,GAAgB4vG,GAAcc,EAA0B72Z,EAAQw+N,0BAQlEo4L,IAEFE,GAAgB,CAClB,CAIA,IACEL,EAAK,IAAIpwC,qBAAqB0wC,EAAe,IACxC7ta,EAEHie,KAAMA,EAAK4a,eAEf,CAAE,MAAO1yB,KACPona,EAAK,IAAIpwC,qBAAqB0wC,EAAe7ta,EAC/C,CACAuta,EAAGv2E,QAAQlgV,EACb,CACA42Z,EAAQ,GACDF,CACT,CA6BiDO,CAAYZ,EAAal1T,GAAU,KAClF,IAsBI+1T,EAtBAC,GAAkB,EAClBC,EAAiB,KACjBlB,IACFkB,EAAiB,IAAI12E,gBAAe7sV,IAClC,IAAKwja,GAAcxja,EACfwja,GAAcA,EAAW1vY,SAAW0uY,GAAee,IAGrDA,EAAeE,UAAU9jF,GACzBhzG,qBAAqB22L,GACrBA,EAAiBn8U,uBAAsB,KACrC,IAAIu8U,EACkC,OAArCA,EAAkBH,IAA2BG,EAAgBr3E,QAAQ1M,EAAS,KAGnFryO,GAAQ,IAENk1T,IAAgBD,GAClBgB,EAAel3E,QAAQm2E,GAEzBe,EAAel3E,QAAQ1M,IAGzB,IAAIgkF,EAAcpB,EAAiB53L,GAAsBv/J,GAAa,KAatE,OAZIm3V,GAGJ,SAASqB,IACP,MAAMC,EAAcl5L,GAAsBv/J,GACtCu4V,IAAgBzB,GAAcyB,EAAaE,IAC7Cv2T,IAEFq2T,EAAcE,EACdR,EAAUl8U,sBAAsBy8U,EAClC,CATEA,GAUFt2T,IACO,KACL,IAAIw2T,EACJrB,EAAUrxZ,SAAQsxZ,IAChBP,GAAkBO,EAASztY,oBAAoB,SAAUq4E,GACzD80T,GAAkBM,EAASztY,oBAAoB,SAAUq4E,EAAO,IAErD,MAAbq1T,GAAqBA,IACkB,OAAtCmB,EAAmBP,IAA2BO,EAAiB72E,aAChEs2E,EAAiB,KACbhB,GACF51L,qBAAqB02L,EACvB,CAEJ,CCxoBA,IAAIzja,GAAQu7C,EAAAA,m9LJgHZ,WACE,IAAI4oX,EAAa7/K,GAAI70O,WAAM,EAAQjZ,WAC/BzB,EAAO,aAAeova,EAAWpva,KACrC,MAAO,CACLA,KAAMA,EACN8zP,OAAQ,cAAgB9zP,EAAO,IAAMova,EAAWt7K,OAAS,IACzDiqF,KAAM,EACN/jU,SAAU,WACR,MAAO,QAAUmD,KAAKnd,KAAO,IAAMmd,KAAK22O,OAAS,OACnD,EAEJ,UK7HA,SAAgCjtP,EAAG0vC,GACjC,OAAOA,IAAMA,EAAI1vC,EAAE0E,MAAM,IAAKrL,OAAOsc,OAAOtc,OAAO29L,iBAAiBh3L,EAAG,CACrE0oI,IAAK,CACHnvI,MAAOF,OAAOsc,OAAO+5B,MAG3B,u1MCNI84X,GAAYxtZ,OAAOyT,OACnB,SAAkBl1B,GACd,MAAwB,kBAAVA,GAAsBA,IAAUA,CAClD,EAUJ,SAASkva,GAAeC,EAAWC,GAC/B,GAAID,EAAUtua,SAAWuua,EAAWvua,OAChC,OAAO,EAEX,IAAK,IAAIyF,EAAI,EAAGA,EAAI6oa,EAAUtua,OAAQyF,IAClC,GAdS07E,EAcImtV,EAAU7oa,GAdPo8O,EAcW0sL,EAAW9oa,KAbtC07E,IAAU0gK,GAGVusL,GAAUjtV,IAAUitV,GAAUvsL,IAW1B,OAAO,EAfnB,IAAiB1gK,EAAO0gK,EAkBpB,OAAO,CACX,4/UAEA,SAAoB2sL,EAAUz2V,QACV,IAAZA,IAAsBA,EAAUs2V,IACpC,IAAI36W,EAAQ,KACZ,SAASqtC,IAEL,IADA,IAAI0tU,EAAU,GACLjpQ,EAAK,EAAGA,EAAKhlK,UAAUR,OAAQwlK,IACpCipQ,EAAQjpQ,GAAMhlK,UAAUglK,GAE5B,GAAI9xG,GAASA,EAAMg7W,WAAaxyZ,MAAQ67D,EAAQ02V,EAAS/6W,EAAMi7W,UAC3D,OAAOj7W,EAAMmtC,WAEjB,IAAIA,EAAa2tU,EAAS/0Z,MAAMyC,KAAMuyZ,GAMtC,OALA/6W,EAAQ,CACJmtC,WAAYA,EACZ8tU,SAAUF,EACVC,SAAUxyZ,MAEP2kF,CACX,CAIA,OAHAE,EAAS7lF,MAAQ,WACbw4C,EAAQ,IACZ,EACOqtC,CACX,4kaC/CA,SAAmBzrD,EAAG1vC,GACpB,GAAI,mBAAqBA,GAAK,OAASA,EAAG,MAAM,IAAI+vE,UAAU,sDAC9DrgC,EAAEvxC,UAAY9E,OAAOqd,OAAO1W,GAAKA,EAAE7B,UAAW,CAC5CgY,YAAa,CACX5c,MAAOm2C,EACPwzC,UAAU,EACV9xD,cAAc,KAEd/3B,OAAOC,eAAeo2C,EAAG,YAAa,CACxCwzC,UAAU,IACRljF,GAAK,GAAe0vC,EAAG1vC,EAC7B,aCTA,SAAsB0vC,GACpB,IAAIsH,EAAI,KACR,OAAO,WACL,IAAIh3C,EACFk4E,EAAI,GAAexoC,GACrB,GAAIsH,EAAG,CACL,IAAIv6B,EAAI,GAAenG,MAAMH,YAC7BnW,EAAIuwB,QAAQC,UAAU0nD,EAAGt9E,UAAW6hB,EACtC,MAAOzc,EAAIk4E,EAAErkE,MAAMyC,KAAM1b,WACzB,OAAO,GAA0B0b,KAAMtW,EACzC,CACF,4BCdA,SAAyBgL,EAAGT,GAC1B,KAAMS,aAAaT,GAAI,MAAM,IAAIwlE,UAAU,oCAC7C,8wQ7BKA,SAAsB/vE,EAAGg3C,EAAGtH,GACnBsH,GAAKipX,GAAkBjga,EAAE7B,UAAW64C,GAAItH,GAAKuwX,GAAkBjga,EAAG0vC,GAAIr2C,OAAOC,eAAe0G,EAAG,YAAa,CACjHkjF,UAAU,GAEd,u2c8BeA,IAAI8lV,IAAkCjxW,EAAAA,EAAAA,aAAW,SAAUxsD,EAAOZ,GAChE,IAAIs+Z,E/BrBN,SAAyBzka,GACvB,IAAI0ka,EAAwB1ka,EAAK2ka,kBAC/BA,OAA8C,IAA1BD,EAAmC,GAAKA,EAC5DE,EAAwB5ka,EAAK6ka,kBAC7BA,OAA8C,IAA1BD,GAA2CA,EAC/DE,EAAoB9ka,EAAKytB,aACzBA,OAAqC,IAAtBq3Y,EAA+B,KAAOA,EACrDC,EAAkB/ka,EAAKo7O,WACvB4pL,EAAkBhla,EAAKila,WACvBC,EAAgBlla,EAAKmiK,SACrBgjQ,EAAqBnla,EAAKola,cAC1BC,EAAmBrla,EAAKsla,YACxBC,EAAkBvla,EAAKwla,WACvB9nK,EAAa19P,EAAKjL,MAClB0wa,EAAkBn4I,GAAyBttR,EAAMotJ,IAEjDs4Q,EAAartI,IADC98O,EAAAA,EAAAA,eAA6B3pC,IAApBmzZ,EAAgCA,EAAkBJ,GAClC,GACvCgB,EAAkBD,EAAW,GAC7BE,EAAqBF,EAAW,GAEhCG,EAAaxtI,IADE98O,EAAAA,EAAAA,eAA6B3pC,IAApBozZ,EAAgCA,EAAkBH,GAClC,GACxCiB,EAAkBD,EAAW,GAC7BE,EAAqBF,EAAW,GAEhCG,EAAa3tI,IADE98O,EAAAA,EAAAA,eAAwB3pC,IAAf8rP,EAA2BA,EAAajwO,GACxB,GACxCuzN,EAAaglL,EAAW,GACxBC,EAAgBD,EAAW,GACzB7jQ,GAAWrnH,EAAAA,EAAAA,cAAY,SAAU/lD,EAAOmxa,GACb,oBAAlBhB,GACTA,EAAcnwa,EAAOmxa,GAEvBD,EAAclxa,EAChB,GAAG,CAACmwa,IACAE,GAAgBtqX,EAAAA,EAAAA,cAAY,SAAU/lD,EAAOmxa,GAC/C,IAAIrjT,EAC8B,oBAAvBsiT,IACTtiT,EAAWsiT,EAAmBpwa,EAAOmxa,IAEvCN,OAAgCh0Z,IAAbixG,EAAyBA,EAAW9tH,EACzD,GAAG,CAACowa,IACAK,GAAa1qX,EAAAA,EAAAA,cAAY,WACI,oBAApByqX,GACTA,IAEFQ,GAAmB,EACrB,GAAG,CAACR,IACAD,GAAcxqX,EAAAA,EAAAA,cAAY,WACI,oBAArBuqX,GACTA,IAEFU,GAAmB,EACrB,GAAG,CAACV,IACAjqL,OAAiCxpO,IAApBmzZ,EAAgCA,EAAkBY,EAC/DV,OAAiCrzZ,IAApBozZ,EAAgCA,EAAkBc,EAC/D/wa,OAAuB6c,IAAf8rP,EAA2BA,EAAa1c,EACpD,OAAOm3C,GAAcA,GAAc,CAAC,EAAGstI,GAAkB,CAAC,EAAG,CAC3DrqL,WAAYA,EACZ6pL,WAAYA,EACZ9iQ,SAAUA,EACVijQ,cAAeA,EACfE,YAAaA,EACbE,WAAYA,EACZzwa,MAAOA,GAEX,C+B3CwBoxa,CAAgBp/Z,GACtC,OAAoBsmE,EAAAA,cAAoB8/E,GAAQ5T,GAAS,CACvDpzI,IAAKA,GACJs+Z,GACL,IACI2B,GAAuB5B,GCV3B,MAAMh2C,GAAgBr2G,GAAOK,GAAG;;;;;;;EAS1BsxG,GAAoB3xG,GAAOK,GAAG;;;;;;;;;;;;;;;;;;EAoB9Bi2G,GAAat2G,GAAOx4B,GAAK;;;;;;;;;;;;;;;;;;;;;EAuBzBk9J,GAAW1kI,GAAOx4B,GAAK;;;;;;;EASvBg9J,GAAaxkI,GAAOK,GAA0B;gBACnCzxQ,GAAUA,EAAMiwX;;;;;;;;;;;;;;;;;;;;;EAuB3B4lB,GAAczkI,GAAOK,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoCxB6tJ,GAAWluJ,GAAOvuH,GAAI;;;;;;;;;;EAYtB08Q,GAAcnuJ,GAAOK,GAAG;;;;EAMxBukI,GAAW5kI,GAAOK,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiCrB+tJ,GAAcpuJ,GAAOK,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyExBguJ,GAA6C,CACjDC,QAAU3zY,IAAI,IACTA,EACHixH,gBAAiB,UACjB27H,YAAa,UACb,UAAW,CACTA,YAAa,WAEfP,UAAW,SAEbunJ,KAAO5zY,IAAI,IACNA,EACHixH,gBAAiB,UACjB67F,OAAQ,sBAEVuyF,OAAQA,CAACr/S,EAAI9yB,KAAA,IAAE,UAAEq8R,EAAS,WAAE3J,GAAY1yR,EAAA,MAAM,IACzC8yB,EACHixH,gBAAiB2uI,EAAa,UAAY2J,EAAY,UAAY,UAClEn4P,MAAO,UACPmrC,OAAQ,UACT,EACDs3V,YAAc7zY,IAAI,IACbA,EACHoR,MAAO,aAqMX,GAjM0DxrB,IAAqB,IAApB,WAAE62Q,GAAY72Q,EACvE,MAAOkuZ,EAAWC,IAAgBtrX,EAAAA,EAAAA,WAAS,IACpCurX,EAAcC,IAAmBxrX,EAAAA,EAAAA,UAAS,KAC1CyrX,EAAkBC,IAAuB1rX,EAAAA,EAAAA,UAAyBm6W,GAAmB,IAEtFjf,EAAYppU,EAAAA,SAChB,MACE+kB,KAAM,mBAAmBpxE,KAAKC,MAAsB,IAAhBD,KAAK8pB,kCACzCnwB,KAAM,mBAAmBqG,KAAKC,MAAsB,IAAhBD,KAAK8pB,qCAE3C,IAcIo8X,EAAkBA,CAACnya,EAAeiM,KACtCioE,UAAUinO,UACPC,UAAUp7S,GACVs4C,MAAK,KACJ05X,EAAgB,GAAG/la,0BACnB6la,GAAa,EAAK,IAEnBv5X,OAAOhiC,GAAQxV,QAAQmnB,MAAM,kBAAmB3R,IAAK,EAQpD2pZ,EAAW1lI,EAAW43I,cAAc1na,MAAM,yBAChD,IAAImlC,EAAMqwX,EAAWA,EAAS,GAAK,GAGnCrwX,EAAMA,EAAI51B,QAAQ,wBAAyB,4BAE3C,MAAMk6F,EAAkC,CAAC,EAEnCisT,EACJ,6HACF,IAAI11Z,EACJ,KAAkE,QAA1DA,EAAQ01Z,EAAc1lZ,KAAK8/Q,EAAW43I,iBAA0B,CAEtE,MAAM7ra,EAAMmE,EAAM,IAAMA,EAAM,IAAMA,EAAM,IAAMA,EAAM,GAChD1K,EAAQ0K,EAAM,IAAMA,EAAM,IAAMA,EAAM,IAAMA,EAAM,GAEpDnE,GAAOvG,GAAiB,iBAARuG,IAClB4tG,EAAQ5tG,GAAOvG,EAEnB,CAEA,OAAKw6R,EAAW43I,eAGd17Q,EAAAA,GAAAA,MAAC+iO,GAAa,CAAAr7W,SAAA,EACZw2I,EAAAA,GAAAA,KAAC8kO,GAAU,CAAAt7W,UACTw2I,EAAAA,GAAAA,KAACg2F,GAAKO,OAAM,CAAClsP,UAAU,iBAAgBmf,UACrCw2I,EAAAA,GAAAA,KAACC,GAAG,CAAC51J,UAAU,qBAAoBmf,UACjCs4I,EAAAA,GAAAA,MAACtB,GAAG,CAAAh3I,SAAA,EACFw2I,EAAAA,GAAAA,KAAA,MAAI31J,UAAU,6BAA4Bmf,SAAC,sBAC3Cw2I,EAAAA,GAAAA,KAAA,OAAK31J,UAAU,WAAUmf,SAAC,+KASlCw2I,EAAAA,GAAAA,KAACmgO,GAAiB,CAAA32W,UAEhBs4I,EAAAA,GAAAA,MAAC46Q,GAAQ,CAAAlzZ,SAAA,EACPw2I,EAAAA,GAAAA,KAACQ,GAAG,CAACxpI,GAAI,EAAExN,UACTs4I,EAAAA,GAAAA,MAACoxP,GAAQ,CAAA1pY,SAAA,EACPs4I,EAAAA,GAAAA,MAACkxP,GAAU,CAAC3lB,UAAWyf,EAAUrkT,KAAKj/E,SAAA,EACpCw2I,EAAAA,GAAAA,KAAA,QAAM31J,UAAU,cAAamf,SAAC,MAAQ,6BAEtCw2I,EAAAA,GAAAA,KAACyoP,GAAe,CAAC7R,KAAM0S,SAEzBxnP,EAAAA,GAAAA,MAACmxP,GAAW,CAAAzpY,SAAA,EACVw2I,EAAAA,GAAAA,KAAA,KAAAx2I,SAAG,sEACHs4I,EAAAA,GAAAA,MAAC66Q,GAAW,CAAAnzZ,SAAA,EACVs4I,EAAAA,GAAAA,MAACsxP,GAAQ,CAAA5pY,SAAA,EACPs4I,EAAAA,GAAAA,MAAA,OAAKz3J,UAAU,gBAAemf,SAAA,EAC5Bw2I,EAAAA,GAAAA,KAAA,OAAK31J,UAAU,QAAOmf,SAAC,kBACvBw2I,EAAAA,GAAAA,KAAA,OAAK31J,UAAU,QAAOmf,SAAEyxB,QAE1B6mH,EAAAA,GAAAA,MAACmC,GAAM,CACLh0I,QAAQ,kBACRwoC,KAAK,KACLpuD,UAAU,WACVkuD,QAASA,IAAMglX,EAAgBtiY,EAAK,gBAAgBzxB,SAAA,EAEpDw2I,EAAAA,GAAAA,KAACyoP,GAAe,CAAC7R,KAAMgT,GAAQv/Y,UAAU,SAAS,aAIrDa,OAAOgqF,QAAQqqB,GAAS1yG,KAAIilB,IAAA,IAAEngB,EAAKvG,GAAM0mB,EAAA,OACxCgwI,EAAAA,GAAAA,MAACsxP,GAAQ,CAAA5pY,SAAA,EACPs4I,EAAAA,GAAAA,MAAA,OAAKz3J,UAAU,gBAAemf,SAAA,EAC5Bw2I,EAAAA,GAAAA,KAAA,OAAK31J,UAAU,QAAOmf,SAAE7X,KACxBquJ,EAAAA,GAAAA,KAAA,OAAK31J,UAAU,QAAOmf,SAAEpe,QAE1B02J,EAAAA,GAAAA,MAACmC,GAAM,CACLh0I,QAAQ,kBACRwoC,KAAK,KACLpuD,UAAU,WACVkuD,QAASA,IAAMglX,EAAgBnya,EAAOuG,GAAK6X,SAAA,EAE3Cw2I,EAAAA,GAAAA,KAACyoP,GAAe,CAAC7R,KAAMgT,GAAQv/Y,UAAU,SAAS,YAXvCsH,EAcJ,gBAOrBquJ,EAAAA,GAAAA,KAACQ,GAAG,CAACxpI,GAAI,EAAExN,UAETs4I,EAAAA,GAAAA,MAACoxP,GAAQ,CAAA1pY,SAAA,EACPs4I,EAAAA,GAAAA,MAACkxP,GAAU,CAAC3lB,UAAWyf,EAAU97X,KAAKxH,SAAA,EACpCw2I,EAAAA,GAAAA,KAAA,QAAM31J,UAAU,cAAamf,SAAC,MAAQ,gBAEtCw2I,EAAAA,GAAAA,KAACyoP,GAAe,CAAC7R,KAAM6S,SAEzB3nP,EAAAA,GAAAA,MAACmxP,GAAW,CAAAzpY,SAAA,EACVw2I,EAAAA,GAAAA,KAAA,KAAAx2I,SAAG,iFACHs4I,EAAAA,GAAAA,MAAC86Q,GAAW,CAAApzZ,SAAA,EACVs4I,EAAAA,GAAAA,MAAA,OAAKz3J,UAAU,cAAamf,SAAA,EAC1Bw2I,EAAAA,GAAAA,KAAA,QAAAx2I,SAAM,uCACNw2I,EAAAA,GAAAA,KAACwD,GAAM,CACLn5J,UAAU,kBACVoza,gBAAgB,SAChB/xa,QAASqga,GACT3ga,MAAOiya,EACP7kQ,SAhHUt/C,IAC5BokT,EAAoBpkT,GAAY6yS,GAAmB,GAAG,EAgHpCjtK,OAAQ+9K,GACRa,cAAc,QAGlB57Q,EAAAA,GAAAA,MAAA,OAAKz3J,UAAU,eAAcmf,SAAA,EAC3Bs4I,EAAAA,GAAAA,MAACmC,GAAM,CAACh0I,QAAQ,UAAUwoC,KAAK,KAAKF,QA3I9BolX,KACtB,MAAM3sZ,EAAOg6Y,GAAcplI,EAAW43I,cAAeH,EAAiBjya,OACtEk0E,UAAUinO,UACPC,UAAUx1R,GACV0yB,MAAK,KACJ05X,EAAgB,6BAChBF,GAAa,EAAK,IAEnBv5X,OAAOhiC,GAAQxV,QAAQmnB,MAAM,kBAAmB3R,IAAK,EAmIsBtX,UAAU,cAAamf,SAAA,EACnFw2I,EAAAA,GAAAA,KAACyoP,GAAe,CAAC7R,KAAMgT,GAAQv/Y,UAAU,SAAS,gBAGpD21J,EAAAA,GAAAA,KAAC49Q,GAAiB,CAChB3wZ,SAAUowZ,EAAiBtiW,OAC3BlyC,MAAOg1Y,GAAAA,GACPxN,YAAa,CACXr4I,SAAU,QACV8lJ,UAAW,aACXpnI,WAAY,YAEd+3H,eAAe,EAAKjlZ,SAEnBwhZ,GAAcplI,EAAW43I,cAAeH,EAAiBjya,6BAU1E40J,EAAAA,GAAAA,KAAC82H,GAAK,CACJ5oB,KAAM+uK,EACNvmJ,QAASA,IAAMwmJ,GAAa,GAC5B78V,MAAO,IACP02M,UAAQ,EACR1sR,UAAU,iCACVw+B,MAAO,CAAEb,OAAQ,KAAOxe,UAExBs4I,EAAAA,GAAAA,MAACg1H,GAAMzgC,KAAI,CAAChsP,UAAU,kDAAiDmf,SAAA,EACrEw2I,EAAAA,GAAAA,KAACyoP,GAAe,CAAC7R,KAAM4S,GAAen/Y,UAAU,SAC/C8ya,UA9H6B,IAiIpB,EClapB,GAxDgCY,KAC9B,MAAMrvX,EAAW6xH,KACXvlE,EAAoBwlE,GAAevjE,IACnCnC,EAAyB0lE,GAAezjE,IACxCnR,EAAkB40E,GAAez0E,KAC/B7jF,KAAMk9Q,EAAU,UAAEpnL,GAAc0rB,GACtC,CAAEpH,WAAYtnB,GAAqB,IACnC,CAAElnG,MAAOknG,KAIX3pD,EAAAA,EAAAA,YAAU,KACR,MAAMw+V,EAAe3nT,aAAaG,QAAQ,mBACtCwnT,IAAiBjkT,GACnBl9C,EAASm9C,GAAmBgkT,GAC9B,GACC,CAACnhW,EAAUk9C,IAEd,MAAMoyU,GAAoBvsX,EAAAA,EAAAA,UAAQ,KAAO,IAAD6zO,EACtC,OAAiB,OAAVF,QAAU,IAAVA,GAAkB,QAARE,EAAVF,EAAYl9J,cAAM,IAAAo9J,OAAR,EAAVA,EAAoBvtQ,QAAQi0E,GAAoD,eAA1CA,EAAM45L,WAAW9nL,OAAOt6F,eAA+B,GACnG,CAAW,OAAV4hR,QAAU,IAAVA,OAAU,EAAVA,EAAYl9J,SAwBhB,OAAIlqB,EACK,MAIPgiD,EAAAA,GAAAA,KAAA+B,GAAAA,SAAA,CAAAv4I,SA3BoBy0Z,MACpB,OAAQnjU,GACN,IAAK,YACH,OAAOklD,EAAAA,GAAAA,KAAC4oQ,GAAwB,IAGlC,IAAK,2BACH,OAAO5oQ,EAAAA,GAAAA,KAACykQ,GAAqB,IAC/B,IAAK,mBACH,OACEuZ,GACAA,EAAkB/xa,OAAS,GAC3B+xa,EAAkBnxa,KAAKm/F,IACrBg0D,EAAAA,GAAAA,KAACk+Q,GAAgB,CAAgBt4I,WAAY55L,EAAM45L,WAAY55L,MAAOA,GAA/CA,EAAM35D,MAGnC,QACE,OAAO,KACX,EAUG4rY,IAEA,EC9BDE,GAAYA,KAChBn+Q,EAAAA,GAAAA,KAAA,OAAK3nH,MAAM,KAAKC,OAAO,KAAKi4O,QAAQ,YAAY7+I,KAAK,eAAernI,UAAU,YAAWmf,UACvFw2I,EAAAA,GAAAA,KAAA,QAAMhjJ,EAAE,0LAINoha,GAAe5vJ,GAAOvqH,GAAoB;;;;;;;;;;;;;;;;;;;;;;;;;EA4B1Co6Q,GAAYA,KAChBr+Q,EAAAA,GAAAA,KAAA,OAAK3nH,MAAM,KAAKC,OAAO,KAAKi4O,QAAQ,YAAY7+I,KAAK,eAAernI,UAAU,eAAcmf,UAC1Fw2I,EAAAA,GAAAA,KAAA,QAAMhjJ,EAAE,2IAINsha,GAAkBA,KACtBt+Q,EAAAA,GAAAA,KAAA,OAAK3nH,MAAM,KAAKC,OAAO,KAAKi4O,QAAQ,YAAY7+I,KAAK,eAAernI,UAAU,eAAcmf,UAC1Fw2I,EAAAA,GAAAA,KAAA,QAAMhjJ,EAAE,qNAINuha,GAAeA,KACnBv+Q,EAAAA,GAAAA,KAAA,OAAK3nH,MAAM,KAAKC,OAAO,KAAKi4O,QAAQ,YAAY7+I,KAAK,eAAernI,UAAU,eAAcmf,UAC1Fw2I,EAAAA,GAAAA,KAAA,QAAMhjJ,EAAE,oJA6wBZ,GAzwBiCwha,KAC/B,MAAQt2Z,KAAMu2Z,EAAS,UAAEzgU,EAAS,MAAE1qF,GAAU04H,GAAiB,CAAC,IACxD9jI,KAAMw2Z,GAAgBlyS,KACxB4rB,EAAWR,MAEVnM,GAAcS,MACdf,GAAcY,MACdL,GAAcS,MACdR,GAAqBS,MAErB2pQ,EAAWC,IAAgBpkW,EAAAA,EAAAA,WAAS,IACpCy6C,EAAc4pT,IAAmBrkW,EAAAA,EAAAA,UAAS,KAC1CynO,EAAiBC,IAAsB1nO,EAAAA,EAAAA,WAAS,IAChD+sX,EAAeC,IAAoBhtX,EAAAA,EAAAA,WAAS,IAC5Co1W,EAAiBC,IAAsBr1W,EAAAA,EAAAA,WAAS,IAChDitX,EAAcC,IAAmBltX,EAAAA,EAAAA,UAAsB,OACvDmtX,EAAeC,IAAoBptX,EAAAA,EAAAA,UAAmB,KACtDqtX,EAAYC,IAAiBttX,EAAAA,EAAAA,UAGjC,CAAEjgD,IAAK,GAAIkzG,UAAW,QAElBs6T,EAAaC,IAAkBxtX,EAAAA,EAAAA,UAAwB,CAC5DoiM,SAAU,GACVt5M,MAAO,GACPk/O,WAAY,GACZosB,UAAW,GACXprQ,SAAU,GACVykY,iBAAkB,MAGbC,EAAcC,IAAmB3tX,EAAAA,EAAAA,UAAwB,CAC9DlX,MAAO,GACPk/O,WAAY,GACZosB,UAAW,MAEN9xD,EAAcC,IAAmBviM,EAAAA,EAAAA,WAAS,GAE3Ck7V,EAAYppU,EAAAA,SAChB,MACE87V,MAAO,mBAAmBnoZ,KAAKC,MAAsB,IAAhBD,KAAK8pB,kCAC1CoqG,MAAO,mBAAmBl0H,KAAKC,MAAsB,IAAhBD,KAAK8pB,qCAE5C,IA0FI+sV,EAAcv8X,IAClB,IAAIkzG,EAA+C,YAC/Co6T,EAAWtta,MAAQA,IACQ,cAAzBsta,EAAWp6T,UACbA,EAAY,aACsB,eAAzBo6T,EAAWp6T,YACpBA,EAAY,OAGhBq6T,EAAc,CAAEvta,MAAKkzG,aAAY,EA6C7B46T,EAAcve,IAClB,MAAM1mX,EAAO,IAAInG,KAAK6sX,GAGtB,GAAI1mX,EAAKklY,cAAgB,IACvB,MAAO,QAGT,MAAMprY,EAAM,IAAID,KAEhB,GAAImG,EAAOlG,EACT,OAAOkG,EAAKy1O,mBAAmB,QAAS,CACtCxiC,KAAM,UACN9yM,MAAO,QACPgzM,IAAK,UACLC,KAAM,UACNC,OAAQ,YAIZ,MAAM8xL,EAAWrrY,EAAI2pC,UAAYzjC,EAAKyjC,UAChC2hW,EAAWvoZ,KAAKC,MAAMqoZ,EAAQ,OAEpC,OAAiB,IAAbC,EACKplY,EAAKqlY,mBAAmB,QAAS,CAAEjyL,KAAM,UAAWC,OAAQ,YAAe,SAC5D,IAAb+xL,EACF,YACEA,EAAW,EACb,GAAGA,aAEHplY,EAAKy1O,mBAAmB,QAAS,CACtCxiC,KAAM,UACN9yM,MAAO,QACPgzM,IAAK,WAET,EA4BF,OAAI3vI,GAEAgiD,EAAAA,GAAAA,KAACJ,GAAS,CAACv1J,UAAU,qCAAoCmf,UACvDw2I,EAAAA,GAAAA,KAAC6rI,GAAO,CAAChsP,UAAU,aAKrBvsB,GAEA0sI,EAAAA,GAAAA,KAACJ,GAAS,CAACv1J,UAAU,OAAMmf,UACzBw2I,EAAAA,GAAAA,KAAA,OAAK31J,UAAU,qBAAoBmf,SAAC,2BAMxCs4I,EAAAA,GAAAA,MAAClC,GAAS,CAACE,OAAK,EAACz1J,UAAU,MAAKmf,SAAA,EAE9Bs4I,EAAAA,GAAAA,MAAC7B,GAAG,CAAC51J,UAAU,OAAMmf,SAAA,EACnBw2I,EAAAA,GAAAA,KAACQ,GAAG,CAAAh3I,UACFw2I,EAAAA,GAAAA,KAAA,MAAI31J,UAAU,yCAAwCmf,SAAC,uBAEzDw2I,EAAAA,GAAAA,KAACQ,GAAG,CAACjhB,GAAI,EAAE/1H,UACTs4I,EAAAA,GAAAA,MAACmC,GAAM,CAACh0I,QAAQ,kBAAkBsoC,QAASA,IAAM6/F,GAAU,GAAIvvH,MAAO,CAAEwP,MAAO,OAAQC,OAAQ,OAAQ9uB,SAAA,EACrGw2I,EAAAA,GAAAA,KAAA,KAAG31J,UAAU,2BAA6B,gBAMhDy3J,EAAAA,GAAAA,MAAC7B,GAAG,CAAAz2I,SAAA,EACFs4I,EAAAA,GAAAA,MAACtB,GAAG,CAACxpI,GAAI,EAAExN,SAAA,EAETs4I,EAAAA,GAAAA,MAACk0F,GAAI,CAAC3wM,GAAG,OAAOp8B,KAAK,QAAQ5e,UAAU,OAAMmf,SAAA,EAC3Cs4I,EAAAA,GAAAA,MAACk0F,GAAKO,OAAM,CACVlsP,UAAU,4DACVw+B,MAAO,CAAE8lK,WAAYm+M,EAAU0yB,OAAQh2Z,SAAA,EAEvCw2I,EAAAA,GAAAA,KAAA,MAAI31J,UAAU,OAAMmf,SAAC,0BACrBw2I,EAAAA,GAAAA,KAAA,OAAKn3H,MAAO,CAAEkkK,WAAY,UAAWvjL,UACnCs4I,EAAAA,GAAAA,MAACmC,GAAM,CAACh0I,QAAQ,QAAQ2U,UAAQ,EAAApb,SAAA,EAC9Bw2I,EAAAA,GAAAA,KAAA,KAAG31J,UAAU,qBAAuB,yBAI1C21J,EAAAA,GAAAA,KAACg2F,GAAKK,KAAI,CAAA7sO,SACmB,WAAf,OAAXk1Z,QAAW,IAAXA,OAAW,EAAXA,EAAa1qL,YACZlyF,EAAAA,GAAAA,MAAA,OAA0Bz3J,UAAU,qBAAoBmf,SAAA,EACtDs4I,EAAAA,GAAAA,MAAA,OAAKz3J,UAAU,mBAAkBmf,SAAA,EAC/Bw2I,EAAAA,GAAAA,KAAA,OACE31J,UAAU,qGACVw+B,MAAO,CAAEwP,MAAO,QAASC,OAAQ,QAAS29M,OAAQ,4BAA6BzsO,UAE/Ew2I,EAAAA,GAAAA,KAACm+Q,GAAS,OAEZn+Q,EAAAA,GAAAA,KAAA,MAAI31J,UAAU,OAAMmf,SAAE,GAAGk1Z,EAAY9kJ,cAAc8kJ,EAAY14H,eAC/DhmJ,EAAAA,GAAAA,KAAA,OAAK31J,UAAU,iCAAgCmf,SAAEk1Z,EAAY1qL,YAC7Dh0F,EAAAA,GAAAA,KAAA,QAAM31J,UAAU,0BAAyBmf,SAAC,uBAG5Cs4I,EAAAA,GAAAA,MAAA,OAAKz3J,UAAU,mCAAkCmf,SAAA,EAC/Cs4I,EAAAA,GAAAA,MAAA,OAAKz3J,UAAU,yDAAwDmf,SAAA,EACrEw2I,EAAAA,GAAAA,KAAA,QAAM31J,UAAU,wBAAuBmf,SAAC,YACxCw2I,EAAAA,GAAAA,KAAA,QAAM31J,UAAU,4BAA2Bmf,SAAEk1Z,EAAYhkY,YAE3DonH,EAAAA,GAAAA,MAAA,OAAKz3J,UAAU,oDAAmDmf,SAAA,EAChEw2I,EAAAA,GAAAA,KAAA,QAAM31J,UAAU,wBAAuBmf,SAAC,iBACxCw2I,EAAAA,GAAAA,KAAA,QAAM31J,UAAU,4BAA2Bmf,SAAEi2Z,EAAWf,EAAYz4H,sBApBhEy4H,EAAYrsY,UA6B5B2tH,EAAAA,GAAAA,KAACg2F,GAAI,CAAC3wM,GAAG,OAAOp8B,KAAK,QAAQ5e,UAAU,OAAMmf,UAC3Cs4I,EAAAA,GAAAA,MAACk0F,GAAKK,KAAI,CAAChsP,UAAU,gCAA+Bmf,SAAA,EAClDw2I,EAAAA,GAAAA,KAAA,OAAK31J,UAAU,mDAAkDmf,UAC/Dw2I,EAAAA,GAAAA,KAACq+Q,GAAS,OAEZv8Q,EAAAA,GAAAA,MAAA,OAAAt4I,SAAA,EACEw2I,EAAAA,GAAAA,KAAA,MAAI31J,UAAU,kBAAiBmf,SAAC,iBAChCw2I,EAAAA,GAAAA,KAAA,KAAG31J,UAAU,wBAAuBmf,SAAC,sCACrCw2I,EAAAA,GAAAA,KAAA,MAAI31J,UAAU,OAAMmf,UAAW,OAATi1Z,QAAS,IAATA,OAAS,EAATA,EAAWlzR,MAAMxzH,QAAQihQ,GAA2B,UAAlBA,EAAKhlC,WAAsB/nP,SAAU,aAKnG+zJ,EAAAA,GAAAA,KAACg2F,GAAI,CAAC3wM,GAAG,OAAOp8B,KAAK,QAAQ5e,UAAU,OAAMmf,UAC3Cs4I,EAAAA,GAAAA,MAACk0F,GAAKK,KAAI,CAAChsP,UAAU,gCAA+Bmf,SAAA,EAClDw2I,EAAAA,GAAAA,KAAA,OAAK31J,UAAU,mDAAkDmf,UAC/Dw2I,EAAAA,GAAAA,KAACs+Q,GAAe,OAElBx8Q,EAAAA,GAAAA,MAAA,OAAAt4I,SAAA,EACEw2I,EAAAA,GAAAA,KAAA,MAAI31J,UAAU,kBAAiBmf,SAAC,qBAChCw2I,EAAAA,GAAAA,KAAA,KAAG31J,UAAU,wBAAuBmf,SAAC,qCACrCw2I,EAAAA,GAAAA,KAAA,MAAI31J,UAAU,OAAMmf,UACR,OAATi1Z,QAAS,IAATA,OAAS,EAATA,EAAWlzR,MAAMxzH,QAAQihQ,IACxB,GAAsB,UAAlBA,EAAKhlC,SAAsB,OAAO,EACtC,MAAM8rL,EAAY,IAAIzrY,KAAK2kP,EAAKitB,YAC1B85H,EAAa,IAAI1rY,KAEvB,OADA0rY,EAAWC,QAAQD,EAAWE,UAAY,GACnCH,EAAYC,CAAU,IAC5B9za,SAAU,aAMrB+zJ,EAAAA,GAAAA,KAACg2F,GAAI,CAAC3wM,GAAG,OAAOp8B,KAAK,QAAQ5e,UAAU,OAAMmf,UAC3Cs4I,EAAAA,GAAAA,MAACk0F,GAAKK,KAAI,CAAChsP,UAAU,gCAA+Bmf,SAAA,EAClDw2I,EAAAA,GAAAA,KAAA,OAAK31J,UAAU,mDAAkDmf,UAC/Dw2I,EAAAA,GAAAA,KAACu+Q,GAAY,OAEfz8Q,EAAAA,GAAAA,MAAA,OAAAt4I,SAAA,EACEw2I,EAAAA,GAAAA,KAAA,MAAI31J,UAAU,kBAAiBmf,SAAC,oBAChCw2I,EAAAA,GAAAA,KAAA,KAAG31J,UAAU,wBAAuBmf,SAAC,iCACrCw2I,EAAAA,GAAAA,KAAA,MAAI31J,UAAU,OAAMmf,UACR,OAATi1Z,QAAS,IAATA,OAAS,EAATA,EAAWlzR,MAAMxzH,QAAQihQ,IACxB,GAAsB,UAAlBA,EAAKhlC,SAAsB,OAAO,EACtC,MAAMksL,EAAY,IAAI7rY,KAAK2kP,EAAKhJ,YAC1BmwJ,EAAe,IAAI9rY,KAGzB,OAFA8rY,EAAaH,QAAQ,GACrBG,EAAaC,SAAS,EAAG,EAAG,EAAG,GACxBF,GAAaC,CAAY,IAC/Bl0a,SAAU,gBAQvB+zJ,EAAAA,GAAAA,KAACQ,GAAG,CAACxpI,GAAI,EAAExN,UACTs4I,EAAAA,GAAAA,MAACk0F,GAAI,CAAC3wM,GAAG,OAAOp8B,KAAK,QAAQ5e,UAAU,OAAMmf,SAAA,EAC3Cs4I,EAAAA,GAAAA,MAACk0F,GAAKO,OAAM,CACVlsP,UAAU,+DACVw+B,MAAO,CAAE8lK,WAAYm+M,EAAUvhQ,OAAQ/hI,SAAA,EAEvCw2I,EAAAA,GAAAA,KAAA,MAAI31J,UAAU,OAAMmf,SAAC,qBACrBs4I,EAAAA,GAAAA,MAAA,OAAKz3J,UAAU,eAAcmf,SAAA,CAC1Bu1Z,EAAc9ya,OAAS,IACtB61J,EAAAA,GAAAA,MAACmC,GAAM,CAACh0I,QAAQ,SAAS5lB,UAAU,UAAUkuD,QArSpC8nX,KACvBpZ,GAAmB,EAAK,EAoS6Dz9Y,SAAA,EACrEw2I,EAAAA,GAAAA,KAAA,KAAG31J,UAAU,0BAA4B,oBAAkB00a,EAAc9ya,OAAO,QAGpF61J,EAAAA,GAAAA,MAACs8Q,GAAY,CAAC7lX,QAASA,IAAM+gO,GAAmB,GAAM9vQ,SAAA,EACpDw2I,EAAAA,GAAAA,KAAA,KAAG31J,UAAU,qBAAuB,4BAI1C21J,EAAAA,GAAAA,KAACg2F,GAAKK,KAAI,CAAA7sO,UACRw2I,EAAAA,GAAAA,KAAA,OAAK31J,UAAU,mBAAkBmf,UAC/Bs4I,EAAAA,GAAAA,MAACwmI,GAAK,CAACC,SAAO,EAACC,UAAQ,EAACE,OAAK,EAACz4Q,QAAQ,OAAO5lB,UAAU,OAAMmf,SAAA,EAC3Dw2I,EAAAA,GAAAA,KAAA,SAAAx2I,UACEs4I,EAAAA,GAAAA,MAAA,MAAAt4I,SAAA,EACEw2I,EAAAA,GAAAA,KAAA,MAAIn3H,MAAO,CAAEwP,MAAO,QAAS7uB,UAC3Bw2I,EAAAA,GAAAA,KAACkD,GAAKG,MAAK,CACTvzJ,KAAK,WACL0oK,SA3RD8nQ,KACrB,MAAMC,GAAwB,OAAT9B,QAAS,IAATA,OAAS,EAATA,EAAWlzR,MAAMxzH,QAAQihQ,GAA2B,UAAlBA,EAAKhlC,aAAyB,GACrFgrL,GAAkBh0V,GAAUA,EAAK/+E,SAAWs0a,EAAat0a,OAAS,GAAKs0a,EAAa1za,KAAKmsR,GAASA,EAAK3mP,MAAK,EA0RtF7O,QACEu7Y,EAAc9ya,WACJ,OAATwya,QAAS,IAATA,OAAS,EAATA,EAAWlzR,MAAMxzH,QAAQihQ,GAA2B,UAAlBA,EAAKhlC,WAAsB/nP,SAAU,QAI9E61J,EAAAA,GAAAA,MAAA,MAAIvpG,QAASA,IAAM21U,EAAW,QAASrlW,MAAO,CAAE68C,OAAQ,WAAar7E,UAAU,cAAamf,SAAA,CAAC,OACtF,KACLw2I,EAAAA,GAAAA,KAAA,KACE31J,UAAW,cACU,SAAnB40a,EAAWtta,IAA2C,cAAzBsta,EAAWp6T,UAA4B,MAAQ,QAAW,gBACxD,SAAnBo6T,EAAWtta,IAAiB,UAAY,oBAG1DmwJ,EAAAA,GAAAA,MAAA,MAAIvpG,QAASA,IAAM21U,EAAW,SAAUrlW,MAAO,CAAE68C,OAAQ,WAAar7E,UAAU,cAAamf,SAAA,CAAC,QACtF,KACNw2I,EAAAA,GAAAA,KAAA,KACE31J,UAAW,cACU,UAAnB40a,EAAWtta,IAA4C,cAAzBsta,EAAWp6T,UAA4B,MAAQ,QAAW,gBACzD,UAAnBo6T,EAAWtta,IAAkB,UAAY,oBAG3DmwJ,EAAAA,GAAAA,MAAA,MAAIvpG,QAASA,IAAM21U,EAAW,YAAarlW,MAAO,CAAE68C,OAAQ,WAAar7E,UAAU,cAAamf,SAAA,CAAC,WACtF,KACTw2I,EAAAA,GAAAA,KAAA,KACE31J,UAAW,cACU,aAAnB40a,EAAWtta,IACkB,cAAzBsta,EAAWp6T,UACT,MACA,QACF,gBAC2B,aAAnBo6T,EAAWtta,IAAqB,UAAY,oBAG9DquJ,EAAAA,GAAAA,KAAA,MAAAx2I,SAAI,UACJs4I,EAAAA,GAAAA,MAAA,MACEvpG,QAASA,IAAM21U,EAAW,cAC1BrlW,MAAO,CAAE68C,OAAQ,WACjBr7E,UAAU,cAAamf,SAAA,CACxB,aACY,KACXw2I,EAAAA,GAAAA,KAAA,KACE31J,UAAW,cACU,eAAnB40a,EAAWtta,IACkB,cAAzBsta,EAAWp6T,UACT,MACA,QACF,gBAC2B,eAAnBo6T,EAAWtta,IAAuB,UAAY,oBAGhEmwJ,EAAAA,GAAAA,MAAA,MACEvpG,QAASA,IAAM21U,EAAW,cAC1BrlW,MAAO,CAAE68C,OAAQ,WACjBr7E,UAAU,cAAamf,SAAA,CACxB,aACY,KACXw2I,EAAAA,GAAAA,KAAA,KACE31J,UAAW,cACU,eAAnB40a,EAAWtta,IACkB,cAAzBsta,EAAWp6T,UACT,MACA,QACF,gBAC2B,eAAnBo6T,EAAWtta,IAAuB,UAAY,oBAGhEquJ,EAAAA,GAAAA,KAAA,MAAIn3H,MAAO,CAAEwP,MAAO,SAAU7uB,SAAC,kBAGnCw2I,EAAAA,GAAAA,KAAA,SAAAx2I,SAjVOg3Z,MACrB,GAAc,OAAT/B,QAAS,IAATA,IAAAA,EAAWlzR,MAAO,MAAO,GAE9B,MAAMA,EAAQ,IAAIkzR,EAAUlzR,MAAMxzH,QAAQihQ,GAA2B,UAAlBA,EAAKhlC,YAExD,OAAKirL,EAAWp6T,UAET0mC,EAAMrzH,MAAK,CAACrb,EAAGE,KACpB,IAAI0ja,EACAC,EAEJ,OAAQzB,EAAWtta,KACjB,IAAK,OACH8ua,EAAS,GAAG5ja,EAAE+8Q,cAAc/8Q,EAAEmpS,YAC9B06H,EAAS,GAAG3ja,EAAE68Q,cAAc78Q,EAAEipS,YAC9B,MACF,IAAK,QACHy6H,EAAS5ja,EAAE69B,MACXgmY,EAAS3ja,EAAE29B,MACX,MACF,IAAK,WACH+lY,EAAS5ja,EAAEm3O,SACX0sL,EAAS3ja,EAAEi3O,SACX,MACF,IAAK,aACHysL,EAAS,IAAIpsY,KAAKx3B,EAAEmzQ,YACpB0wJ,EAAS,IAAIrsY,KAAKt3B,EAAEizQ,YACpB,MACF,IAAK,aACHywJ,EAAS,IAAIpsY,KAAKx3B,EAAEopS,YACpBy6H,EAAS,IAAIrsY,KAAKt3B,EAAEkpS,YACpB,MACF,QACE,OAAO,EAGX,OAAIw6H,EAASC,EAAwC,cAAzBzB,EAAWp6T,WAA6B,EAAI,EACpE47T,EAASC,EAAwC,cAAzBzB,EAAWp6T,UAA4B,GAAK,EACjE,CAAC,IAjCwB0mC,CAkChC,EA2Sei1R,GAAiB3za,KAAKmsR,IACrB,MAAMl7K,EAnQHk7K,KACrB,MAAM8mJ,EAAY,IAAIzrY,KAAK2kP,EAAKitB,YAC1Bi6H,EAAY,IAAI7rY,KAAK2kP,EAAKhJ,YAC1B17O,EAAM,IAAID,KAGhB,GAAIyrY,EAAUJ,cAAgB,IAE5B,OAD0BroZ,KAAKC,OAAOgd,EAAI2pC,UAAYiiW,EAAUjiW,WAAS,QAChD,GAChB,CAAE6/B,OAAQ,SAAUvqF,QAAS,mBAE/B,CAAEuqF,OAAQ,MAAOvqF,QAAS,YAInC,MAAMotZ,EAAiBtpZ,KAAKC,OAAOgd,EAAI2pC,UAAY6hW,EAAU7hW,WAAS,OACtE,OAAI0iW,GAAkB,GACb,CAAE7iU,OAAQ,SAAUvqF,QAASksZ,EAAWzmJ,EAAKitB,aAC3C06H,GAAkB,GACpB,CAAE7iU,OAAQ,UAAWvqF,QAASksZ,EAAWzmJ,EAAKitB,aAGhD,CAAEnoM,OAAQ,SAAUvqF,QAASksZ,EAAWzmJ,EAAKitB,YAAa,EA6OhC26H,CAAc5nJ,GAC7B,OACEl3H,EAAAA,GAAAA,MAAA,MAAAt4I,SAAA,EACEw2I,EAAAA,GAAAA,KAAA,MAAAx2I,UACEw2I,EAAAA,GAAAA,KAACkD,GAAKG,MAAK,CACTvzJ,KAAK,WACL0zB,QAASu7Y,EAAcjyZ,SAASksQ,EAAK3mP,IACrCmmI,SAAUA,KAAMqoQ,OA/Wfp5H,EA+WmCzuB,EAAK3mP,QA9WnE2sY,GAAkBh0V,GAAUA,EAAKl+D,SAAS26R,GAAUz8N,EAAKjzD,QAAQsa,GAAOA,IAAOo1Q,IAAU,IAAIz8N,EAAMy8N,KADxEA,KA+W4C,OAGjDznJ,EAAAA,GAAAA,KAAA,MAAAx2I,SAAK,GAAGwvQ,EAAKY,cAAcZ,EAAKgtB,eAChChmJ,EAAAA,GAAAA,KAAA,MAAAx2I,SAAKwvQ,EAAKt+O,SACVslH,EAAAA,GAAAA,KAAA,MAAAx2I,SAAKwvQ,EAAKhlC,YACVh0F,EAAAA,GAAAA,KAAA,MAAAx2I,UACEw2I,EAAAA,GAAAA,KAAA,QAAM31J,UAAU,qBAAoBmf,SAAC,YAEvCw2I,EAAAA,GAAAA,KAAA,MAAAx2I,SAAKi2Z,EAAWzmJ,EAAKhJ,eACrBhwH,EAAAA,GAAAA,KAAA,MAAAx2I,SAE0B,QAAlBs0F,EAAOA,QAEPkiD,EAAAA,GAAAA,KAAC8lI,GAAc,CACb1tC,UAAU,QACVwoC,SACE9+H,EAAAA,GAAAA,MAAC4+H,GAAO,CAACruP,GAAI,WAAW2mP,EAAK3mP,KAAK7oB,SAAA,CAAC,YACvBi2Z,EAAWzmJ,EAAKhJ,eAE7BxmQ,UAEDs4I,EAAAA,GAAAA,MAAA,OAAKz3J,UAAU,0BAA0Bw+B,MAAO,CAAE68C,OAAQ,QAASl8D,SAAA,EACjEw2I,EAAAA,GAAAA,KAAA,KAAG31J,UAAU,qBAAuB,gBAKf,YAAlByzG,EAAOA,QAEdkiD,EAAAA,GAAAA,KAAC8lI,GAAc,CACb1tC,UAAU,QACVwoC,SAAS9+H,EAAAA,GAAAA,MAAC4+H,GAAO,CAACruP,GAAI,WAAW2mP,EAAK3mP,KAAK7oB,SAAA,CAAC,eAAas0F,EAAOvqF,WAAmB/J,UAEnFs4I,EAAAA,GAAAA,MAAA,OAAKz3J,UAAU,6BAA6Bw+B,MAAO,CAAE68C,OAAQ,QAASl8D,SAAA,EACpEw2I,EAAAA,GAAAA,KAAA,KAAG31J,UAAU,sBAAwB,gBAKhB,WAAlByzG,EAAOA,QAEdkiD,EAAAA,GAAAA,KAAC8lI,GAAc,CACb1tC,UAAU,QACVwoC,SAAS5gI,EAAAA,GAAAA,KAAC0gI,GAAO,CAACruP,GAAI,WAAW2mP,EAAK3mP,KAAK7oB,SAAEs0F,EAAOvqF,UAAmB/J,UAEvEs4I,EAAAA,GAAAA,MAAA,OAAKz3J,UAAU,6BAA6Bw+B,MAAO,CAAE68C,OAAQ,QAASl8D,SAAA,EACpEw2I,EAAAA,GAAAA,KAAA,KAAG31J,UAAU,mCAAqC,iBAMjD21J,EAAAA,GAAAA,KAAA,QAAAx2I,SAAOs0F,EAAOvqF,aAI3BysI,EAAAA,GAAAA,KAAA,MAAAx2I,UACEs4I,EAAAA,GAAAA,MAAA,OAAKz3J,UAAU,sCAAqCmf,SAAA,EAClDw2I,EAAAA,GAAAA,KAACiE,GAAM,CACLh0I,QAAQ,kBACRwoC,KAAK,KACLF,QAASA,IAxefygO,KACtB8lJ,EAAgB9lJ,GAChBumJ,EAAgB,CACd7kY,MAAOs+O,EAAKt+O,MACZk/O,WAAYZ,EAAKY,WACjBosB,UAAWhtB,EAAKgtB,YAElB44H,GAAiB,EAAK,EAieqBkC,CAAe9nJ,GAC9BnwP,MAAO,CAAEwP,MAAO,QAAS7uB,SAC1B,UAGDw2I,EAAAA,GAAAA,KAACiE,GAAM,CACLh0I,QAAQ,iBACRwoC,KAAK,KACLF,QAASA,IAjdbygO,KACxB8lJ,EAAgB9lJ,GAChBiuI,GAAmB,EAAK,EA+cmB8Z,CAAiB/nJ,GAChCnwP,MAAO,CAAEwP,MAAO,QAAS7uB,SAC1B,kBA7EEwvQ,EAAK3mP,GAkFT,sBAYvByvH,EAAAA,GAAAA,MAACu7G,GAAK,CAACnP,KAAMmrB,EAAiBlb,OAAQA,IAAMmb,GAAmB,GAAQhW,UAAQ,EAAA95P,SAAA,EAC7Ew2I,EAAAA,GAAAA,KAACq9G,GAAM9mB,OAAM,CAAClsP,UAAU,qBAAqBw+B,MAAO,CAAE8lK,WAAYm+M,EAAUvhQ,OAAQ/hI,UAClFw2I,EAAAA,GAAAA,KAACq9G,GAAMlnB,MAAK,CAAA3sO,SAAC,uBAEfw2I,EAAAA,GAAAA,KAACq9G,GAAMhnB,KAAI,CAAChsP,UAAU,qBAAoBmf,UACxCs4I,EAAAA,GAAAA,MAACoB,GAAI,CAAA15I,SAAA,EACHs4I,EAAAA,GAAAA,MAACoB,GAAKC,MAAK,CAAC94J,UAAU,OAAMmf,SAAA,EAC1Bw2I,EAAAA,GAAAA,KAACkD,GAAKjB,MAAK,CAAAz4I,SAAC,cACZw2I,EAAAA,GAAAA,KAACkD,GAAKtrH,QAAO,CACX9nC,KAAK,OACL1E,MAAO+za,EAAYnrL,SACnBx7E,SAAW3mK,GAAMuta,EAAe,IAAKD,EAAanrL,SAAUniP,EAAEs4B,OAAO/+B,MAAMoY,gBAC3EnZ,UAAU,qBACVyqP,aAAa,YAGjBhzF,EAAAA,GAAAA,MAACoB,GAAKC,MAAK,CAAC94J,UAAU,OAAMmf,SAAA,EAC1Bw2I,EAAAA,GAAAA,KAACkD,GAAKjB,MAAK,CAAAz4I,SAAC,WACZw2I,EAAAA,GAAAA,KAACkD,GAAKtrH,QAAO,CACX9nC,KAAK,QACL1E,MAAO+za,EAAYzkY,MACnB89H,SAAW3mK,GAAMuta,EAAe,IAAKD,EAAazkY,MAAO7oC,EAAEs4B,OAAO/+B,QAClEf,UAAU,qBACVyqP,aAAa,YAGjBhzF,EAAAA,GAAAA,MAACoB,GAAKC,MAAK,CAAC94J,UAAU,OAAMmf,SAAA,EAC1Bw2I,EAAAA,GAAAA,KAACkD,GAAKjB,MAAK,CAAAz4I,SAAC,gBACZw2I,EAAAA,GAAAA,KAACkD,GAAKtrH,QAAO,CACX9nC,KAAK,OACL1E,MAAO+za,EAAYvlJ,WACnBphH,SAAW3mK,GAAMuta,EAAe,IAAKD,EAAavlJ,WAAYnqL,GAAY59F,EAAEs4B,OAAO/+B,SACnFf,UAAU,2BAGdy3J,EAAAA,GAAAA,MAACoB,GAAKC,MAAK,CAAC94J,UAAU,OAAMmf,SAAA,EAC1Bw2I,EAAAA,GAAAA,KAACkD,GAAKjB,MAAK,CAAAz4I,SAAC,eACZw2I,EAAAA,GAAAA,KAACkD,GAAKtrH,QAAO,CACX9nC,KAAK,OACL1E,MAAO+za,EAAYn5H,UACnBxtI,SAAW3mK,GAAMuta,EAAe,IAAKD,EAAan5H,UAAWv2M,GAAY59F,EAAEs4B,OAAO/+B,SAClFf,UAAU,2BAGdy3J,EAAAA,GAAAA,MAACoB,GAAKC,MAAK,CAAC94J,UAAU,OAAMmf,SAAA,EAC1Bw2I,EAAAA,GAAAA,KAACkD,GAAKjB,MAAK,CAAAz4I,SAAC,cACZs4I,EAAAA,GAAAA,MAAA,OAAKz3J,UAAU,cAAamf,SAAA,EAC1Bw2I,EAAAA,GAAAA,KAACkD,GAAKtrH,QAAO,CACX9nC,KAAMokP,EAAe,OAAS,WAC9B9oP,MAAO+za,EAAYvkY,SACnB49H,SAAW3mK,GAAMuta,EAAe,IAAKD,EAAavkY,SAAU/oC,EAAEs4B,OAAO/+B,QACrEf,UAAU,qBACVyqP,aAAa,kBAEf90F,EAAAA,GAAAA,KAACiE,GAAM,CACLh0I,QAAQ,oBACRsoC,QAASA,IAAM47L,GAAiBD,GAChC7pP,UAAU,4BAA2Bmf,UAErCw2I,EAAAA,GAAAA,KAAA,KAAG31J,UAAW,cAAa6pP,EAAe,SAAW,eAI3DpyF,EAAAA,GAAAA,MAACoB,GAAKC,MAAK,CAAC94J,UAAU,OAAMmf,SAAA,EAC1Bw2I,EAAAA,GAAAA,KAACkD,GAAKjB,MAAK,CAAAz4I,SAAC,sBACZs4I,EAAAA,GAAAA,MAAA,OAAKz3J,UAAU,cAAamf,SAAA,EAC1Bw2I,EAAAA,GAAAA,KAACkD,GAAKtrH,QAAO,CACX9nC,KAAMokP,EAAe,OAAS,WAC9B9oP,MAAO+za,EAAYE,iBACnB7mQ,SAAW3mK,GAAMuta,EAAe,IAAKD,EAAaE,iBAAkBxta,EAAEs4B,OAAO/+B,QAC7Ef,UAAU,qBACVyqP,aAAa,kBAEf90F,EAAAA,GAAAA,KAACiE,GAAM,CACLh0I,QAAQ,oBACRsoC,QAASA,IAAM47L,GAAiBD,GAChC7pP,UAAU,4BAA2Bmf,UAErCw2I,EAAAA,GAAAA,KAAA,KAAG31J,UAAW,cAAa6pP,EAAe,SAAW,oBAM/DpyF,EAAAA,GAAAA,MAACu7G,GAAM7mB,OAAM,CAACnsP,UAAU,qBAAoBmf,SAAA,EAC1Cw2I,EAAAA,GAAAA,KAACiE,GAAM,CAACh0I,QAAQ,YAAYsoC,QAASA,IAAM+gO,GAAmB,GAAO9vQ,SAAC,YAGtEw2I,EAAAA,GAAAA,KAACiE,GAAM,CAACh0I,QAAQ,UAAUsoC,QA9mBT4pC,UACvB,UACQgpD,EAAWg0R,GAAav8U,SAC9B02L,GAAmB,GACnB8lJ,EAAe,CACbprL,SAAU,GACVt5M,MAAO,GACPk/O,WAAY,GACZosB,UAAW,GACXprQ,SAAU,GACVykY,iBAAkB,IAEtB,CAAE,MAAO19Z,GAAM,IAADihS,EACZozG,GAAa,GACbC,EAAgB,2BAAgC,OAAHt0Y,QAAG,IAAHA,GAAiB,QAAdihS,EAAHjhS,EAAauG,YAAI,IAAA06R,OAAd,EAAJA,EAAoBrvR,UAAW,GAC3EpnB,QAAQmnB,MAAM,yBAA0B3R,EAC1C,GA8lB0D6H,SAAC,kBAOzDs4I,EAAAA,GAAAA,MAACu7G,GAAK,CAACnP,KAAMywK,EAAexgK,OAAQA,IAAMygK,GAAiB,GAAQt7J,UAAQ,EAAA95P,SAAA,EACzEw2I,EAAAA,GAAAA,KAACq9G,GAAM9mB,OAAM,CAAClsP,UAAU,qBAAqBw+B,MAAO,CAAE8lK,WAAYm+M,EAAUvhQ,OAAQ/hI,UAClFw2I,EAAAA,GAAAA,KAACq9G,GAAMlnB,MAAK,CAAA3sO,SAAC,iBAEfw2I,EAAAA,GAAAA,KAACq9G,GAAMhnB,KAAI,CAAChsP,UAAU,qBAAoBmf,UACxCs4I,EAAAA,GAAAA,MAACoB,GAAI,CAAA15I,SAAA,EACHs4I,EAAAA,GAAAA,MAACoB,GAAKC,MAAK,CAAC94J,UAAU,OAAMmf,SAAA,EAC1Bw2I,EAAAA,GAAAA,KAACkD,GAAKjB,MAAK,CAAAz4I,SAAC,WACZw2I,EAAAA,GAAAA,KAACkD,GAAKtrH,QAAO,CACX9nC,KAAK,QACL1E,MAAOk0a,EAAa5kY,MACpB89H,SAAW3mK,GAAM0ta,EAAgB,IAAKD,EAAc5kY,MAAO7oC,EAAEs4B,OAAO/+B,QACpEf,UAAU,2BAGdy3J,EAAAA,GAAAA,MAACoB,GAAKC,MAAK,CAAC94J,UAAU,OAAMmf,SAAA,EAC1Bw2I,EAAAA,GAAAA,KAACkD,GAAKjB,MAAK,CAAAz4I,SAAC,gBACZw2I,EAAAA,GAAAA,KAACkD,GAAKtrH,QAAO,CACX9nC,KAAK,OACL1E,MAAOk0a,EAAa1lJ,WACpBphH,SAAW3mK,GAAM0ta,EAAgB,IAAKD,EAAc1lJ,WAAY/nR,EAAEs4B,OAAO/+B,QACzEf,UAAU,2BAGdy3J,EAAAA,GAAAA,MAACoB,GAAKC,MAAK,CAAC94J,UAAU,OAAMmf,SAAA,EAC1Bw2I,EAAAA,GAAAA,KAACkD,GAAKjB,MAAK,CAAAz4I,SAAC,eACZw2I,EAAAA,GAAAA,KAACkD,GAAKtrH,QAAO,CACX9nC,KAAK,OACL1E,MAAOk0a,EAAat5H,UACpBxtI,SAAW3mK,GAAM0ta,EAAgB,IAAKD,EAAct5H,UAAWn0S,EAAEs4B,OAAO/+B,QACxEf,UAAU,2BAGdy3J,EAAAA,GAAAA,MAACoB,GAAKC,MAAK,CAAC94J,UAAU,OAAMmf,SAAA,EAC1Bw2I,EAAAA,GAAAA,KAACkD,GAAKjB,MAAK,CAAAz4I,SAAC,qBACZw2I,EAAAA,GAAAA,KAACkD,GAAKtrH,QAAO,CACX9nC,KAAK,OACL0oK,SAAW3mK,IAAO,IAADmva,EACf,MAAMl8V,EAA2C,QAAvCk8V,EAAInva,EAAEs4B,OAA4Bu8F,aAAK,IAAAs6S,OAAA,EAApCA,EAAuC,GAChDl8V,GAAQ+5V,GAlnBA18U,OAAOslN,EAAgB3iO,KACjD,UACQ6mE,EAAkB,CAAEt5G,GAAIo1Q,EAAQ3iO,SAAQ8d,QAChD,CAAE,MAAOjhF,GACPxV,QAAQmnB,MAAM,4BAA6B3R,EAC7C,GA8mBgBs/Z,CAAoBpC,EAAaxsY,GAAIyyC,EACvC,EAEFz6E,UAAU,gCAKlBy3J,EAAAA,GAAAA,MAACu7G,GAAM7mB,OAAM,CAACnsP,UAAU,qBAAoBmf,SAAA,EAC1Cw2I,EAAAA,GAAAA,KAACiE,GAAM,CAACh0I,QAAQ,YAAYsoC,QAASA,IAAMqmX,GAAiB,GAAOp1Z,SAAC,YAGpEw2I,EAAAA,GAAAA,KAACiE,GAAM,CAACh0I,QAAQ,UAAUsoC,QA5oBT4pC,UACvB,GAAK08U,EACL,UACQnzR,EAAW,CACfr5G,GAAIwsY,EAAaxsY,GACjB+4G,SAAUk0R,IACT18U,SACHg8U,GAAiB,EACnB,CAAE,MAAOj9Z,GACPxV,QAAQmnB,MAAM,yBAA0B3R,EAC1C,GAkoB0D6H,SAAC,wBAMzDw2I,EAAAA,GAAAA,KAACmwH,GAAa,CACZjiB,KAAM84J,EACN7oJ,OAAQA,IAAM8oJ,GAAmB,GACjCvgJ,UAvnBgBvkL,UACpB,IACE,GAAI08U,QAEIpzR,EAAWozR,EAAaxsY,IAC9BysY,EAAgB,UACX,CAEL,IAAK,MAAMr3H,KAAUs3H,QACbtzR,EAAWg8J,GAEnBu3H,EAAiB,GACnB,CACA/X,GAAmB,EACrB,CAAE,MAAOtlZ,GACPxV,QAAQmnB,MAAM,4BAA6B3R,EAC7C,GAwmBIuC,MAAO26Z,EAAe,sBAAwB,sBAC9CtrZ,QACEsrZ,GACE/8Q,EAAAA,GAAAA,MAAAC,GAAAA,SAAA,CAAAv4I,SAAA,CAAE,yCACqCw2I,EAAAA,GAAAA,KAAA,UAAQ31J,UAAU,cAAamf,SAAc,OAAZq1Z,QAAY,IAAZA,OAAY,EAAZA,EAAc7qL,WAAkB,KACtGlyF,EAAAA,GAAAA,MAAA,KAAGz3J,UAAU,wBAAuBmf,SAAA,EAClCw2I,EAAAA,GAAAA,KAAA,KAAG31J,UAAU,qCAAuC,uCAIxDy3J,EAAAA,GAAAA,MAAAC,GAAAA,SAAA,CAAAv4I,SAAA,CAAE,oCACgCs4I,EAAAA,GAAAA,MAAA,UAAQz3J,UAAU,cAAamf,SAAA,CAAEu1Z,EAAc9ya,OAAO,YAAe,KACrG61J,EAAAA,GAAAA,MAAA,KAAGz3J,UAAU,wBAAuBmf,SAAA,EAClCw2I,EAAAA,GAAAA,KAAA,KAAG31J,UAAU,qCAAuC,sCAK5Ds8Q,YAAak4J,EAAe,cAAgB,UAAUE,EAAc9ya,eACpE26Q,WAAW,SACX32P,QAAQ,YAGV6xI,EAAAA,GAAAA,MAACg1H,GAAK,CACJ5oB,KAAM6nJ,EACNr/H,QAASA,IAAMs/H,GAAa,GAC5B3rZ,UAAU,iCACVw+B,MAAO,CAAEb,OAAQ,KACjBq4C,MAAO,IACP02M,UAAQ,EAAAvtQ,SAAA,EAERw2I,EAAAA,GAAAA,KAAC82H,GAAMvgC,OAAM,CAAA/sO,UACXw2I,EAAAA,GAAAA,KAAA,UAAQ31J,UAAU,UAASmf,SAAC,aAE9Bw2I,EAAAA,GAAAA,KAAC82H,GAAMzgC,KAAI,CAAA7sO,SAAE6iF,SAEL,ECl1BV60U,GAAkB,CACtB,YAAa,gBACb,aAAc,oCACd,UAAW,cACX,eAAgB,oCAChB,gBAAiB,mCACjB,aAAc,kCACd,eAAgB,mBAChB,gBAAiB,uCACjB,aAAc,kBAEVC,GAA8Bz9V,EAAAA,YAAiB,CAAArtE,EAQlDmG,KAAQ,IAR2C,SACpDqjJ,EAAQ,SACRpyI,EAAQ,kBACR2zZ,EAAiB,UACjB/2a,EAEA01J,GAAItvI,EAAY,SACbrT,GACJ/G,EAEC,OADAwpJ,EAAWN,GAAmBM,EAAU,oBACpBG,EAAAA,GAAAA,KAAKvvI,EAAW,CAClCjU,IAAKA,KACFY,EACH/S,UAAWy4E,KAAW+8E,EAAUpyI,GAAYyzZ,GAAgBzzZ,GAAW2zZ,GAAqB,YAAYA,IAAqB/2a,IAC7H,IAEJ82a,GAAe3xa,YAAc,iBAC7B,YC1BM0jZ,GAAW1kI,GAAOK,GAAG;;;;;;;;;;EAYrBmkI,GAAaxkI,GAAOK,GAA0B;gBACnCzxQ,GAAUA,EAAMiwX;;;;;;;;;;;;;EAe3B4lB,GAAczkI,GAAOK,GAAG;;EAIxBqoI,GAAa1oI,GAAOK,GAAG;;;;;;;;;;;;;;;;;EA4H7B,GA7FkEx4Q,IAK3D,IAADgra,EAAAC,EAAAC,EAAAC,EAAA,IAL6D,MACjEx1U,EAAK,QACL4D,EAAO,sBACP4oN,EAAqB,SACrB+1E,GACDl4X,EACC,OACEyrJ,EAAAA,GAAAA,MAACoxP,GAAQ,CAAA1pY,SAAA,EACPs4I,EAAAA,GAAAA,MAACkxP,GAAU,CAAC3lB,UAAWkB,EAAS/kX,SAAA,EACxB,OAALwiF,QAAK,IAALA,OAAK,EAALA,EAAOhhG,OAAQ,SAChBg1J,EAAAA,GAAAA,KAACkd,GAAW,QAEdpb,EAAAA,GAAAA,MAACmxP,GAAW,CAAAzpY,SAAA,EACVs4I,EAAAA,GAAAA,MAAA,OAAKz3J,UAAU,OAAMmf,SAAA,EACnBw2I,EAAAA,GAAAA,KAAA,OAAK31J,UAAU,kCAAiCmf,UAC9Cw2I,EAAAA,GAAAA,KAACghJ,GAAU,CACT7D,OAC4B,mBAA1Bqb,EACI7oN,GAAwB3D,GAAOkE,qBAC/BC,GAAcnE,GAAO+E,WAE3B8uM,OAAO,OAGX/9I,EAAAA,GAAAA,MAAC7B,GAAG,CAAC51J,UAAU,WAAUmf,SAAA,EACvBw2I,EAAAA,GAAAA,KAACQ,GAAG,CAACjhB,GAAI,EAAE/1H,UACTs4I,EAAAA,GAAAA,MAACo1P,GAAU,CAAA1tY,SAAA,EACTw2I,EAAAA,GAAAA,KAAA,QAAAx2I,SAAM,YACNw2I,EAAAA,GAAAA,KAAA,UAAAx2I,SAAc,OAALwiF,QAAK,IAALA,OAAK,EAALA,EAAO/4C,cAGpB+sG,EAAAA,GAAAA,KAACQ,GAAG,CAACjhB,GAAI,EAAE/1H,UACTs4I,EAAAA,GAAAA,MAACo1P,GAAU,CAAA1tY,SAAA,EACTw2I,EAAAA,GAAAA,KAAA,QAAAx2I,SAAM,aACNw2I,EAAAA,GAAAA,KAAA,UAAAx2I,SAAc,OAALwiF,QAAK,IAALA,GAAAA,EAAOgkL,WAAa,IAAI37O,KAAK23D,EAAMgkL,YAAYC,qBAAuB,cAGnFjwH,EAAAA,GAAAA,KAACQ,GAAG,CAACjhB,GAAI,GAAG/1H,UACVs4I,EAAAA,GAAAA,MAACo1P,GAAU,CAAA1tY,SAAA,EACTw2I,EAAAA,GAAAA,KAAA,QAAAx2I,SAAM,mBACNw2I,EAAAA,GAAAA,KAAA,UAAAx2I,SACQ,OAALwiF,QAAK,IAALA,GAAAA,EAAOsyT,kBAAyB,OAALtyT,QAAK,IAALA,GAAAA,EAAOuyT,eACN,yBAAzBvyT,EAAMuyT,eACJ,cACA,MACE,MAAMC,EAAa,IAAInqX,KAAK23D,EAAMsyT,kBAE5BI,EADW,IAAIrqX,KAAK23D,EAAMuyT,gBACJtgV,UAAYugV,EAAWvgV,UAGnD,MAAO,GAFO5mD,KAAKC,MAAMonY,EAAU,UACnBrnY,KAAKC,MAAOonY,EAAU,KAAmB,OAE1D,EAPD,GAQF,oBAOd58P,EAAAA,GAAAA,MAAA,OAAAt4I,SAAA,EACEw2I,EAAAA,GAAAA,KAAA,MAAI31J,UAAU,kBAAiBmf,SAAC,yBAChCs4I,EAAAA,GAAAA,MAAC7B,GAAG,CAAC51J,UAAU,MAAKmf,SAAA,EAClBw2I,EAAAA,GAAAA,KAACQ,GAAG,CAACjhB,GAAI,EAAE/1H,UACTs4I,EAAAA,GAAAA,MAACo1P,GAAU,CAAA1tY,SAAA,EACTw2I,EAAAA,GAAAA,KAAA,QAAAx2I,SAAM,cACNs4I,EAAAA,GAAAA,MAAA,UAAAt4I,SAAA,EAAsB,QAAb63Z,EAAQ,OAAPzxU,QAAO,IAAPA,OAAO,EAAPA,EAASwtM,WAAG,IAAAikI,EAAAA,EAAI,GAAGj8Z,QAAQ,GAAG,aAG5C46I,EAAAA,GAAAA,KAACQ,GAAG,CAACjhB,GAAI,EAAE/1H,UACTs4I,EAAAA,GAAAA,MAACo1P,GAAU,CAAA1tY,SAAA,EACTw2I,EAAAA,GAAAA,KAAA,QAAAx2I,SAAM,cACNs4I,EAAAA,GAAAA,MAAA,UAAAt4I,SAAA,EAA0B,QAAjB83Z,EAAQ,OAAP1xU,QAAO,IAAPA,OAAO,EAAPA,EAAS6xU,eAAO,IAAAH,EAAAA,EAAI,GAAGl8Z,QAAQ,GAAG,aAGhD46I,EAAAA,GAAAA,KAACQ,GAAG,CAACjhB,GAAI,EAAE/1H,UACTs4I,EAAAA,GAAAA,MAACo1P,GAAU,CAAA1tY,SAAA,EACTw2I,EAAAA,GAAAA,KAAA,QAAAx2I,SAAM,eACNs4I,EAAAA,GAAAA,MAAA,UAAAt4I,SAAA,EAA4B,QAAnB+3Z,EAAQ,OAAP3xU,QAAO,IAAPA,OAAO,EAAPA,EAASprF,iBAAS,IAAA+8Z,EAAAA,EAAI,GAAGn8Z,QAAQ,GAAG,aAGlD46I,EAAAA,GAAAA,KAACQ,GAAG,CAACjhB,GAAI,EAAE/1H,UACTs4I,EAAAA,GAAAA,MAACo1P,GAAU,CAAA1tY,SAAA,EACTw2I,EAAAA,GAAAA,KAAA,QAAAx2I,SAAM,YACNs4I,EAAAA,GAAAA,MAAA,UAAAt4I,SAAA,EAAyB,QAAhBg4Z,EAAQ,OAAP5xU,QAAO,IAAPA,OAAO,EAAPA,EAASW,cAAM,IAAAixU,EAAAA,EAAI,GAAGp8Z,QAAQ,GAAG,uBAM5C,ECzJT8tY,GAAW1kI,GAAOK,GAAG;;;;;;;;;;EAYrBmkI,IAAaxkI,GAAOK,GAA0B;gBACnCzxQ,GAAUA,EAAMiwX;;;;;;;;;;;;;EAe3B4lB,IAAczkI,GAAOK,GAAG;;;;;;;;;EAWxB6yJ,IAAqBlzJ,GAAOK,GAAG;;;;EAM/Bj6B,IAAe45B,GAAOK,GAAG;;;;;;;;EAUzB8yJ,IAAenzJ,GAAOK,GAAyB;;WAEzCzxQ,GAAWA,EAAMi6R,QAAU,OAAS;;iBAE9Bj6R,GAAWA,EAAMi6R,QAAU,MAAQ;;;;EAM/CuqI,IAAepzJ,GAAOK,GAAoC;;;;;;;;;0BASrCzxQ,GAA+B,UAApBA,EAAMyka,UAAwB,OAAS;EAGvE1qB,IAAc3oI,GAAOK,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoCxBs1I,IAAqB31I,GAAOK,GAAG;;;;;;;;;;;;;;;;;;;;;;;EAoFrC,IAjDkEx4Q,IAQ3D,IAR4D,SACjEk4X,EAAQ,iBACRuzC,EAAgB,yBAChBC,EAAwB,mBACxBC,EAAkB,yBAClBC,EAAwB,aACxBx6I,EAAY,UACZ/kK,GACDrsH,EACC,OACEyrJ,EAAAA,GAAAA,MAACoxP,GAAQ,CAAA1pY,SAAA,EACPs4I,EAAAA,GAAAA,MAACkxP,IAAU,CAAC3lB,UAAWkB,EAAS/kX,SAAA,CAAC,qBAE/Bw2I,EAAAA,GAAAA,KAACmd,GAAU,QAEbrb,EAAAA,GAAAA,MAACmxP,IAAW,CAAC5oZ,UAAU,uBAAsBmf,SAAA,EAC3Cw2I,EAAAA,GAAAA,KAAC0hR,IAAkB,CAAAl4Z,UACjBs4I,EAAAA,GAAAA,MAAC8yF,IAAY,CAACr8L,QAASwpX,EAAyBv4Z,SAAA,EAC9Cw2I,EAAAA,GAAAA,KAAC4hR,IAAY,CAACC,UAAgC,eAArBC,EAAoC,QAAU,UACvE9hR,EAAAA,GAAAA,KAAC2hR,IAAY,CAACtqI,QAA8B,aAArByqI,EAAgCt4Z,SAAC,mBACxDw2I,EAAAA,GAAAA,KAAC2hR,IAAY,CAACtqI,QAA8B,eAArByqI,EAAkCt4Z,SAAC,0BAI9Ds4I,EAAAA,GAAAA,MAACq1P,IAAW,CAAA3tY,SAAA,EACVw2I,EAAAA,GAAAA,KAAA,OAAK31J,UAAU,eAAcmf,SAAC,qBAC9Bw2I,EAAAA,GAAAA,KAAA,OAAK31J,UAAU,oBAAmBmf,UAChCw2I,EAAAA,GAAAA,KAAC0rI,GAAY,CAACjE,aAAcA,EAAcE,MAAM,UAIpD7lI,EAAAA,GAAAA,MAACq1P,IAAW,CAAC9sZ,UAAU,qBAAoBmf,SAAA,EACzCs4I,EAAAA,GAAAA,MAACqiQ,IAAkB,CAAC5rW,QAAS0pX,EAAyBz4Z,SAAA,EACpDw2I,EAAAA,GAAAA,KAAA,OAAK31J,UAAU,eAAcmf,SAAC,wBAC9Bw2I,EAAAA,GAAAA,KAACsd,GAAa,CAACjzK,UAAW,YAAW23a,EAAqB,OAAS,UAErEhiR,EAAAA,GAAAA,KAACs6H,GAAQ,CAAChgB,GAAI0nK,EAAmBx4Z,UAC/Bw2I,EAAAA,GAAAA,KAAA,OAAAx2I,UACEw2I,EAAAA,GAAAA,KAAA,OAAK31J,UAAU,yBAAwBmf,UACrCw2I,EAAAA,GAAAA,KAAC+jO,GAAqB,CAACtE,WAAYh4F,EAAcvjR,MAAM,GAAGo0B,OAAO,QAAQoqF,UAAWA,kBAMrF,ECnMTwwR,IAAW1kI,GAAOK,GAAG;;;;;;;;;;;;;EAerBmkI,IAAaxkI,GAAOK,GAA0B;gBACnCzxQ,GAAUA,EAAMiwX;;;;;;;;;;;;;EAe3B4lB,IAAczkI,GAAOK,GAAG;;;;;;;;;EAWxB8yG,IAAiBnzG,GAAOK,GAAG;;;;;;;;;;;EAoCjC,IAhB8Dx4Q,IAAyC,IAAxC,MAAE6N,EAAK,SAAEqqX,EAAQ,KAAErmX,EAAI,QAAExc,GAAS2K,EAC/F,OACEyrJ,EAAAA,GAAAA,MAACoxP,IAAQ,CAAA1pY,SAAA,EACPs4I,EAAAA,GAAAA,MAACkxP,IAAU,CAAC3lB,UAAWkB,EAAS/kX,SAAA,CAC7BtF,GACD87I,EAAAA,GAAAA,KAACkd,GAAW,QAEdld,EAAAA,GAAAA,KAACizP,IAAW,CAAC5oZ,UAAU,gBAAemf,UACpCw2I,EAAAA,GAAAA,KAAC2hO,IAAc,CAAAn4W,UACbw2I,EAAAA,GAAAA,KAAC+sD,GAAI,CAAC7kM,KAAMA,EAAMxc,QAASA,UAGtB,EC3DTm5X,IAAgBr2G,GAAOK,GAAG;;;;;EAO1BoxG,IAAqBzxG,GAAOK,GAAG;;;;;EAO/BsxG,IAAoB3xG,GAAOK,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6B9BqxG,IAAgB1xG,GAAOK,GAAG;;;;;;;EAS1BqkI,IAAW1kI,GAAOx4B,GAAK;;;;;;;;;;EAYvB8uI,IAAat2G,GAAOx4B,GAAK;;;;;;;;;;;;;;;;;;;;;EAuBzBksL,IAAiB1zJ,GAAOK,GAAG;;;;;;;;;EAW3BszJ,IAAc3zJ,GAAOK,GAAG;;;;;;IAM1BqkI;;;;;EAOEkvB,IAAiBxnI,EAAS;;;;;;;;;;;;;EAe1BynI,IAAc7zJ,GAAOsI,GAAM;gBAChB15Q,GAAUA,EAAM4vI,MAAMuhP,UAAY;;eAEpC6zC;;;;;;;;;;;;;;;;;;;;;EAuBTE,IAAuB9zJ,GAAO2yJ,GAAe;;;;;;EA2UnD,IAnUsCoB,KAAO,IAADj9I,EAAAN,EAAAw9I,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAC1C,MAAMjrR,EAAWR,MACV4G,GAAgBJ,KACjBpjD,EAAoBwlE,GAAevjE,KACjC/0F,KAAMy0F,GAAYuqB,GAAmBlsB,GAAqB,GAAI,CAAElnG,MAAOknG,KACvE9yF,KAAMk9Q,GAAe17J,GAC3B,CAAEpH,WAAYtnB,GAAqB,IACnC,CAAElnG,MAAOknG,KAEJiiU,EAAWC,IAAgBtrX,EAAAA,EAAAA,WAAS,IAEpC0xX,EAAkBC,IAAuB3xX,EAAAA,EAAAA,UAAiB,KAC1D4xX,EAAkBC,IAAuB7xX,EAAAA,EAAAA,UAAiB,KAC1DkwX,EAAkB4B,IAAuB9xX,EAAAA,EAAAA,UAAoC,aAC7EowX,EAAoB2B,IAAyB/xX,EAAAA,EAAAA,WAAS,IAE7DP,EAAAA,EAAAA,YAAU,KACR,MAAMuyX,EAASplR,EAAax7H,IAAI,UAC1B6gZ,EAASrlR,EAAax7H,IAAI,UAC5B4gZ,GAAQL,EAAoBK,GAC5BC,GAAQJ,EAAoBI,EAAO,GACtC,CAACrlR,IAEJ,MAAMolR,EAAmB,OAAVx+I,QAAU,IAAVA,GAAkB,QAARE,EAAVF,EAAYl9J,cAAM,IAAAo9J,OAAR,EAAVA,EAAoB1sR,MAAMN,GAAaA,EAAE+5B,KAAOixY,IACzDO,EAAmB,OAAVz+I,QAAU,IAAVA,GAAkB,QAARJ,EAAVI,EAAYl9J,cAAM,IAAA88J,OAAR,EAAVA,EAAoBpsR,MAAMN,GAAaA,EAAE+5B,KAAOmxY,IAEzD12B,EACK,2CADLA,EAES,2CAFTA,EAGU,2CAGVg3B,EAAmB93U,IACvB,IAAKA,EAAO,OAAO,KAEnB,MAAM4D,EAAU5D,EAAM4D,SAAW,CAAC,EAC5BW,EAAqD,IAA5C1jF,OAAO+iF,EAAQ,sBAAwB,GAChDprF,EAA2D,IAA/CqI,OAAO+iF,EAAQ,yBAA2B,GAI5D,MAAO,CACLW,SACA/rF,YACA44R,IANwD,IAA9CvwR,OAAO+iF,EAAQ,wBAA0B,GAOnD6xU,QANoBj9Z,EAAY+rF,EAAjB,GAA6B/rF,EAAY+rF,IAAW,EAOpE,EAGGwzU,EAAWD,EAAgBF,GAC3BI,EAAWF,EAAgBD,GAE3BthE,EAAe,CACnB9lF,YAAY,EACZk4C,qBAAqB,EACrB4pB,OAAQ,CACNpkM,QAAS,CACPzwI,IAAK,GACLy2H,MAAO,GACP+lD,OAAQ,GACRxnJ,KAAM,KAGVo2R,OAAQ,CACNhsR,EAAG,CACDh5C,KAAM,SACNimU,aAAa,EACb9lO,IAAK,IACLgmO,KAAM,CACJ17R,MAAO,4BAETy4R,MAAO,CACLz4R,MAAO,UACP8Q,SAAU,SAAqBjgD,GAC7B,MAAO,GAAGA,IACZ,IAGJ0B,EAAG,CACDgD,KAAM,WACNmmU,KAAM,CACJ/6Q,SAAS,GAEX83Q,MAAO,CACLz4R,MAAO,aAIbrtB,QAAS,CACPmqU,OAAQ,CACNzI,OAAQ,CACNr0S,MAAO,UACP4/G,QAAS,IAEXi7G,MAAO,SAKP6uK,EAAyB/oB,IAC7B,MAAMgpB,EAAcl4U,IAClB,GAAU,OAALA,QAAK,IAALA,IAAAA,EAAOiwT,eAAgB,MAAO,GAGnC,MAAMoD,EACyB,kBAAtB,OAAP1iT,QAAO,IAAPA,OAAO,EAAPA,EAASozK,iBACJ/jL,EAAMiwT,eAAeC,aACrBlwT,EAAMiwT,eAAewB,eAE5B,GAAkB,OAAb4B,QAAa,IAAbA,IAAAA,EAAelD,qBAAsB,MAAO,GAGjD,MAAMC,EAAclxZ,OAAOqG,KAAK8tZ,EAAclD,sBAAsB,GACpE,IAAKC,EAAa,MAAO,GAOzB,OAJS,OAAPz/S,QAAO,IAAPA,GAAAA,EAASozK,gBACJsvI,EAAclD,qBAAqBC,GAAaE,oBAGtC,EAGb6nB,EAAgBD,EAAWN,GAC3BQ,EAAgBF,EAAWL,GAE3BQ,EAAkBnwV,IACtB,GAAiC,kBAAtB,OAAPyoB,QAAO,IAAPA,OAAO,EAAPA,EAASozK,iBAoBN,CACL,MAAMu0J,EAAapwV,EACnB,MACO,aADCgnU,GAEGopB,EAAW5mB,SAAiC,IAAtB4mB,EAAW5mB,SAEjC,CAEb,CA5BiD,CAC/C,MAAM6mB,EAAYrwV,EAClB,OAAQgnU,GACN,IAAK,MACH,OAAOqpB,EAAU5nB,kBAAkD,IAA9B4nB,EAAU5nB,kBAA0B,EAC3E,IAAK,YACH,OAAO4nB,EAAU/nB,kBAAkD,IAA9B+nB,EAAU/nB,kBAA0B,EAC3E,IAAK,SACH,OAAO+nB,EAAU9nB,eAA4C,IAA3B8nB,EAAU9nB,eAAuB,EACrE,IAAK,KACH,OAAI8nB,EAAU/nB,mBAAqB+nB,EAAU9nB,eAG0B,KADjE,EAAI8nB,EAAU/nB,kBAAoB+nB,EAAU9nB,gBAC3C8nB,EAAU/nB,kBAAoB+nB,EAAU9nB,iBAAmB,GAG3D,EACT,QACE,OAAO,EAEb,CAQA,EAGF,MAAO,CACL7tE,OAAQjiV,MAAM45E,KAAK,CAAEt6E,OAAQorB,KAAK44E,IAAIk0U,EAAcl4a,OAAQm4a,EAAcn4a,UAAW,CAACkU,EAAGzO,IAAM,SAASA,EAAI,MAC5Gk5R,SAAU,CACR,CACEvzR,OAAa,OAANusa,QAAM,IAANA,OAAM,EAANA,EAAQ54a,OAAQ,UACvBkd,KAAMi8Z,EAAct3a,KAAKqnF,GAAUmwV,EAAenwV,KAClD6hM,YAAa,wBACb37H,gBAAiB,0BACjBwmL,QAAS,IAEX,CACEvpU,OAAa,OAANwsa,QAAM,IAANA,OAAM,EAANA,EAAQ74a,OAAQ,UACvBkd,KAAMk8Z,EAAcv3a,KAAKqnF,GAAUmwV,EAAenwV,KAClD6hM,YAAa,uBACb37H,gBAAiB,yBACjBwmL,QAAS,KAGd,EAGH,OACE9+K,EAAAA,GAAAA,MAAC+iO,IAAa,CAAAr7W,SAAA,EACZw2I,EAAAA,GAAAA,KAACsiR,IAAoB,CAAA94Z,UACnBw2I,EAAAA,GAAAA,KAACqiR,IAAW,CACV3rJ,QAASA,IAAMwmJ,GAAa,GAC5BhvK,KAAM+uK,EACN58V,MAAO,IACP02M,UAAQ,EACR/pI,MAAO,CAAEuhP,SAAUue,GAAoBtjY,UAEvCw2I,EAAAA,GAAAA,KAAC82H,GAAMzgC,KAAI,CAAChsP,UAAU,aAAYmf,SAAC,2CAGvCs4I,EAAAA,GAAAA,MAACm+N,IAAkB,CAAAz2W,SAAA,EACjBw2I,EAAAA,GAAAA,KAACkgO,IAAa,CAAA12W,UACZw2I,EAAAA,GAAAA,KAAC8kO,IAAU,CAAAt7W,UACTw2I,EAAAA,GAAAA,KAACg2F,GAAKO,OAAM,CAAClsP,UAAU,iBAAgBmf,UACrCw2I,EAAAA,GAAAA,KAACC,GAAG,CAAC51J,UAAU,qBAAoBmf,UACjCs4I,EAAAA,GAAAA,MAACtB,GAAG,CAAAh3I,SAAA,EACFs4I,EAAAA,GAAAA,MAACmC,GAAM,CACLh0I,QAAQ,OACR5lB,UAAU,sBACVkuD,QAASA,IAAM6/F,GAAU,GACzBvvH,MAAO,CAAEovP,eAAgB,QAASzuQ,SAAA,EAElCw2I,EAAAA,GAAAA,KAAC+c,GAAW,CAAC1yK,UAAU,SAAS,qBAGlC21J,EAAAA,GAAAA,KAAA,MAAI31J,UAAU,6BAA4Bmf,SAAC,sBAC3Cw2I,EAAAA,GAAAA,KAAA,OAAK31J,UAAU,WAAUmf,SAAC,sDAOpCw2I,EAAAA,GAAAA,KAACmgO,IAAiB,CAAA32W,SACfo6Z,GAAUC,IACT7jR,EAAAA,GAAAA,KAAA+B,GAAAA,SAAA,CAAAv4I,UACEs4I,EAAAA,GAAAA,MAACogR,IAAc,CAAA14Z,SAAA,EACbs4I,EAAAA,GAAAA,MAAC7B,GAAG,CAAAz2I,SAAA,EACFs4I,EAAAA,GAAAA,MAACtB,GAAG,CAACxpI,GAAI,EAAExN,SAAA,EACTw2I,EAAAA,GAAAA,KAACwkR,GAAoB,CACnBx4U,MAAO43U,EACPh0U,QAASm0U,GAAY,CAAE3mI,IAAK,EAAGqkI,QAAS,EAAGj9Z,UAAW,EAAG+rF,OAAQ,GACjEioN,sBAA8B,OAAP77M,QAAO,IAAPA,OAAO,EAAPA,EAASozK,gBAChCw+G,SAAUue,KAEZ9sP,EAAAA,GAAAA,KAACykR,IAAoB,CACnBl2C,SAAUue,EACVg1B,iBAAkBA,EAClBC,yBAA0BA,IACxB2B,EAAyC,aAArB5B,EAAkC,aAAe,YAEvEE,mBAAoBA,EACpBC,yBAA0BA,IAAM0B,GAAuB3B,GACvDv6I,aACuB,aAArBq6I,GACU,OAAN8B,QAAM,IAANA,GAAkB,QAAZpB,EAANoB,EAAQ50O,kBAAU,IAAAwzO,GAAgB,QAAhBC,EAAlBD,EAAoB77I,sBAAc,IAAA87I,OAA5B,EAANA,EAAoChiQ,aAAc,IAC5C,OAANmjQ,QAAM,IAANA,GAAkB,QAAZlB,EAANkB,EAAQ50O,kBAAU,IAAA0zO,GAAqB,QAArBC,EAAlBD,EAAoB97I,2BAAmB,IAAA+7I,OAAjC,EAANA,EAAyCliQ,aAAc,GAE7D/9C,UACuB,aAArBo/S,EACU,OAAN8B,QAAM,IAANA,OAAM,EAANA,EAAQ/8S,UACF,OAAN+8S,QAAM,IAANA,GAAkB,QAAZhB,EAANgB,EAAQ50O,kBAAU,IAAA4zO,GAAqB,QAArBC,EAAlBD,EAAoBh8I,2BAAmB,IAAAi8I,GAAW,QAAXC,EAAvCD,EAAyCh8S,iBAAS,IAAAi8S,OAA5C,EAANA,EAAqD,SAK/DhhR,EAAAA,GAAAA,MAACtB,GAAG,CAACxpI,GAAI,EAAExN,SAAA,EACTw2I,EAAAA,GAAAA,KAACwkR,GAAoB,CACnBx4U,MAAO63U,EACPj0U,QAASo0U,GAAY,CAAE5mI,IAAK,EAAGqkI,QAAS,EAAGj9Z,UAAW,EAAG+rF,OAAQ,GACjEioN,sBAA8B,OAAP77M,QAAO,IAAPA,OAAO,EAAPA,EAASozK,gBAChCw+G,SAAUue,KAEZ9sP,EAAAA,GAAAA,KAACykR,IAAoB,CACnBl2C,SAAUue,EACVg1B,iBAAkBA,EAClBC,yBAA0BA,IACxB2B,EAAyC,aAArB5B,EAAkC,aAAe,YAEvEE,mBAAoBA,EACpBC,yBAA0BA,IAAM0B,GAAuB3B,GACvDv6I,aACuB,aAArBq6I,GACU,OAAN+B,QAAM,IAANA,GAAkB,QAAZd,EAANc,EAAQ70O,kBAAU,IAAA+zO,GAAgB,QAAhBC,EAAlBD,EAAoBp8I,sBAAc,IAAAq8I,OAA5B,EAANA,EAAoCviQ,aAAc,IAC5C,OAANojQ,QAAM,IAANA,GAAkB,QAAZZ,EAANY,EAAQ70O,kBAAU,IAAAi0O,GAAqB,QAArBC,EAAlBD,EAAoBr8I,2BAAmB,IAAAs8I,OAAjC,EAANA,EAAyCziQ,aAAc,GAE7D/9C,UACuB,aAArBo/S,EACU,OAAN+B,QAAM,IAANA,OAAM,EAANA,EAAQh9S,UACF,OAANg9S,QAAM,IAANA,GAAkB,QAAZV,EAANU,EAAQ70O,kBAAU,IAAAm0O,GAAqB,QAArBC,EAAlBD,EAAoBv8I,2BAAmB,IAAAw8I,GAAW,QAAXC,EAAvCD,EAAyCv8S,iBAAS,IAAAw8S,OAA5C,EAANA,EAAqD,YAMjErjR,EAAAA,GAAAA,KAACmiR,IAAW,CAAA34Z,SACoB,kBAAtB,OAAPmzF,QAAO,IAAPA,OAAO,EAAPA,EAASozK,kBACRjuH,EAAAA,GAAAA,MAAAC,GAAAA,SAAA,CAAAv4I,SAAA,EACEw2I,EAAAA,GAAAA,KAAC0kR,IAAkB,CACjBxga,MAAM,oBACNqqX,SAAUue,EACV5kY,KAAM+7Z,EAAsB,OAC5Bv4a,QAAS62W,KAEXviN,EAAAA,GAAAA,KAAC0kR,IAAkB,CACjBxga,MAAM,oBACNqqX,SAAUue,EACV5kY,KAAM+7Z,EAAsB,MAC5Bv4a,QAAS62W,KAEXviN,EAAAA,GAAAA,KAAC0kR,IAAkB,CACjBxga,MAAM,qBACNqqX,SAAUue,EACV5kY,KAAM+7Z,EAAsB,aAC5Bv4a,QAAS62W,KAEXviN,EAAAA,GAAAA,KAAC0kR,IAAkB,CACjBxga,MAAM,kBACNqqX,SAAUue,EACV5kY,KAAM+7Z,EAAsB,UAC5Bv4a,QAAS62W,QAIbviN,EAAAA,GAAAA,KAAC0kR,IAAkB,CACjBxga,MAAM,oBACNqqX,SAAUue,EACV5kY,KAAM+7Z,EAAsB,YAC5Bv4a,QAAS62W,kBASX,EChfpB,MAAMoiE,YAAqBjhW,EAAAA,UACzB/yE,MAAAA,GAGE,GAFAxE,QAAQC,IAAI,uCAAwC+b,KAAK/K,MAAMwna,aAE3Dz8Z,KAAK/K,MAAMwna,YAEb,MADAz4a,QAAQC,IAAI,2BACN,IAAImM,MAAM,iDAElB,OAAO,IACT,EAGF,MAgCA,IAhC4Bssa,KAC1B14a,QAAQC,IAAI,iCACZ,MAAO2pZ,EAAWC,GAAgBtyU,EAAAA,UAAe,GAEjDA,EAAAA,WAAgB,KACdv3E,QAAQC,IAAI,+BAGL,KACLD,QAAQC,IAAI,iCAAiC,IAE9C,IAOH,OACE01J,EAAAA,GAAAA,MAAClC,GAAS,CAACv1J,UAAU,OAAMmf,SAAA,EACzBw2I,EAAAA,GAAAA,KAAA,MAAI31J,UAAU,kBAAiBmf,SAAC,8BAChCw2I,EAAAA,GAAAA,KAAA,KAAG31J,UAAU,kBAAiBmf,SAAC,sFAG/Bw2I,EAAAA,GAAAA,KAAC2kR,IAAY,CAACC,YAAa7uB,KAC3B/1P,EAAAA,GAAAA,KAACiE,GAAM,CAACh0I,QAAQ,SAASsoC,QAZFusX,KACzB34a,QAAQC,IAAI,mDACZ4pZ,GAAa,EAAK,EAUqCxsY,SAAC,oBAG5C,ECiChB,IApEgCu7Z,KAC9B,MAAMvja,EAAWi2I,KACXW,EAAWR,KA+DjB,OA7DAvmG,EAAAA,EAAAA,YAAU,KAAO,IAAD2zX,EAEd74a,QAAQC,IAAI,oBAAqBoV,EAASquI,UAC1C1jJ,QAAQC,IAAI,kBAAmBoV,EAASyxC,OACxC9mD,QAAQC,IAAI,mBAAoBoV,EAASs5B,QAGzC,MAAMmqY,EAAoB9qZ,OAAOu2H,QAAQY,UACnC4zR,EAAuB/qZ,OAAOu2H,QAAQO,aAG5C92H,OAAOu2H,QAAQY,UAAY,WAAoB,IAAD,IAAA9kJ,EAAAC,UAAAR,OAANS,EAAI,IAAAC,MAAAH,GAAAI,EAAA,EAAAA,EAAAJ,EAAAI,IAAJF,EAAIE,GAAAH,UAAAG,GAE1C,OADAT,QAAQC,IAAI,iCAAkCM,GACvCu4a,EAAkBv/Z,MAAMyC,KAAMzb,EACvC,EAEAytB,OAAOu2H,QAAQO,aAAe,WAAoB,IAAD,IAAAt1I,EAAAlP,UAAAR,OAANS,EAAI,IAAAC,MAAAgP,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAJlP,EAAIkP,GAAAnP,UAAAmP,GAE7C,OADAzP,QAAQC,IAAI,oCAAqCM,GAC1Cw4a,EAAqBx/Z,MAAMyC,KAAMzb,EAC1C,EAGA,MAAMy4a,EAAoF,QAArEH,EAAG95a,OAAO6F,yBAAyBopB,OAAOirZ,SAASp1a,UAAW,eAAO,IAAAg1a,OAAA,EAAlEA,EAAoE39Z,IAY5F,GAXI89Z,GACFj6a,OAAOC,eAAegvB,OAAO3Y,SAAU,OAAQ,CAC7C6F,IAAK,SAAUjc,GAEb,OADAe,QAAQC,IAAI,8BAA+BhB,GACpC+5a,EAAgBjoa,KAAKiL,KAAM/c,EACpC,IAMsB,gBAAtBoW,EAASquI,SAA4B,CACvC1jJ,QAAQC,IAAI,wDAGZ,MAAMi5a,EAAmBxza,IACvB1F,QAAQC,IAAI,8CACZyF,EAAE4hC,iBACK,IAKT,OAFAtZ,OAAOC,iBAAiB,eAAgBirZ,GAEjC,KAELlrZ,OAAOu2H,QAAQY,UAAY2zR,EAC3B9qZ,OAAOu2H,QAAQO,aAAei0R,EAC9B/qZ,OAAOmR,oBAAoB,eAAgB+5Y,EAAgB,CAE/D,CAEA,MAAO,KAELlrZ,OAAOu2H,QAAQY,UAAY2zR,EAC3B9qZ,OAAOu2H,QAAQO,aAAei0R,CAAoB,CACnD,GACA,CAAC1ja,EAAU42I,IAEP,IAAI,ECwCb,IAxGsCktR,KACpC,MAAOt1K,EAASu1K,IAAc3zX,EAAAA,EAAAA,UAAS,GACjCwmG,EAAWR,MAGjBvmG,EAAAA,EAAAA,YAAU,KACRllD,QAAQC,IAAI,+BAGZD,QAAQC,IAAI,eAAgB+tB,OAAO3Y,SAAS27B,MAC5ChxC,QAAQC,IAAI,iCAAkCgsJ,GAG9C,MAAMotR,EAAiBrrZ,OAAO3Y,SAAS7I,OACvCwhB,OAAO3Y,SAAS7I,OAAS,SAAUsiC,GAEjC,OADA9uC,QAAQC,IAAI,+BAAgC6uC,GACrCuqY,EAAetoa,KAAKiL,KAAM8yB,EACnC,EAGA,MAAMwqY,EAAev6a,OAAO6F,yBAAyBopB,OAAOirZ,SAASp1a,UAAW,QAChF,GAAIy1a,GAAgBA,EAAap+Z,IAAK,CACpC,MAAMq+Z,EAAcD,EAAap+Z,IACjCnc,OAAOC,eAAegvB,OAAO3Y,SAAU,OAAQ,CAC7C6F,IAAK,SAAU4zB,GAEb,GADA9uC,QAAQC,IAAI,mCAAoC6uC,GAC5CA,EAAInuB,SAAS,aAEf,MADA3gB,QAAQC,IAAI,+CACN,IAAImM,MAAM,8CAElB,OAAOmta,EAAYxoa,KAAKiL,KAAM8yB,EAChC,EACAjY,IAAKyiZ,EAAaziZ,KAEtB,CAEA,MAAO,KACL72B,QAAQC,IAAI,kCAEZ+tB,OAAO3Y,SAAS7I,OAAS6sa,EACrBC,GACFv6a,OAAOC,eAAegvB,OAAO3Y,SAAU,OAAQika,EACjD,CACD,GACA,CAACrtR,KAGJ/mG,EAAAA,EAAAA,YAAU,KACR,MAAMypU,EAAW6qD,aAAY,KAC3BJ,GAAY3oa,GAAMA,EAAI,GAAE,GACvB,KAEH,MAAO,IAAMgpa,cAAc9qD,EAAS,GACnC,IAWH,OACEh5N,EAAAA,GAAAA,MAAClC,GAAS,CAACv1J,UAAU,OAAMmf,SAAA,EACzBs4I,EAAAA,GAAAA,MAACmmI,GAAK,CAACh4Q,QAAQ,UAASzG,SAAA,EACtBw2I,EAAAA,GAAAA,KAAA,UAAAx2I,SAAQ,kBACRs4I,EAAAA,GAAAA,MAAA,OAAAt4I,SAAA,CAAK,YAAUwmP,EAAQ,+CACvBluG,EAAAA,GAAAA,MAAA,OAAAt4I,SAAA,CAAK,kBAAe,IAAI6qB,MAAOkwM,qBAGjCvkF,EAAAA,GAAAA,KAAA,MAAI31J,UAAU,kBAAiBmf,SAAC,0BAChCw2I,EAAAA,GAAAA,KAAA,KAAG31J,UAAU,kBAAiBmf,SAAC,6FAI/Bs4I,EAAAA,GAAAA,MAAA,OAAKz3J,UAAU,oBAAmBmf,SAAA,EAChCw2I,EAAAA,GAAAA,KAACiE,GAAM,CAACh0I,QAAQ,UAAUsoC,QAvBJstX,KAC1B15a,QAAQC,IAAI,2BACZ,IACEgsJ,EAAS,YACX,CAAE,MAAOz2I,GACPxV,QAAQmnB,MAAM,oBAAqB3R,EACrC,GAiB2D6H,SAAC,+BAIxDw2I,EAAAA,GAAAA,KAACiE,GAAM,CACLh0I,QAAQ,UACRsoC,QAASA,KACPpsD,QAAQC,IAAI,kCACZ,IACE+tB,OAAO3Y,SAAS27B,KAAO,WACzB,CAAE,MAAOx7B,GACPxV,QAAQmnB,MAAM,yBAA0B3R,EAC1C,GACA6H,SACH,kCAKHw2I,EAAAA,GAAAA,KAACioI,GAAK,CAACh4Q,QAAQ,OAAMzG,UACnBw2I,EAAAA,GAAAA,KAAA,KAAAx2I,SAAG,0DAEK,ECoEhB,IAvJsBs8Z,KACpB35a,QAAQC,IAAI,2BACZ,MAAM07F,EAAkB04E,GAAeh4E,IAqCvC,OAlCA9kB,EAAAA,WAAgB,KACdv3E,QAAQC,IAAI,wDAGZ,MAAM25a,EAAmBA,KACvB55a,QAAQC,IAAI,oCAAqC+tB,OAAO3Y,SAAS27B,KAAK,EAGxEhjB,OAAOC,iBAAiB,WAAY2rZ,GAGpC,IACE,MAAMC,EAA6B96a,OAAO6F,yBAAyBopB,OAAOirZ,SAASp1a,UAAW,QAC9F,GAAIg2a,GAA8BA,EAA2B3+Z,IAAK,CAChE,MAAMq+Z,EAAcM,EAA2B3+Z,IAE/Cnc,OAAOC,eAAegvB,OAAO3Y,SAAU,OAAQ,CAC7C6F,IAAK,SAAU4zB,GAGb,OAFA9uC,QAAQC,IAAI,2CAA2C6uC,KACvD9uC,QAAQmiJ,MAAM,oCACPo3R,EAAYxoa,KAAKiL,KAAM8yB,EAChC,EACAjY,IAAKgjZ,EAA2BhjZ,KAEpC,CACF,CAAE,MAAOnxB,KACP1F,QAAQmnB,MAAM,oCAAqCzhB,IACrD,CAEA,MAAO,KACLsoB,OAAOmR,oBAAoB,WAAYy6Y,EAAiB,CACzD,GACA,KAGDjkR,EAAAA,GAAAA,MAACjF,GAAM,CAAArzI,SAAA,EAELw2I,EAAAA,GAAAA,KAAC+kR,IAAa,KAEd/kR,EAAAA,GAAAA,KAACimR,GAAM,CAAAz8Z,UACLs4I,EAAAA,GAAAA,MAAC1E,GAAM,CAAA5zI,SAAA,EACLw2I,EAAAA,GAAAA,KAACrD,GAAK,CACJzwF,KAAK,UACL1pD,SACEw9I,EAAAA,GAAAA,KAAClF,GAAa,CAAAtxI,UACZw2I,EAAAA,GAAAA,KAAA,OAAKn3H,MAAO,CAAEyP,OAAQ,QAASD,MAAO,SAAU7uB,UAC9Cw2I,EAAAA,GAAAA,KAAA,UACE97I,MAAM,gBACNs3C,IAAI,eACJ3yB,MAAO,CAAEotN,OAAQ,OAAQ59M,MAAO,OAAQC,OAAQ,iBAM1D0nH,EAAAA,GAAAA,KAACrD,GAAK,CACJzwF,KAAK,SACL1pD,SAASw9I,EAAAA,GAAAA,KAAClF,GAAa,CAAAtxI,SAAEs+E,GAAkBk4D,EAAAA,GAAAA,KAACvD,GAAQ,CAAC9M,GAAG,eAAiBqQ,EAAAA,GAAAA,KAACi0F,GAAK,SAEjFj0F,EAAAA,GAAAA,KAACrD,GAAK,CACJzwF,KAAK,IACL1pD,SACEw9I,EAAAA,GAAAA,KAAClF,GAAa,CAAAtxI,UACZw2I,EAAAA,GAAAA,KAACvD,GAAQ,CAAC9M,GAAI7nD,EAAkB,YAAc,gBAIpDk4D,EAAAA,GAAAA,KAACrD,GAAK,CACJzwF,KAAK,YACL1pD,SAASw9I,EAAAA,GAAAA,KAAClF,GAAa,CAAAtxI,SAAEs+E,GAAkBk4D,EAAAA,GAAAA,KAAC64H,GAAQ,KAAM74H,EAAAA,GAAAA,KAACvD,GAAQ,CAAC9M,GAAG,gBAEzEqQ,EAAAA,GAAAA,KAACrD,GAAK,CACJzwF,KAAK,uBACL1pD,SAASw9I,EAAAA,GAAAA,KAAClF,GAAa,CAAAtxI,SAAEs+E,GAAkBk4D,EAAAA,GAAAA,KAAC8hO,GAAe,KAAM9hO,EAAAA,GAAAA,KAACvD,GAAQ,CAAC9M,GAAG,gBAEhFqQ,EAAAA,GAAAA,KAACrD,GAAK,CACJzwF,KAAK,uBACL1pD,SAASw9I,EAAAA,GAAAA,KAAClF,GAAa,CAAAtxI,SAAEs+E,GAAkBk4D,EAAAA,GAAAA,KAAC0wP,GAAW,KAAM1wP,EAAAA,GAAAA,KAACvD,GAAQ,CAAC9M,GAAG,gBAE5EqQ,EAAAA,GAAAA,KAACrD,GAAK,CACJzwF,KAAK,qBACL1pD,SAASw9I,EAAAA,GAAAA,KAAClF,GAAa,CAAAtxI,SAAEs+E,GAAkBk4D,EAAAA,GAAAA,KAAC6mQ,GAAS,KAAM7mQ,EAAAA,GAAAA,KAACvD,GAAQ,CAAC9M,GAAG,gBAE1EqQ,EAAAA,GAAAA,KAACrD,GAAK,CACJzwF,KAAK,6BACL1pD,SACEw9I,EAAAA,GAAAA,KAAClF,GAAa,CAAAtxI,SAAEs+E,GAAkBk4D,EAAAA,GAAAA,KAACuiR,IAAmB,KAAMviR,EAAAA,GAAAA,KAACvD,GAAQ,CAAC9M,GAAG,gBAG7EqQ,EAAAA,GAAAA,KAACrD,GAAK,CACJzwF,KAAK,wBACL1pD,SAASw9I,EAAAA,GAAAA,KAAClF,GAAa,CAAAtxI,SAAEs+E,GAAkBk4D,EAAAA,GAAAA,KAAC+9Q,GAAa,KAAM/9Q,EAAAA,GAAAA,KAACvD,GAAQ,CAAC9M,GAAG,gBAE9EqQ,EAAAA,GAAAA,KAACrD,GAAK,CACJzwF,KAAK,qBACL1pD,SAASw9I,EAAAA,GAAAA,KAAClF,GAAa,CAAAtxI,SAAEs+E,GAAkBk4D,EAAAA,GAAAA,KAAC4zJ,GAAgB,KAAM5zJ,EAAAA,GAAAA,KAACvD,GAAQ,CAAC9M,GAAG,gBAEjFqQ,EAAAA,GAAAA,KAACrD,GAAK,CACJzwF,KAAK,qBACL1pD,SACEw9I,EAAAA,GAAAA,KAAClF,GAAa,CAAAtxI,SAAEs+E,GAAkBk4D,EAAAA,GAAAA,KAACi5J,GAAiB,KAAMj5J,EAAAA,GAAAA,KAACvD,GAAQ,CAAC9M,GAAG,gBAG3EqQ,EAAAA,GAAAA,KAACrD,GAAK,CACJzwF,KAAK,WACL1pD,SAASw9I,EAAAA,GAAAA,KAAClF,GAAa,CAAAtxI,SAAEs+E,GAAkBk4D,EAAAA,GAAAA,KAAC0lJ,GAAO,KAAM1lJ,EAAAA,GAAAA,KAACvD,GAAQ,CAAC9M,GAAG,gBAExEqQ,EAAAA,GAAAA,KAACrD,GAAK,CACJzwF,KAAK,mBACL1pD,SACEw9I,EAAAA,GAAAA,KAAClF,GAAa,CAAAtxI,UACZw2I,EAAAA,GAAAA,KAAC09H,GAAa,SAIpB19H,EAAAA,GAAAA,KAACrD,GAAK,CACJzwF,KAAK,iBACL1pD,SACEw9I,EAAAA,GAAAA,KAAClF,GAAa,CAAAtxI,UACZw2I,EAAAA,GAAAA,KAAC29H,GAAa,SAIpB39H,EAAAA,GAAAA,KAACrD,GAAK,CACJzwF,KAAK,aACL1pD,SAASw9I,EAAAA,GAAAA,KAAClF,GAAa,CAAAtxI,SAAEs+E,GAAkBk4D,EAAAA,GAAAA,KAACw+Q,GAAc,KAAMx+Q,EAAAA,GAAAA,KAACvD,GAAQ,CAAC9M,GAAG,gBAI/EqQ,EAAAA,GAAAA,KAACrD,GAAK,CACJzwF,KAAK,cACL1pD,SACEw9I,EAAAA,GAAAA,KAAClF,GAAa,CAACqrJ,UAAU,EAAM38R,UAC7Bw2I,EAAAA,GAAAA,KAAC6kR,IAAS,SAMhB7kR,EAAAA,GAAAA,KAACrD,GAAK,CAACzwF,KAAK,mBAAmB1pD,SAASw9I,EAAAA,GAAAA,KAACslR,IAAmB,aAGzD,Er0BtFYY,MACvB,MACMC,EAlB0BvrV,IACb,CACjB,eAAeA,EAAOwrV,WAAWp5a,KAAK,OACtC,eAAe4tF,EAAOyrV,WAAWr5a,KAAK,OACtC,cAAc4tF,EAAO0rV,UAAUt5a,KAAK,OACpC,aAAa4tF,EAAO2rV,SAASv5a,KAAK,OAClC,WAAW4tF,EAAO4rV,OAAOx5a,KAAK,OAC9B,aAAa4tF,EAAO6rV,SAASz5a,KAAK,OAClC,aAAa4tF,EAAO8rV,SAAS15a,KAAK,OAClC,cAAc4tF,EAAO+rV,UAAU35a,KAAK,OACpC,YAAY4tF,EAAOgsV,QAAQ55a,KAAK,QAGhBA,KAAK,MAKL65a,CA5DQC,MAC1B,MAAM5lT,EAAYL,KAIZkmT,EAAwB,CAC5BX,WAAY,CAAC,UACbC,WAAY,CAAC,SAAY,SACzBC,UAAW,CAAC,SAAY,kBAAqB,iBAC7CC,SAAU,CAAC,SAAY,mBACvBC,OAAQ,CAAC,SAAY,QAAS,QAAS,2BACvCC,SAAU,CAAC,SAAY,SACvBC,SAAU,CAAC,SAAY,QAAS,SAChCC,UAAW,CAAC,SAAY,SACxBC,QAAS,CAAC,SAAY,UAyBxB,OArBI1lT,IACF6lT,EAAWX,WAAWl6a,KAAKg1H,GAC3B6lT,EAAWV,WAAWn6a,KAAKg1H,GAC3B6lT,EAAWT,UAAUp6a,KAAKg1H,GAC1B6lT,EAAWR,SAASr6a,KAAKg1H,GACzB6lT,EAAWP,OAAOt6a,KAAKg1H,GACvB6lT,EAAWN,SAASv6a,KAAKg1H,GACzB6lT,EAAWL,SAASx6a,KAAKg1H,GACzB6lT,EAAWH,QAAQ16a,KAAKg1H,IAanB6lT,CAAU,EAoBFD,IAGf,IAAIvva,EAAO2a,SAASquG,cAAc,8CAC7BhpH,IACHA,EAAO2a,SAASZ,cAAc,QAC9B/Z,EAAKmpB,aAAa,aAAc,2BAChCxO,SAASm5D,KAAK1lD,YAAYpuB,IAE5BA,EAAKmpB,aAAa,UAAWylZ,EAAU,Es0BtBzCD,GAyCaroR,EAAAA,WAAoB3rI,SAAS+iV,eAAe,SAIpDtkW,QACHqvJ,EAAAA,GAAAA,KAACt8E,EAAAA,WAAgB,CAAAl6D,UACfw2I,EAAAA,GAAAA,KAAC12F,EAAQ,CAACojB,MAAOA,GAAMljE,UACrBw2I,EAAAA,GAAAA,KAAC8lR,IAAG","sources":["../node_modules/highlight.js/lib/languages/julia.js","../node_modules/react-syntax-highlighter/dist/cjs/styles/hljs/googlecode.js","../node_modules/react-syntax-highlighter/dist/cjs/styles/hljs/solarized-dark.js","../node_modules/xml-utils/find-tags-by-name.js","../node_modules/highlight.js/lib/languages/c-like.js","../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","../node_modules/highlight.js/lib/languages/hsp.js","../node_modules/highlight.js/lib/languages/mel.js","../node_modules/highlight.js/lib/languages/fix.js","../node_modules/highlight.js/lib/languages/elixir.js","../node_modules/react-syntax-highlighter/dist/cjs/styles/hljs/atelier-savanna-dark.js","../node_modules/highlight.js/lib/languages/protobuf.js","../node_modules/highlight.js/lib/languages/rust.js","../node_modules/react-syntax-highlighter/dist/cjs/styles/hljs/atelier-lakeside-dark.js","../node_modules/highlight.js/lib/languages/autoit.js","../node_modules/react-syntax-highlighter/dist/cjs/styles/hljs/hybrid.js","../node_modules/highlight.js/lib/languages/python.js","../node_modules/react-syntax-highlighter/dist/cjs/styles/hljs/atelier-heath-light.js","../node_modules/highlight.js/lib/languages/plaintext.js","../node_modules/highlight.js/lib/languages/moonscript.js","../node_modules/highlight.js/lib/languages/livescript.js","../node_modules/react/jsx-runtime.js","../node_modules/highlight.js/lib/languages/node-repl.js","../node_modules/react-syntax-highlighter/dist/cjs/styles/hljs/codepen-embed.js","../node_modules/react-syntax-highlighter/dist/cjs/styles/hljs/ascetic.js","../node_modules/highlight.js/lib/languages/clojure-repl.js","../node_modules/highlight.js/lib/languages/julia-repl.js","../node_modules/highlight.js/lib/languages/gauss.js","../node_modules/react-syntax-highlighter/dist/cjs/styles/hljs/gruvbox-light.js","../node_modules/react-syntax-highlighter/dist/cjs/styles/hljs/xcode.js","../node_modules/highlight.js/lib/languages/gams.js","../node_modules/highlight.js/lib/languages/vbscript-html.js","../node_modules/highlight.js/lib/languages/javascript.js","../node_modules/highlight.js/lib/languages/ceylon.js","../node_modules/highlight.js/lib/languages/basic.js","../node_modules/highlight.js/lib/languages/kotlin.js","../node_modules/highlight.js/lib/languages/typescript.js","../node_modules/highlight.js/lib/languages/mercury.js","../node_modules/highlight.js/lib/languages/php-template.js","../node_modules/geotiff/dist-module/globals.js","../node_modules/xml-utils/count-substring.js","../node_modules/react-syntax-highlighter/dist/cjs/styles/hljs/gradient-dark.js","../node_modules/react-syntax-highlighter/dist/cjs/styles/hljs/agate.js","../node_modules/highlight.js/lib/languages/gradle.js","../node_modules/highlight.js/lib/languages/accesslog.js","../node_modules/react/cjs/react-jsx-runtime.production.min.js","../node_modules/highlight.js/lib/languages/ruby.js","../node_modules/highlight.js/lib/languages/leaf.js","../node_modules/highlight.js/lib/languages/zephir.js","../node_modules/highlight.js/lib/languages/less.js","../node_modules/highlight.js/lib/languages/dust.js","../node_modules/highlight.js/lib/languages/arduino.js","../node_modules/react-syntax-highlighter/dist/cjs/styles/hljs/sunburst.js","../node_modules/highlight.js/lib/languages/d.js","../node_modules/react-syntax-highlighter/dist/cjs/styles/hljs/atelier-dune-light.js","../node_modules/react-syntax-highlighter/dist/cjs/styles/hljs/dark.js","../node_modules/highlight.js/lib/languages/diff.js","../node_modules/prop-types/factoryWithThrowingShims.js","../node_modules/tiny-case/index.js","../node_modules/highlight.js/lib/languages/pony.js","../node_modules/highlight.js/lib/languages/processing.js","../node_modules/highlight.js/lib/languages/mojolicious.js","../node_modules/react-syntax-highlighter/dist/cjs/styles/hljs/androidstudio.js","../node_modules/react-syntax-highlighter/dist/cjs/styles/hljs/ir-black.js","../node_modules/react-syntax-highlighter/dist/cjs/styles/hljs/atelier-seaside-dark.js","../node_modules/highlight.js/lib/languages/q.js","../node_modules/format/format.js","../node_modules/react-syntax-highlighter/dist/cjs/styles/hljs/xt256.js","../node_modules/react-syntax-highlighter/dist/cjs/styles/hljs/purebasic.js","../node_modules/highlight.js/lib/languages/django.js","../node_modules/xml-utils/index-of-match.js","../node_modules/highlight.js/lib/languages/lua.js","../node_modules/highlight.js/lib/languages/mizar.js","../node_modules/highlight.js/lib/languages/arcade.js","../node_modules/highlight.js/lib/languages/axapta.js","../node_modules/react-syntax-highlighter/dist/cjs/styles/hljs/atom-one-light.js","../node_modules/highlight.js/lib/languages/dts.js","../node_modules/react-syntax-highlighter/dist/cjs/styles/hljs/stackoverflow-light.js","../node_modules/highlight.js/lib/languages/properties.js","../node_modules/highlight.js/lib/core.js","../node_modules/highlight.js/lib/languages/llvm.js","../node_modules/react-syntax-highlighter/dist/cjs/styles/hljs/railscasts.js","../node_modules/highlight.js/lib/languages/n1ql.js","../node_modules/highlight.js/lib/languages/gml.js","../node_modules/react-syntax-highlighter/dist/cjs/styles/hljs/atelier-estuary-light.js","../node_modules/react-is/index.js","../node_modules/react-syntax-highlighter/dist/cjs/styles/hljs/paraiso-light.js","../node_modules/highlight.js/lib/languages/lasso.js","../node_modules/highlight.js/lib/languages/abnf.js","../node_modules/highlight.js/lib/languages/aspectj.js","../node_modules/highlight.js/lib/languages/scilab.js","../node_modules/highlight.js/lib/languages/ini.js","../node_modules/highlight.js/lib/languages/actionscript.js","../node_modules/highlight.js/lib/languages/jboss-cli.js","../node_modules/react-syntax-highlighter/dist/cjs/styles/hljs/kimbie.dark.js","../node_modules/highlight.js/lib/languages/verilog.js","../node_modules/highlight.js/lib/languages/smali.js","../node_modules/highlight.js/lib/languages/lsl.js","../node_modules/react-syntax-highlighter/dist/cjs/styles/hljs/hopscotch.js","../node_modules/react-syntax-highlighter/dist/cjs/styles/hljs/atelier-seaside-light.js","../node_modules/highlight.js/lib/languages/gcode.js","../node_modules/react-syntax-highlighter/dist/cjs/styles/hljs/rainbow.js","../node_modules/react-syntax-highlighter/dist/cjs/styles/hljs/nnfx-dark.js","../node_modules/highlight.js/lib/languages/pgsql.js","../node_modules/highlight.js/lib/languages/htmlbars.js","../node_modules/react-dom/cjs/react-dom.production.min.js","../node_modules/invariant/browser.js","../node_modules/highlight.js/lib/languages/shell.js","../node_modules/highlight.js/lib/languages/flix.js","../node_modules/highlight.js/lib/languages/cos.js","../node_modules/react-syntax-highlighter/dist/cjs/styles/hljs/gruvbox-dark.js","../node_modules/react-syntax-highlighter/dist/cjs/styles/hljs/kimbie.light.js","../node_modules/highlight.js/lib/languages/awk.js","../node_modules/highlight.js/lib/languages/roboconf.js","../node_modules/react-syntax-highlighter/dist/cjs/styles/hljs/nnfx.js","../node_modules/react-syntax-highlighter/dist/cjs/styles/hljs/mono-blue.js","../node_modules/prop-types/lib/ReactPropTypesSecret.js","../node_modules/react-syntax-highlighter/dist/cjs/styles/hljs/ocean.js","../node_modules/react-syntax-highlighter/dist/cjs/styles/hljs/obsidian.js","../node_modules/react-syntax-highlighter/dist/cjs/styles/hljs/magula.js","../node_modules/highlight.js/lib/languages/lisp.js","../node_modules/highlight.js/lib/languages/fsharp.js","../node_modules/highlight.js/lib/languages/ruleslanguage.js","../node_modules/highlight.js/lib/languages/hy.js","../node_modules/highlight.js/lib/languages/qml.js","../node_modules/highlight.js/lib/languages/profile.js","../node_modules/highlight.js/lib/languages/autohotkey.js","../node_modules/highlight.js/lib/languages/mathematica.js","../node_modules/highlight.js/lib/languages/parser3.js","../node_modules/highlight.js/lib/languages/openscad.js","../node_modules/highlight.js/lib/languages/dsconfig.js","../node_modules/highlight.js/lib/languages/objectivec.js","../node_modules/highlight.js/lib/languages/pf.js","../node_modules/highlight.js/lib/languages/glsl.js","../node_modules/highlight.js/lib/languages/rib.js","../node_modules/react-syntax-highlighter/dist/cjs/styles/hljs/shades-of-purple.js","../node_modules/xml-utils/index-of-match-end.js","../node_modules/highlight.js/lib/languages/1c.js","../node_modules/react-syntax-highlighter/dist/cjs/styles/hljs/qtcreator_dark.js","../node_modules/highlight.js/lib/languages/oxygene.js","../node_modules/highlight.js/lib/languages/x86asm.js","../node_modules/react-syntax-highlighter/dist/cjs/styles/hljs/zenburn.js","../node_modules/highlight.js/lib/languages/capnproto.js","../node_modules/react-syntax-highlighter/dist/cjs/styles/hljs/srcery.js","../node_modules/react-syntax-highlighter/dist/cjs/styles/hljs/atelier-cave-light.js","../node_modules/react-syntax-highlighter/dist/cjs/styles/hljs/arta.js","../node_modules/highlight.js/lib/languages/armasm.js","../node_modules/highlight.js/lib/languages/perl.js","../node_modules/highlight.js/lib/languages/makefile.js","../node_modules/highlight.js/lib/languages/http.js","../node_modules/react-syntax-highlighter/dist/cjs/styles/hljs/isbl-editor-light.js","../node_modules/highlight.js/lib/languages/cmake.js","../node_modules/highlight.js/lib/languages/apache.js","../node_modules/highlight.js/lib/languages/nim.js","../node_modules/react-syntax-highlighter/dist/cjs/styles/hljs/tomorrow-night-bright.js","../node_modules/react/cjs/react.production.min.js","../node_modules/highlight.js/lib/languages/erlang.js","../node_modules/highlight.js/lib/languages/avrasm.js","../node_modules/highlight.js/lib/languages/php.js","../node_modules/react-dom/client.js","../node_modules/highlight.js/lib/languages/inform7.js","../node_modules/highlight.js/lib/languages/prolog.js","../node_modules/property-expr/index.js","../node_modules/highlight.js/lib/languages/purebasic.js","../node_modules/highlight.js/lib/languages/scheme.js","../node_modules/react-syntax-highlighter/dist/cjs/styles/hljs/atelier-sulphurpool-dark.js","../node_modules/react-syntax-highlighter/dist/cjs/styles/hljs/atelier-forest-dark.js","../node_modules/highlight.js/lib/languages/vala.js","../node_modules/highlight.js/lib/languages/java.js","../node_modules/highlight.js/lib/languages/swift.js","../node_modules/highlight.js/lib/languages/maxima.js","../node_modules/highlight.js/lib/languages/smalltalk.js","../node_modules/xml-utils/find-tag-by-name.js","../node_modules/react-syntax-highlighter/dist/cjs/styles/hljs/vs2015.js","../node_modules/@babel/runtime/helpers/interopRequireDefault.js","../node_modules/highlight.js/lib/languages/angelscript.js","../node_modules/react-syntax-highlighter/dist/cjs/styles/hljs/stackoverflow-dark.js","../node_modules/react-syntax-highlighter/dist/cjs/styles/hljs/github-gist.js","../node_modules/react/index.js","../node_modules/react-is/cjs/react-is.production.min.js","../node_modules/highlight.js/lib/languages/powershell.js","../node_modules/highlight.js/lib/languages/thrift.js","../node_modules/react-syntax-highlighter/dist/cjs/styles/hljs/atom-one-dark-reasonable.js","../node_modules/react-syntax-highlighter/dist/cjs/styles/hljs/darcula.js","../node_modules/highlight.js/lib/languages/ada.js","../node_modules/prop-types/index.js","../node_modules/highlight.js/lib/languages/step21.js","../node_modules/react-syntax-highlighter/dist/cjs/styles/hljs/atelier-cave-dark.js","../node_modules/highlight.js/lib/languages/dns.js","../node_modules/highlight.js/lib/languages/excel.js","../node_modules/highlight.js/lib/languages/monkey.js","../node_modules/highlight.js/lib/languages/coffeescript.js","../node_modules/react-syntax-highlighter/dist/cjs/styles/hljs/tomorrow-night-blue.js","../node_modules/highlight.js/lib/languages/r.js","../node_modules/highlight.js/lib/languages/yaml.js","../node_modules/react-syntax-highlighter/dist/cjs/styles/hljs/pojoaque.js","../node_modules/highlight.js/lib/languages/cpp.js","../node_modules/highlight.js/lib/languages/scss.js","../node_modules/react-syntax-highlighter/dist/cjs/styles/hljs/grayscale.js","../node_modules/highlight.js/lib/languages/subunit.js","../node_modules/react-syntax-highlighter/dist/cjs/styles/hljs/index.js","../node_modules/react-syntax-highlighter/dist/cjs/styles/hljs/night-owl.js","../node_modules/highlight.js/lib/languages/groovy.js","../node_modules/react-syntax-highlighter/dist/cjs/styles/hljs/vs.js","../node_modules/highlight.js/lib/languages/csp.js","../node_modules/highlight.js/lib/languages/fortran.js","../node_modules/react-syntax-highlighter/dist/cjs/styles/hljs/idea.js","../node_modules/react-syntax-highlighter/dist/cjs/styles/hljs/dracula.js","../node_modules/highlight.js/lib/languages/routeros.js","../node_modules/highlight.js/lib/languages/bash.js","../node_modules/lowlight/lib/core.js","../node_modules/react-syntax-highlighter/dist/cjs/styles/hljs/color-brewer.js","../node_modules/highlight.js/lib/languages/isbl.js","../node_modules/highlight.js/lib/languages/xl.js","../node_modules/highlight.js/lib/languages/crystal.js","../node_modules/highlight.js/lib/languages/reasonml.js","../node_modules/lowlight/index.js","../node_modules/react-syntax-highlighter/dist/cjs/styles/hljs/solarized-light.js","../node_modules/react-syntax-highlighter/dist/cjs/styles/hljs/default-style.js","../node_modules/highlight.js/lib/languages/tp.js","../node_modules/react-fast-compare/index.js","../node_modules/highlight.js/lib/languages/twig.js","../node_modules/warning/warning.js","../node_modules/highlight.js/lib/languages/tap.js","../node_modules/highlight.js/lib/languages/scala.js","../node_modules/highlight.js/lib/languages/xml.js","../node_modules/react-syntax-highlighter/dist/cjs/styles/hljs/docco.js","../node_modules/highlight.js/lib/languages/coq.js","../node_modules/react-syntax-highlighter/dist/cjs/styles/hljs/routeros.js","../node_modules/react-syntax-highlighter/dist/cjs/styles/hljs/isbl-editor-dark.js","../node_modules/highlight.js/lib/languages/dockerfile.js","../node_modules/highlight.js/lib/languages/erlang-repl.js","../node_modules/react-syntax-highlighter/dist/cjs/styles/hljs/atelier-dune-dark.js","../node_modules/react-syntax-highlighter/dist/cjs/styles/hljs/arduino-light.js","../node_modules/react-syntax-highlighter/dist/cjs/styles/hljs/a11y-light.js","../node_modules/highlight.js/lib/languages/erb.js","../node_modules/react-syntax-highlighter/dist/cjs/styles/hljs/lightfair.js","../node_modules/highlight.js/lib/languages/json.js","../node_modules/react-syntax-highlighter/dist/cjs/styles/hljs/atelier-lakeside-light.js","../node_modules/highlight.js/lib/languages/dart.js","../node_modules/highlight.js/lib/languages/xquery.js","../node_modules/highlight.js/lib/languages/mipsasm.js","../node_modules/highlight.js/lib/languages/puppet.js","../node_modules/react-syntax-highlighter/dist/cjs/styles/hljs/gradient-light.js","../node_modules/scheduler/cjs/scheduler.production.min.js","../node_modules/use-sync-external-store/with-selector.js","../node_modules/highlight.js/lib/languages/tcl.js","../node_modules/highlight.js/lib/languages/cal.js","../node_modules/highlight.js/lib/languages/irpf90.js","../node_modules/highlight.js/lib/languages/applescript.js","../node_modules/shallowequal/index.js","../node_modules/highlight.js/lib/languages/stata.js","../node_modules/highlight.js/lib/languages/clean.js","../node_modules/fault/index.js","../node_modules/react-syntax-highlighter/dist/cjs/styles/hljs/atom-one-dark.js","../node_modules/highlight.js/lib/languages/sas.js","../node_modules/react-syntax-highlighter/dist/cjs/styles/hljs/qtcreator_light.js","../node_modules/react-syntax-highlighter/dist/cjs/styles/hljs/atelier-sulphurpool-light.js","../node_modules/highlight.js/lib/languages/gherkin.js","../node_modules/highlight.js/lib/languages/matlab.js","../node_modules/highlight.js/lib/languages/haskell.js","../node_modules/react-syntax-highlighter/dist/cjs/styles/hljs/brown-paper.js","../node_modules/highlight.js/lib/languages/sqf.js","../node_modules/react-syntax-highlighter/dist/cjs/styles/hljs/atelier-forest-light.js","../node_modules/highlight.js/lib/languages/nix.js","../node_modules/react-syntax-highlighter/dist/cjs/styles/hljs/an-old-hope.js","../node_modules/highlight.js/lib/languages/vbscript.js","../node_modules/react-syntax-highlighter/dist/cjs/styles/hljs/monokai-sublime.js","../node_modules/highlight.js/lib/languages/dos.js","../node_modules/react-syntax-highlighter/dist/cjs/styles/hljs/school-book.js","../node_modules/react-syntax-highlighter/dist/cjs/styles/hljs/paraiso-dark.js","../node_modules/react-syntax-highlighter/dist/cjs/styles/hljs/nord.js","../node_modules/react-dom/index.js","../node_modules/highlight.js/lib/languages/stylus.js","../node_modules/xml-utils/get-attribute.js","../node_modules/highlight.js/lib/languages/asciidoc.js","../node_modules/highlight.js/lib/languages/bnf.js","../node_modules/react-syntax-highlighter/dist/cjs/styles/hljs/a11y-dark.js","../node_modules/highlight.js/lib/languages/haxe.js","../node_modules/classnames/index.js","../node_modules/highlight.js/lib/languages/csharp.js","../node_modules/react-syntax-highlighter/dist/cjs/styles/hljs/atelier-savanna-light.js","../node_modules/highlight.js/lib/languages/c.js","../node_modules/use-sync-external-store/cjs/use-sync-external-store-with-selector.production.js","../node_modules/highlight.js/lib/languages/handlebars.js","../node_modules/highlight.js/lib/languages/sml.js","../node_modules/highlight.js/lib/languages/ebnf.js","../node_modules/highlight.js/lib/languages/nsis.js","../node_modules/highlight.js/lib/languages/golo.js","../node_modules/react-syntax-highlighter/dist/cjs/styles/hljs/gml.js","../node_modules/highlight.js/lib/languages/nginx.js","../node_modules/attr-accept/dist/es/index.js","../node_modules/react-syntax-highlighter/dist/cjs/styles/hljs/atelier-plateau-light.js","../node_modules/react-syntax-highlighter/dist/cjs/styles/hljs/tomorrow.js","../node_modules/toposort/index.js","../node_modules/react-syntax-highlighter/dist/cjs/styles/hljs/foundation.js","../node_modules/highlight.js/lib/languages/css.js","../node_modules/highlight.js/lib/languages/vim.js","../node_modules/react-syntax-highlighter/dist/cjs/styles/hljs/github.js","../node_modules/scheduler/index.js","../node_modules/highlight.js/lib/languages/taggerscript.js","../node_modules/react-syntax-highlighter/dist/cjs/styles/hljs/far.js","../node_modules/react-syntax-highlighter/dist/cjs/styles/hljs/tomorrow-night.js","../node_modules/highlight.js/lib/languages/ldif.js","../node_modules/highlight.js/lib/languages/haml.js","../node_modules/react-syntax-highlighter/dist/cjs/styles/hljs/tomorrow-night-eighties.js","../node_modules/highlight.js/lib/languages/python-repl.js","../node_modules/highlight.js/lib/languages/elm.js","../node_modules/highlight.js/lib/languages/livecodeserver.js","../node_modules/highlight.js/lib/languages/rsl.js","../node_modules/react-syntax-highlighter/dist/cjs/styles/hljs/atelier-plateau-dark.js","../node_modules/react-syntax-highlighter/dist/cjs/styles/hljs/lioshi.js","../node_modules/highlight.js/lib/languages/stan.js","../node_modules/react-syntax-highlighter/dist/cjs/styles/hljs/monokai.js","../node_modules/react-syntax-highlighter/dist/cjs/styles/hljs/atelier-estuary-dark.js","../node_modules/highlight.js/lib/languages/vhdl.js","../node_modules/highlight.js/lib/languages/crmsh.js","../node_modules/highlight.js/lib/languages/sql.js","../node_modules/highlight.js/lib/languages/delphi.js","../node_modules/highlight.js/lib/languages/ocaml.js","../node_modules/highlight.js/lib/languages/sql_more.js","../node_modules/highlight.js/lib/languages/clojure.js","../node_modules/highlight.js/lib/languages/go.js","../node_modules/highlight.js/lib/languages/brainfuck.js","../node_modules/highlight.js/lib/languages/latex.js","../node_modules/react-syntax-highlighter/dist/cjs/styles/hljs/atelier-heath-dark.js","../node_modules/highlight.js/lib/languages/vbnet.js","../node_modules/highlight.js/lib/languages/markdown.js","../webpack/bootstrap","../webpack/runtime/compat get default export","../webpack/runtime/create fake namespace object","../webpack/runtime/define property getters","../webpack/runtime/ensure chunk","../webpack/runtime/get javascript chunk filename","../webpack/runtime/get mini-css chunk filename","../webpack/runtime/global","../webpack/runtime/hasOwnProperty shorthand","../webpack/runtime/load script","../webpack/runtime/make namespace object","../webpack/runtime/publicPath","../webpack/runtime/jsonp chunk loading","../webpack/runtime/nonce","../node_modules/react-redux/src/utils/batch.ts","../node_modules/react-redux/src/utils/Subscription.ts","../node_modules/react-redux/src/utils/useIsomorphicLayoutEffect.ts","../node_modules/react-redux/src/utils/shallowEqual.ts","../node_modules/react-redux/src/utils/hoistStatics.ts","../node_modules/react-redux/src/components/Context.ts","../node_modules/react-redux/src/components/Provider.tsx","../node_modules/react-redux/src/hooks/useReduxContext.ts","../node_modules/react-redux/src/hooks/useStore.ts","../node_modules/react-redux/src/hooks/useDispatch.ts","../node_modules/react-redux/src/hooks/useSelector.ts","../node_modules/react-redux/src/exports.ts","../node_modules/redux/src/utils/formatProdErrorMessage.ts","../node_modules/redux/src/utils/symbol-observable.ts","../node_modules/redux/src/utils/actionTypes.ts","../node_modules/redux/src/utils/isPlainObject.ts","../node_modules/redux/src/createStore.ts","../node_modules/redux/src/combineReducers.ts","../node_modules/redux/src/compose.ts","../node_modules/redux/src/utils/isAction.ts","../node_modules/redux-thunk/dist/redux-thunk.mjs","../node_modules/immer/src/utils/env.ts","../node_modules/immer/src/utils/errors.ts","../node_modules/immer/src/utils/common.ts","../node_modules/immer/src/utils/plugins.ts","../node_modules/immer/src/core/scope.ts","../node_modules/immer/src/core/finalize.ts","../node_modules/immer/src/core/proxy.ts","../node_modules/immer/src/core/immerClass.ts","../node_modules/immer/src/core/current.ts","../node_modules/immer/src/plugins/patches.ts","../node_modules/immer/src/immer.ts","../node_modules/@reduxjs/toolkit/src/createDraftSafeSelector.ts","../node_modules/@reduxjs/toolkit/src/devtoolsExtension.ts","../node_modules/@reduxjs/toolkit/src/tsHelpers.ts","../node_modules/@reduxjs/toolkit/src/createAction.ts","../node_modules/@reduxjs/toolkit/src/utils.ts","../node_modules/@reduxjs/toolkit/src/getDefaultMiddleware.ts","../node_modules/@reduxjs/toolkit/src/autoBatchEnhancer.ts","../node_modules/@reduxjs/toolkit/src/getDefaultEnhancers.ts","../node_modules/@reduxjs/toolkit/src/mapBuilders.ts","../node_modules/@reduxjs/toolkit/src/matchers.ts","../node_modules/@reduxjs/toolkit/src/nanoid.ts","../node_modules/@reduxjs/toolkit/src/createAsyncThunk.ts","../node_modules/@reduxjs/toolkit/src/createSlice.ts","../node_modules/@reduxjs/toolkit/src/createReducer.ts","../node_modules/@reduxjs/toolkit/src/listenerMiddleware/task.ts","../node_modules/@reduxjs/toolkit/src/listenerMiddleware/index.ts","../node_modules/@reduxjs/toolkit/src/combineSlices.ts","../node_modules/@reduxjs/toolkit/src/formatProdErrorMessage.ts","store/themeSlice.ts","store/slices/authSlice.ts","store/slices/datasetSlice.ts","store/slices/modelSlice.ts","../node_modules/reselect/src/utils.ts","../node_modules/reselect/src/autotrackMemoize/proxy.ts","../node_modules/reselect/src/weakMapMemoize.ts","../node_modules/reselect/src/createSelectorCreator.ts","../node_modules/reselect/src/createStructuredSelector.ts","utils/helpers.ts","../node_modules/immer/src/plugins/mapset.ts","store/slices/annotationSlice.ts","store/slices/predictionSlice.ts","store/slices/projectSlice.ts","store/slices/uiSettingsSlice.ts","store/actions/resetState.ts","../node_modules/@reduxjs/toolkit/src/query/core/apiState.ts","../node_modules/@reduxjs/toolkit/src/query/utils/copyWithStructuralSharing.ts","../node_modules/@reduxjs/toolkit/src/query/utils/countObjectKeys.ts","../node_modules/@reduxjs/toolkit/src/query/utils/flatten.ts","../node_modules/@reduxjs/toolkit/src/query/utils/isNotNullish.ts","../node_modules/@reduxjs/toolkit/src/query/utils/joinUrls.ts","../node_modules/@reduxjs/toolkit/src/query/utils/isAbsoluteUrl.ts","../node_modules/@reduxjs/toolkit/src/query/fetchBaseQuery.ts","../node_modules/@reduxjs/toolkit/src/query/HandledError.ts","../node_modules/@reduxjs/toolkit/src/query/retry.ts","../node_modules/@reduxjs/toolkit/src/query/core/setupListeners.ts","../node_modules/@reduxjs/toolkit/src/query/endpointDefinitions.ts","../node_modules/@reduxjs/toolkit/src/query/core/buildInitiate.ts","../node_modules/@reduxjs/toolkit/src/query/core/buildThunks.ts","../node_modules/@reduxjs/toolkit/src/query/core/buildSlice.ts","../node_modules/@reduxjs/toolkit/src/query/utils/isOnline.ts","../node_modules/@reduxjs/toolkit/src/query/utils/isDocumentVisible.ts","../node_modules/@reduxjs/toolkit/src/query/core/buildSelectors.ts","../node_modules/@reduxjs/toolkit/src/query/defaultSerializeQueryArgs.ts","../node_modules/@reduxjs/toolkit/src/query/createApi.ts","../node_modules/@reduxjs/toolkit/src/query/tsHelpers.ts","../node_modules/@reduxjs/toolkit/src/query/core/buildMiddleware/batchActions.ts","../node_modules/@reduxjs/toolkit/src/query/core/buildMiddleware/cacheCollection.ts","../node_modules/@reduxjs/toolkit/src/query/core/buildMiddleware/cacheLifecycle.ts","../node_modules/@reduxjs/toolkit/src/query/core/buildMiddleware/devMiddleware.ts","../node_modules/@reduxjs/toolkit/src/query/core/buildMiddleware/invalidationByTags.ts","../node_modules/@reduxjs/toolkit/src/query/core/buildMiddleware/polling.ts","../node_modules/@reduxjs/toolkit/src/query/core/buildMiddleware/queryLifecycle.ts","../node_modules/@reduxjs/toolkit/src/query/core/buildMiddleware/index.ts","../node_modules/@reduxjs/toolkit/src/query/core/buildMiddleware/windowEventHandling.ts","../node_modules/@reduxjs/toolkit/src/query/core/module.ts","../node_modules/@reduxjs/toolkit/src/query/utils/getOrInsert.ts","../node_modules/@reduxjs/toolkit/src/query/core/index.ts","../node_modules/@reduxjs/toolkit/src/query/utils/capitalize.ts","../node_modules/@reduxjs/toolkit/src/query/react/constants.ts","../node_modules/@reduxjs/toolkit/src/query/react/useSerializedStableValue.ts","../node_modules/@reduxjs/toolkit/src/query/react/useShallowStableValue.ts","../node_modules/@reduxjs/toolkit/src/query/react/buildHooks.ts","../node_modules/@reduxjs/toolkit/src/query/react/module.ts","../node_modules/@reduxjs/toolkit/src/query/react/index.ts","utils/csp.ts","services/baseQuery.ts","services/apiTags.ts","services/tagApi.ts","constants/endpoints.ts","services/contentApi.ts","services/projectsApi.ts","services/datasetApi.ts","services/modelsApi.ts","services/annotationApi.ts","services/authApi.ts","services/exportApi.ts","services/predictionApi.ts","../node_modules/@petamoriken/float16/src/_util/primordials.mjs","../node_modules/@petamoriken/float16/src/_util/arrayIterator.mjs","../node_modules/@petamoriken/float16/src/_util/converter.mjs","../node_modules/@petamoriken/float16/src/DataView.mjs","../node_modules/geotiff/dist-module/compression/index.js","../node_modules/geotiff/dist-module/resample.js","../node_modules/geotiff/dist-module/geotiffimage.js","../node_modules/geotiff/dist-module/rgb.js","../node_modules/geotiff/dist-module/dataview64.js","../node_modules/geotiff/dist-module/dataslice.js","../node_modules/geotiff/dist-module/source/basesource.js","../node_modules/geotiff/dist-module/source/filereader.js","../node_modules/geotiff/dist-module/geotiff.js","services/experimentalApi.tsx","services/userApi.ts","services/ollamaApi.ts","store/index.ts","../node_modules/@reduxjs/toolkit/src/configureStore.ts","../node_modules/redux/src/applyMiddleware.ts","../node_modules/@remix-run/router/history.ts","../node_modules/@remix-run/router/utils.ts","../node_modules/@remix-run/router/router.ts","../node_modules/react-router/lib/context.ts","../node_modules/react-router/lib/hooks.tsx","../node_modules/react-router/lib/deprecations.ts","../node_modules/react-router/lib/components.tsx","../node_modules/react-router-dom/dom.ts","../node_modules/react-router-dom/index.tsx","../node_modules/react-bootstrap/esm/ThemeProvider.js","../node_modules/react-bootstrap/esm/Container.js","../node_modules/react-bootstrap/esm/Row.js","../node_modules/react-bootstrap/esm/Col.js","../node_modules/react-bootstrap/esm/Feedback.js","../node_modules/react-bootstrap/esm/FormContext.js","../node_modules/react-bootstrap/esm/FormCheckInput.js","../node_modules/react-bootstrap/esm/FormCheckLabel.js","../node_modules/react-bootstrap/esm/ElementChildren.js","../node_modules/react-bootstrap/esm/FormCheck.js","../node_modules/react-bootstrap/esm/FormControl.js","../node_modules/react-bootstrap/esm/FormFloating.js","../node_modules/react-bootstrap/esm/FormGroup.js","../node_modules/react-bootstrap/esm/FormLabel.js","../node_modules/react-bootstrap/esm/FormRange.js","../node_modules/react-bootstrap/esm/FormSelect.js","../node_modules/react-bootstrap/esm/FormText.js","../node_modules/react-bootstrap/esm/Switch.js","../node_modules/react-bootstrap/esm/FloatingLabel.js","../node_modules/react-bootstrap/esm/Form.js","../node_modules/@restart/ui/esm/Button.js","../node_modules/react-bootstrap/esm/Button.js","../node_modules/deepmerge/dist/es.js","../node_modules/lodash-es/_freeGlobal.js","../node_modules/lodash-es/_root.js","../node_modules/lodash-es/_Symbol.js","../node_modules/lodash-es/_getRawTag.js","../node_modules/lodash-es/_objectToString.js","../node_modules/lodash-es/_baseGetTag.js","../node_modules/lodash-es/_overArg.js","../node_modules/lodash-es/_getPrototype.js","../node_modules/lodash-es/isObjectLike.js","../node_modules/lodash-es/isPlainObject.js","../node_modules/lodash-es/_listCacheClear.js","../node_modules/lodash-es/eq.js","../node_modules/lodash-es/_assocIndexOf.js","../node_modules/lodash-es/_listCacheDelete.js","../node_modules/lodash-es/_listCacheGet.js","../node_modules/lodash-es/_listCacheHas.js","../node_modules/lodash-es/_listCacheSet.js","../node_modules/lodash-es/_ListCache.js","../node_modules/lodash-es/_stackClear.js","../node_modules/lodash-es/_stackDelete.js","../node_modules/lodash-es/_stackGet.js","../node_modules/lodash-es/_stackHas.js","../node_modules/lodash-es/isObject.js","../node_modules/lodash-es/isFunction.js","../node_modules/lodash-es/_coreJsData.js","../node_modules/lodash-es/_isMasked.js","../node_modules/lodash-es/_toSource.js","../node_modules/lodash-es/_baseIsNative.js","../node_modules/lodash-es/_getValue.js","../node_modules/lodash-es/_getNative.js","../node_modules/lodash-es/_Map.js","../node_modules/lodash-es/_nativeCreate.js","../node_modules/lodash-es/_hashClear.js","../node_modules/lodash-es/_hashDelete.js","../node_modules/lodash-es/_hashGet.js","../node_modules/lodash-es/_hashHas.js","../node_modules/lodash-es/_hashSet.js","../node_modules/lodash-es/_Hash.js","../node_modules/lodash-es/_mapCacheClear.js","../node_modules/lodash-es/_isKeyable.js","../node_modules/lodash-es/_getMapData.js","../node_modules/lodash-es/_mapCacheDelete.js","../node_modules/lodash-es/_mapCacheGet.js","../node_modules/lodash-es/_mapCacheHas.js","../node_modules/lodash-es/_mapCacheSet.js","../node_modules/lodash-es/_MapCache.js","../node_modules/lodash-es/_stackSet.js","../node_modules/lodash-es/_Stack.js","../node_modules/lodash-es/_arrayEach.js","../node_modules/lodash-es/_defineProperty.js","../node_modules/lodash-es/_baseAssignValue.js","../node_modules/lodash-es/_assignValue.js","../node_modules/lodash-es/_copyObject.js","../node_modules/lodash-es/_baseTimes.js","../node_modules/lodash-es/_baseIsArguments.js","../node_modules/lodash-es/isArguments.js","../node_modules/lodash-es/isArray.js","../node_modules/lodash-es/stubFalse.js","../node_modules/lodash-es/isBuffer.js","../node_modules/lodash-es/_isIndex.js","../node_modules/lodash-es/isLength.js","../node_modules/lodash-es/_baseIsTypedArray.js","../node_modules/lodash-es/_baseUnary.js","../node_modules/lodash-es/_nodeUtil.js","../node_modules/lodash-es/isTypedArray.js","../node_modules/lodash-es/_arrayLikeKeys.js","../node_modules/lodash-es/_isPrototype.js","../node_modules/lodash-es/_nativeKeys.js","../node_modules/lodash-es/_baseKeys.js","../node_modules/lodash-es/isArrayLike.js","../node_modules/lodash-es/keys.js","../node_modules/lodash-es/_baseAssign.js","../node_modules/lodash-es/_nativeKeysIn.js","../node_modules/lodash-es/_baseKeysIn.js","../node_modules/lodash-es/keysIn.js","../node_modules/lodash-es/_baseAssignIn.js","../node_modules/lodash-es/_cloneBuffer.js","../node_modules/lodash-es/_copyArray.js","../node_modules/lodash-es/_arrayFilter.js","../node_modules/lodash-es/stubArray.js","../node_modules/lodash-es/_getSymbols.js","../node_modules/lodash-es/_copySymbols.js","../node_modules/lodash-es/_arrayPush.js","../node_modules/lodash-es/_getSymbolsIn.js","../node_modules/lodash-es/_copySymbolsIn.js","../node_modules/lodash-es/_baseGetAllKeys.js","../node_modules/lodash-es/_getAllKeys.js","../node_modules/lodash-es/_getAllKeysIn.js","../node_modules/lodash-es/_DataView.js","../node_modules/lodash-es/_Promise.js","../node_modules/lodash-es/_Set.js","../node_modules/lodash-es/_WeakMap.js","../node_modules/lodash-es/_getTag.js","../node_modules/lodash-es/_initCloneArray.js","../node_modules/lodash-es/_Uint8Array.js","../node_modules/lodash-es/_cloneArrayBuffer.js","../node_modules/lodash-es/_cloneDataView.js","../node_modules/lodash-es/_cloneRegExp.js","../node_modules/lodash-es/_cloneSymbol.js","../node_modules/lodash-es/_cloneTypedArray.js","../node_modules/lodash-es/_initCloneByTag.js","../node_modules/lodash-es/_baseCreate.js","../node_modules/lodash-es/_initCloneObject.js","../node_modules/lodash-es/_baseIsMap.js","../node_modules/lodash-es/isMap.js","../node_modules/lodash-es/_baseIsSet.js","../node_modules/lodash-es/isSet.js","../node_modules/lodash-es/_baseClone.js","../node_modules/lodash-es/cloneDeep.js","../node_modules/tiny-warning/dist/tiny-warning.esm.js","../node_modules/lodash-es/clone.js","../node_modules/lodash-es/_arrayMap.js","../node_modules/lodash-es/isSymbol.js","../node_modules/lodash-es/memoize.js","../node_modules/lodash-es/_memoizeCapped.js","../node_modules/lodash-es/_stringToPath.js","../node_modules/lodash-es/_toKey.js","../node_modules/lodash-es/_baseToString.js","../node_modules/lodash-es/toString.js","../node_modules/lodash-es/toPath.js","../node_modules/formik/src/FormikContext.tsx","../node_modules/formik/src/utils.ts","../node_modules/formik/src/Formik.tsx","../node_modules/formik/src/Field.tsx","../node_modules/formik/src/Form.tsx","../node_modules/formik/src/connect.tsx","../node_modules/formik/src/FieldArray.tsx","../node_modules/formik/src/ErrorMessage.tsx","../node_modules/react-icons/lib/esm/iconContext.js","../node_modules/react-icons/lib/esm/iconBase.js","../node_modules/react-icons/fa/index.esm.js","store/hooks.ts","../node_modules/three/build/three.core.js","../node_modules/three/examples/jsm/utils/BufferGeometryUtils.js","../node_modules/three/examples/jsm/loaders/GLTFLoader.js","../node_modules/three/examples/jsm/math/MeshSurfaceSampler.js","constants/ParticleMorpher.tsx","config/index.ts","config/branding.ts","assets/images/brands/default/logo-small.svg","assets/images/brands/default/logo-large.svg","config/branding.odrg.ts","../node_modules/yup/index.esm.js","pages/Login.tsx","../node_modules/react-bootstrap/esm/ToggleButton.js","../node_modules/react-bootstrap/esm/ButtonGroup.js","../node_modules/react-bootstrap/esm/CardBody.js","../node_modules/react-bootstrap/esm/CardFooter.js","../node_modules/react-bootstrap/esm/CardHeaderContext.js","../node_modules/react-bootstrap/esm/CardHeader.js","../node_modules/react-bootstrap/esm/CardImg.js","../node_modules/react-bootstrap/esm/CardImgOverlay.js","../node_modules/react-bootstrap/esm/CardLink.js","../node_modules/react-bootstrap/esm/divWithClassName.js","../node_modules/react-bootstrap/esm/CardSubtitle.js","../node_modules/react-bootstrap/esm/CardText.js","../node_modules/react-bootstrap/esm/CardTitle.js","../node_modules/react-bootstrap/esm/Card.js","../node_modules/react-bootstrap/esm/Badge.js","../node_modules/dom-helpers/esm/querySelectorAll.js","../node_modules/dom-helpers/esm/canUseDOM.js","../node_modules/dom-helpers/esm/addEventListener.js","../node_modules/@restart/ui/node_modules/uncontrollable/lib/esm/index.js","../node_modules/@restart/ui/node_modules/@restart/hooks/esm/usePrevious.js","../node_modules/@restart/ui/node_modules/@restart/hooks/esm/useForceUpdate.js","../node_modules/@restart/ui/node_modules/@restart/hooks/esm/useCommittedRef.js","../node_modules/@restart/ui/node_modules/@restart/hooks/esm/useEventCallback.js","../node_modules/@restart/ui/esm/DropdownContext.js","../node_modules/@restart/ui/node_modules/@restart/hooks/esm/useCallbackRef.js","../node_modules/dequal/dist/index.mjs","../node_modules/@restart/ui/node_modules/@restart/hooks/esm/useMounted.js","../node_modules/@restart/ui/node_modules/@restart/hooks/esm/useSafeState.js","../node_modules/@popperjs/core/lib/utils/getBasePlacement.js","../node_modules/@popperjs/core/lib/dom-utils/getWindow.js","../node_modules/@popperjs/core/lib/dom-utils/instanceOf.js","../node_modules/@popperjs/core/lib/utils/math.js","../node_modules/@popperjs/core/lib/utils/userAgent.js","../node_modules/@popperjs/core/lib/dom-utils/isLayoutViewport.js","../node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js","../node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js","../node_modules/@popperjs/core/lib/dom-utils/contains.js","../node_modules/@popperjs/core/lib/dom-utils/getNodeName.js","../node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js","../node_modules/@popperjs/core/lib/dom-utils/isTableElement.js","../node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js","../node_modules/@popperjs/core/lib/dom-utils/getParentNode.js","../node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js","../node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js","../node_modules/@popperjs/core/lib/utils/within.js","../node_modules/@popperjs/core/lib/utils/mergePaddingObject.js","../node_modules/@popperjs/core/lib/utils/getFreshSideObject.js","../node_modules/@popperjs/core/lib/utils/expandToHashMap.js","../node_modules/@popperjs/core/lib/enums.js","../node_modules/@popperjs/core/lib/modifiers/arrow.js","../node_modules/@popperjs/core/lib/utils/getVariation.js","../node_modules/@popperjs/core/lib/modifiers/computeStyles.js","../node_modules/@popperjs/core/lib/modifiers/eventListeners.js","../node_modules/@popperjs/core/lib/utils/getOppositePlacement.js","../node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js","../node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js","../node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js","../node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js","../node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js","../node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js","../node_modules/@popperjs/core/lib/utils/rectToClientRect.js","../node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js","../node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js","../node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js","../node_modules/@popperjs/core/lib/utils/computeOffsets.js","../node_modules/@popperjs/core/lib/utils/detectOverflow.js","../node_modules/@popperjs/core/lib/modifiers/flip.js","../node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js","../node_modules/@popperjs/core/lib/modifiers/hide.js","../node_modules/@popperjs/core/lib/modifiers/offset.js","../node_modules/@popperjs/core/lib/modifiers/popperOffsets.js","../node_modules/@popperjs/core/lib/modifiers/preventOverflow.js","../node_modules/@popperjs/core/lib/utils/getAltAxis.js","../node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js","../node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js","../node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js","../node_modules/@popperjs/core/lib/utils/orderModifiers.js","../node_modules/@popperjs/core/lib/utils/debounce.js","../node_modules/@popperjs/core/lib/createPopper.js","../node_modules/@popperjs/core/lib/utils/mergeByName.js","../node_modules/@restart/ui/esm/popper.js","../node_modules/@restart/ui/esm/usePopper.js","../node_modules/dom-helpers/esm/contains.js","../node_modules/dom-helpers/esm/removeEventListener.js","../node_modules/dom-helpers/esm/listen.js","../node_modules/dom-helpers/esm/ownerDocument.js","../node_modules/@restart/ui/esm/useClickOutside.js","../node_modules/@restart/ui/esm/mergeOptionsWithPopperConfig.js","../node_modules/@restart/ui/esm/DropdownMenu.js","../packages/@react-aria/ssr/src/SSRProvider.tsx","../node_modules/@restart/ui/esm/DropdownToggle.js","../node_modules/@restart/ui/esm/SelectableContext.js","../node_modules/@restart/ui/esm/NavContext.js","../node_modules/@restart/ui/esm/DataKey.js","../node_modules/@restart/ui/esm/DropdownItem.js","../node_modules/@restart/ui/esm/useWindow.js","../node_modules/@restart/ui/esm/Dropdown.js","../node_modules/@restart/ui/node_modules/@restart/hooks/esm/useEventListener.js","../node_modules/@babel/runtime/helpers/esm/extends.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../node_modules/uncontrollable/lib/esm/utils.js","../node_modules/uncontrollable/lib/esm/hook.js","../node_modules/react-lifecycles-compat/react-lifecycles-compat.es.js","../node_modules/@restart/hooks/esm/useCommittedRef.js","../node_modules/@restart/hooks/esm/useEventCallback.js","../node_modules/react-bootstrap/esm/DropdownContext.js","../node_modules/react-bootstrap/esm/DropdownDivider.js","../node_modules/react-bootstrap/esm/DropdownHeader.js","../node_modules/@restart/ui/node_modules/@restart/hooks/esm/useIsomorphicEffect.js","../node_modules/@restart/ui/node_modules/@restart/hooks/esm/useResizeObserver.js","../node_modules/@restart/ui/esm/Anchor.js","../node_modules/react-bootstrap/esm/DropdownItem.js","../node_modules/react-bootstrap/esm/DropdownItemText.js","../node_modules/@restart/hooks/esm/useIsomorphicEffect.js","../node_modules/@restart/hooks/esm/useMergedRefs.js","../node_modules/react-bootstrap/esm/InputGroupContext.js","../node_modules/react-bootstrap/esm/NavbarContext.js","../node_modules/react-bootstrap/esm/useWrappedRefWithWarning.js","../node_modules/react-bootstrap/esm/DropdownMenu.js","../node_modules/react-bootstrap/esm/DropdownToggle.js","../node_modules/react-bootstrap/esm/Dropdown.js","../node_modules/dom-helpers/esm/scrollbarSize.js","../node_modules/@restart/hooks/esm/useWillUnmount.js","../node_modules/@restart/hooks/esm/useUpdatedRef.js","../node_modules/dom-helpers/esm/getComputedStyle.js","../node_modules/dom-helpers/esm/ownerWindow.js","../node_modules/dom-helpers/esm/hyphenate.js","../node_modules/dom-helpers/esm/hyphenateStyle.js","../node_modules/dom-helpers/esm/isTransform.js","../node_modules/dom-helpers/esm/css.js","../node_modules/dom-helpers/esm/transitionEnd.js","../node_modules/dom-helpers/esm/triggerEvent.js","../node_modules/dom-helpers/esm/activeElement.js","../node_modules/@restart/ui/node_modules/@restart/hooks/esm/useWillUnmount.js","../node_modules/@restart/ui/node_modules/@restart/hooks/esm/useUpdatedRef.js","../node_modules/@restart/ui/esm/ModalManager.js","../node_modules/@restart/ui/esm/getScrollbarWidth.js","../node_modules/@restart/ui/esm/useWaitForDOMRef.js","../node_modules/@restart/ui/node_modules/@restart/hooks/esm/useMergedRefs.js","../node_modules/@restart/ui/esm/utils.js","../node_modules/@restart/ui/esm/NoopTransition.js","../node_modules/@restart/ui/esm/useRTGTransitionProps.js","../node_modules/@restart/ui/esm/RTGTransition.js","../node_modules/@restart/ui/esm/ImperativeTransition.js","../node_modules/@restart/ui/esm/Modal.js","../node_modules/dom-helpers/esm/hasClass.js","../node_modules/dom-helpers/esm/removeClass.js","../node_modules/react-bootstrap/esm/BootstrapModalManager.js","../node_modules/dom-helpers/esm/addClass.js","../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../node_modules/react-transition-group/esm/config.js","../node_modules/react-transition-group/esm/TransitionGroupContext.js","../node_modules/react-transition-group/esm/utils/reflow.js","../node_modules/react-transition-group/esm/Transition.js","../node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","../node_modules/react-bootstrap/esm/transitionEndListener.js","../node_modules/react-bootstrap/esm/triggerBrowserReflow.js","../node_modules/react-bootstrap/esm/safeFindDOMNode.js","../node_modules/react-bootstrap/esm/TransitionWrapper.js","../node_modules/react-bootstrap/esm/Fade.js","../node_modules/react-bootstrap/esm/ModalBody.js","../node_modules/react-bootstrap/esm/ModalContext.js","../node_modules/react-bootstrap/esm/ModalDialog.js","../node_modules/react-bootstrap/esm/ModalFooter.js","../node_modules/react-bootstrap/esm/CloseButton.js","../node_modules/react-bootstrap/esm/AbstractModalHeader.js","../node_modules/react-bootstrap/esm/ModalHeader.js","../node_modules/react-bootstrap/esm/ModalTitle.js","../node_modules/react-bootstrap/esm/Modal.js","../node_modules/@restart/hooks/esm/useCallbackRef.js","components/modals/ConfirmDialog.tsx","../node_modules/styled-components/node_modules/tslib/tslib.es6.mjs","../node_modules/styled-components/node_modules/stylis/src/Enum.js","../node_modules/styled-components/node_modules/stylis/src/Utility.js","../node_modules/styled-components/node_modules/stylis/src/Tokenizer.js","../node_modules/styled-components/node_modules/stylis/src/Serializer.js","../node_modules/styled-components/node_modules/stylis/src/Prefixer.js","../node_modules/styled-components/node_modules/stylis/src/Middleware.js","../node_modules/styled-components/node_modules/stylis/src/Parser.js","../node_modules/styled-components/node_modules/@emotion/unitless/dist/emotion-unitless.esm.js","../node_modules/styled-components/src/constants.ts","../node_modules/styled-components/src/utils/empties.ts","../node_modules/styled-components/src/utils/checkDynamicCreation.ts","../node_modules/styled-components/src/utils/determineTheme.ts","../node_modules/styled-components/src/utils/domElements.ts","../node_modules/styled-components/src/utils/escape.ts","../node_modules/styled-components/src/utils/generateAlphabeticName.ts","../node_modules/styled-components/src/utils/hash.ts","../node_modules/styled-components/src/utils/generateComponentId.ts","../node_modules/styled-components/src/utils/getComponentName.ts","../node_modules/styled-components/src/utils/isTag.ts","../node_modules/styled-components/src/utils/hoist.ts","../node_modules/styled-components/src/utils/isFunction.ts","../node_modules/styled-components/src/utils/isStyledComponent.ts","../node_modules/styled-components/src/utils/joinStrings.ts","../node_modules/styled-components/src/utils/isPlainObject.ts","../node_modules/styled-components/src/utils/mixinDeep.ts","../node_modules/styled-components/src/utils/setToString.ts","../node_modules/styled-components/src/utils/error.ts","../node_modules/styled-components/src/sheet/GroupedTag.ts","../node_modules/styled-components/src/sheet/GroupIDAllocator.ts","../node_modules/styled-components/src/sheet/Rehydration.ts","../node_modules/styled-components/src/utils/nonce.ts","../node_modules/styled-components/src/sheet/dom.ts","../node_modules/styled-components/src/sheet/Tag.ts","../node_modules/styled-components/src/sheet/Sheet.ts","../node_modules/styled-components/src/utils/stylis.ts","../node_modules/styled-components/src/models/StyleSheetManager.tsx","../node_modules/styled-components/src/models/Keyframes.ts","../node_modules/styled-components/src/utils/hyphenateStyleName.ts","../node_modules/styled-components/src/utils/flatten.ts","../node_modules/styled-components/src/utils/addUnitIfNeeded.ts","../node_modules/styled-components/src/utils/isStatelessFunction.ts","../node_modules/styled-components/src/utils/isStaticRules.ts","../node_modules/styled-components/src/models/ComponentStyle.ts","../node_modules/styled-components/src/models/ThemeProvider.tsx","../node_modules/styled-components/src/models/StyledComponent.ts","../node_modules/styled-components/src/utils/generateDisplayName.ts","../node_modules/styled-components/src/utils/interleave.ts","../node_modules/styled-components/src/constructors/css.ts","../node_modules/styled-components/src/constructors/constructWithOptions.ts","../node_modules/styled-components/src/constructors/styled.tsx","../node_modules/styled-components/src/models/GlobalStyle.ts","../node_modules/styled-components/src/constructors/keyframes.ts","../node_modules/styled-components/src/models/ServerStyleSheet.tsx","../node_modules/styled-components/src/base.ts","components/ProjectCard.tsx","../node_modules/shared/src/utils.ts","../node_modules/lucide-react/src/defaultAttributes.ts","../node_modules/lucide-react/src/Icon.ts","../node_modules/lucide-react/src/createLucideIcon.ts","../node_modules/lucide-react/src/icons/check.ts","../node_modules/lucide-react/src/icons/chevron-left.ts","../node_modules/lucide-react/src/icons/chevron-right.ts","components/wizards/NewProjectContext.tsx","components/wizards/Wizard.tsx","components/wizards/CPNameStep.tsx","../node_modules/lucide-react/src/icons/box.ts","../node_modules/lucide-react/src/icons/image.ts","components/wizards/CPTypeStep.tsx","../node_modules/@restart/hooks/esm/useTimeout.js","../node_modules/@restart/hooks/esm/useMounted.js","../node_modules/react-bootstrap/esm/ToastFade.js","../node_modules/react-bootstrap/esm/ToastContext.js","../node_modules/react-bootstrap/esm/ToastHeader.js","../node_modules/react-bootstrap/esm/ToastBody.js","../node_modules/react-bootstrap/esm/Toast.js","../node_modules/lucide-react/src/icons/circle-alert.ts","components/wizards/CPCreateProjectStep.tsx","components/wizards/CPWizard.tsx","../node_modules/lucide-react/src/icons/plus.ts","pages/Projects.tsx","../node_modules/react-bootstrap/esm/NavbarBrand.js","../node_modules/react-bootstrap/esm/createChainedFunction.js","../node_modules/react-bootstrap/esm/Collapse.js","../node_modules/react-bootstrap/esm/NavbarCollapse.js","../node_modules/react-bootstrap/esm/NavbarToggle.js","../node_modules/@restart/hooks/esm/useMediaQuery.js","../node_modules/@restart/hooks/esm/useBreakpoint.js","../node_modules/react-bootstrap/esm/OffcanvasBody.js","../node_modules/react-bootstrap/esm/OffcanvasToggling.js","../node_modules/react-bootstrap/esm/OffcanvasHeader.js","../node_modules/react-bootstrap/esm/OffcanvasTitle.js","../node_modules/react-bootstrap/esm/Offcanvas.js","../node_modules/react-bootstrap/esm/NavbarOffcanvas.js","../node_modules/react-bootstrap/esm/NavbarText.js","../node_modules/react-bootstrap/esm/Navbar.js","pages/TermCondition.tsx","pages/PrivacyPolicy.tsx","../node_modules/@restart/ui/esm/TabContext.js","../node_modules/@restart/ui/esm/NavItem.js","../node_modules/@restart/ui/esm/Nav.js","../node_modules/react-bootstrap/esm/NavItem.js","../node_modules/react-bootstrap/esm/NavLink.js","../node_modules/react-bootstrap/esm/Nav.js","../node_modules/@restart/ui/esm/useRootClose.js","../node_modules/@restart/ui/esm/Overlay.js","../node_modules/react-bootstrap/esm/PopoverHeader.js","../node_modules/react-bootstrap/esm/PopoverBody.js","../node_modules/react-bootstrap/esm/helpers.js","../node_modules/react-bootstrap/esm/getInitialPopperStyles.js","../node_modules/react-bootstrap/esm/Popover.js","../node_modules/react-bootstrap/esm/Tooltip.js","../node_modules/react-bootstrap/esm/Overlay.js","../node_modules/react-bootstrap/esm/useOverlayOffset.js","../node_modules/react-bootstrap/esm/OverlayTrigger.js","../node_modules/react-bootstrap/esm/NavDropdown.js","../node_modules/react-bootstrap-icons/dist/icons/grid-3x3-gap.js","../node_modules/react-bootstrap-icons/dist/icons/database.js","../node_modules/react-bootstrap-icons/dist/icons/diagram-3.js","../node_modules/react-bootstrap-icons/dist/icons/gear-wide-connected.js","../node_modules/react-bootstrap-icons/dist/icons/question-circle.js","../node_modules/react-bootstrap-icons/dist/icons/person-circle.js","components/AvNavBar.tsx","hooks/useAuth.ts","../node_modules/react-bootstrap-icons/dist/icons/check-lg.js","../node_modules/react-bootstrap-icons/dist/icons/arrow-down.js","../node_modules/react-bootstrap-icons/dist/icons/arrow-up.js","components/MiniClassDistributionCard.tsx","components/PillsDataset.tsx","../node_modules/react-bootstrap/esm/AlertHeading.js","../node_modules/react-bootstrap/esm/AlertLink.js","../node_modules/react-bootstrap/esm/Alert.js","../node_modules/react-bootstrap/esm/Table.js","components/wizards/DatasetSelectorStepTable.tsx","utils/datasetStats.ts","components/modals/SelectDatasetModal.tsx","components/SelectedDatasetsCard.tsx","../node_modules/react-bootstrap/esm/Spinner.js","components/PredictionStatisticsTable.tsx","../node_modules/lucide-react/src/icons/cloud-upload.ts","../node_modules/tslib/tslib.es6.mjs","../node_modules/file-selector/src/file.ts","../node_modules/file-selector/src/file-selector.ts","../node_modules/react-dropzone/dist/es/utils/index.js","../node_modules/react-dropzone/dist/es/index.js","components/FileUploader.tsx","../node_modules/lucide-react/src/icons/file-text.ts","components/wizards/UploadSelectFilesStep.tsx","components/FileUploadStats.tsx","../node_modules/lucide-react/src/icons/circle-check-big.ts","components/wizards/UploadFinalizeStep.tsx","components/wizards/UploadDatasetNameStep.tsx","components/wizards/UploadWizard.tsx","components/DatasetUploadToolsCard.tsx","../node_modules/react-bootstrap/esm/AccordionContext.js","../node_modules/react-bootstrap/esm/AccordionCollapse.js","../node_modules/react-bootstrap/esm/AccordionItemContext.js","../node_modules/react-bootstrap/esm/AccordionBody.js","../node_modules/react-bootstrap/esm/AccordionButton.js","../node_modules/react-bootstrap/esm/AccordionHeader.js","../node_modules/react-bootstrap/esm/AccordionItem.js","../node_modules/react-bootstrap/esm/Accordion.js","../node_modules/react-bootstrap/esm/Image.js","../node_modules/react-bootstrap-icons/dist/icons/check-circle-fill.js","../node_modules/react-bootstrap-icons/dist/icons/star-fill.js","../node_modules/react-bootstrap-icons/dist/icons/star.js","../node_modules/react-bootstrap-icons/dist/icons/x-lg.js","../node_modules/react-bootstrap-icons/dist/icons/cpu.js","../node_modules/react-bootstrap-icons/dist/icons/lightning.js","../node_modules/react-bootstrap-icons/dist/icons/arrows-angle-expand.js","../node_modules/react-bootstrap-icons/dist/icons/search.js","../node_modules/react-bootstrap-icons/dist/icons/chevron-left.js","../node_modules/react-bootstrap-icons/dist/icons/chevron-right.js","components/modals/NewModelModal.tsx","components/styled/ModelList/ModelList.styles.ts","../node_modules/lucide-react/src/icons/tag.ts","../node_modules/react-bootstrap-icons/dist/icons/star-half.js","components/StarRating.tsx","../node_modules/lucide-react/src/icons/trash-2.ts","../node_modules/lucide-react/src/icons/rocket.ts","components/ButtonDeployModel.tsx","components/styled/ModelList/ModelItem.tsx","utils/modelNameWords.ts","components/styled/ModelList/ModelListCard.tsx","components/tools/DatasetTools.tsx","components/tools/InferenceModelListCard.tsx","components/tools/InferenceTools.tsx","components/ui/Dropdown.tsx","components/layout/Sidebar.tsx","components/layout/Layout.tsx","../node_modules/react-bootstrap-icons/dist/icons/arrow-left.js","../node_modules/react-bootstrap-icons/dist/icons/person.js","pages/Profile.tsx","components/ErrorBoundary.tsx","../node_modules/lucide-react/src/icons/zoom-in.ts","../node_modules/lucide-react/src/icons/zoom-out.ts","../node_modules/lucide-react/src/icons/rotate-ccw.ts","../node_modules/lucide-react/src/icons/undo.ts","../node_modules/lucide-react/src/icons/redo.ts","../node_modules/lucide-react/src/icons/eye-off.ts","../node_modules/lucide-react/src/icons/eye.ts","../node_modules/@restart/ui/esm/TabPanel.js","../node_modules/@restart/ui/esm/Tabs.js","../node_modules/react-bootstrap/esm/TabContent.js","../node_modules/react-bootstrap/esm/getTabTransitionComponent.js","../node_modules/react-bootstrap/esm/TabPane.js","../node_modules/react-bootstrap/esm/Tabs.js","../node_modules/react-bootstrap/esm/TabContainer.js","../node_modules/react-bootstrap/esm/Tab.js","components/annotation/Canvas.tsx","components/annotation/utils/drawing.ts","../node_modules/react-bootstrap/esm/ListGroupItem.js","../node_modules/react-bootstrap/esm/ListGroup.js","../node_modules/lucide-react/src/icons/x.ts","components/tools/TagSelector.tsx","components/annotation/ImageAnnotationComponentV2.tsx","components/annotation/hooks/useImageAnnotation.ts","components/annotation/AALSnippet.tsx","components/PillsClassification.tsx","components/SnippetWithOverlay.tsx","pages/PredictionReview.tsx","../node_modules/lucide-react/src/icons/atom.ts","components/annotation/AnnotationSnippet.tsx","../node_modules/lucide-react/src/icons/cpu.ts","../node_modules/lucide-react/src/icons/zap.ts","../node_modules/lucide-react/src/icons/maximize-2.ts","components/modals/SelectModelModal.tsx","pages/AnnotationsReview.tsx","../node_modules/@kurkle/color/dist/color.esm.js","../node_modules/chart.js/src/helpers/helpers.core.ts","../node_modules/chart.js/src/helpers/helpers.math.ts","../node_modules/chart.js/src/helpers/helpers.collection.ts","../node_modules/chart.js/src/helpers/helpers.extras.ts","../node_modules/chart.js/src/helpers/helpers.easing.ts","../node_modules/chart.js/src/helpers/helpers.color.ts","../node_modules/chart.js/src/core/core.animations.defaults.js","../node_modules/chart.js/src/helpers/helpers.intl.ts","../node_modules/chart.js/src/core/core.ticks.js","../node_modules/chart.js/src/core/core.defaults.js","../node_modules/chart.js/src/core/core.layouts.defaults.js","../node_modules/chart.js/src/core/core.scale.defaults.js","../node_modules/chart.js/src/helpers/helpers.canvas.ts","../node_modules/chart.js/src/helpers/helpers.options.ts","../node_modules/chart.js/src/helpers/helpers.config.ts","../node_modules/chart.js/src/helpers/helpers.curve.ts","../node_modules/chart.js/src/helpers/helpers.dom.ts","../node_modules/chart.js/src/helpers/helpers.interpolation.ts","../node_modules/chart.js/src/helpers/helpers.rtl.ts","../node_modules/chart.js/src/helpers/helpers.segment.js","../node_modules/chart.js/src/core/core.animator.js","../node_modules/chart.js/src/core/core.animation.js","../node_modules/chart.js/src/core/core.animations.js","../node_modules/chart.js/src/core/core.datasetController.js","../node_modules/chart.js/src/controllers/controller.bar.js","../node_modules/chart.js/src/controllers/controller.doughnut.js","../node_modules/chart.js/src/controllers/controller.line.js","../node_modules/chart.js/src/controllers/controller.polarArea.js","../node_modules/chart.js/src/controllers/controller.bubble.js","../node_modules/chart.js/src/controllers/controller.pie.js","../node_modules/chart.js/src/controllers/controller.radar.js","../node_modules/chart.js/src/controllers/controller.scatter.js","../node_modules/chart.js/src/core/core.adapters.ts","../node_modules/chart.js/src/core/core.interaction.js","../node_modules/chart.js/src/core/core.layouts.js","../node_modules/chart.js/src/platform/platform.base.js","../node_modules/chart.js/src/platform/platform.basic.js","../node_modules/chart.js/src/platform/platform.dom.js","../node_modules/chart.js/src/core/core.element.ts","../node_modules/chart.js/src/core/core.scale.autoskip.js","../node_modules/chart.js/src/core/core.scale.js","../node_modules/chart.js/src/core/core.typedRegistry.js","../node_modules/chart.js/src/core/core.registry.js","../node_modules/chart.js/src/core/core.plugins.js","../node_modules/chart.js/src/core/core.config.js","../node_modules/chart.js/src/core/core.controller.js","../node_modules/chart.js/src/platform/index.js","../node_modules/chart.js/src/elements/element.arc.ts","../node_modules/chart.js/src/elements/element.line.js","../node_modules/chart.js/src/elements/element.point.ts","../node_modules/chart.js/src/elements/element.bar.js","../node_modules/chart.js/src/plugins/plugin.colors.ts","../node_modules/chart.js/src/plugins/plugin.decimation.js","../node_modules/chart.js/src/plugins/plugin.filler/filler.segment.js","../node_modules/chart.js/src/plugins/plugin.filler/filler.helper.js","../node_modules/chart.js/src/plugins/plugin.filler/filler.options.js","../node_modules/chart.js/src/plugins/plugin.filler/filler.target.stack.js","../node_modules/chart.js/src/plugins/plugin.filler/simpleArc.js","../node_modules/chart.js/src/plugins/plugin.filler/filler.target.js","../node_modules/chart.js/src/plugins/plugin.filler/filler.drawing.js","../node_modules/chart.js/src/plugins/plugin.filler/index.js","../node_modules/chart.js/src/plugins/plugin.legend.js","../node_modules/chart.js/src/plugins/plugin.title.js","../node_modules/chart.js/src/plugins/plugin.subtitle.js","../node_modules/chart.js/src/plugins/plugin.tooltip.js","../node_modules/chart.js/src/scales/scale.category.js","../node_modules/chart.js/src/scales/scale.linearbase.js","../node_modules/chart.js/src/scales/scale.linear.js","../node_modules/chart.js/src/scales/scale.logarithmic.js","../node_modules/chart.js/src/scales/scale.radialLinear.js","../node_modules/chart.js/src/scales/scale.time.js","../node_modules/chart.js/src/scales/scale.timeseries.js","../node_modules/chart.js/src/index.ts","../node_modules/react-chartjs-2/src/utils.ts","../node_modules/react-chartjs-2/src/chart.tsx","../node_modules/react-chartjs-2/src/typedCharts.tsx","../node_modules/chart.js/auto/auto.js","components/ClassDistributionCard.tsx","components/views/ProjectOverview.tsx","../node_modules/react-bootstrap/esm/InputGroupText.js","../node_modules/react-bootstrap/esm/InputGroup.js","../node_modules/react-bootstrap/esm/types.js","../node_modules/react-bootstrap/esm/DropdownButton.js","components/views/subviews/DatasetOverviewSubView.tsx","../node_modules/react-bootstrap/esm/PageItem.js","../node_modules/react-bootstrap/esm/Pagination.js","components/views/subviews/ImageGalleryHeader.tsx","../node_modules/styled-components/src/constructors/createGlobalStyle.ts","hooks/useContentImage.ts","components/PillsBBox.tsx","components/annotation/SuggestiveLabelImageCard.tsx","components/tools/ContentImage.tsx","components/views/AnnotationsGalleryView.tsx","components/views/subviews/AnnotationsSubView.tsx","components/cards/SelectedImagesStats.tsx","components/views/subviews/DatasetManageContent.tsx","../node_modules/@fortawesome/fontawesome-svg-core/index.mjs","../node_modules/@fortawesome/react-fontawesome/index.es.js","../node_modules/@fortawesome/free-solid-svg-icons/index.mjs","../node_modules/react-colorful/src/hooks/useEventCallback.ts","../node_modules/react-colorful/src/utils/clamp.ts","../node_modules/react-colorful/src/components/common/Interactive.tsx","../node_modules/react-colorful/src/utils/format.ts","../node_modules/react-colorful/src/components/common/Pointer.tsx","../node_modules/react-colorful/src/utils/round.ts","../node_modules/react-colorful/src/utils/convert.ts","../node_modules/react-colorful/src/components/common/Hue.tsx","../node_modules/react-colorful/src/components/common/Saturation.tsx","../node_modules/react-colorful/src/utils/compare.ts","../node_modules/react-colorful/src/hooks/useColorManipulation.ts","../node_modules/react-colorful/src/utils/nonce.ts","../node_modules/react-colorful/src/hooks/useIsomorphicLayoutEffect.ts","../node_modules/react-colorful/src/hooks/useStyleSheet.ts","../node_modules/react-colorful/src/components/common/ColorPicker.tsx","../node_modules/react-colorful/src/components/HslColorPicker.tsx","components/views/subviews/DatasetManageTags.tsx","components/views/subviews/DatasetManageSubView.tsx","../node_modules/react-bootstrap/esm/ProgressBar.js","components/buttons/ExportButton.tsx","utils/fileDownloader.tsx","components/modals/ExportTypeDialog.tsx","components/views/subviews/ExportsSubView.tsx","components/views/DatasetView.tsx","components/modals/HyperparametersSettingsModal.tsx","components/views/ModelGenerationView/StepCard.tsx","components/views/ModelGenerationView/shared.tsx","components/views/ModelGenerationView/ModelInfoCard.tsx","components/SelectedTrainingSourceCard.tsx","components/SelectedValidationSourceCard.tsx","components/DatasetSplitSlider.tsx","components/views/ModelGenerationView/SelectedTagsCard.tsx","components/views/ModelGenerationView/DatasetSourcesCard.tsx","components/views/ModelGenerationView/DatasetStatsCard.tsx","components/views/ModelGenerationView/AdvancedSettingsCard.tsx","components/views/ModelGenerationView/TrainModelCard.tsx","components/views/ModelGenerationView/ModelGenerationView.tsx","components/styled/ModelMetrics/ModelMetricsCard.styles.ts","components/styled/ModelMetrics/components/PerformanceCard.tsx","components/styled/ModelMetrics/components/DataSourcesCard.tsx","components/GaugeMetric.tsx","components/styled/ModelMetrics/components/GaugeMetricCard.tsx","components/views/ModelTrainingView/ModelTrainingView.styles.ts","components/views/ModelTrainingView/BBoxPerformanceMetricsChart.tsx","components/views/ModelTrainingView/LossValuesChart.tsx","components/styled/ModelMetrics/components/BBoxMetricsCard.tsx","components/styled/ModelMetrics/components/DistributionCard.tsx","components/views/ModelTrainingView/AccuracyMetricsChart.tsx","components/styled/ModelMetrics/components/ClassificationMetricsCard.tsx","components/styled/ModelMetrics/ModelMetricsCard.tsx","components/views/ModelTrainingView/DataSourcesCard.tsx","components/views/ModelTrainingView/BBoxTrainingProgressCard.tsx","components/views/ModelTrainingView/ClassificationTrainingProgressCard.tsx","components/views/ModelTrainingView/ModelConfigurationCard.tsx","components/views/ModelTrainingView/ModelTrainingView.tsx","components/PredictionImage.tsx","components/views/PredictionsGalleryView.tsx","components/tools/ModelAssistedLabeling.tsx","components/views/subviews/InferenceAALSubView.tsx","components/views/ModelView.tsx","components/PillsConfidence.tsx","components/RealTimeImage.tsx","components/views/InferenceRealTimeGalleryView.tsx","components/views/subviews/InferenceRealTimeSubView.tsx","utils/curlTranslator.ts","../node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","../node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","../node_modules/@babel/runtime/helpers/esm/iterableToArray.js","../node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","../node_modules/@babel/runtime/helpers/esm/typeof.js","../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","../node_modules/@babel/runtime/helpers/esm/toPrimitive.js","../node_modules/@babel/runtime/helpers/esm/defineProperty.js","../node_modules/react-syntax-highlighter/dist/esm/create-element.js","../node_modules/react-syntax-highlighter/dist/esm/highlight.js","../node_modules/react-syntax-highlighter/dist/esm/default-highlight.js","../node_modules/react-syntax-highlighter/dist/esm/styles/hljs/default-style.js","../node_modules/react-syntax-highlighter/dist/esm/checkForListedLanguage.js","../node_modules/react-syntax-highlighter/dist/esm/languages/hljs/supported-languages.js","../node_modules/@babel/runtime/helpers/esm/objectSpread2.js","../node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../node_modules/react-select/dist/useStateManager-7e1e8489.esm.js","../node_modules/@babel/runtime/helpers/esm/createClass.js","../node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","../node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","../node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../node_modules/@emotion/sheet/dist/emotion-sheet.esm.js","../node_modules/stylis/src/Utility.js","../node_modules/stylis/src/Tokenizer.js","../node_modules/stylis/src/Enum.js","../node_modules/stylis/src/Serializer.js","../node_modules/stylis/src/Middleware.js","../node_modules/stylis/src/Parser.js","../node_modules/@emotion/cache/dist/emotion-cache.browser.esm.js","../node_modules/@emotion/utils/dist/emotion-utils.browser.esm.js","../node_modules/@emotion/unitless/dist/emotion-unitless.esm.js","../node_modules/@emotion/memoize/dist/emotion-memoize.esm.js","../node_modules/@emotion/serialize/dist/emotion-serialize.esm.js","../node_modules/@emotion/hash/dist/emotion-hash.esm.js","../node_modules/@emotion/use-insertion-effect-with-fallbacks/dist/emotion-use-insertion-effect-with-fallbacks.browser.esm.js","../node_modules/@emotion/react/dist/emotion-element-f0de968e.browser.esm.js","../node_modules/@emotion/react/dist/emotion-react.browser.esm.js","../node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs","../node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs","../node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs","../node_modules/use-isomorphic-layout-effect/dist/use-isomorphic-layout-effect.browser.esm.js","../node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteral.js","../node_modules/memoize-one/dist/memoize-one.esm.js","../node_modules/@babel/runtime/helpers/esm/inherits.js","../node_modules/@babel/runtime/helpers/esm/createSuper.js","../node_modules/@babel/runtime/helpers/esm/classCallCheck.js","../node_modules/react-select/dist/react-select.esm.js","components/tools/CurlEndpointCard.tsx","components/views/InferenceView.tsx","pages/AdminDashboard.tsx","../node_modules/react-bootstrap/esm/ToastContainer.js","components/cards/ModelPerformanceCard.tsx","components/cards/DataDistributionCard.tsx","components/cards/MetricProgressCard.tsx","components/views/ModelComparisonView.tsx","components/ErrorTest.tsx","RouteDebugger.tsx","components/StandaloneErrorTest.tsx","App.tsx","index.tsx"],"sourcesContent":["/*\nLanguage: Julia\nDescription: Julia is a high-level, high-performance, dynamic programming language.\nAuthor: Kenta Sato \nContributors: Alex Arslan , Fredrik Ekre \nWebsite: https://julialang.org\n*/\n\nfunction julia(hljs) {\n // Since there are numerous special names in Julia, it is too much trouble\n // to maintain them by hand. Hence these names (i.e. keywords, literals and\n // built-ins) are automatically generated from Julia 1.5.2 itself through\n // the following scripts for each.\n\n // ref: https://docs.julialang.org/en/v1/manual/variables/#Allowed-Variable-Names\n var VARIABLE_NAME_RE = '[A-Za-z_\\\\u00A1-\\\\uFFFF][A-Za-z_0-9\\\\u00A1-\\\\uFFFF]*';\n\n // # keyword generator, multi-word keywords handled manually below (Julia 1.5.2)\n // import REPL.REPLCompletions\n // res = String[\"in\", \"isa\", \"where\"]\n // for kw in collect(x.keyword for x in REPLCompletions.complete_keyword(\"\"))\n // if !(contains(kw, \" \") || kw == \"struct\")\n // push!(res, kw)\n // end\n // end\n // sort!(unique!(res))\n // foreach(x -> println(\"\\'\", x, \"\\',\"), res)\n var KEYWORD_LIST = [\n 'baremodule',\n 'begin',\n 'break',\n 'catch',\n 'ccall',\n 'const',\n 'continue',\n 'do',\n 'else',\n 'elseif',\n 'end',\n 'export',\n 'false',\n 'finally',\n 'for',\n 'function',\n 'global',\n 'if',\n 'import',\n 'in',\n 'isa',\n 'let',\n 'local',\n 'macro',\n 'module',\n 'quote',\n 'return',\n 'true',\n 'try',\n 'using',\n 'where',\n 'while',\n ];\n\n // # literal generator (Julia 1.5.2)\n // import REPL.REPLCompletions\n // res = String[\"true\", \"false\"]\n // for compl in filter!(x -> isa(x, REPLCompletions.ModuleCompletion) && (x.parent === Base || x.parent === Core),\n // REPLCompletions.completions(\"\", 0)[1])\n // try\n // v = eval(Symbol(compl.mod))\n // if !(v isa Function || v isa Type || v isa TypeVar || v isa Module || v isa Colon)\n // push!(res, compl.mod)\n // end\n // catch e\n // end\n // end\n // sort!(unique!(res))\n // foreach(x -> println(\"\\'\", x, \"\\',\"), res)\n var LITERAL_LIST = [\n 'ARGS',\n 'C_NULL',\n 'DEPOT_PATH',\n 'ENDIAN_BOM',\n 'ENV',\n 'Inf',\n 'Inf16',\n 'Inf32',\n 'Inf64',\n 'InsertionSort',\n 'LOAD_PATH',\n 'MergeSort',\n 'NaN',\n 'NaN16',\n 'NaN32',\n 'NaN64',\n 'PROGRAM_FILE',\n 'QuickSort',\n 'RoundDown',\n 'RoundFromZero',\n 'RoundNearest',\n 'RoundNearestTiesAway',\n 'RoundNearestTiesUp',\n 'RoundToZero',\n 'RoundUp',\n 'VERSION|0',\n 'devnull',\n 'false',\n 'im',\n 'missing',\n 'nothing',\n 'pi',\n 'stderr',\n 'stdin',\n 'stdout',\n 'true',\n 'undef',\n 'π',\n 'ℯ',\n ];\n\n // # built_in generator (Julia 1.5.2)\n // import REPL.REPLCompletions\n // res = String[]\n // for compl in filter!(x -> isa(x, REPLCompletions.ModuleCompletion) && (x.parent === Base || x.parent === Core),\n // REPLCompletions.completions(\"\", 0)[1])\n // try\n // v = eval(Symbol(compl.mod))\n // if (v isa Type || v isa TypeVar) && (compl.mod != \"=>\")\n // push!(res, compl.mod)\n // end\n // catch e\n // end\n // end\n // sort!(unique!(res))\n // foreach(x -> println(\"\\'\", x, \"\\',\"), res)\n var BUILT_IN_LIST = [\n 'AbstractArray',\n 'AbstractChannel',\n 'AbstractChar',\n 'AbstractDict',\n 'AbstractDisplay',\n 'AbstractFloat',\n 'AbstractIrrational',\n 'AbstractMatrix',\n 'AbstractRange',\n 'AbstractSet',\n 'AbstractString',\n 'AbstractUnitRange',\n 'AbstractVecOrMat',\n 'AbstractVector',\n 'Any',\n 'ArgumentError',\n 'Array',\n 'AssertionError',\n 'BigFloat',\n 'BigInt',\n 'BitArray',\n 'BitMatrix',\n 'BitSet',\n 'BitVector',\n 'Bool',\n 'BoundsError',\n 'CapturedException',\n 'CartesianIndex',\n 'CartesianIndices',\n 'Cchar',\n 'Cdouble',\n 'Cfloat',\n 'Channel',\n 'Char',\n 'Cint',\n 'Cintmax_t',\n 'Clong',\n 'Clonglong',\n 'Cmd',\n 'Colon',\n 'Complex',\n 'ComplexF16',\n 'ComplexF32',\n 'ComplexF64',\n 'CompositeException',\n 'Condition',\n 'Cptrdiff_t',\n 'Cshort',\n 'Csize_t',\n 'Cssize_t',\n 'Cstring',\n 'Cuchar',\n 'Cuint',\n 'Cuintmax_t',\n 'Culong',\n 'Culonglong',\n 'Cushort',\n 'Cvoid',\n 'Cwchar_t',\n 'Cwstring',\n 'DataType',\n 'DenseArray',\n 'DenseMatrix',\n 'DenseVecOrMat',\n 'DenseVector',\n 'Dict',\n 'DimensionMismatch',\n 'Dims',\n 'DivideError',\n 'DomainError',\n 'EOFError',\n 'Enum',\n 'ErrorException',\n 'Exception',\n 'ExponentialBackOff',\n 'Expr',\n 'Float16',\n 'Float32',\n 'Float64',\n 'Function',\n 'GlobalRef',\n 'HTML',\n 'IO',\n 'IOBuffer',\n 'IOContext',\n 'IOStream',\n 'IdDict',\n 'IndexCartesian',\n 'IndexLinear',\n 'IndexStyle',\n 'InexactError',\n 'InitError',\n 'Int',\n 'Int128',\n 'Int16',\n 'Int32',\n 'Int64',\n 'Int8',\n 'Integer',\n 'InterruptException',\n 'InvalidStateException',\n 'Irrational',\n 'KeyError',\n 'LinRange',\n 'LineNumberNode',\n 'LinearIndices',\n 'LoadError',\n 'MIME',\n 'Matrix',\n 'Method',\n 'MethodError',\n 'Missing',\n 'MissingException',\n 'Module',\n 'NTuple',\n 'NamedTuple',\n 'Nothing',\n 'Number',\n 'OrdinalRange',\n 'OutOfMemoryError',\n 'OverflowError',\n 'Pair',\n 'PartialQuickSort',\n 'PermutedDimsArray',\n 'Pipe',\n 'ProcessFailedException',\n 'Ptr',\n 'QuoteNode',\n 'Rational',\n 'RawFD',\n 'ReadOnlyMemoryError',\n 'Real',\n 'ReentrantLock',\n 'Ref',\n 'Regex',\n 'RegexMatch',\n 'RoundingMode',\n 'SegmentationFault',\n 'Set',\n 'Signed',\n 'Some',\n 'StackOverflowError',\n 'StepRange',\n 'StepRangeLen',\n 'StridedArray',\n 'StridedMatrix',\n 'StridedVecOrMat',\n 'StridedVector',\n 'String',\n 'StringIndexError',\n 'SubArray',\n 'SubString',\n 'SubstitutionString',\n 'Symbol',\n 'SystemError',\n 'Task',\n 'TaskFailedException',\n 'Text',\n 'TextDisplay',\n 'Timer',\n 'Tuple',\n 'Type',\n 'TypeError',\n 'TypeVar',\n 'UInt',\n 'UInt128',\n 'UInt16',\n 'UInt32',\n 'UInt64',\n 'UInt8',\n 'UndefInitializer',\n 'UndefKeywordError',\n 'UndefRefError',\n 'UndefVarError',\n 'Union',\n 'UnionAll',\n 'UnitRange',\n 'Unsigned',\n 'Val',\n 'Vararg',\n 'VecElement',\n 'VecOrMat',\n 'Vector',\n 'VersionNumber',\n 'WeakKeyDict',\n 'WeakRef',\n ];\n\n var KEYWORDS = {\n $pattern: VARIABLE_NAME_RE,\n keyword: KEYWORD_LIST,\n literal: LITERAL_LIST,\n built_in: BUILT_IN_LIST,\n };\n\n // placeholder for recursive self-reference\n var DEFAULT = {\n keywords: KEYWORDS, illegal: /<\\//\n };\n\n // ref: https://docs.julialang.org/en/v1/manual/integers-and-floating-point-numbers/\n var NUMBER = {\n className: 'number',\n // supported numeric literals:\n // * binary literal (e.g. 0x10)\n // * octal literal (e.g. 0o76543210)\n // * hexadecimal literal (e.g. 0xfedcba876543210)\n // * hexadecimal floating point literal (e.g. 0x1p0, 0x1.2p2)\n // * decimal literal (e.g. 9876543210, 100_000_000)\n // * floating pointe literal (e.g. 1.2, 1.2f, .2, 1., 1.2e10, 1.2e-10)\n begin: /(\\b0x[\\d_]*(\\.[\\d_]*)?|0x\\.\\d[\\d_]*)p[-+]?\\d+|\\b0[box][a-fA-F0-9][a-fA-F0-9_]*|(\\b\\d[\\d_]*(\\.[\\d_]*)?|\\.\\d[\\d_]*)([eEfF][-+]?\\d+)?/,\n relevance: 0\n };\n\n var CHAR = {\n className: 'string',\n begin: /'(.|\\\\[xXuU][a-zA-Z0-9]+)'/\n };\n\n var INTERPOLATION = {\n className: 'subst',\n begin: /\\$\\(/, end: /\\)/,\n keywords: KEYWORDS\n };\n\n var INTERPOLATED_VARIABLE = {\n className: 'variable',\n begin: '\\\\$' + VARIABLE_NAME_RE\n };\n\n // TODO: neatly escape normal code in string literal\n var STRING = {\n className: 'string',\n contains: [hljs.BACKSLASH_ESCAPE, INTERPOLATION, INTERPOLATED_VARIABLE],\n variants: [\n { begin: /\\w*\"\"\"/, end: /\"\"\"\\w*/, relevance: 10 },\n { begin: /\\w*\"/, end: /\"\\w*/ }\n ]\n };\n\n var COMMAND = {\n className: 'string',\n contains: [hljs.BACKSLASH_ESCAPE, INTERPOLATION, INTERPOLATED_VARIABLE],\n begin: '`', end: '`'\n };\n\n var MACROCALL = {\n className: 'meta',\n begin: '@' + VARIABLE_NAME_RE\n };\n\n var COMMENT = {\n className: 'comment',\n variants: [\n { begin: '#=', end: '=#', relevance: 10 },\n { begin: '#', end: '$' }\n ]\n };\n\n DEFAULT.name = 'Julia';\n DEFAULT.contains = [\n NUMBER,\n CHAR,\n STRING,\n COMMAND,\n MACROCALL,\n COMMENT,\n hljs.HASH_COMMENT_MODE,\n {\n className: 'keyword',\n begin:\n '\\\\b(((abstract|primitive)\\\\s+)type|(mutable\\\\s+)?struct)\\\\b'\n },\n {begin: /<:/} // relevance booster\n ];\n INTERPOLATION.contains = DEFAULT.contains;\n\n return DEFAULT;\n}\n\nmodule.exports = julia;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\nvar _default = exports[\"default\"] = {\n \"hljs\": {\n \"display\": \"block\",\n \"overflowX\": \"auto\",\n \"padding\": \"0.5em\",\n \"background\": \"white\",\n \"color\": \"black\"\n },\n \"hljs-comment\": {\n \"color\": \"#800\"\n },\n \"hljs-quote\": {\n \"color\": \"#800\"\n },\n \"hljs-keyword\": {\n \"color\": \"#008\"\n },\n \"hljs-selector-tag\": {\n \"color\": \"#008\"\n },\n \"hljs-section\": {\n \"color\": \"#008\"\n },\n \"hljs-title\": {\n \"color\": \"#606\"\n },\n \"hljs-name\": {\n \"color\": \"#008\"\n },\n \"hljs-variable\": {\n \"color\": \"#660\"\n },\n \"hljs-template-variable\": {\n \"color\": \"#660\"\n },\n \"hljs-string\": {\n \"color\": \"#080\"\n },\n \"hljs-selector-attr\": {\n \"color\": \"#080\"\n },\n \"hljs-selector-pseudo\": {\n \"color\": \"#080\"\n },\n \"hljs-regexp\": {\n \"color\": \"#080\"\n },\n \"hljs-literal\": {\n \"color\": \"#066\"\n },\n \"hljs-symbol\": {\n \"color\": \"#066\"\n },\n \"hljs-bullet\": {\n \"color\": \"#066\"\n },\n \"hljs-meta\": {\n \"color\": \"#066\"\n },\n \"hljs-number\": {\n \"color\": \"#066\"\n },\n \"hljs-link\": {\n \"color\": \"#066\"\n },\n \"hljs-doctag\": {\n \"color\": \"#606\",\n \"fontWeight\": \"bold\"\n },\n \"hljs-type\": {\n \"color\": \"#606\"\n },\n \"hljs-attr\": {\n \"color\": \"#606\"\n },\n \"hljs-built_in\": {\n \"color\": \"#606\"\n },\n \"hljs-builtin-name\": {\n \"color\": \"#606\"\n },\n \"hljs-params\": {\n \"color\": \"#606\"\n },\n \"hljs-attribute\": {\n \"color\": \"#000\"\n },\n \"hljs-subst\": {\n \"color\": \"#000\"\n },\n \"hljs-formula\": {\n \"backgroundColor\": \"#eee\",\n \"fontStyle\": \"italic\"\n },\n \"hljs-selector-id\": {\n \"color\": \"#9B703F\"\n },\n \"hljs-selector-class\": {\n \"color\": \"#9B703F\"\n },\n \"hljs-addition\": {\n \"backgroundColor\": \"#baeeba\"\n },\n \"hljs-deletion\": {\n \"backgroundColor\": \"#ffc8bd\"\n },\n \"hljs-strong\": {\n \"fontWeight\": \"bold\"\n },\n \"hljs-emphasis\": {\n \"fontStyle\": \"italic\"\n }\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\nvar _default = exports[\"default\"] = {\n \"hljs\": {\n \"display\": \"block\",\n \"overflowX\": \"auto\",\n \"padding\": \"0.5em\",\n \"background\": \"#002b36\",\n \"color\": \"#839496\"\n },\n \"hljs-comment\": {\n \"color\": \"#586e75\"\n },\n \"hljs-quote\": {\n \"color\": \"#586e75\"\n },\n \"hljs-keyword\": {\n \"color\": \"#859900\"\n },\n \"hljs-selector-tag\": {\n \"color\": \"#859900\"\n },\n \"hljs-addition\": {\n \"color\": \"#859900\"\n },\n \"hljs-number\": {\n \"color\": \"#2aa198\"\n },\n \"hljs-string\": {\n \"color\": \"#2aa198\"\n },\n \"hljs-meta .hljs-meta-string\": {\n \"color\": \"#2aa198\"\n },\n \"hljs-literal\": {\n \"color\": \"#2aa198\"\n },\n \"hljs-doctag\": {\n \"color\": \"#2aa198\"\n },\n \"hljs-regexp\": {\n \"color\": \"#2aa198\"\n },\n \"hljs-title\": {\n \"color\": \"#268bd2\"\n },\n \"hljs-section\": {\n \"color\": \"#268bd2\"\n },\n \"hljs-name\": {\n \"color\": \"#268bd2\"\n },\n \"hljs-selector-id\": {\n \"color\": \"#268bd2\"\n },\n \"hljs-selector-class\": {\n \"color\": \"#268bd2\"\n },\n \"hljs-attribute\": {\n \"color\": \"#b58900\"\n },\n \"hljs-attr\": {\n \"color\": \"#b58900\"\n },\n \"hljs-variable\": {\n \"color\": \"#b58900\"\n },\n \"hljs-template-variable\": {\n \"color\": \"#b58900\"\n },\n \"hljs-class .hljs-title\": {\n \"color\": \"#b58900\"\n },\n \"hljs-type\": {\n \"color\": \"#b58900\"\n },\n \"hljs-symbol\": {\n \"color\": \"#cb4b16\"\n },\n \"hljs-bullet\": {\n \"color\": \"#cb4b16\"\n },\n \"hljs-subst\": {\n \"color\": \"#cb4b16\"\n },\n \"hljs-meta\": {\n \"color\": \"#cb4b16\"\n },\n \"hljs-meta .hljs-keyword\": {\n \"color\": \"#cb4b16\"\n },\n \"hljs-selector-attr\": {\n \"color\": \"#cb4b16\"\n },\n \"hljs-selector-pseudo\": {\n \"color\": \"#cb4b16\"\n },\n \"hljs-link\": {\n \"color\": \"#cb4b16\"\n },\n \"hljs-built_in\": {\n \"color\": \"#dc322f\"\n },\n \"hljs-deletion\": {\n \"color\": \"#dc322f\"\n },\n \"hljs-formula\": {\n \"background\": \"#073642\"\n },\n \"hljs-emphasis\": {\n \"fontStyle\": \"italic\"\n },\n \"hljs-strong\": {\n \"fontWeight\": \"bold\"\n }\n};","const findTagByName = require(\"./find-tag-by-name.js\");\n\nfunction findTagsByName(xml, tagName, options) {\n const tags = [];\n const debug = (options && options.debug) || false;\n const nested = options && typeof options.nested === \"boolean\" ? options.nested : true;\n let startIndex = (options && options.startIndex) || 0;\n let tag;\n while ((tag = findTagByName(xml, tagName, { debug, startIndex }))) {\n if (nested) {\n startIndex = tag.start + 1 + tagName.length;\n } else {\n startIndex = tag.end;\n }\n tags.push(tag);\n }\n if (debug) console.log(\"findTagsByName found\", tags.length, \"tags\");\n return tags;\n}\n\nmodule.exports = findTagsByName;\nmodule.exports.default = findTagsByName;\n","/**\n * @param {string} value\n * @returns {RegExp}\n * */\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction source(re) {\n if (!re) return null;\n if (typeof re === \"string\") return re;\n\n return re.source;\n}\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction lookahead(re) {\n return concat('(?=', re, ')');\n}\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction optional(re) {\n return concat('(', re, ')?');\n}\n\n/**\n * @param {...(RegExp | string) } args\n * @returns {string}\n */\nfunction concat(...args) {\n const joined = args.map((x) => source(x)).join(\"\");\n return joined;\n}\n\n/*\nLanguage: C++\nCategory: common, system\nWebsite: https://isocpp.org\n*/\n\n/** @type LanguageFn */\nfunction cPlusPlus(hljs) {\n // added for historic reasons because `hljs.C_LINE_COMMENT_MODE` does\n // not include such support nor can we be sure all the grammars depending\n // on it would desire this behavior\n const C_LINE_COMMENT_MODE = hljs.COMMENT('//', '$', {\n contains: [\n {\n begin: /\\\\\\n/\n }\n ]\n });\n const DECLTYPE_AUTO_RE = 'decltype\\\\(auto\\\\)';\n const NAMESPACE_RE = '[a-zA-Z_]\\\\w*::';\n const TEMPLATE_ARGUMENT_RE = '<[^<>]+>';\n const FUNCTION_TYPE_RE = '(' +\n DECLTYPE_AUTO_RE + '|' +\n optional(NAMESPACE_RE) +\n '[a-zA-Z_]\\\\w*' + optional(TEMPLATE_ARGUMENT_RE) +\n ')';\n const CPP_PRIMITIVE_TYPES = {\n className: 'keyword',\n begin: '\\\\b[a-z\\\\d_]*_t\\\\b'\n };\n\n // https://en.cppreference.com/w/cpp/language/escape\n // \\\\ \\x \\xFF \\u2837 \\u00323747 \\374\n const CHARACTER_ESCAPES = '\\\\\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\\\S)';\n const STRINGS = {\n className: 'string',\n variants: [\n {\n begin: '(u8?|U|L)?\"',\n end: '\"',\n illegal: '\\\\n',\n contains: [ hljs.BACKSLASH_ESCAPE ]\n },\n {\n begin: '(u8?|U|L)?\\'(' + CHARACTER_ESCAPES + \"|.)\",\n end: '\\'',\n illegal: '.'\n },\n hljs.END_SAME_AS_BEGIN({\n begin: /(?:u8?|U|L)?R\"([^()\\\\ ]{0,16})\\(/,\n end: /\\)([^()\\\\ ]{0,16})\"/\n })\n ]\n };\n\n const NUMBERS = {\n className: 'number',\n variants: [\n {\n begin: '\\\\b(0b[01\\']+)'\n },\n {\n begin: '(-?)\\\\b([\\\\d\\']+(\\\\.[\\\\d\\']*)?|\\\\.[\\\\d\\']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)'\n },\n {\n begin: '(-?)(\\\\b0[xX][a-fA-F0-9\\']+|(\\\\b[\\\\d\\']+(\\\\.[\\\\d\\']*)?|\\\\.[\\\\d\\']+)([eE][-+]?[\\\\d\\']+)?)'\n }\n ],\n relevance: 0\n };\n\n const PREPROCESSOR = {\n className: 'meta',\n begin: /#\\s*[a-z]+\\b/,\n end: /$/,\n keywords: {\n 'meta-keyword':\n 'if else elif endif define undef warning error line ' +\n 'pragma _Pragma ifdef ifndef include'\n },\n contains: [\n {\n begin: /\\\\\\n/,\n relevance: 0\n },\n hljs.inherit(STRINGS, {\n className: 'meta-string'\n }),\n {\n className: 'meta-string',\n begin: /<.*?>/\n },\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE\n ]\n };\n\n const TITLE_MODE = {\n className: 'title',\n begin: optional(NAMESPACE_RE) + hljs.IDENT_RE,\n relevance: 0\n };\n\n const FUNCTION_TITLE = optional(NAMESPACE_RE) + hljs.IDENT_RE + '\\\\s*\\\\(';\n\n const COMMON_CPP_HINTS = [\n 'asin',\n 'atan2',\n 'atan',\n 'calloc',\n 'ceil',\n 'cosh',\n 'cos',\n 'exit',\n 'exp',\n 'fabs',\n 'floor',\n 'fmod',\n 'fprintf',\n 'fputs',\n 'free',\n 'frexp',\n 'auto_ptr',\n 'deque',\n 'list',\n 'queue',\n 'stack',\n 'vector',\n 'map',\n 'set',\n 'pair',\n 'bitset',\n 'multiset',\n 'multimap',\n 'unordered_set',\n 'fscanf',\n 'future',\n 'isalnum',\n 'isalpha',\n 'iscntrl',\n 'isdigit',\n 'isgraph',\n 'islower',\n 'isprint',\n 'ispunct',\n 'isspace',\n 'isupper',\n 'isxdigit',\n 'tolower',\n 'toupper',\n 'labs',\n 'ldexp',\n 'log10',\n 'log',\n 'malloc',\n 'realloc',\n 'memchr',\n 'memcmp',\n 'memcpy',\n 'memset',\n 'modf',\n 'pow',\n 'printf',\n 'putchar',\n 'puts',\n 'scanf',\n 'sinh',\n 'sin',\n 'snprintf',\n 'sprintf',\n 'sqrt',\n 'sscanf',\n 'strcat',\n 'strchr',\n 'strcmp',\n 'strcpy',\n 'strcspn',\n 'strlen',\n 'strncat',\n 'strncmp',\n 'strncpy',\n 'strpbrk',\n 'strrchr',\n 'strspn',\n 'strstr',\n 'tanh',\n 'tan',\n 'unordered_map',\n 'unordered_multiset',\n 'unordered_multimap',\n 'priority_queue',\n 'make_pair',\n 'array',\n 'shared_ptr',\n 'abort',\n 'terminate',\n 'abs',\n 'acos',\n 'vfprintf',\n 'vprintf',\n 'vsprintf',\n 'endl',\n 'initializer_list',\n 'unique_ptr',\n 'complex',\n 'imaginary',\n 'std',\n 'string',\n 'wstring',\n 'cin',\n 'cout',\n 'cerr',\n 'clog',\n 'stdin',\n 'stdout',\n 'stderr',\n 'stringstream',\n 'istringstream',\n 'ostringstream'\n ];\n\n const CPP_KEYWORDS = {\n keyword: 'int float while private char char8_t char16_t char32_t catch import module export virtual operator sizeof ' +\n 'dynamic_cast|10 typedef const_cast|10 const for static_cast|10 union namespace ' +\n 'unsigned long volatile static protected bool template mutable if public friend ' +\n 'do goto auto void enum else break extern using asm case typeid wchar_t ' +\n 'short reinterpret_cast|10 default double register explicit signed typename try this ' +\n 'switch continue inline delete alignas alignof constexpr consteval constinit decltype ' +\n 'concept co_await co_return co_yield requires ' +\n 'noexcept static_assert thread_local restrict final override ' +\n 'atomic_bool atomic_char atomic_schar ' +\n 'atomic_uchar atomic_short atomic_ushort atomic_int atomic_uint atomic_long atomic_ulong atomic_llong ' +\n 'atomic_ullong new throw return ' +\n 'and and_eq bitand bitor compl not not_eq or or_eq xor xor_eq',\n built_in: '_Bool _Complex _Imaginary',\n _relevance_hints: COMMON_CPP_HINTS,\n literal: 'true false nullptr NULL'\n };\n\n const FUNCTION_DISPATCH = {\n className: \"function.dispatch\",\n relevance: 0,\n keywords: CPP_KEYWORDS,\n begin: concat(\n /\\b/,\n /(?!decltype)/,\n /(?!if)/,\n /(?!for)/,\n /(?!while)/,\n hljs.IDENT_RE,\n lookahead(/\\s*\\(/))\n };\n\n const EXPRESSION_CONTAINS = [\n FUNCTION_DISPATCH,\n PREPROCESSOR,\n CPP_PRIMITIVE_TYPES,\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n NUMBERS,\n STRINGS\n ];\n\n\n const EXPRESSION_CONTEXT = {\n // This mode covers expression context where we can't expect a function\n // definition and shouldn't highlight anything that looks like one:\n // `return some()`, `else if()`, `(x*sum(1, 2))`\n variants: [\n {\n begin: /=/,\n end: /;/\n },\n {\n begin: /\\(/,\n end: /\\)/\n },\n {\n beginKeywords: 'new throw return else',\n end: /;/\n }\n ],\n keywords: CPP_KEYWORDS,\n contains: EXPRESSION_CONTAINS.concat([\n {\n begin: /\\(/,\n end: /\\)/,\n keywords: CPP_KEYWORDS,\n contains: EXPRESSION_CONTAINS.concat([ 'self' ]),\n relevance: 0\n }\n ]),\n relevance: 0\n };\n\n const FUNCTION_DECLARATION = {\n className: 'function',\n begin: '(' + FUNCTION_TYPE_RE + '[\\\\*&\\\\s]+)+' + FUNCTION_TITLE,\n returnBegin: true,\n end: /[{;=]/,\n excludeEnd: true,\n keywords: CPP_KEYWORDS,\n illegal: /[^\\w\\s\\*&:<>.]/,\n contains: [\n { // to prevent it from being confused as the function title\n begin: DECLTYPE_AUTO_RE,\n keywords: CPP_KEYWORDS,\n relevance: 0\n },\n {\n begin: FUNCTION_TITLE,\n returnBegin: true,\n contains: [ TITLE_MODE ],\n relevance: 0\n },\n // needed because we do not have look-behind on the below rule\n // to prevent it from grabbing the final : in a :: pair\n {\n begin: /::/,\n relevance: 0\n },\n // initializers\n {\n begin: /:/,\n endsWithParent: true,\n contains: [\n STRINGS,\n NUMBERS\n ]\n },\n {\n className: 'params',\n begin: /\\(/,\n end: /\\)/,\n keywords: CPP_KEYWORDS,\n relevance: 0,\n contains: [\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n STRINGS,\n NUMBERS,\n CPP_PRIMITIVE_TYPES,\n // Count matching parentheses.\n {\n begin: /\\(/,\n end: /\\)/,\n keywords: CPP_KEYWORDS,\n relevance: 0,\n contains: [\n 'self',\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n STRINGS,\n NUMBERS,\n CPP_PRIMITIVE_TYPES\n ]\n }\n ]\n },\n CPP_PRIMITIVE_TYPES,\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n PREPROCESSOR\n ]\n };\n\n return {\n name: 'C++',\n aliases: [\n 'cc',\n 'c++',\n 'h++',\n 'hpp',\n 'hh',\n 'hxx',\n 'cxx'\n ],\n keywords: CPP_KEYWORDS,\n illegal: ' rooms (9);`\n begin: '\\\\b(deque|list|queue|priority_queue|pair|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array)\\\\s*<',\n end: '>',\n keywords: CPP_KEYWORDS,\n contains: [\n 'self',\n CPP_PRIMITIVE_TYPES\n ]\n },\n {\n begin: hljs.IDENT_RE + '::',\n keywords: CPP_KEYWORDS\n },\n {\n className: 'class',\n beginKeywords: 'enum class struct union',\n end: /[{;:<>=]/,\n contains: [\n {\n beginKeywords: \"final class struct\"\n },\n hljs.TITLE_MODE\n ]\n }\n ]),\n exports: {\n preprocessor: PREPROCESSOR,\n strings: STRINGS,\n keywords: CPP_KEYWORDS\n }\n };\n}\n\n/*\nLanguage: C-like (deprecated, use C and C++ instead)\nAuthor: Ivan Sagalaev \nContributors: Evgeny Stepanischev , Zaven Muradyan , Roel Deckers , Sam Wu , Jordi Petit , Pieter Vantorre , Google Inc. (David Benjamin) \n*/\n\n/** @type LanguageFn */\nfunction cLike(hljs) {\n const lang = cPlusPlus(hljs);\n\n const C_ALIASES = [\n \"c\",\n \"h\"\n ];\n\n const CPP_ALIASES = [\n 'cc',\n 'c++',\n 'h++',\n 'hpp',\n 'hh',\n 'hxx',\n 'cxx'\n ];\n\n lang.disableAutodetect = true;\n lang.aliases = [];\n // support users only loading c-like (legacy)\n if (!hljs.getLanguage(\"c\")) lang.aliases.push(...C_ALIASES);\n if (!hljs.getLanguage(\"cpp\")) lang.aliases.push(...CPP_ALIASES);\n\n // if c and cpp are loaded after then they will reclaim these\n // aliases for themselves\n\n return lang;\n}\n\nmodule.exports = cLike;\n","'use strict';\n\nvar reactIs = require('react-is');\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\nvar MEMO_STATICS = {\n '$$typeof': true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\nvar TYPE_STATICS = {};\nTYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;\nTYPE_STATICS[reactIs.Memo] = MEMO_STATICS;\n\nfunction getStatics(component) {\n // React v16.11 and below\n if (reactIs.isMemo(component)) {\n return MEMO_STATICS;\n } // React v16.12 and above\n\n\n return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n var targetStatics = getStatics(targetComponent);\n var sourceStatics = getStatics(sourceComponent);\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;\n","/*\nLanguage: HSP\nAuthor: prince \nWebsite: https://en.wikipedia.org/wiki/Hot_Soup_Processor\nCategory: scripting\n*/\n\nfunction hsp(hljs) {\n return {\n name: 'HSP',\n case_insensitive: true,\n keywords: {\n $pattern: /[\\w._]+/,\n keyword: 'goto gosub return break repeat loop continue wait await dim sdim foreach dimtype dup dupptr end stop newmod delmod mref run exgoto on mcall assert logmes newlab resume yield onexit onerror onkey onclick oncmd exist delete mkdir chdir dirlist bload bsave bcopy memfile if else poke wpoke lpoke getstr chdpm memexpand memcpy memset notesel noteadd notedel noteload notesave randomize noteunsel noteget split strrep setease button chgdisp exec dialog mmload mmplay mmstop mci pset pget syscolor mes print title pos circle cls font sysfont objsize picload color palcolor palette redraw width gsel gcopy gzoom gmode bmpsave hsvcolor getkey listbox chkbox combox input mesbox buffer screen bgscr mouse objsel groll line clrobj boxf objprm objmode stick grect grotate gsquare gradf objimage objskip objenable celload celdiv celput newcom querycom delcom cnvstow comres axobj winobj sendmsg comevent comevarg sarrayconv callfunc cnvwtos comevdisp libptr system hspstat hspver stat cnt err strsize looplev sublev iparam wparam lparam refstr refdval int rnd strlen length length2 length3 length4 vartype gettime peek wpeek lpeek varptr varuse noteinfo instr abs limit getease str strmid strf getpath strtrim sin cos tan atan sqrt double absf expf logf limitf powf geteasef mousex mousey mousew hwnd hinstance hdc ginfo objinfo dirinfo sysinfo thismod __hspver__ __hsp30__ __date__ __time__ __line__ __file__ _debug __hspdef__ and or xor not screen_normal screen_palette screen_hide screen_fixedsize screen_tool screen_frame gmode_gdi gmode_mem gmode_rgb0 gmode_alpha gmode_rgb0alpha gmode_add gmode_sub gmode_pixela ginfo_mx ginfo_my ginfo_act ginfo_sel ginfo_wx1 ginfo_wy1 ginfo_wx2 ginfo_wy2 ginfo_vx ginfo_vy ginfo_sizex ginfo_sizey ginfo_winx ginfo_winy ginfo_mesx ginfo_mesy ginfo_r ginfo_g ginfo_b ginfo_paluse ginfo_dispx ginfo_dispy ginfo_cx ginfo_cy ginfo_intid ginfo_newid ginfo_sx ginfo_sy objinfo_mode objinfo_bmscr objinfo_hwnd notemax notesize dir_cur dir_exe dir_win dir_sys dir_cmdline dir_desktop dir_mydoc dir_tv font_normal font_bold font_italic font_underline font_strikeout font_antialias objmode_normal objmode_guifont objmode_usefont gsquare_grad msgothic msmincho do until while wend for next _break _continue switch case default swbreak swend ddim ldim alloc m_pi rad2deg deg2rad ease_linear ease_quad_in ease_quad_out ease_quad_inout ease_cubic_in ease_cubic_out ease_cubic_inout ease_quartic_in ease_quartic_out ease_quartic_inout ease_bounce_in ease_bounce_out ease_bounce_inout ease_shake_in ease_shake_out ease_shake_inout ease_loop'\n },\n contains: [\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n hljs.QUOTE_STRING_MODE,\n hljs.APOS_STRING_MODE,\n\n {\n // multi-line string\n className: 'string',\n begin: /\\{\"/,\n end: /\"\\}/,\n contains: [hljs.BACKSLASH_ESCAPE]\n },\n\n hljs.COMMENT(';', '$', {\n relevance: 0\n }),\n\n {\n // pre-processor\n className: 'meta',\n begin: '#',\n end: '$',\n keywords: {\n 'meta-keyword': 'addion cfunc cmd cmpopt comfunc const defcfunc deffunc define else endif enum epack func global if ifdef ifndef include modcfunc modfunc modinit modterm module pack packopt regcmd runtime undef usecom uselib'\n },\n contains: [\n hljs.inherit(hljs.QUOTE_STRING_MODE, {\n className: 'meta-string'\n }),\n hljs.NUMBER_MODE,\n hljs.C_NUMBER_MODE,\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE\n ]\n },\n\n {\n // label\n className: 'symbol',\n begin: '^\\\\*(\\\\w+|@)'\n },\n\n hljs.NUMBER_MODE,\n hljs.C_NUMBER_MODE\n ]\n };\n}\n\nmodule.exports = hsp;\n","/*\nLanguage: MEL\nDescription: Maya Embedded Language\nAuthor: Shuen-Huei Guan \nWebsite: http://www.autodesk.com/products/autodesk-maya/overview\nCategory: graphics\n*/\n\nfunction mel(hljs) {\n return {\n name: 'MEL',\n keywords:\n 'int float string vector matrix if else switch case default while do for in break ' +\n 'continue global proc return about abs addAttr addAttributeEditorNodeHelp addDynamic ' +\n 'addNewShelfTab addPP addPanelCategory addPrefixToName advanceToNextDrivenKey ' +\n 'affectedNet affects aimConstraint air alias aliasAttr align alignCtx alignCurve ' +\n 'alignSurface allViewFit ambientLight angle angleBetween animCone animCurveEditor ' +\n 'animDisplay animView annotate appendStringArray applicationName applyAttrPreset ' +\n 'applyTake arcLenDimContext arcLengthDimension arclen arrayMapper art3dPaintCtx ' +\n 'artAttrCtx artAttrPaintVertexCtx artAttrSkinPaintCtx artAttrTool artBuildPaintMenu ' +\n 'artFluidAttrCtx artPuttyCtx artSelectCtx artSetPaintCtx artUserPaintCtx assignCommand ' +\n 'assignInputDevice assignViewportFactories attachCurve attachDeviceAttr attachSurface ' +\n 'attrColorSliderGrp attrCompatibility attrControlGrp attrEnumOptionMenu ' +\n 'attrEnumOptionMenuGrp attrFieldGrp attrFieldSliderGrp attrNavigationControlGrp ' +\n 'attrPresetEditWin attributeExists attributeInfo attributeMenu attributeQuery ' +\n 'autoKeyframe autoPlace bakeClip bakeFluidShading bakePartialHistory bakeResults ' +\n 'bakeSimulation basename basenameEx batchRender bessel bevel bevelPlus binMembership ' +\n 'bindSkin blend2 blendShape blendShapeEditor blendShapePanel blendTwoAttr blindDataType ' +\n 'boneLattice boundary boxDollyCtx boxZoomCtx bufferCurve buildBookmarkMenu ' +\n 'buildKeyframeMenu button buttonManip CBG cacheFile cacheFileCombine cacheFileMerge ' +\n 'cacheFileTrack camera cameraView canCreateManip canvas capitalizeString catch ' +\n 'catchQuiet ceil changeSubdivComponentDisplayLevel changeSubdivRegion channelBox ' +\n 'character characterMap characterOutlineEditor characterize chdir checkBox checkBoxGrp ' +\n 'checkDefaultRenderGlobals choice circle circularFillet clamp clear clearCache clip ' +\n 'clipEditor clipEditorCurrentTimeCtx clipSchedule clipSchedulerOutliner clipTrimBefore ' +\n 'closeCurve closeSurface cluster cmdFileOutput cmdScrollFieldExecuter ' +\n 'cmdScrollFieldReporter cmdShell coarsenSubdivSelectionList collision color ' +\n 'colorAtPoint colorEditor colorIndex colorIndexSliderGrp colorSliderButtonGrp ' +\n 'colorSliderGrp columnLayout commandEcho commandLine commandPort compactHairSystem ' +\n 'componentEditor compositingInterop computePolysetVolume condition cone confirmDialog ' +\n 'connectAttr connectControl connectDynamic connectJoint connectionInfo constrain ' +\n 'constrainValue constructionHistory container containsMultibyte contextInfo control ' +\n 'convertFromOldLayers convertIffToPsd convertLightmap convertSolidTx convertTessellation ' +\n 'convertUnit copyArray copyFlexor copyKey copySkinWeights cos cpButton cpCache ' +\n 'cpClothSet cpCollision cpConstraint cpConvClothToMesh cpForces cpGetSolverAttr cpPanel ' +\n 'cpProperty cpRigidCollisionFilter cpSeam cpSetEdit cpSetSolverAttr cpSolver ' +\n 'cpSolverTypes cpTool cpUpdateClothUVs createDisplayLayer createDrawCtx createEditor ' +\n 'createLayeredPsdFile createMotionField createNewShelf createNode createRenderLayer ' +\n 'createSubdivRegion cross crossProduct ctxAbort ctxCompletion ctxEditMode ctxTraverse ' +\n 'currentCtx currentTime currentTimeCtx currentUnit curve curveAddPtCtx ' +\n 'curveCVCtx curveEPCtx curveEditorCtx curveIntersect curveMoveEPCtx curveOnSurface ' +\n 'curveSketchCtx cutKey cycleCheck cylinder dagPose date defaultLightListCheckBox ' +\n 'defaultNavigation defineDataServer defineVirtualDevice deformer deg_to_rad delete ' +\n 'deleteAttr deleteShadingGroupsAndMaterials deleteShelfTab deleteUI deleteUnusedBrushes ' +\n 'delrandstr detachCurve detachDeviceAttr detachSurface deviceEditor devicePanel dgInfo ' +\n 'dgdirty dgeval dgtimer dimWhen directKeyCtx directionalLight dirmap dirname disable ' +\n 'disconnectAttr disconnectJoint diskCache displacementToPoly displayAffected ' +\n 'displayColor displayCull displayLevelOfDetail displayPref displayRGBColor ' +\n 'displaySmoothness displayStats displayString displaySurface distanceDimContext ' +\n 'distanceDimension doBlur dolly dollyCtx dopeSheetEditor dot dotProduct ' +\n 'doubleProfileBirailSurface drag dragAttrContext draggerContext dropoffLocator ' +\n 'duplicate duplicateCurve duplicateSurface dynCache dynControl dynExport dynExpression ' +\n 'dynGlobals dynPaintEditor dynParticleCtx dynPref dynRelEdPanel dynRelEditor ' +\n 'dynamicLoad editAttrLimits editDisplayLayerGlobals editDisplayLayerMembers ' +\n 'editRenderLayerAdjustment editRenderLayerGlobals editRenderLayerMembers editor ' +\n 'editorTemplate effector emit emitter enableDevice encodeString endString endsWith env ' +\n 'equivalent equivalentTol erf error eval evalDeferred evalEcho event ' +\n 'exactWorldBoundingBox exclusiveLightCheckBox exec executeForEachObject exists exp ' +\n 'expression expressionEditorListen extendCurve extendSurface extrude fcheck fclose feof ' +\n 'fflush fgetline fgetword file fileBrowserDialog fileDialog fileExtension fileInfo ' +\n 'filetest filletCurve filter filterCurve filterExpand filterStudioImport ' +\n 'findAllIntersections findAnimCurves findKeyframe findMenuItem findRelatedSkinCluster ' +\n 'finder firstParentOf fitBspline flexor floatEq floatField floatFieldGrp floatScrollBar ' +\n 'floatSlider floatSlider2 floatSliderButtonGrp floatSliderGrp floor flow fluidCacheInfo ' +\n 'fluidEmitter fluidVoxelInfo flushUndo fmod fontDialog fopen formLayout format fprint ' +\n 'frameLayout fread freeFormFillet frewind fromNativePath fwrite gamma gauss ' +\n 'geometryConstraint getApplicationVersionAsFloat getAttr getClassification ' +\n 'getDefaultBrush getFileList getFluidAttr getInputDeviceRange getMayaPanelTypes ' +\n 'getModifiers getPanel getParticleAttr getPluginResource getenv getpid glRender ' +\n 'glRenderEditor globalStitch gmatch goal gotoBindPose grabColor gradientControl ' +\n 'gradientControlNoAttr graphDollyCtx graphSelectContext graphTrackCtx gravity grid ' +\n 'gridLayout group groupObjectsByName HfAddAttractorToAS HfAssignAS HfBuildEqualMap ' +\n 'HfBuildFurFiles HfBuildFurImages HfCancelAFR HfConnectASToHF HfCreateAttractor ' +\n 'HfDeleteAS HfEditAS HfPerformCreateAS HfRemoveAttractorFromAS HfSelectAttached ' +\n 'HfSelectAttractors HfUnAssignAS hardenPointCurve hardware hardwareRenderPanel ' +\n 'headsUpDisplay headsUpMessage help helpLine hermite hide hilite hitTest hotBox hotkey ' +\n 'hotkeyCheck hsv_to_rgb hudButton hudSlider hudSliderButton hwReflectionMap hwRender ' +\n 'hwRenderLoad hyperGraph hyperPanel hyperShade hypot iconTextButton iconTextCheckBox ' +\n 'iconTextRadioButton iconTextRadioCollection iconTextScrollList iconTextStaticLabel ' +\n 'ikHandle ikHandleCtx ikHandleDisplayScale ikSolver ikSplineHandleCtx ikSystem ' +\n 'ikSystemInfo ikfkDisplayMethod illustratorCurves image imfPlugins inheritTransform ' +\n 'insertJoint insertJointCtx insertKeyCtx insertKnotCurve insertKnotSurface instance ' +\n 'instanceable instancer intField intFieldGrp intScrollBar intSlider intSliderGrp ' +\n 'interToUI internalVar intersect iprEngine isAnimCurve isConnected isDirty isParentOf ' +\n 'isSameObject isTrue isValidObjectName isValidString isValidUiName isolateSelect ' +\n 'itemFilter itemFilterAttr itemFilterRender itemFilterType joint jointCluster jointCtx ' +\n 'jointDisplayScale jointLattice keyTangent keyframe keyframeOutliner ' +\n 'keyframeRegionCurrentTimeCtx keyframeRegionDirectKeyCtx keyframeRegionDollyCtx ' +\n 'keyframeRegionInsertKeyCtx keyframeRegionMoveKeyCtx keyframeRegionScaleKeyCtx ' +\n 'keyframeRegionSelectKeyCtx keyframeRegionSetKeyCtx keyframeRegionTrackCtx ' +\n 'keyframeStats lassoContext lattice latticeDeformKeyCtx launch launchImageEditor ' +\n 'layerButton layeredShaderPort layeredTexturePort layout layoutDialog lightList ' +\n 'lightListEditor lightListPanel lightlink lineIntersection linearPrecision linstep ' +\n 'listAnimatable listAttr listCameras listConnections listDeviceAttachments listHistory ' +\n 'listInputDeviceAxes listInputDeviceButtons listInputDevices listMenuAnnotation ' +\n 'listNodeTypes listPanelCategories listRelatives listSets listTransforms ' +\n 'listUnselected listerEditor loadFluid loadNewShelf loadPlugin ' +\n 'loadPluginLanguageResources loadPrefObjects localizedPanelLabel lockNode loft log ' +\n 'longNameOf lookThru ls lsThroughFilter lsType lsUI Mayatomr mag makeIdentity makeLive ' +\n 'makePaintable makeRoll makeSingleSurface makeTubeOn makebot manipMoveContext ' +\n 'manipMoveLimitsCtx manipOptions manipRotateContext manipRotateLimitsCtx ' +\n 'manipScaleContext manipScaleLimitsCtx marker match max memory menu menuBarLayout ' +\n 'menuEditor menuItem menuItemToShelf menuSet menuSetPref messageLine min minimizeApp ' +\n 'mirrorJoint modelCurrentTimeCtx modelEditor modelPanel mouse movIn movOut move ' +\n 'moveIKtoFK moveKeyCtx moveVertexAlongDirection multiProfileBirailSurface mute ' +\n 'nParticle nameCommand nameField namespace namespaceInfo newPanelItems newton nodeCast ' +\n 'nodeIconButton nodeOutliner nodePreset nodeType noise nonLinear normalConstraint ' +\n 'normalize nurbsBoolean nurbsCopyUVSet nurbsCube nurbsEditUV nurbsPlane nurbsSelect ' +\n 'nurbsSquare nurbsToPoly nurbsToPolygonsPref nurbsToSubdiv nurbsToSubdivPref ' +\n 'nurbsUVSet nurbsViewDirectionVector objExists objectCenter objectLayer objectType ' +\n 'objectTypeUI obsoleteProc oceanNurbsPreviewPlane offsetCurve offsetCurveOnSurface ' +\n 'offsetSurface openGLExtension openMayaPref optionMenu optionMenuGrp optionVar orbit ' +\n 'orbitCtx orientConstraint outlinerEditor outlinerPanel overrideModifier ' +\n 'paintEffectsDisplay pairBlend palettePort paneLayout panel panelConfiguration ' +\n 'panelHistory paramDimContext paramDimension paramLocator parent parentConstraint ' +\n 'particle particleExists particleInstancer particleRenderInfo partition pasteKey ' +\n 'pathAnimation pause pclose percent performanceOptions pfxstrokes pickWalk picture ' +\n 'pixelMove planarSrf plane play playbackOptions playblast plugAttr plugNode pluginInfo ' +\n 'pluginResourceUtil pointConstraint pointCurveConstraint pointLight pointMatrixMult ' +\n 'pointOnCurve pointOnSurface pointPosition poleVectorConstraint polyAppend ' +\n 'polyAppendFacetCtx polyAppendVertex polyAutoProjection polyAverageNormal ' +\n 'polyAverageVertex polyBevel polyBlendColor polyBlindData polyBoolOp polyBridgeEdge ' +\n 'polyCacheMonitor polyCheck polyChipOff polyClipboard polyCloseBorder polyCollapseEdge ' +\n 'polyCollapseFacet polyColorBlindData polyColorDel polyColorPerVertex polyColorSet ' +\n 'polyCompare polyCone polyCopyUV polyCrease polyCreaseCtx polyCreateFacet ' +\n 'polyCreateFacetCtx polyCube polyCut polyCutCtx polyCylinder polyCylindricalProjection ' +\n 'polyDelEdge polyDelFacet polyDelVertex polyDuplicateAndConnect polyDuplicateEdge ' +\n 'polyEditUV polyEditUVShell polyEvaluate polyExtrudeEdge polyExtrudeFacet ' +\n 'polyExtrudeVertex polyFlipEdge polyFlipUV polyForceUV polyGeoSampler polyHelix ' +\n 'polyInfo polyInstallAction polyLayoutUV polyListComponentConversion polyMapCut ' +\n 'polyMapDel polyMapSew polyMapSewMove polyMergeEdge polyMergeEdgeCtx polyMergeFacet ' +\n 'polyMergeFacetCtx polyMergeUV polyMergeVertex polyMirrorFace polyMoveEdge ' +\n 'polyMoveFacet polyMoveFacetUV polyMoveUV polyMoveVertex polyNormal polyNormalPerVertex ' +\n 'polyNormalizeUV polyOptUvs polyOptions polyOutput polyPipe polyPlanarProjection ' +\n 'polyPlane polyPlatonicSolid polyPoke polyPrimitive polyPrism polyProjection ' +\n 'polyPyramid polyQuad polyQueryBlindData polyReduce polySelect polySelectConstraint ' +\n 'polySelectConstraintMonitor polySelectCtx polySelectEditCtx polySeparate ' +\n 'polySetToFaceNormal polySewEdge polyShortestPathCtx polySmooth polySoftEdge ' +\n 'polySphere polySphericalProjection polySplit polySplitCtx polySplitEdge polySplitRing ' +\n 'polySplitVertex polyStraightenUVBorder polySubdivideEdge polySubdivideFacet ' +\n 'polyToSubdiv polyTorus polyTransfer polyTriangulate polyUVSet polyUnite polyWedgeFace ' +\n 'popen popupMenu pose pow preloadRefEd print progressBar progressWindow projFileViewer ' +\n 'projectCurve projectTangent projectionContext projectionManip promptDialog propModCtx ' +\n 'propMove psdChannelOutliner psdEditTextureFile psdExport psdTextureFile putenv pwd ' +\n 'python querySubdiv quit rad_to_deg radial radioButton radioButtonGrp radioCollection ' +\n 'radioMenuItemCollection rampColorPort rand randomizeFollicles randstate rangeControl ' +\n 'readTake rebuildCurve rebuildSurface recordAttr recordDevice redo reference ' +\n 'referenceEdit referenceQuery refineSubdivSelectionList refresh refreshAE ' +\n 'registerPluginResource rehash reloadImage removeJoint removeMultiInstance ' +\n 'removePanelCategory rename renameAttr renameSelectionList renameUI render ' +\n 'renderGlobalsNode renderInfo renderLayerButton renderLayerParent ' +\n 'renderLayerPostProcess renderLayerUnparent renderManip renderPartition ' +\n 'renderQualityNode renderSettings renderThumbnailUpdate renderWindowEditor ' +\n 'renderWindowSelectContext renderer reorder reorderDeformers requires reroot ' +\n 'resampleFluid resetAE resetPfxToPolyCamera resetTool resolutionNode retarget ' +\n 'reverseCurve reverseSurface revolve rgb_to_hsv rigidBody rigidSolver roll rollCtx ' +\n 'rootOf rot rotate rotationInterpolation roundConstantRadius rowColumnLayout rowLayout ' +\n 'runTimeCommand runup sampleImage saveAllShelves saveAttrPreset saveFluid saveImage ' +\n 'saveInitialState saveMenu savePrefObjects savePrefs saveShelf saveToolSettings scale ' +\n 'scaleBrushBrightness scaleComponents scaleConstraint scaleKey scaleKeyCtx sceneEditor ' +\n 'sceneUIReplacement scmh scriptCtx scriptEditorInfo scriptJob scriptNode scriptTable ' +\n 'scriptToShelf scriptedPanel scriptedPanelType scrollField scrollLayout sculpt ' +\n 'searchPathArray seed selLoadSettings select selectContext selectCurveCV selectKey ' +\n 'selectKeyCtx selectKeyframeRegionCtx selectMode selectPref selectPriority selectType ' +\n 'selectedNodes selectionConnection separator setAttr setAttrEnumResource ' +\n 'setAttrMapping setAttrNiceNameResource setConstraintRestPosition ' +\n 'setDefaultShadingGroup setDrivenKeyframe setDynamic setEditCtx setEditor setFluidAttr ' +\n 'setFocus setInfinity setInputDeviceMapping setKeyCtx setKeyPath setKeyframe ' +\n 'setKeyframeBlendshapeTargetWts setMenuMode setNodeNiceNameResource setNodeTypeFlag ' +\n 'setParent setParticleAttr setPfxToPolyCamera setPluginResource setProject ' +\n 'setStampDensity setStartupMessage setState setToolTo setUITemplate setXformManip sets ' +\n 'shadingConnection shadingGeometryRelCtx shadingLightRelCtx shadingNetworkCompare ' +\n 'shadingNode shapeCompare shelfButton shelfLayout shelfTabLayout shellField ' +\n 'shortNameOf showHelp showHidden showManipCtx showSelectionInTitle ' +\n 'showShadingGroupAttrEditor showWindow sign simplify sin singleProfileBirailSurface ' +\n 'size sizeBytes skinCluster skinPercent smoothCurve smoothTangentSurface smoothstep ' +\n 'snap2to2 snapKey snapMode snapTogetherCtx snapshot soft softMod softModCtx sort sound ' +\n 'soundControl source spaceLocator sphere sphrand spotLight spotLightPreviewPort ' +\n 'spreadSheetEditor spring sqrt squareSurface srtContext stackTrace startString ' +\n 'startsWith stitchAndExplodeShell stitchSurface stitchSurfacePoints strcmp ' +\n 'stringArrayCatenate stringArrayContains stringArrayCount stringArrayInsertAtIndex ' +\n 'stringArrayIntersector stringArrayRemove stringArrayRemoveAtIndex ' +\n 'stringArrayRemoveDuplicates stringArrayRemoveExact stringArrayToString ' +\n 'stringToStringArray strip stripPrefixFromName stroke subdAutoProjection ' +\n 'subdCleanTopology subdCollapse subdDuplicateAndConnect subdEditUV ' +\n 'subdListComponentConversion subdMapCut subdMapSewMove subdMatchTopology subdMirror ' +\n 'subdToBlind subdToPoly subdTransferUVsToCache subdiv subdivCrease ' +\n 'subdivDisplaySmoothness substitute substituteAllString substituteGeometry substring ' +\n 'surface surfaceSampler surfaceShaderList swatchDisplayPort switchTable symbolButton ' +\n 'symbolCheckBox sysFile system tabLayout tan tangentConstraint texLatticeDeformContext ' +\n 'texManipContext texMoveContext texMoveUVShellContext texRotateContext texScaleContext ' +\n 'texSelectContext texSelectShortestPathCtx texSmudgeUVContext texWinToolCtx text ' +\n 'textCurves textField textFieldButtonGrp textFieldGrp textManip textScrollList ' +\n 'textToShelf textureDisplacePlane textureHairColor texturePlacementContext ' +\n 'textureWindow threadCount threePointArcCtx timeControl timePort timerX toNativePath ' +\n 'toggle toggleAxis toggleWindowVisibility tokenize tokenizeList tolerance tolower ' +\n 'toolButton toolCollection toolDropped toolHasOptions toolPropertyWindow torus toupper ' +\n 'trace track trackCtx transferAttributes transformCompare transformLimits translator ' +\n 'trim trunc truncateFluidCache truncateHairCache tumble tumbleCtx turbulence ' +\n 'twoPointArcCtx uiRes uiTemplate unassignInputDevice undo undoInfo ungroup uniform unit ' +\n 'unloadPlugin untangleUV untitledFileName untrim upAxis updateAE userCtx uvLink ' +\n 'uvSnapshot validateShelfName vectorize view2dToolCtx viewCamera viewClipPlane ' +\n 'viewFit viewHeadOn viewLookAt viewManip viewPlace viewSet visor volumeAxis vortex ' +\n 'waitCursor warning webBrowser webBrowserPrefs whatIs window windowPref wire ' +\n 'wireContext workspace wrinkle wrinkleContext writeTake xbmLangPathList xform',\n illegal: '\n*/\n\n/** @type LanguageFn */\nfunction fix(hljs) {\n return {\n name: 'FIX',\n contains: [{\n begin: /[^\\u2401\\u0001]+/,\n end: /[\\u2401\\u0001]/,\n excludeEnd: true,\n returnBegin: true,\n returnEnd: false,\n contains: [\n {\n begin: /([^\\u2401\\u0001=]+)/,\n end: /=([^\\u2401\\u0001=]+)/,\n returnEnd: true,\n returnBegin: false,\n className: 'attr'\n },\n {\n begin: /=/,\n end: /([\\u2401\\u0001])/,\n excludeEnd: true,\n excludeBegin: true,\n className: 'string'\n }\n ]\n }],\n case_insensitive: true\n };\n}\n\nmodule.exports = fix;\n","/*\nLanguage: Elixir\nAuthor: Josh Adams \nDescription: language definition for Elixir source code files (.ex and .exs). Based on ruby language support.\nCategory: functional\nWebsite: https://elixir-lang.org\n*/\n\n/** @type LanguageFn */\nfunction elixir(hljs) {\n const ELIXIR_IDENT_RE = '[a-zA-Z_][a-zA-Z0-9_.]*(!|\\\\?)?';\n const ELIXIR_METHOD_RE = '[a-zA-Z_]\\\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\\\*\\\\*|[-/+%^&*~`|]|\\\\[\\\\]=?';\n const ELIXIR_KEYWORDS = {\n $pattern: ELIXIR_IDENT_RE,\n keyword: 'and false then defined module in return redo retry end for true self when ' +\n 'next until do begin unless nil break not case cond alias while ensure or ' +\n 'include use alias fn quote require import with|0'\n };\n const SUBST = {\n className: 'subst',\n begin: /#\\{/,\n end: /\\}/,\n keywords: ELIXIR_KEYWORDS\n };\n const NUMBER = {\n className: 'number',\n begin: '(\\\\b0o[0-7_]+)|(\\\\b0b[01_]+)|(\\\\b0x[0-9a-fA-F_]+)|(-?\\\\b[1-9][0-9_]*(\\\\.[0-9_]+([eE][-+]?[0-9]+)?)?)',\n relevance: 0\n };\n const SIGIL_DELIMITERS = '[/|([{<\"\\']';\n const LOWERCASE_SIGIL = {\n className: 'string',\n begin: '~[a-z]' + '(?=' + SIGIL_DELIMITERS + ')',\n contains: [\n {\n endsParent: true,\n contains: [\n {\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ],\n variants: [\n {\n begin: /\"/,\n end: /\"/\n },\n {\n begin: /'/,\n end: /'/\n },\n {\n begin: /\\//,\n end: /\\//\n },\n {\n begin: /\\|/,\n end: /\\|/\n },\n {\n begin: /\\(/,\n end: /\\)/\n },\n {\n begin: /\\[/,\n end: /\\]/\n },\n {\n begin: /\\{/,\n end: /\\}/\n },\n {\n begin: //\n }\n ]\n }\n ]\n }\n ]\n };\n\n const UPCASE_SIGIL = {\n className: 'string',\n begin: '~[A-Z]' + '(?=' + SIGIL_DELIMITERS + ')',\n contains: [\n {\n begin: /\"/,\n end: /\"/\n },\n {\n begin: /'/,\n end: /'/\n },\n {\n begin: /\\//,\n end: /\\//\n },\n {\n begin: /\\|/,\n end: /\\|/\n },\n {\n begin: /\\(/,\n end: /\\)/\n },\n {\n begin: /\\[/,\n end: /\\]/\n },\n {\n begin: /\\{/,\n end: /\\}/\n },\n {\n begin: //\n }\n ]\n };\n\n const STRING = {\n className: 'string',\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ],\n variants: [\n {\n begin: /\"\"\"/,\n end: /\"\"\"/\n },\n {\n begin: /'''/,\n end: /'''/\n },\n {\n begin: /~S\"\"\"/,\n end: /\"\"\"/,\n contains: [] // override default\n },\n {\n begin: /~S\"/,\n end: /\"/,\n contains: [] // override default\n },\n {\n begin: /~S'''/,\n end: /'''/,\n contains: [] // override default\n },\n {\n begin: /~S'/,\n end: /'/,\n contains: [] // override default\n },\n {\n begin: /'/,\n end: /'/\n },\n {\n begin: /\"/,\n end: /\"/\n }\n ]\n };\n const FUNCTION = {\n className: 'function',\n beginKeywords: 'def defp defmacro',\n end: /\\B\\b/, // the mode is ended by the title\n contains: [\n hljs.inherit(hljs.TITLE_MODE, {\n begin: ELIXIR_IDENT_RE,\n endsParent: true\n })\n ]\n };\n const CLASS = hljs.inherit(FUNCTION, {\n className: 'class',\n beginKeywords: 'defimpl defmodule defprotocol defrecord',\n end: /\\bdo\\b|$|;/\n });\n const ELIXIR_DEFAULT_CONTAINS = [\n STRING,\n UPCASE_SIGIL,\n LOWERCASE_SIGIL,\n hljs.HASH_COMMENT_MODE,\n CLASS,\n FUNCTION,\n {\n begin: '::'\n },\n {\n className: 'symbol',\n begin: ':(?![\\\\s:])',\n contains: [\n STRING,\n {\n begin: ELIXIR_METHOD_RE\n }\n ],\n relevance: 0\n },\n {\n className: 'symbol',\n begin: ELIXIR_IDENT_RE + ':(?!:)',\n relevance: 0\n },\n NUMBER,\n {\n className: 'variable',\n begin: '(\\\\$\\\\W)|((\\\\$|@@?)(\\\\w+))'\n },\n {\n begin: '->'\n },\n { // regexp container\n begin: '(' + hljs.RE_STARTERS_RE + ')\\\\s*',\n contains: [\n hljs.HASH_COMMENT_MODE,\n {\n // to prevent false regex triggers for the division function:\n // /:\n begin: /\\/: (?=\\d+\\s*[,\\]])/,\n relevance: 0,\n contains: [NUMBER]\n },\n {\n className: 'regexp',\n illegal: '\\\\n',\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ],\n variants: [\n {\n begin: '/',\n end: '/[a-z]*'\n },\n {\n begin: '%r\\\\[',\n end: '\\\\][a-z]*'\n }\n ]\n }\n ],\n relevance: 0\n }\n ];\n SUBST.contains = ELIXIR_DEFAULT_CONTAINS;\n\n return {\n name: 'Elixir',\n keywords: ELIXIR_KEYWORDS,\n contains: ELIXIR_DEFAULT_CONTAINS\n };\n}\n\nmodule.exports = elixir;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\nvar _default = exports[\"default\"] = {\n \"hljs-comment\": {\n \"color\": \"#78877d\"\n },\n \"hljs-quote\": {\n \"color\": \"#78877d\"\n },\n \"hljs-variable\": {\n \"color\": \"#b16139\"\n },\n \"hljs-template-variable\": {\n \"color\": \"#b16139\"\n },\n \"hljs-attribute\": {\n \"color\": \"#b16139\"\n },\n \"hljs-tag\": {\n \"color\": \"#b16139\"\n },\n \"hljs-name\": {\n \"color\": \"#b16139\"\n },\n \"hljs-regexp\": {\n \"color\": \"#b16139\"\n },\n \"hljs-link\": {\n \"color\": \"#b16139\"\n },\n \"hljs-selector-id\": {\n \"color\": \"#b16139\"\n },\n \"hljs-selector-class\": {\n \"color\": \"#b16139\"\n },\n \"hljs-number\": {\n \"color\": \"#9f713c\"\n },\n \"hljs-meta\": {\n \"color\": \"#9f713c\"\n },\n \"hljs-built_in\": {\n \"color\": \"#9f713c\"\n },\n \"hljs-builtin-name\": {\n \"color\": \"#9f713c\"\n },\n \"hljs-literal\": {\n \"color\": \"#9f713c\"\n },\n \"hljs-type\": {\n \"color\": \"#9f713c\"\n },\n \"hljs-params\": {\n \"color\": \"#9f713c\"\n },\n \"hljs-string\": {\n \"color\": \"#489963\"\n },\n \"hljs-symbol\": {\n \"color\": \"#489963\"\n },\n \"hljs-bullet\": {\n \"color\": \"#489963\"\n },\n \"hljs-title\": {\n \"color\": \"#478c90\"\n },\n \"hljs-section\": {\n \"color\": \"#478c90\"\n },\n \"hljs-keyword\": {\n \"color\": \"#55859b\"\n },\n \"hljs-selector-tag\": {\n \"color\": \"#55859b\"\n },\n \"hljs-deletion\": {\n \"color\": \"#171c19\",\n \"display\": \"inline-block\",\n \"width\": \"100%\",\n \"backgroundColor\": \"#b16139\"\n },\n \"hljs-addition\": {\n \"color\": \"#171c19\",\n \"display\": \"inline-block\",\n \"width\": \"100%\",\n \"backgroundColor\": \"#489963\"\n },\n \"hljs\": {\n \"display\": \"block\",\n \"overflowX\": \"auto\",\n \"background\": \"#171c19\",\n \"color\": \"#87928a\",\n \"padding\": \"0.5em\"\n },\n \"hljs-emphasis\": {\n \"fontStyle\": \"italic\"\n },\n \"hljs-strong\": {\n \"fontWeight\": \"bold\"\n }\n};","/*\nLanguage: Protocol Buffers\nAuthor: Dan Tao \nDescription: Protocol buffer message definition format\nWebsite: https://developers.google.com/protocol-buffers/docs/proto3\nCategory: protocols\n*/\n\nfunction protobuf(hljs) {\n return {\n name: 'Protocol Buffers',\n keywords: {\n keyword: 'package import option optional required repeated group oneof',\n built_in: 'double float int32 int64 uint32 uint64 sint32 sint64 ' +\n 'fixed32 fixed64 sfixed32 sfixed64 bool string bytes',\n literal: 'true false'\n },\n contains: [\n hljs.QUOTE_STRING_MODE,\n hljs.NUMBER_MODE,\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n {\n className: 'class',\n beginKeywords: 'message enum service', end: /\\{/,\n illegal: /\\n/,\n contains: [\n hljs.inherit(hljs.TITLE_MODE, {\n starts: {endsWithParent: true, excludeEnd: true} // hack: eating everything after the first title\n })\n ]\n },\n {\n className: 'function',\n beginKeywords: 'rpc',\n end: /[{;]/, excludeEnd: true,\n keywords: 'rpc returns'\n },\n { // match enum items (relevance)\n // BLAH = ...;\n begin: /^\\s*[A-Z_]+(?=\\s*=[^\\n]+;$)/\n }\n ]\n };\n}\n\nmodule.exports = protobuf;\n","/*\nLanguage: Rust\nAuthor: Andrey Vlasovskikh \nContributors: Roman Shmatov , Kasper Andersen \nWebsite: https://www.rust-lang.org\nCategory: common, system\n*/\n\nfunction rust(hljs) {\n const NUM_SUFFIX = '([ui](8|16|32|64|128|size)|f(32|64))\\?';\n const KEYWORDS =\n 'abstract as async await become box break const continue crate do dyn ' +\n 'else enum extern false final fn for if impl in let loop macro match mod ' +\n 'move mut override priv pub ref return self Self static struct super ' +\n 'trait true try type typeof unsafe unsized use virtual where while yield';\n const BUILTINS =\n // functions\n 'drop ' +\n // types\n 'i8 i16 i32 i64 i128 isize ' +\n 'u8 u16 u32 u64 u128 usize ' +\n 'f32 f64 ' +\n 'str char bool ' +\n 'Box Option Result String Vec ' +\n // traits\n 'Copy Send Sized Sync Drop Fn FnMut FnOnce ToOwned Clone Debug ' +\n 'PartialEq PartialOrd Eq Ord AsRef AsMut Into From Default Iterator ' +\n 'Extend IntoIterator DoubleEndedIterator ExactSizeIterator ' +\n 'SliceConcatExt ToString ' +\n // macros\n 'assert! assert_eq! bitflags! bytes! cfg! col! concat! concat_idents! ' +\n 'debug_assert! debug_assert_eq! env! panic! file! format! format_args! ' +\n 'include_bin! include_str! line! local_data_key! module_path! ' +\n 'option_env! print! println! select! stringify! try! unimplemented! ' +\n 'unreachable! vec! write! writeln! macro_rules! assert_ne! debug_assert_ne!';\n return {\n name: 'Rust',\n aliases: [ 'rs' ],\n keywords: {\n $pattern: hljs.IDENT_RE + '!?',\n keyword:\n KEYWORDS,\n literal:\n 'true false Some None Ok Err',\n built_in:\n BUILTINS\n },\n illegal: ''\n }\n ]\n };\n}\n\nmodule.exports = rust;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\nvar _default = exports[\"default\"] = {\n \"hljs-comment\": {\n \"color\": \"#7195a8\"\n },\n \"hljs-quote\": {\n \"color\": \"#7195a8\"\n },\n \"hljs-variable\": {\n \"color\": \"#d22d72\"\n },\n \"hljs-template-variable\": {\n \"color\": \"#d22d72\"\n },\n \"hljs-attribute\": {\n \"color\": \"#d22d72\"\n },\n \"hljs-tag\": {\n \"color\": \"#d22d72\"\n },\n \"hljs-name\": {\n \"color\": \"#d22d72\"\n },\n \"hljs-regexp\": {\n \"color\": \"#d22d72\"\n },\n \"hljs-link\": {\n \"color\": \"#d22d72\"\n },\n \"hljs-selector-id\": {\n \"color\": \"#d22d72\"\n },\n \"hljs-selector-class\": {\n \"color\": \"#d22d72\"\n },\n \"hljs-number\": {\n \"color\": \"#935c25\"\n },\n \"hljs-meta\": {\n \"color\": \"#935c25\"\n },\n \"hljs-built_in\": {\n \"color\": \"#935c25\"\n },\n \"hljs-builtin-name\": {\n \"color\": \"#935c25\"\n },\n \"hljs-literal\": {\n \"color\": \"#935c25\"\n },\n \"hljs-type\": {\n \"color\": \"#935c25\"\n },\n \"hljs-params\": {\n \"color\": \"#935c25\"\n },\n \"hljs-string\": {\n \"color\": \"#568c3b\"\n },\n \"hljs-symbol\": {\n \"color\": \"#568c3b\"\n },\n \"hljs-bullet\": {\n \"color\": \"#568c3b\"\n },\n \"hljs-title\": {\n \"color\": \"#257fad\"\n },\n \"hljs-section\": {\n \"color\": \"#257fad\"\n },\n \"hljs-keyword\": {\n \"color\": \"#6b6bb8\"\n },\n \"hljs-selector-tag\": {\n \"color\": \"#6b6bb8\"\n },\n \"hljs\": {\n \"display\": \"block\",\n \"overflowX\": \"auto\",\n \"background\": \"#161b1d\",\n \"color\": \"#7ea2b4\",\n \"padding\": \"0.5em\"\n },\n \"hljs-emphasis\": {\n \"fontStyle\": \"italic\"\n },\n \"hljs-strong\": {\n \"fontWeight\": \"bold\"\n }\n};","/*\nLanguage: AutoIt\nAuthor: Manh Tuan \nDescription: AutoIt language definition\nCategory: scripting\n*/\n\n/** @type LanguageFn */\nfunction autoit(hljs) {\n const KEYWORDS = 'ByRef Case Const ContinueCase ContinueLoop ' +\n 'Dim Do Else ElseIf EndFunc EndIf EndSelect ' +\n 'EndSwitch EndWith Enum Exit ExitLoop For Func ' +\n 'Global If In Local Next ReDim Return Select Static ' +\n 'Step Switch Then To Until Volatile WEnd While With';\n\n const DIRECTIVES = [\n \"EndRegion\",\n \"forcedef\",\n \"forceref\",\n \"ignorefunc\",\n \"include\",\n \"include-once\",\n \"NoTrayIcon\",\n \"OnAutoItStartRegister\",\n \"pragma\",\n \"Region\",\n \"RequireAdmin\",\n \"Tidy_Off\",\n \"Tidy_On\",\n \"Tidy_Parameters\"\n ];\n \n const LITERAL = 'True False And Null Not Or Default';\n\n const BUILT_IN\n = 'Abs ACos AdlibRegister AdlibUnRegister Asc AscW ASin Assign ATan AutoItSetOption AutoItWinGetTitle AutoItWinSetTitle Beep Binary BinaryLen BinaryMid BinaryToString BitAND BitNOT BitOR BitRotate BitShift BitXOR BlockInput Break Call CDTray Ceiling Chr ChrW ClipGet ClipPut ConsoleRead ConsoleWrite ConsoleWriteError ControlClick ControlCommand ControlDisable ControlEnable ControlFocus ControlGetFocus ControlGetHandle ControlGetPos ControlGetText ControlHide ControlListView ControlMove ControlSend ControlSetText ControlShow ControlTreeView Cos Dec DirCopy DirCreate DirGetSize DirMove DirRemove DllCall DllCallAddress DllCallbackFree DllCallbackGetPtr DllCallbackRegister DllClose DllOpen DllStructCreate DllStructGetData DllStructGetPtr DllStructGetSize DllStructSetData DriveGetDrive DriveGetFileSystem DriveGetLabel DriveGetSerial DriveGetType DriveMapAdd DriveMapDel DriveMapGet DriveSetLabel DriveSpaceFree DriveSpaceTotal DriveStatus EnvGet EnvSet EnvUpdate Eval Execute Exp FileChangeDir FileClose FileCopy FileCreateNTFSLink FileCreateShortcut FileDelete FileExists FileFindFirstFile FileFindNextFile FileFlush FileGetAttrib FileGetEncoding FileGetLongName FileGetPos FileGetShortcut FileGetShortName FileGetSize FileGetTime FileGetVersion FileInstall FileMove FileOpen FileOpenDialog FileRead FileReadLine FileReadToArray FileRecycle FileRecycleEmpty FileSaveDialog FileSelectFolder FileSetAttrib FileSetEnd FileSetPos FileSetTime FileWrite FileWriteLine Floor FtpSetProxy FuncName GUICreate GUICtrlCreateAvi GUICtrlCreateButton GUICtrlCreateCheckbox GUICtrlCreateCombo GUICtrlCreateContextMenu GUICtrlCreateDate GUICtrlCreateDummy GUICtrlCreateEdit GUICtrlCreateGraphic GUICtrlCreateGroup GUICtrlCreateIcon GUICtrlCreateInput GUICtrlCreateLabel GUICtrlCreateList GUICtrlCreateListView GUICtrlCreateListViewItem GUICtrlCreateMenu GUICtrlCreateMenuItem GUICtrlCreateMonthCal GUICtrlCreateObj GUICtrlCreatePic GUICtrlCreateProgress GUICtrlCreateRadio GUICtrlCreateSlider GUICtrlCreateTab GUICtrlCreateTabItem GUICtrlCreateTreeView GUICtrlCreateTreeViewItem GUICtrlCreateUpdown GUICtrlDelete GUICtrlGetHandle GUICtrlGetState GUICtrlRead GUICtrlRecvMsg GUICtrlRegisterListViewSort GUICtrlSendMsg GUICtrlSendToDummy GUICtrlSetBkColor GUICtrlSetColor GUICtrlSetCursor GUICtrlSetData GUICtrlSetDefBkColor GUICtrlSetDefColor GUICtrlSetFont GUICtrlSetGraphic GUICtrlSetImage GUICtrlSetLimit GUICtrlSetOnEvent GUICtrlSetPos GUICtrlSetResizing GUICtrlSetState GUICtrlSetStyle GUICtrlSetTip GUIDelete GUIGetCursorInfo GUIGetMsg GUIGetStyle GUIRegisterMsg GUISetAccelerators GUISetBkColor GUISetCoord GUISetCursor GUISetFont GUISetHelp GUISetIcon GUISetOnEvent GUISetState GUISetStyle GUIStartGroup GUISwitch Hex HotKeySet HttpSetProxy HttpSetUserAgent HWnd InetClose InetGet InetGetInfo InetGetSize InetRead IniDelete IniRead IniReadSection IniReadSectionNames IniRenameSection IniWrite IniWriteSection InputBox Int IsAdmin IsArray IsBinary IsBool IsDeclared IsDllStruct IsFloat IsFunc IsHWnd IsInt IsKeyword IsNumber IsObj IsPtr IsString Log MemGetStats Mod MouseClick MouseClickDrag MouseDown MouseGetCursor MouseGetPos MouseMove MouseUp MouseWheel MsgBox Number ObjCreate ObjCreateInterface ObjEvent ObjGet ObjName OnAutoItExitRegister OnAutoItExitUnRegister Ping PixelChecksum PixelGetColor PixelSearch ProcessClose ProcessExists ProcessGetStats ProcessList ProcessSetPriority ProcessWait ProcessWaitClose ProgressOff ProgressOn ProgressSet Ptr Random RegDelete RegEnumKey RegEnumVal RegRead RegWrite Round Run RunAs RunAsWait RunWait Send SendKeepActive SetError SetExtended ShellExecute ShellExecuteWait Shutdown Sin Sleep SoundPlay SoundSetWaveVolume SplashImageOn SplashOff SplashTextOn Sqrt SRandom StatusbarGetText StderrRead StdinWrite StdioClose StdoutRead String StringAddCR StringCompare StringFormat StringFromASCIIArray StringInStr StringIsAlNum StringIsAlpha StringIsASCII StringIsDigit StringIsFloat StringIsInt StringIsLower StringIsSpace StringIsUpper StringIsXDigit StringLeft StringLen StringLower StringMid StringRegExp StringRegExpReplace StringReplace StringReverse StringRight StringSplit StringStripCR StringStripWS StringToASCIIArray StringToBinary StringTrimLeft StringTrimRight StringUpper Tan TCPAccept TCPCloseSocket TCPConnect TCPListen TCPNameToIP TCPRecv TCPSend TCPShutdown, UDPShutdown TCPStartup, UDPStartup TimerDiff TimerInit ToolTip TrayCreateItem TrayCreateMenu TrayGetMsg TrayItemDelete TrayItemGetHandle TrayItemGetState TrayItemGetText TrayItemSetOnEvent TrayItemSetState TrayItemSetText TraySetClick TraySetIcon TraySetOnEvent TraySetPauseIcon TraySetState TraySetToolTip TrayTip UBound UDPBind UDPCloseSocket UDPOpen UDPRecv UDPSend VarGetType WinActivate WinActive WinClose WinExists WinFlash WinGetCaretPos WinGetClassList WinGetClientSize WinGetHandle WinGetPos WinGetProcess WinGetState WinGetText WinGetTitle WinKill WinList WinMenuSelectItem WinMinimizeAll WinMinimizeAllUndo WinMove WinSetOnTop WinSetState WinSetTitle WinSetTrans WinWait WinWaitActive WinWaitClose WinWaitNotActive';\n\n const COMMENT = {\n variants: [\n hljs.COMMENT(';', '$', {\n relevance: 0\n }),\n hljs.COMMENT('#cs', '#ce'),\n hljs.COMMENT('#comments-start', '#comments-end')\n ]\n };\n\n const VARIABLE = {\n begin: '\\\\$[A-z0-9_]+'\n };\n\n const STRING = {\n className: 'string',\n variants: [\n {\n begin: /\"/,\n end: /\"/,\n contains: [{\n begin: /\"\"/,\n relevance: 0\n }]\n },\n {\n begin: /'/,\n end: /'/,\n contains: [{\n begin: /''/,\n relevance: 0\n }]\n }\n ]\n };\n\n const NUMBER = {\n variants: [\n hljs.BINARY_NUMBER_MODE,\n hljs.C_NUMBER_MODE\n ]\n };\n\n const PREPROCESSOR = {\n className: 'meta',\n begin: '#',\n end: '$',\n keywords: {\n 'meta-keyword': DIRECTIVES\n },\n contains: [\n {\n begin: /\\\\\\n/,\n relevance: 0\n },\n {\n beginKeywords: 'include',\n keywords: {\n 'meta-keyword': 'include'\n },\n end: '$',\n contains: [\n STRING,\n {\n className: 'meta-string',\n variants: [\n {\n begin: '<',\n end: '>'\n },\n {\n begin: /\"/,\n end: /\"/,\n contains: [{\n begin: /\"\"/,\n relevance: 0\n }]\n },\n {\n begin: /'/,\n end: /'/,\n contains: [{\n begin: /''/,\n relevance: 0\n }]\n }\n ]\n }\n ]\n },\n STRING,\n COMMENT\n ]\n };\n\n const CONSTANT = {\n className: 'symbol',\n // begin: '@',\n // end: '$',\n // keywords: 'AppDataCommonDir AppDataDir AutoItExe AutoItPID AutoItVersion AutoItX64 COM_EventObj CommonFilesDir Compiled ComputerName ComSpec CPUArch CR CRLF DesktopCommonDir DesktopDepth DesktopDir DesktopHeight DesktopRefresh DesktopWidth DocumentsCommonDir error exitCode exitMethod extended FavoritesCommonDir FavoritesDir GUI_CtrlHandle GUI_CtrlId GUI_DragFile GUI_DragId GUI_DropId GUI_WinHandle HomeDrive HomePath HomeShare HotKeyPressed HOUR IPAddress1 IPAddress2 IPAddress3 IPAddress4 KBLayout LF LocalAppDataDir LogonDNSDomain LogonDomain LogonServer MDAY MIN MON MSEC MUILang MyDocumentsDir NumParams OSArch OSBuild OSLang OSServicePack OSType OSVersion ProgramFilesDir ProgramsCommonDir ProgramsDir ScriptDir ScriptFullPath ScriptLineNumber ScriptName SEC StartMenuCommonDir StartMenuDir StartupCommonDir StartupDir SW_DISABLE SW_ENABLE SW_HIDE SW_LOCK SW_MAXIMIZE SW_MINIMIZE SW_RESTORE SW_SHOW SW_SHOWDEFAULT SW_SHOWMAXIMIZED SW_SHOWMINIMIZED SW_SHOWMINNOACTIVE SW_SHOWNA SW_SHOWNOACTIVATE SW_SHOWNORMAL SW_UNLOCK SystemDir TAB TempDir TRAY_ID TrayIconFlashing TrayIconVisible UserName UserProfileDir WDAY WindowsDir WorkingDir YDAY YEAR',\n // relevance: 5\n begin: '@[A-z0-9_]+'\n };\n\n const FUNCTION = {\n className: 'function',\n beginKeywords: 'Func',\n end: '$',\n illegal: '\\\\$|\\\\[|%',\n contains: [\n hljs.UNDERSCORE_TITLE_MODE,\n {\n className: 'params',\n begin: '\\\\(',\n end: '\\\\)',\n contains: [\n VARIABLE,\n STRING,\n NUMBER\n ]\n }\n ]\n };\n\n return {\n name: 'AutoIt',\n case_insensitive: true,\n illegal: /\\/\\*/,\n keywords: {\n keyword: KEYWORDS,\n built_in: BUILT_IN,\n literal: LITERAL\n },\n contains: [\n COMMENT,\n VARIABLE,\n STRING,\n NUMBER,\n PREPROCESSOR,\n CONSTANT,\n FUNCTION\n ]\n };\n}\n\nmodule.exports = autoit;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\nvar _default = exports[\"default\"] = {\n \"hljs\": {\n \"display\": \"block\",\n \"overflowX\": \"auto\",\n \"padding\": \"0.5em\",\n \"background\": \"#1d1f21\",\n \"color\": \"#c5c8c6\"\n },\n \"hljs::selection\": {\n \"background\": \"#373b41\"\n },\n \"hljs span::selection\": {\n \"background\": \"#373b41\"\n },\n \"hljs::-moz-selection\": {\n \"background\": \"#373b41\"\n },\n \"hljs span::-moz-selection\": {\n \"background\": \"#373b41\"\n },\n \"hljs-title\": {\n \"color\": \"#f0c674\"\n },\n \"hljs-name\": {\n \"color\": \"#f0c674\"\n },\n \"hljs-comment\": {\n \"color\": \"#707880\"\n },\n \"hljs-meta\": {\n \"color\": \"#707880\"\n },\n \"hljs-meta .hljs-keyword\": {\n \"color\": \"#707880\"\n },\n \"hljs-number\": {\n \"color\": \"#cc6666\"\n },\n \"hljs-symbol\": {\n \"color\": \"#cc6666\"\n },\n \"hljs-literal\": {\n \"color\": \"#cc6666\"\n },\n \"hljs-deletion\": {\n \"color\": \"#cc6666\"\n },\n \"hljs-link\": {\n \"color\": \"#cc6666\"\n },\n \"hljs-string\": {\n \"color\": \"#b5bd68\"\n },\n \"hljs-doctag\": {\n \"color\": \"#b5bd68\"\n },\n \"hljs-addition\": {\n \"color\": \"#b5bd68\"\n },\n \"hljs-regexp\": {\n \"color\": \"#b5bd68\"\n },\n \"hljs-selector-attr\": {\n \"color\": \"#b5bd68\"\n },\n \"hljs-selector-pseudo\": {\n \"color\": \"#b5bd68\"\n },\n \"hljs-attribute\": {\n \"color\": \"#b294bb\"\n },\n \"hljs-code\": {\n \"color\": \"#b294bb\"\n },\n \"hljs-selector-id\": {\n \"color\": \"#b294bb\"\n },\n \"hljs-keyword\": {\n \"color\": \"#81a2be\"\n },\n \"hljs-selector-tag\": {\n \"color\": \"#81a2be\"\n },\n \"hljs-bullet\": {\n \"color\": \"#81a2be\"\n },\n \"hljs-tag\": {\n \"color\": \"#81a2be\"\n },\n \"hljs-subst\": {\n \"color\": \"#8abeb7\"\n },\n \"hljs-variable\": {\n \"color\": \"#8abeb7\"\n },\n \"hljs-template-tag\": {\n \"color\": \"#8abeb7\"\n },\n \"hljs-template-variable\": {\n \"color\": \"#8abeb7\"\n },\n \"hljs-type\": {\n \"color\": \"#de935f\"\n },\n \"hljs-built_in\": {\n \"color\": \"#de935f\"\n },\n \"hljs-builtin-name\": {\n \"color\": \"#de935f\"\n },\n \"hljs-quote\": {\n \"color\": \"#de935f\"\n },\n \"hljs-section\": {\n \"color\": \"#de935f\"\n },\n \"hljs-selector-class\": {\n \"color\": \"#de935f\"\n },\n \"hljs-emphasis\": {\n \"fontStyle\": \"italic\"\n },\n \"hljs-strong\": {\n \"fontWeight\": \"bold\"\n }\n};","/**\n * @param {string} value\n * @returns {RegExp}\n * */\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction source(re) {\n if (!re) return null;\n if (typeof re === \"string\") return re;\n\n return re.source;\n}\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction lookahead(re) {\n return concat('(?=', re, ')');\n}\n\n/**\n * @param {...(RegExp | string) } args\n * @returns {string}\n */\nfunction concat(...args) {\n const joined = args.map((x) => source(x)).join(\"\");\n return joined;\n}\n\n/*\nLanguage: Python\nDescription: Python is an interpreted, object-oriented, high-level programming language with dynamic semantics.\nWebsite: https://www.python.org\nCategory: common\n*/\n\nfunction python(hljs) {\n const RESERVED_WORDS = [\n 'and',\n 'as',\n 'assert',\n 'async',\n 'await',\n 'break',\n 'class',\n 'continue',\n 'def',\n 'del',\n 'elif',\n 'else',\n 'except',\n 'finally',\n 'for',\n 'from',\n 'global',\n 'if',\n 'import',\n 'in',\n 'is',\n 'lambda',\n 'nonlocal|10',\n 'not',\n 'or',\n 'pass',\n 'raise',\n 'return',\n 'try',\n 'while',\n 'with',\n 'yield'\n ];\n\n const BUILT_INS = [\n '__import__',\n 'abs',\n 'all',\n 'any',\n 'ascii',\n 'bin',\n 'bool',\n 'breakpoint',\n 'bytearray',\n 'bytes',\n 'callable',\n 'chr',\n 'classmethod',\n 'compile',\n 'complex',\n 'delattr',\n 'dict',\n 'dir',\n 'divmod',\n 'enumerate',\n 'eval',\n 'exec',\n 'filter',\n 'float',\n 'format',\n 'frozenset',\n 'getattr',\n 'globals',\n 'hasattr',\n 'hash',\n 'help',\n 'hex',\n 'id',\n 'input',\n 'int',\n 'isinstance',\n 'issubclass',\n 'iter',\n 'len',\n 'list',\n 'locals',\n 'map',\n 'max',\n 'memoryview',\n 'min',\n 'next',\n 'object',\n 'oct',\n 'open',\n 'ord',\n 'pow',\n 'print',\n 'property',\n 'range',\n 'repr',\n 'reversed',\n 'round',\n 'set',\n 'setattr',\n 'slice',\n 'sorted',\n 'staticmethod',\n 'str',\n 'sum',\n 'super',\n 'tuple',\n 'type',\n 'vars',\n 'zip'\n ];\n\n const LITERALS = [\n '__debug__',\n 'Ellipsis',\n 'False',\n 'None',\n 'NotImplemented',\n 'True'\n ];\n\n // https://docs.python.org/3/library/typing.html\n // TODO: Could these be supplemented by a CamelCase matcher in certain\n // contexts, leaving these remaining only for relevance hinting?\n const TYPES = [\n \"Any\",\n \"Callable\",\n \"Coroutine\",\n \"Dict\",\n \"List\",\n \"Literal\",\n \"Generic\",\n \"Optional\",\n \"Sequence\",\n \"Set\",\n \"Tuple\",\n \"Type\",\n \"Union\"\n ];\n\n const KEYWORDS = {\n $pattern: /[A-Za-z]\\w+|__\\w+__/,\n keyword: RESERVED_WORDS,\n built_in: BUILT_INS,\n literal: LITERALS,\n type: TYPES\n };\n\n const PROMPT = {\n className: 'meta',\n begin: /^(>>>|\\.\\.\\.) /\n };\n\n const SUBST = {\n className: 'subst',\n begin: /\\{/,\n end: /\\}/,\n keywords: KEYWORDS,\n illegal: /#/\n };\n\n const LITERAL_BRACKET = {\n begin: /\\{\\{/,\n relevance: 0\n };\n\n const STRING = {\n className: 'string',\n contains: [ hljs.BACKSLASH_ESCAPE ],\n variants: [\n {\n begin: /([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,\n end: /'''/,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n PROMPT\n ],\n relevance: 10\n },\n {\n begin: /([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?\"\"\"/,\n end: /\"\"\"/,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n PROMPT\n ],\n relevance: 10\n },\n {\n begin: /([fF][rR]|[rR][fF]|[fF])'''/,\n end: /'''/,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n PROMPT,\n LITERAL_BRACKET,\n SUBST\n ]\n },\n {\n begin: /([fF][rR]|[rR][fF]|[fF])\"\"\"/,\n end: /\"\"\"/,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n PROMPT,\n LITERAL_BRACKET,\n SUBST\n ]\n },\n {\n begin: /([uU]|[rR])'/,\n end: /'/,\n relevance: 10\n },\n {\n begin: /([uU]|[rR])\"/,\n end: /\"/,\n relevance: 10\n },\n {\n begin: /([bB]|[bB][rR]|[rR][bB])'/,\n end: /'/\n },\n {\n begin: /([bB]|[bB][rR]|[rR][bB])\"/,\n end: /\"/\n },\n {\n begin: /([fF][rR]|[rR][fF]|[fF])'/,\n end: /'/,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n LITERAL_BRACKET,\n SUBST\n ]\n },\n {\n begin: /([fF][rR]|[rR][fF]|[fF])\"/,\n end: /\"/,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n LITERAL_BRACKET,\n SUBST\n ]\n },\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE\n ]\n };\n\n // https://docs.python.org/3.9/reference/lexical_analysis.html#numeric-literals\n const digitpart = '[0-9](_?[0-9])*';\n const pointfloat = `(\\\\b(${digitpart}))?\\\\.(${digitpart})|\\\\b(${digitpart})\\\\.`;\n const NUMBER = {\n className: 'number',\n relevance: 0,\n variants: [\n // exponentfloat, pointfloat\n // https://docs.python.org/3.9/reference/lexical_analysis.html#floating-point-literals\n // optionally imaginary\n // https://docs.python.org/3.9/reference/lexical_analysis.html#imaginary-literals\n // Note: no leading \\b because floats can start with a decimal point\n // and we don't want to mishandle e.g. `fn(.5)`,\n // no trailing \\b for pointfloat because it can end with a decimal point\n // and we don't want to mishandle e.g. `0..hex()`; this should be safe\n // because both MUST contain a decimal point and so cannot be confused with\n // the interior part of an identifier\n {\n begin: `(\\\\b(${digitpart})|(${pointfloat}))[eE][+-]?(${digitpart})[jJ]?\\\\b`\n },\n {\n begin: `(${pointfloat})[jJ]?`\n },\n\n // decinteger, bininteger, octinteger, hexinteger\n // https://docs.python.org/3.9/reference/lexical_analysis.html#integer-literals\n // optionally \"long\" in Python 2\n // https://docs.python.org/2.7/reference/lexical_analysis.html#integer-and-long-integer-literals\n // decinteger is optionally imaginary\n // https://docs.python.org/3.9/reference/lexical_analysis.html#imaginary-literals\n {\n begin: '\\\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?\\\\b'\n },\n {\n begin: '\\\\b0[bB](_?[01])+[lL]?\\\\b'\n },\n {\n begin: '\\\\b0[oO](_?[0-7])+[lL]?\\\\b'\n },\n {\n begin: '\\\\b0[xX](_?[0-9a-fA-F])+[lL]?\\\\b'\n },\n\n // imagnumber (digitpart-based)\n // https://docs.python.org/3.9/reference/lexical_analysis.html#imaginary-literals\n {\n begin: `\\\\b(${digitpart})[jJ]\\\\b`\n }\n ]\n };\n const COMMENT_TYPE = {\n className: \"comment\",\n begin: lookahead(/# type:/),\n end: /$/,\n keywords: KEYWORDS,\n contains: [\n { // prevent keywords from coloring `type`\n begin: /# type:/\n },\n // comment within a datatype comment includes no keywords\n {\n begin: /#/,\n end: /\\b\\B/,\n endsWithParent: true\n }\n ]\n };\n const PARAMS = {\n className: 'params',\n variants: [\n // Exclude params in functions without params\n {\n className: \"\",\n begin: /\\(\\s*\\)/,\n skip: true\n },\n {\n begin: /\\(/,\n end: /\\)/,\n excludeBegin: true,\n excludeEnd: true,\n keywords: KEYWORDS,\n contains: [\n 'self',\n PROMPT,\n NUMBER,\n STRING,\n hljs.HASH_COMMENT_MODE\n ]\n }\n ]\n };\n SUBST.contains = [\n STRING,\n NUMBER,\n PROMPT\n ];\n\n return {\n name: 'Python',\n aliases: [\n 'py',\n 'gyp',\n 'ipython'\n ],\n keywords: KEYWORDS,\n illegal: /(<\\/|->|\\?)|=>/,\n contains: [\n PROMPT,\n NUMBER,\n {\n // very common convention\n begin: /\\bself\\b/\n },\n {\n // eat \"if\" prior to string so that it won't accidentally be\n // labeled as an f-string\n beginKeywords: \"if\",\n relevance: 0\n },\n STRING,\n COMMENT_TYPE,\n hljs.HASH_COMMENT_MODE,\n {\n variants: [\n {\n className: 'function',\n beginKeywords: 'def'\n },\n {\n className: 'class',\n beginKeywords: 'class'\n }\n ],\n end: /:/,\n illegal: /[${=;\\n,]/,\n contains: [\n hljs.UNDERSCORE_TITLE_MODE,\n PARAMS,\n {\n begin: /->/,\n endsWithParent: true,\n keywords: KEYWORDS\n }\n ]\n },\n {\n className: 'meta',\n begin: /^[\\t ]*@/,\n end: /(?=#)|$/,\n contains: [\n NUMBER,\n PARAMS,\n STRING\n ]\n }\n ]\n };\n}\n\nmodule.exports = python;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\nvar _default = exports[\"default\"] = {\n \"hljs-comment\": {\n \"color\": \"#776977\"\n },\n \"hljs-quote\": {\n \"color\": \"#776977\"\n },\n \"hljs-variable\": {\n \"color\": \"#ca402b\"\n },\n \"hljs-template-variable\": {\n \"color\": \"#ca402b\"\n },\n \"hljs-attribute\": {\n \"color\": \"#ca402b\"\n },\n \"hljs-tag\": {\n \"color\": \"#ca402b\"\n },\n \"hljs-name\": {\n \"color\": \"#ca402b\"\n },\n \"hljs-regexp\": {\n \"color\": \"#ca402b\"\n },\n \"hljs-link\": {\n \"color\": \"#ca402b\"\n },\n \"hljs-selector-id\": {\n \"color\": \"#ca402b\"\n },\n \"hljs-selector-class\": {\n \"color\": \"#ca402b\"\n },\n \"hljs-number\": {\n \"color\": \"#a65926\"\n },\n \"hljs-meta\": {\n \"color\": \"#a65926\"\n },\n \"hljs-built_in\": {\n \"color\": \"#a65926\"\n },\n \"hljs-builtin-name\": {\n \"color\": \"#a65926\"\n },\n \"hljs-literal\": {\n \"color\": \"#a65926\"\n },\n \"hljs-type\": {\n \"color\": \"#a65926\"\n },\n \"hljs-params\": {\n \"color\": \"#a65926\"\n },\n \"hljs-string\": {\n \"color\": \"#918b3b\"\n },\n \"hljs-symbol\": {\n \"color\": \"#918b3b\"\n },\n \"hljs-bullet\": {\n \"color\": \"#918b3b\"\n },\n \"hljs-title\": {\n \"color\": \"#516aec\"\n },\n \"hljs-section\": {\n \"color\": \"#516aec\"\n },\n \"hljs-keyword\": {\n \"color\": \"#7b59c0\"\n },\n \"hljs-selector-tag\": {\n \"color\": \"#7b59c0\"\n },\n \"hljs\": {\n \"display\": \"block\",\n \"overflowX\": \"auto\",\n \"background\": \"#f7f3f7\",\n \"color\": \"#695d69\",\n \"padding\": \"0.5em\"\n },\n \"hljs-emphasis\": {\n \"fontStyle\": \"italic\"\n },\n \"hljs-strong\": {\n \"fontWeight\": \"bold\"\n }\n};","/*\nLanguage: Plain text\nAuthor: Egor Rogov (e.rogov@postgrespro.ru)\nDescription: Plain text without any highlighting.\nCategory: common\n*/\n\nfunction plaintext(hljs) {\n return {\n name: 'Plain text',\n aliases: [\n 'text',\n 'txt'\n ],\n disableAutodetect: true\n };\n}\n\nmodule.exports = plaintext;\n","/*\nLanguage: MoonScript\nAuthor: Billy Quith \nDescription: MoonScript is a programming language that transcompiles to Lua.\nOrigin: coffeescript.js\nWebsite: http://moonscript.org/\nCategory: scripting\n*/\n\nfunction moonscript(hljs) {\n const KEYWORDS = {\n keyword:\n // Moonscript keywords\n 'if then not for in while do return else elseif break continue switch and or ' +\n 'unless when class extends super local import export from using',\n literal:\n 'true false nil',\n built_in:\n '_G _VERSION assert collectgarbage dofile error getfenv getmetatable ipairs load ' +\n 'loadfile loadstring module next pairs pcall print rawequal rawget rawset require ' +\n 'select setfenv setmetatable tonumber tostring type unpack xpcall coroutine debug ' +\n 'io math os package string table'\n };\n const JS_IDENT_RE = '[A-Za-z$_][0-9A-Za-z$_]*';\n const SUBST = {\n className: 'subst',\n begin: /#\\{/,\n end: /\\}/,\n keywords: KEYWORDS\n };\n const EXPRESSIONS = [\n hljs.inherit(hljs.C_NUMBER_MODE,\n {\n starts: {\n end: '(\\\\s*/)?',\n relevance: 0\n }\n }), // a number tries to eat the following slash to prevent treating it as a regexp\n {\n className: 'string',\n variants: [\n {\n begin: /'/,\n end: /'/,\n contains: [ hljs.BACKSLASH_ESCAPE ]\n },\n {\n begin: /\"/,\n end: /\"/,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ]\n }\n ]\n },\n {\n className: 'built_in',\n begin: '@__' + hljs.IDENT_RE\n },\n {\n begin: '@' + hljs.IDENT_RE // relevance booster on par with CoffeeScript\n },\n {\n begin: hljs.IDENT_RE + '\\\\\\\\' + hljs.IDENT_RE // inst\\method\n }\n ];\n SUBST.contains = EXPRESSIONS;\n\n const TITLE = hljs.inherit(hljs.TITLE_MODE, {\n begin: JS_IDENT_RE\n });\n const POSSIBLE_PARAMS_RE = '(\\\\(.*\\\\)\\\\s*)?\\\\B[-=]>';\n const PARAMS = {\n className: 'params',\n begin: '\\\\([^\\\\(]',\n returnBegin: true,\n /* We need another contained nameless mode to not have every nested\n pair of parens to be called \"params\" */\n contains: [\n {\n begin: /\\(/,\n end: /\\)/,\n keywords: KEYWORDS,\n contains: [ 'self' ].concat(EXPRESSIONS)\n }\n ]\n };\n\n return {\n name: 'MoonScript',\n aliases: [ 'moon' ],\n keywords: KEYWORDS,\n illegal: /\\/\\*/,\n contains: EXPRESSIONS.concat([\n hljs.COMMENT('--', '$'),\n {\n className: 'function', // function: -> =>\n begin: '^\\\\s*' + JS_IDENT_RE + '\\\\s*=\\\\s*' + POSSIBLE_PARAMS_RE,\n end: '[-=]>',\n returnBegin: true,\n contains: [\n TITLE,\n PARAMS\n ]\n },\n {\n begin: /[\\(,:=]\\s*/, // anonymous function start\n relevance: 0,\n contains: [\n {\n className: 'function',\n begin: POSSIBLE_PARAMS_RE,\n end: '[-=]>',\n returnBegin: true,\n contains: [ PARAMS ]\n }\n ]\n },\n {\n className: 'class',\n beginKeywords: 'class',\n end: '$',\n illegal: /[:=\"\\[\\]]/,\n contains: [\n {\n beginKeywords: 'extends',\n endsWithParent: true,\n illegal: /[:=\"\\[\\]]/,\n contains: [ TITLE ]\n },\n TITLE\n ]\n },\n {\n className: 'name', // table\n begin: JS_IDENT_RE + ':',\n end: ':',\n returnBegin: true,\n returnEnd: true,\n relevance: 0\n }\n ])\n };\n}\n\nmodule.exports = moonscript;\n","const KEYWORDS = [\n \"as\", // for exports\n \"in\",\n \"of\",\n \"if\",\n \"for\",\n \"while\",\n \"finally\",\n \"var\",\n \"new\",\n \"function\",\n \"do\",\n \"return\",\n \"void\",\n \"else\",\n \"break\",\n \"catch\",\n \"instanceof\",\n \"with\",\n \"throw\",\n \"case\",\n \"default\",\n \"try\",\n \"switch\",\n \"continue\",\n \"typeof\",\n \"delete\",\n \"let\",\n \"yield\",\n \"const\",\n \"class\",\n // JS handles these with a special rule\n // \"get\",\n // \"set\",\n \"debugger\",\n \"async\",\n \"await\",\n \"static\",\n \"import\",\n \"from\",\n \"export\",\n \"extends\"\n];\nconst LITERALS = [\n \"true\",\n \"false\",\n \"null\",\n \"undefined\",\n \"NaN\",\n \"Infinity\"\n];\n\nconst TYPES = [\n \"Intl\",\n \"DataView\",\n \"Number\",\n \"Math\",\n \"Date\",\n \"String\",\n \"RegExp\",\n \"Object\",\n \"Function\",\n \"Boolean\",\n \"Error\",\n \"Symbol\",\n \"Set\",\n \"Map\",\n \"WeakSet\",\n \"WeakMap\",\n \"Proxy\",\n \"Reflect\",\n \"JSON\",\n \"Promise\",\n \"Float64Array\",\n \"Int16Array\",\n \"Int32Array\",\n \"Int8Array\",\n \"Uint16Array\",\n \"Uint32Array\",\n \"Float32Array\",\n \"Array\",\n \"Uint8Array\",\n \"Uint8ClampedArray\",\n \"ArrayBuffer\",\n \"BigInt64Array\",\n \"BigUint64Array\",\n \"BigInt\"\n];\n\nconst ERROR_TYPES = [\n \"EvalError\",\n \"InternalError\",\n \"RangeError\",\n \"ReferenceError\",\n \"SyntaxError\",\n \"TypeError\",\n \"URIError\"\n];\n\nconst BUILT_IN_GLOBALS = [\n \"setInterval\",\n \"setTimeout\",\n \"clearInterval\",\n \"clearTimeout\",\n\n \"require\",\n \"exports\",\n\n \"eval\",\n \"isFinite\",\n \"isNaN\",\n \"parseFloat\",\n \"parseInt\",\n \"decodeURI\",\n \"decodeURIComponent\",\n \"encodeURI\",\n \"encodeURIComponent\",\n \"escape\",\n \"unescape\"\n];\n\nconst BUILT_IN_VARIABLES = [\n \"arguments\",\n \"this\",\n \"super\",\n \"console\",\n \"window\",\n \"document\",\n \"localStorage\",\n \"module\",\n \"global\" // Node.js\n];\n\nconst BUILT_INS = [].concat(\n BUILT_IN_GLOBALS,\n BUILT_IN_VARIABLES,\n TYPES,\n ERROR_TYPES\n);\n\n/*\nLanguage: LiveScript\nAuthor: Taneli Vatanen \nContributors: Jen Evers-Corvina \nOrigin: coffeescript.js\nDescription: LiveScript is a programming language that transcompiles to JavaScript. For info about language see http://livescript.net/\nWebsite: https://livescript.net\nCategory: scripting\n*/\n\nfunction livescript(hljs) {\n const LIVESCRIPT_BUILT_INS = [\n 'npm',\n 'print'\n ];\n const LIVESCRIPT_LITERALS = [\n 'yes',\n 'no',\n 'on',\n 'off',\n 'it',\n 'that',\n 'void'\n ];\n const LIVESCRIPT_KEYWORDS = [\n 'then',\n 'unless',\n 'until',\n 'loop',\n 'of',\n 'by',\n 'when',\n 'and',\n 'or',\n 'is',\n 'isnt',\n 'not',\n 'it',\n 'that',\n 'otherwise',\n 'from',\n 'to',\n 'til',\n 'fallthrough',\n 'case',\n 'enum',\n 'native',\n 'list',\n 'map',\n '__hasProp',\n '__extends',\n '__slice',\n '__bind',\n '__indexOf'\n ];\n const KEYWORDS$1 = {\n keyword: KEYWORDS.concat(LIVESCRIPT_KEYWORDS),\n literal: LITERALS.concat(LIVESCRIPT_LITERALS),\n built_in: BUILT_INS.concat(LIVESCRIPT_BUILT_INS)\n };\n const JS_IDENT_RE = '[A-Za-z$_](?:-[0-9A-Za-z$_]|[0-9A-Za-z$_])*';\n const TITLE = hljs.inherit(hljs.TITLE_MODE, {\n begin: JS_IDENT_RE\n });\n const SUBST = {\n className: 'subst',\n begin: /#\\{/,\n end: /\\}/,\n keywords: KEYWORDS$1\n };\n const SUBST_SIMPLE = {\n className: 'subst',\n begin: /#[A-Za-z$_]/,\n end: /(?:-[0-9A-Za-z$_]|[0-9A-Za-z$_])*/,\n keywords: KEYWORDS$1\n };\n const EXPRESSIONS = [\n hljs.BINARY_NUMBER_MODE,\n {\n className: 'number',\n begin: '(\\\\b0[xX][a-fA-F0-9_]+)|(\\\\b\\\\d(\\\\d|_\\\\d)*(\\\\.(\\\\d(\\\\d|_\\\\d)*)?)?(_*[eE]([-+]\\\\d(_\\\\d|\\\\d)*)?)?[_a-z]*)',\n relevance: 0,\n starts: {\n end: '(\\\\s*/)?',\n relevance: 0\n } // a number tries to eat the following slash to prevent treating it as a regexp\n },\n {\n className: 'string',\n variants: [\n {\n begin: /'''/,\n end: /'''/,\n contains: [hljs.BACKSLASH_ESCAPE]\n },\n {\n begin: /'/,\n end: /'/,\n contains: [hljs.BACKSLASH_ESCAPE]\n },\n {\n begin: /\"\"\"/,\n end: /\"\"\"/,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST,\n SUBST_SIMPLE\n ]\n },\n {\n begin: /\"/,\n end: /\"/,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST,\n SUBST_SIMPLE\n ]\n },\n {\n begin: /\\\\/,\n end: /(\\s|$)/,\n excludeEnd: true\n }\n ]\n },\n {\n className: 'regexp',\n variants: [\n {\n begin: '//',\n end: '//[gim]*',\n contains: [\n SUBST,\n hljs.HASH_COMMENT_MODE\n ]\n },\n {\n // regex can't start with space to parse x / 2 / 3 as two divisions\n // regex can't start with *, and it supports an \"illegal\" in the main mode\n begin: /\\/(?![ *])(\\\\.|[^\\\\\\n])*?\\/[gim]*(?=\\W)/\n }\n ]\n },\n {\n begin: '@' + JS_IDENT_RE\n },\n {\n begin: '``',\n end: '``',\n excludeBegin: true,\n excludeEnd: true,\n subLanguage: 'javascript'\n }\n ];\n SUBST.contains = EXPRESSIONS;\n\n const PARAMS = {\n className: 'params',\n begin: '\\\\(',\n returnBegin: true,\n /* We need another contained nameless mode to not have every nested\n pair of parens to be called \"params\" */\n contains: [\n {\n begin: /\\(/,\n end: /\\)/,\n keywords: KEYWORDS$1,\n contains: ['self'].concat(EXPRESSIONS)\n }\n ]\n };\n\n const SYMBOLS = {\n begin: '(#=>|=>|\\\\|>>|-?->|!->)'\n };\n\n return {\n name: 'LiveScript',\n aliases: ['ls'],\n keywords: KEYWORDS$1,\n illegal: /\\/\\*/,\n contains: EXPRESSIONS.concat([\n hljs.COMMENT('\\\\/\\\\*', '\\\\*\\\\/'),\n hljs.HASH_COMMENT_MODE,\n SYMBOLS, // relevance booster\n {\n className: 'function',\n contains: [\n TITLE,\n PARAMS\n ],\n returnBegin: true,\n variants: [\n {\n begin: '(' + JS_IDENT_RE + '\\\\s*(?:=|:=)\\\\s*)?(\\\\(.*\\\\)\\\\s*)?\\\\B->\\\\*?',\n end: '->\\\\*?'\n },\n {\n begin: '(' + JS_IDENT_RE + '\\\\s*(?:=|:=)\\\\s*)?!?(\\\\(.*\\\\)\\\\s*)?\\\\B[-~]{1,2}>\\\\*?',\n end: '[-~]{1,2}>\\\\*?'\n },\n {\n begin: '(' + JS_IDENT_RE + '\\\\s*(?:=|:=)\\\\s*)?(\\\\(.*\\\\)\\\\s*)?\\\\B!?[-~]{1,2}>\\\\*?',\n end: '!?[-~]{1,2}>\\\\*?'\n }\n ]\n },\n {\n className: 'class',\n beginKeywords: 'class',\n end: '$',\n illegal: /[:=\"\\[\\]]/,\n contains: [\n {\n beginKeywords: 'extends',\n endsWithParent: true,\n illegal: /[:=\"\\[\\]]/,\n contains: [TITLE]\n },\n TITLE\n ]\n },\n {\n begin: JS_IDENT_RE + ':',\n end: ':',\n returnBegin: true,\n returnEnd: true,\n relevance: 0\n }\n ])\n };\n}\n\nmodule.exports = livescript;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.min.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","/*\nLanguage: Node REPL\nRequires: javascript.js\nAuthor: Marat Nagayev \nCategory: scripting\n*/\n\n/** @type LanguageFn */\nfunction nodeRepl(hljs) {\n return {\n name: 'Node REPL',\n contains: [\n {\n className: 'meta',\n starts: {\n // a space separates the REPL prefix from the actual code\n // this is purely for cleaner HTML output\n end: / |$/,\n starts: {\n end: '$',\n subLanguage: 'javascript'\n }\n },\n variants: [\n {\n begin: /^>(?=[ ]|$)/\n },\n {\n begin: /^\\.\\.\\.(?=[ ]|$)/\n }\n ]\n }\n ]\n };\n}\n\nmodule.exports = nodeRepl;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\nvar _default = exports[\"default\"] = {\n \"hljs\": {\n \"display\": \"block\",\n \"overflowX\": \"auto\",\n \"padding\": \"0.5em\",\n \"background\": \"#222\",\n \"color\": \"#fff\"\n },\n \"hljs-comment\": {\n \"color\": \"#777\"\n },\n \"hljs-quote\": {\n \"color\": \"#777\"\n },\n \"hljs-variable\": {\n \"color\": \"#ab875d\"\n },\n \"hljs-template-variable\": {\n \"color\": \"#ab875d\"\n },\n \"hljs-tag\": {\n \"color\": \"#ab875d\"\n },\n \"hljs-regexp\": {\n \"color\": \"#ab875d\"\n },\n \"hljs-meta\": {\n \"color\": \"#ab875d\"\n },\n \"hljs-number\": {\n \"color\": \"#ab875d\"\n },\n \"hljs-built_in\": {\n \"color\": \"#ab875d\"\n },\n \"hljs-builtin-name\": {\n \"color\": \"#ab875d\"\n },\n \"hljs-literal\": {\n \"color\": \"#ab875d\"\n },\n \"hljs-params\": {\n \"color\": \"#ab875d\"\n },\n \"hljs-symbol\": {\n \"color\": \"#ab875d\"\n },\n \"hljs-bullet\": {\n \"color\": \"#ab875d\"\n },\n \"hljs-link\": {\n \"color\": \"#ab875d\"\n },\n \"hljs-deletion\": {\n \"color\": \"#ab875d\"\n },\n \"hljs-section\": {\n \"color\": \"#9b869b\"\n },\n \"hljs-title\": {\n \"color\": \"#9b869b\"\n },\n \"hljs-name\": {\n \"color\": \"#9b869b\"\n },\n \"hljs-selector-id\": {\n \"color\": \"#9b869b\"\n },\n \"hljs-selector-class\": {\n \"color\": \"#9b869b\"\n },\n \"hljs-type\": {\n \"color\": \"#9b869b\"\n },\n \"hljs-attribute\": {\n \"color\": \"#9b869b\"\n },\n \"hljs-string\": {\n \"color\": \"#8f9c6c\"\n },\n \"hljs-keyword\": {\n \"color\": \"#8f9c6c\"\n },\n \"hljs-selector-tag\": {\n \"color\": \"#8f9c6c\"\n },\n \"hljs-addition\": {\n \"color\": \"#8f9c6c\"\n },\n \"hljs-emphasis\": {\n \"fontStyle\": \"italic\"\n },\n \"hljs-strong\": {\n \"fontWeight\": \"bold\"\n }\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\nvar _default = exports[\"default\"] = {\n \"hljs\": {\n \"display\": \"block\",\n \"overflowX\": \"auto\",\n \"padding\": \"0.5em\",\n \"background\": \"white\",\n \"color\": \"black\"\n },\n \"hljs-string\": {\n \"color\": \"#888\"\n },\n \"hljs-variable\": {\n \"color\": \"#888\"\n },\n \"hljs-template-variable\": {\n \"color\": \"#888\"\n },\n \"hljs-symbol\": {\n \"color\": \"#888\"\n },\n \"hljs-bullet\": {\n \"color\": \"#888\"\n },\n \"hljs-section\": {\n \"color\": \"#888\",\n \"fontWeight\": \"bold\"\n },\n \"hljs-addition\": {\n \"color\": \"#888\"\n },\n \"hljs-attribute\": {\n \"color\": \"#888\"\n },\n \"hljs-link\": {\n \"color\": \"#888\"\n },\n \"hljs-comment\": {\n \"color\": \"#ccc\"\n },\n \"hljs-quote\": {\n \"color\": \"#ccc\"\n },\n \"hljs-meta\": {\n \"color\": \"#ccc\"\n },\n \"hljs-deletion\": {\n \"color\": \"#ccc\"\n },\n \"hljs-keyword\": {\n \"fontWeight\": \"bold\"\n },\n \"hljs-selector-tag\": {\n \"fontWeight\": \"bold\"\n },\n \"hljs-name\": {\n \"fontWeight\": \"bold\"\n },\n \"hljs-type\": {\n \"fontWeight\": \"bold\"\n },\n \"hljs-strong\": {\n \"fontWeight\": \"bold\"\n },\n \"hljs-emphasis\": {\n \"fontStyle\": \"italic\"\n }\n};","/*\nLanguage: Clojure REPL\nDescription: Clojure REPL sessions\nAuthor: Ivan Sagalaev \nRequires: clojure.js\nWebsite: https://clojure.org\nCategory: lisp\n*/\n\n/** @type LanguageFn */\nfunction clojureRepl(hljs) {\n return {\n name: 'Clojure REPL',\n contains: [\n {\n className: 'meta',\n begin: /^([\\w.-]+|\\s*#_)?=>/,\n starts: {\n end: /$/,\n subLanguage: 'clojure'\n }\n }\n ]\n };\n}\n\nmodule.exports = clojureRepl;\n","/*\nLanguage: Julia REPL\nDescription: Julia REPL sessions\nAuthor: Morten Piibeleht \nWebsite: https://julialang.org\nRequires: julia.js\n\nThe Julia REPL code blocks look something like the following:\n\n julia> function foo(x)\n x + 1\n end\n foo (generic function with 1 method)\n\nThey start on a new line with \"julia>\". Usually there should also be a space after this, but\nwe also allow the code to start right after the > character. The code may run over multiple\nlines, but the additional lines must start with six spaces (i.e. be indented to match\n\"julia>\"). The rest of the code is assumed to be output from the executed code and will be\nleft un-highlighted.\n\nUsing simply spaces to identify line continuations may get a false-positive if the output\nalso prints out six spaces, but such cases should be rare.\n*/\n\nfunction juliaRepl(hljs) {\n return {\n name: 'Julia REPL',\n contains: [\n {\n className: 'meta',\n begin: /^julia>/,\n relevance: 10,\n starts: {\n // end the highlighting if we are on a new line and the line does not have at\n // least six spaces in the beginning\n end: /^(?![ ]{6})/,\n subLanguage: 'julia'\n },\n // jldoctest Markdown blocks are used in the Julia manual and package docs indicate\n // code snippets that should be verified when the documentation is built. They can be\n // either REPL-like or script-like, but are usually REPL-like and therefore we apply\n // julia-repl highlighting to them. More information can be found in Documenter's\n // manual: https://juliadocs.github.io/Documenter.jl/latest/man/doctests.html\n aliases: ['jldoctest']\n }\n ]\n }\n}\n\nmodule.exports = juliaRepl;\n","/*\nLanguage: GAUSS\nAuthor: Matt Evans \nDescription: GAUSS Mathematical and Statistical language\nWebsite: https://www.aptech.com\nCategory: scientific\n*/\nfunction gauss(hljs) {\n const KEYWORDS = {\n keyword: 'bool break call callexe checkinterrupt clear clearg closeall cls comlog compile ' +\n 'continue create debug declare delete disable dlibrary dllcall do dos ed edit else ' +\n 'elseif enable end endfor endif endp endo errorlog errorlogat expr external fn ' +\n 'for format goto gosub graph if keyword let lib library line load loadarray loadexe ' +\n 'loadf loadk loadm loadp loads loadx local locate loopnextindex lprint lpwidth lshow ' +\n 'matrix msym ndpclex new open output outwidth plot plotsym pop prcsn print ' +\n 'printdos proc push retp return rndcon rndmod rndmult rndseed run save saveall screen ' +\n 'scroll setarray show sparse stop string struct system trace trap threadfor ' +\n 'threadendfor threadbegin threadjoin threadstat threadend until use while winprint ' +\n 'ne ge le gt lt and xor or not eq eqv',\n built_in: 'abs acf aconcat aeye amax amean AmericanBinomCall AmericanBinomCall_Greeks AmericanBinomCall_ImpVol ' +\n 'AmericanBinomPut AmericanBinomPut_Greeks AmericanBinomPut_ImpVol AmericanBSCall AmericanBSCall_Greeks ' +\n 'AmericanBSCall_ImpVol AmericanBSPut AmericanBSPut_Greeks AmericanBSPut_ImpVol amin amult annotationGetDefaults ' +\n 'annotationSetBkd annotationSetFont annotationSetLineColor annotationSetLineStyle annotationSetLineThickness ' +\n 'annualTradingDays arccos arcsin areshape arrayalloc arrayindex arrayinit arraytomat asciiload asclabel astd ' +\n 'astds asum atan atan2 atranspose axmargin balance band bandchol bandcholsol bandltsol bandrv bandsolpd bar ' +\n 'base10 begwind besselj bessely beta box boxcox cdfBeta cdfBetaInv cdfBinomial cdfBinomialInv cdfBvn cdfBvn2 ' +\n 'cdfBvn2e cdfCauchy cdfCauchyInv cdfChic cdfChii cdfChinc cdfChincInv cdfExp cdfExpInv cdfFc cdfFnc cdfFncInv ' +\n 'cdfGam cdfGenPareto cdfHyperGeo cdfLaplace cdfLaplaceInv cdfLogistic cdfLogisticInv cdfmControlCreate cdfMvn ' +\n 'cdfMvn2e cdfMvnce cdfMvne cdfMvt2e cdfMvtce cdfMvte cdfN cdfN2 cdfNc cdfNegBinomial cdfNegBinomialInv cdfNi ' +\n 'cdfPoisson cdfPoissonInv cdfRayleigh cdfRayleighInv cdfTc cdfTci cdfTnc cdfTvn cdfWeibull cdfWeibullInv cdir ' +\n 'ceil ChangeDir chdir chiBarSquare chol choldn cholsol cholup chrs close code cols colsf combinate combinated ' +\n 'complex con cond conj cons ConScore contour conv convertsatostr convertstrtosa corrm corrms corrvc corrx corrxs ' +\n 'cos cosh counts countwts crossprd crout croutp csrcol csrlin csvReadM csvReadSA cumprodc cumsumc curve cvtos ' +\n 'datacreate datacreatecomplex datalist dataload dataloop dataopen datasave date datestr datestring datestrymd ' +\n 'dayinyr dayofweek dbAddDatabase dbClose dbCommit dbCreateQuery dbExecQuery dbGetConnectOptions dbGetDatabaseName ' +\n 'dbGetDriverName dbGetDrivers dbGetHostName dbGetLastErrorNum dbGetLastErrorText dbGetNumericalPrecPolicy ' +\n 'dbGetPassword dbGetPort dbGetTableHeaders dbGetTables dbGetUserName dbHasFeature dbIsDriverAvailable dbIsOpen ' +\n 'dbIsOpenError dbOpen dbQueryBindValue dbQueryClear dbQueryCols dbQueryExecPrepared dbQueryFetchAllM dbQueryFetchAllSA ' +\n 'dbQueryFetchOneM dbQueryFetchOneSA dbQueryFinish dbQueryGetBoundValue dbQueryGetBoundValues dbQueryGetField ' +\n 'dbQueryGetLastErrorNum dbQueryGetLastErrorText dbQueryGetLastInsertID dbQueryGetLastQuery dbQueryGetPosition ' +\n 'dbQueryIsActive dbQueryIsForwardOnly dbQueryIsNull dbQueryIsSelect dbQueryIsValid dbQueryPrepare dbQueryRows ' +\n 'dbQuerySeek dbQuerySeekFirst dbQuerySeekLast dbQuerySeekNext dbQuerySeekPrevious dbQuerySetForwardOnly ' +\n 'dbRemoveDatabase dbRollback dbSetConnectOptions dbSetDatabaseName dbSetHostName dbSetNumericalPrecPolicy ' +\n 'dbSetPort dbSetUserName dbTransaction DeleteFile delif delrows denseToSp denseToSpRE denToZero design det detl ' +\n 'dfft dffti diag diagrv digamma doswin DOSWinCloseall DOSWinOpen dotfeq dotfeqmt dotfge dotfgemt dotfgt dotfgtmt ' +\n 'dotfle dotflemt dotflt dotfltmt dotfne dotfnemt draw drop dsCreate dstat dstatmt dstatmtControlCreate dtdate dtday ' +\n 'dttime dttodtv dttostr dttoutc dtvnormal dtvtodt dtvtoutc dummy dummybr dummydn eig eigh eighv eigv elapsedTradingDays ' +\n 'endwind envget eof eqSolve eqSolvemt eqSolvemtControlCreate eqSolvemtOutCreate eqSolveset erf erfc erfccplx erfcplx error ' +\n 'etdays ethsec etstr EuropeanBinomCall EuropeanBinomCall_Greeks EuropeanBinomCall_ImpVol EuropeanBinomPut ' +\n 'EuropeanBinomPut_Greeks EuropeanBinomPut_ImpVol EuropeanBSCall EuropeanBSCall_Greeks EuropeanBSCall_ImpVol ' +\n 'EuropeanBSPut EuropeanBSPut_Greeks EuropeanBSPut_ImpVol exctsmpl exec execbg exp extern eye fcheckerr fclearerr feq ' +\n 'feqmt fflush fft ffti fftm fftmi fftn fge fgemt fgets fgetsa fgetsat fgetst fgt fgtmt fileinfo filesa fle flemt ' +\n 'floor flt fltmt fmod fne fnemt fonts fopen formatcv formatnv fputs fputst fseek fstrerror ftell ftocv ftos ftostrC ' +\n 'gamma gammacplx gammaii gausset gdaAppend gdaCreate gdaDStat gdaDStatMat gdaGetIndex gdaGetName gdaGetNames gdaGetOrders ' +\n 'gdaGetType gdaGetTypes gdaGetVarInfo gdaIsCplx gdaLoad gdaPack gdaRead gdaReadByIndex gdaReadSome gdaReadSparse ' +\n 'gdaReadStruct gdaReportVarInfo gdaSave gdaUpdate gdaUpdateAndPack gdaVars gdaWrite gdaWrite32 gdaWriteSome getarray ' +\n 'getdims getf getGAUSShome getmatrix getmatrix4D getname getnamef getNextTradingDay getNextWeekDay getnr getorders ' +\n 'getpath getPreviousTradingDay getPreviousWeekDay getRow getscalar3D getscalar4D getTrRow getwind glm gradcplx gradMT ' +\n 'gradMTm gradMTT gradMTTm gradp graphprt graphset hasimag header headermt hess hessMT hessMTg hessMTgw hessMTm ' +\n 'hessMTmw hessMTT hessMTTg hessMTTgw hessMTTm hessMTw hessp hist histf histp hsec imag indcv indexcat indices indices2 ' +\n 'indicesf indicesfn indnv indsav integrate1d integrateControlCreate intgrat2 intgrat3 inthp1 inthp2 inthp3 inthp4 ' +\n 'inthpControlCreate intquad1 intquad2 intquad3 intrleav intrleavsa intrsect intsimp inv invpd invswp iscplx iscplxf ' +\n 'isden isinfnanmiss ismiss key keyav keyw lag lag1 lagn lapEighb lapEighi lapEighvb lapEighvi lapgEig lapgEigh lapgEighv ' +\n 'lapgEigv lapgSchur lapgSvdcst lapgSvds lapgSvdst lapSvdcusv lapSvds lapSvdusv ldlp ldlsol linSolve listwise ln lncdfbvn ' +\n 'lncdfbvn2 lncdfmvn lncdfn lncdfn2 lncdfnc lnfact lngammacplx lnpdfmvn lnpdfmvt lnpdfn lnpdft loadd loadstruct loadwind ' +\n 'loess loessmt loessmtControlCreate log loglog logx logy lower lowmat lowmat1 ltrisol lu lusol machEpsilon make makevars ' +\n 'makewind margin matalloc matinit mattoarray maxbytes maxc maxindc maxv maxvec mbesselei mbesselei0 mbesselei1 mbesseli ' +\n 'mbesseli0 mbesseli1 meanc median mergeby mergevar minc minindc minv miss missex missrv moment momentd movingave ' +\n 'movingaveExpwgt movingaveWgt nextindex nextn nextnevn nextwind ntos null null1 numCombinations ols olsmt olsmtControlCreate ' +\n 'olsqr olsqr2 olsqrmt ones optn optnevn orth outtyp pacf packedToSp packr parse pause pdfCauchy pdfChi pdfExp pdfGenPareto ' +\n 'pdfHyperGeo pdfLaplace pdfLogistic pdfn pdfPoisson pdfRayleigh pdfWeibull pi pinv pinvmt plotAddArrow plotAddBar plotAddBox ' +\n 'plotAddHist plotAddHistF plotAddHistP plotAddPolar plotAddScatter plotAddShape plotAddTextbox plotAddTS plotAddXY plotArea ' +\n 'plotBar plotBox plotClearLayout plotContour plotCustomLayout plotGetDefaults plotHist plotHistF plotHistP plotLayout ' +\n 'plotLogLog plotLogX plotLogY plotOpenWindow plotPolar plotSave plotScatter plotSetAxesPen plotSetBar plotSetBarFill ' +\n 'plotSetBarStacked plotSetBkdColor plotSetFill plotSetGrid plotSetLegend plotSetLineColor plotSetLineStyle plotSetLineSymbol ' +\n 'plotSetLineThickness plotSetNewWindow plotSetTitle plotSetWhichYAxis plotSetXAxisShow plotSetXLabel plotSetXRange ' +\n 'plotSetXTicInterval plotSetXTicLabel plotSetYAxisShow plotSetYLabel plotSetYRange plotSetZAxisShow plotSetZLabel ' +\n 'plotSurface plotTS plotXY polar polychar polyeval polygamma polyint polymake polymat polymroot polymult polyroot ' +\n 'pqgwin previousindex princomp printfm printfmt prodc psi putarray putf putvals pvCreate pvGetIndex pvGetParNames ' +\n 'pvGetParVector pvLength pvList pvPack pvPacki pvPackm pvPackmi pvPacks pvPacksi pvPacksm pvPacksmi pvPutParVector ' +\n 'pvTest pvUnpack QNewton QNewtonmt QNewtonmtControlCreate QNewtonmtOutCreate QNewtonSet QProg QProgmt QProgmtInCreate ' +\n 'qqr qqre qqrep qr qre qrep qrsol qrtsol qtyr qtyre qtyrep quantile quantiled qyr qyre qyrep qz rank rankindx readr ' +\n 'real reclassify reclassifyCuts recode recserar recsercp recserrc rerun rescale reshape rets rev rfft rffti rfftip rfftn ' +\n 'rfftnp rfftp rndBernoulli rndBeta rndBinomial rndCauchy rndChiSquare rndCon rndCreateState rndExp rndGamma rndGeo rndGumbel ' +\n 'rndHyperGeo rndi rndKMbeta rndKMgam rndKMi rndKMn rndKMnb rndKMp rndKMu rndKMvm rndLaplace rndLCbeta rndLCgam rndLCi rndLCn ' +\n 'rndLCnb rndLCp rndLCu rndLCvm rndLogNorm rndMTu rndMVn rndMVt rndn rndnb rndNegBinomial rndp rndPoisson rndRayleigh ' +\n 'rndStateSkip rndu rndvm rndWeibull rndWishart rotater round rows rowsf rref sampleData satostrC saved saveStruct savewind ' +\n 'scale scale3d scalerr scalinfnanmiss scalmiss schtoc schur searchsourcepath seekr select selif seqa seqm setdif setdifsa ' +\n 'setvars setvwrmode setwind shell shiftr sin singleindex sinh sleep solpd sortc sortcc sortd sorthc sorthcc sortind ' +\n 'sortindc sortmc sortr sortrc spBiconjGradSol spChol spConjGradSol spCreate spDenseSubmat spDiagRvMat spEigv spEye spLDL ' +\n 'spline spLU spNumNZE spOnes spreadSheetReadM spreadSheetReadSA spreadSheetWrite spScale spSubmat spToDense spTrTDense ' +\n 'spTScalar spZeros sqpSolve sqpSolveMT sqpSolveMTControlCreate sqpSolveMTlagrangeCreate sqpSolveMToutCreate sqpSolveSet ' +\n 'sqrt statements stdc stdsc stocv stof strcombine strindx strlen strput strrindx strsect strsplit strsplitPad strtodt ' +\n 'strtof strtofcplx strtriml strtrimr strtrunc strtruncl strtruncpad strtruncr submat subscat substute subvec sumc sumr ' +\n 'surface svd svd1 svd2 svdcusv svds svdusv sysstate tab tan tanh tempname ' +\n 'time timedt timestr timeutc title tkf2eps tkf2ps tocart todaydt toeplitz token topolar trapchk ' +\n 'trigamma trimr trunc type typecv typef union unionsa uniqindx uniqindxsa unique uniquesa upmat upmat1 upper utctodt ' +\n 'utctodtv utrisol vals varCovMS varCovXS varget vargetl varmall varmares varput varputl vartypef vcm vcms vcx vcxs ' +\n 'vec vech vecr vector vget view viewxyz vlist vnamecv volume vput vread vtypecv wait waitc walkindex where window ' +\n 'writer xlabel xlsGetSheetCount xlsGetSheetSize xlsGetSheetTypes xlsMakeRange xlsReadM xlsReadSA xlsWrite xlsWriteM ' +\n 'xlsWriteSA xpnd xtics xy xyz ylabel ytics zeros zeta zlabel ztics cdfEmpirical dot h5create h5open h5read h5readAttribute ' +\n 'h5write h5writeAttribute ldl plotAddErrorBar plotAddSurface plotCDFEmpirical plotSetColormap plotSetContourLabels ' +\n 'plotSetLegendFont plotSetTextInterpreter plotSetXTicCount plotSetYTicCount plotSetZLevels powerm strjoin sylvester ' +\n 'strtrim',\n literal: 'DB_AFTER_LAST_ROW DB_ALL_TABLES DB_BATCH_OPERATIONS DB_BEFORE_FIRST_ROW DB_BLOB DB_EVENT_NOTIFICATIONS ' +\n 'DB_FINISH_QUERY DB_HIGH_PRECISION DB_LAST_INSERT_ID DB_LOW_PRECISION_DOUBLE DB_LOW_PRECISION_INT32 ' +\n 'DB_LOW_PRECISION_INT64 DB_LOW_PRECISION_NUMBERS DB_MULTIPLE_RESULT_SETS DB_NAMED_PLACEHOLDERS ' +\n 'DB_POSITIONAL_PLACEHOLDERS DB_PREPARED_QUERIES DB_QUERY_SIZE DB_SIMPLE_LOCKING DB_SYSTEM_TABLES DB_TABLES ' +\n 'DB_TRANSACTIONS DB_UNICODE DB_VIEWS __STDIN __STDOUT __STDERR __FILE_DIR'\n };\n\n const AT_COMMENT_MODE = hljs.COMMENT('@', '@');\n\n const PREPROCESSOR =\n {\n className: 'meta',\n begin: '#',\n end: '$',\n keywords: {\n 'meta-keyword': 'define definecs|10 undef ifdef ifndef iflight ifdllcall ifmac ifos2win ifunix else endif lineson linesoff srcfile srcline'\n },\n contains: [\n {\n begin: /\\\\\\n/,\n relevance: 0\n },\n {\n beginKeywords: 'include',\n end: '$',\n keywords: {\n 'meta-keyword': 'include'\n },\n contains: [\n {\n className: 'meta-string',\n begin: '\"',\n end: '\"',\n illegal: '\\\\n'\n }\n ]\n },\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n AT_COMMENT_MODE\n ]\n };\n\n const STRUCT_TYPE =\n {\n begin: /\\bstruct\\s+/,\n end: /\\s/,\n keywords: \"struct\",\n contains: [\n {\n className: \"type\",\n begin: hljs.UNDERSCORE_IDENT_RE,\n relevance: 0\n }\n ]\n };\n\n // only for definitions\n const PARSE_PARAMS = [\n {\n className: 'params',\n begin: /\\(/,\n end: /\\)/,\n excludeBegin: true,\n excludeEnd: true,\n endsWithParent: true,\n relevance: 0,\n contains: [\n { // dots\n className: 'literal',\n begin: /\\.\\.\\./\n },\n hljs.C_NUMBER_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n AT_COMMENT_MODE,\n STRUCT_TYPE\n ]\n }\n ];\n\n const FUNCTION_DEF =\n {\n className: \"title\",\n begin: hljs.UNDERSCORE_IDENT_RE,\n relevance: 0\n };\n\n const DEFINITION = function(beginKeywords, end, inherits) {\n const mode = hljs.inherit(\n {\n className: \"function\",\n beginKeywords: beginKeywords,\n end: end,\n excludeEnd: true,\n contains: [].concat(PARSE_PARAMS)\n },\n inherits || {}\n );\n mode.contains.push(FUNCTION_DEF);\n mode.contains.push(hljs.C_NUMBER_MODE);\n mode.contains.push(hljs.C_BLOCK_COMMENT_MODE);\n mode.contains.push(AT_COMMENT_MODE);\n return mode;\n };\n\n const BUILT_IN_REF =\n { // these are explicitly named internal function calls\n className: 'built_in',\n begin: '\\\\b(' + KEYWORDS.built_in.split(' ').join('|') + ')\\\\b'\n };\n\n const STRING_REF =\n {\n className: 'string',\n begin: '\"',\n end: '\"',\n contains: [hljs.BACKSLASH_ESCAPE],\n relevance: 0\n };\n\n const FUNCTION_REF =\n {\n // className: \"fn_ref\",\n begin: hljs.UNDERSCORE_IDENT_RE + '\\\\s*\\\\(',\n returnBegin: true,\n keywords: KEYWORDS,\n relevance: 0,\n contains: [\n {\n beginKeywords: KEYWORDS.keyword\n },\n BUILT_IN_REF,\n { // ambiguously named function calls get a relevance of 0\n className: 'built_in',\n begin: hljs.UNDERSCORE_IDENT_RE,\n relevance: 0\n }\n ]\n };\n\n const FUNCTION_REF_PARAMS =\n {\n // className: \"fn_ref_params\",\n begin: /\\(/,\n end: /\\)/,\n relevance: 0,\n keywords: {\n built_in: KEYWORDS.built_in,\n literal: KEYWORDS.literal\n },\n contains: [\n hljs.C_NUMBER_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n AT_COMMENT_MODE,\n BUILT_IN_REF,\n FUNCTION_REF,\n STRING_REF,\n 'self'\n ]\n };\n\n FUNCTION_REF.contains.push(FUNCTION_REF_PARAMS);\n\n return {\n name: 'GAUSS',\n aliases: ['gss'],\n case_insensitive: true, // language is case-insensitive\n keywords: KEYWORDS,\n illegal: /(\\{[%#]|[%#]\\}| <- )/,\n contains: [\n hljs.C_NUMBER_MODE,\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n AT_COMMENT_MODE,\n STRING_REF,\n PREPROCESSOR,\n {\n className: 'keyword',\n begin: /\\bexternal (matrix|string|array|sparse matrix|struct|proc|keyword|fn)/\n },\n DEFINITION('proc keyword', ';'),\n DEFINITION('fn', '='),\n {\n beginKeywords: 'for threadfor',\n end: /;/,\n // end: /\\(/,\n relevance: 0,\n contains: [\n hljs.C_BLOCK_COMMENT_MODE,\n AT_COMMENT_MODE,\n FUNCTION_REF_PARAMS\n ]\n },\n { // custom method guard\n // excludes method names from keyword processing\n variants: [\n {\n begin: hljs.UNDERSCORE_IDENT_RE + '\\\\.' + hljs.UNDERSCORE_IDENT_RE\n },\n {\n begin: hljs.UNDERSCORE_IDENT_RE + '\\\\s*='\n }\n ],\n relevance: 0\n },\n FUNCTION_REF,\n STRUCT_TYPE\n ]\n };\n}\n\nmodule.exports = gauss;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\nvar _default = exports[\"default\"] = {\n \"hljs\": {\n \"display\": \"block\",\n \"overflowX\": \"auto\",\n \"padding\": \"0.5em\",\n \"background\": \"#fbf1c7\",\n \"color\": \"#3c3836\"\n },\n \"hljs-subst\": {\n \"color\": \"#3c3836\"\n },\n \"hljs-deletion\": {\n \"color\": \"#9d0006\"\n },\n \"hljs-formula\": {\n \"color\": \"#9d0006\"\n },\n \"hljs-keyword\": {\n \"color\": \"#9d0006\"\n },\n \"hljs-link\": {\n \"color\": \"#9d0006\"\n },\n \"hljs-selector-tag\": {\n \"color\": \"#9d0006\"\n },\n \"hljs-built_in\": {\n \"color\": \"#076678\"\n },\n \"hljs-emphasis\": {\n \"color\": \"#076678\",\n \"fontStyle\": \"italic\"\n },\n \"hljs-name\": {\n \"color\": \"#076678\"\n },\n \"hljs-quote\": {\n \"color\": \"#076678\"\n },\n \"hljs-strong\": {\n \"color\": \"#076678\",\n \"fontWeight\": \"bold\"\n },\n \"hljs-title\": {\n \"color\": \"#076678\"\n },\n \"hljs-variable\": {\n \"color\": \"#076678\"\n },\n \"hljs-attr\": {\n \"color\": \"#b57614\"\n },\n \"hljs-params\": {\n \"color\": \"#b57614\"\n },\n \"hljs-template-tag\": {\n \"color\": \"#b57614\"\n },\n \"hljs-type\": {\n \"color\": \"#b57614\"\n },\n \"hljs-builtin-name\": {\n \"color\": \"#8f3f71\"\n },\n \"hljs-doctag\": {\n \"color\": \"#8f3f71\"\n },\n \"hljs-literal\": {\n \"color\": \"#8f3f71\"\n },\n \"hljs-number\": {\n \"color\": \"#8f3f71\"\n },\n \"hljs-code\": {\n \"color\": \"#af3a03\"\n },\n \"hljs-meta\": {\n \"color\": \"#af3a03\"\n },\n \"hljs-regexp\": {\n \"color\": \"#af3a03\"\n },\n \"hljs-selector-id\": {\n \"color\": \"#af3a03\"\n },\n \"hljs-template-variable\": {\n \"color\": \"#af3a03\"\n },\n \"hljs-addition\": {\n \"color\": \"#79740e\"\n },\n \"hljs-meta-string\": {\n \"color\": \"#79740e\"\n },\n \"hljs-section\": {\n \"color\": \"#79740e\",\n \"fontWeight\": \"bold\"\n },\n \"hljs-selector-attr\": {\n \"color\": \"#79740e\"\n },\n \"hljs-selector-class\": {\n \"color\": \"#79740e\"\n },\n \"hljs-string\": {\n \"color\": \"#79740e\"\n },\n \"hljs-symbol\": {\n \"color\": \"#79740e\"\n },\n \"hljs-attribute\": {\n \"color\": \"#427b58\"\n },\n \"hljs-bullet\": {\n \"color\": \"#427b58\"\n },\n \"hljs-class\": {\n \"color\": \"#427b58\"\n },\n \"hljs-function\": {\n \"color\": \"#427b58\"\n },\n \"hljs-function .hljs-keyword\": {\n \"color\": \"#427b58\"\n },\n \"hljs-meta-keyword\": {\n \"color\": \"#427b58\"\n },\n \"hljs-selector-pseudo\": {\n \"color\": \"#427b58\"\n },\n \"hljs-tag\": {\n \"color\": \"#427b58\",\n \"fontWeight\": \"bold\"\n },\n \"hljs-comment\": {\n \"color\": \"#928374\",\n \"fontStyle\": \"italic\"\n },\n \"hljs-link_label\": {\n \"color\": \"#8f3f71\"\n }\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\nvar _default = exports[\"default\"] = {\n \"hljs\": {\n \"display\": \"block\",\n \"overflowX\": \"auto\",\n \"padding\": \"0.5em\",\n \"background\": \"#fff\",\n \"color\": \"black\"\n },\n \"xml .hljs-meta\": {\n \"color\": \"#c0c0c0\"\n },\n \"hljs-comment\": {\n \"color\": \"#007400\"\n },\n \"hljs-quote\": {\n \"color\": \"#007400\"\n },\n \"hljs-tag\": {\n \"color\": \"#aa0d91\"\n },\n \"hljs-attribute\": {\n \"color\": \"#aa0d91\"\n },\n \"hljs-keyword\": {\n \"color\": \"#aa0d91\"\n },\n \"hljs-selector-tag\": {\n \"color\": \"#aa0d91\"\n },\n \"hljs-literal\": {\n \"color\": \"#aa0d91\"\n },\n \"hljs-name\": {\n \"color\": \"#aa0d91\"\n },\n \"hljs-variable\": {\n \"color\": \"#3F6E74\"\n },\n \"hljs-template-variable\": {\n \"color\": \"#3F6E74\"\n },\n \"hljs-code\": {\n \"color\": \"#c41a16\"\n },\n \"hljs-string\": {\n \"color\": \"#c41a16\"\n },\n \"hljs-meta-string\": {\n \"color\": \"#c41a16\"\n },\n \"hljs-regexp\": {\n \"color\": \"#0E0EFF\"\n },\n \"hljs-link\": {\n \"color\": \"#0E0EFF\"\n },\n \"hljs-title\": {\n \"color\": \"#1c00cf\"\n },\n \"hljs-symbol\": {\n \"color\": \"#1c00cf\"\n },\n \"hljs-bullet\": {\n \"color\": \"#1c00cf\"\n },\n \"hljs-number\": {\n \"color\": \"#1c00cf\"\n },\n \"hljs-section\": {\n \"color\": \"#643820\"\n },\n \"hljs-meta\": {\n \"color\": \"#643820\"\n },\n \"hljs-class .hljs-title\": {\n \"color\": \"#5c2699\"\n },\n \"hljs-type\": {\n \"color\": \"#5c2699\"\n },\n \"hljs-built_in\": {\n \"color\": \"#5c2699\"\n },\n \"hljs-builtin-name\": {\n \"color\": \"#5c2699\"\n },\n \"hljs-params\": {\n \"color\": \"#5c2699\"\n },\n \"hljs-attr\": {\n \"color\": \"#836C28\"\n },\n \"hljs-subst\": {\n \"color\": \"#000\"\n },\n \"hljs-formula\": {\n \"backgroundColor\": \"#eee\",\n \"fontStyle\": \"italic\"\n },\n \"hljs-addition\": {\n \"backgroundColor\": \"#baeeba\"\n },\n \"hljs-deletion\": {\n \"backgroundColor\": \"#ffc8bd\"\n },\n \"hljs-selector-id\": {\n \"color\": \"#9b703f\"\n },\n \"hljs-selector-class\": {\n \"color\": \"#9b703f\"\n },\n \"hljs-doctag\": {\n \"fontWeight\": \"bold\"\n },\n \"hljs-strong\": {\n \"fontWeight\": \"bold\"\n },\n \"hljs-emphasis\": {\n \"fontStyle\": \"italic\"\n }\n};","/**\n * @param {string} value\n * @returns {RegExp}\n * */\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction source(re) {\n if (!re) return null;\n if (typeof re === \"string\") return re;\n\n return re.source;\n}\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction anyNumberOfTimes(re) {\n return concat('(', re, ')*');\n}\n\n/**\n * @param {...(RegExp | string) } args\n * @returns {string}\n */\nfunction concat(...args) {\n const joined = args.map((x) => source(x)).join(\"\");\n return joined;\n}\n\n/** @type LanguageFn */\nfunction gams(hljs) {\n const KEYWORDS = {\n keyword:\n 'abort acronym acronyms alias all and assign binary card diag display ' +\n 'else eq file files for free ge gt if integer le loop lt maximizing ' +\n 'minimizing model models ne negative no not option options or ord ' +\n 'positive prod put putpage puttl repeat sameas semicont semiint smax ' +\n 'smin solve sos1 sos2 sum system table then until using while xor yes',\n literal:\n 'eps inf na',\n built_in:\n 'abs arccos arcsin arctan arctan2 Beta betaReg binomial ceil centropy ' +\n 'cos cosh cvPower div div0 eDist entropy errorf execSeed exp fact ' +\n 'floor frac gamma gammaReg log logBeta logGamma log10 log2 mapVal max ' +\n 'min mod ncpCM ncpF ncpVUpow ncpVUsin normal pi poly power ' +\n 'randBinomial randLinear randTriangle round rPower sigmoid sign ' +\n 'signPower sin sinh slexp sllog10 slrec sqexp sqlog10 sqr sqrec sqrt ' +\n 'tan tanh trunc uniform uniformInt vcPower bool_and bool_eqv bool_imp ' +\n 'bool_not bool_or bool_xor ifThen rel_eq rel_ge rel_gt rel_le rel_lt ' +\n 'rel_ne gday gdow ghour gleap gmillisec gminute gmonth gsecond gyear ' +\n 'jdate jnow jstart jtime errorLevel execError gamsRelease gamsVersion ' +\n 'handleCollect handleDelete handleStatus handleSubmit heapFree ' +\n 'heapLimit heapSize jobHandle jobKill jobStatus jobTerminate ' +\n 'licenseLevel licenseStatus maxExecError sleep timeClose timeComp ' +\n 'timeElapsed timeExec timeStart'\n };\n const PARAMS = {\n className: 'params',\n begin: /\\(/,\n end: /\\)/,\n excludeBegin: true,\n excludeEnd: true\n };\n const SYMBOLS = {\n className: 'symbol',\n variants: [\n {\n begin: /=[lgenxc]=/\n },\n {\n begin: /\\$/\n }\n ]\n };\n const QSTR = { // One-line quoted comment string\n className: 'comment',\n variants: [\n {\n begin: '\\'',\n end: '\\''\n },\n {\n begin: '\"',\n end: '\"'\n }\n ],\n illegal: '\\\\n',\n contains: [hljs.BACKSLASH_ESCAPE]\n };\n const ASSIGNMENT = {\n begin: '/',\n end: '/',\n keywords: KEYWORDS,\n contains: [\n QSTR,\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n hljs.QUOTE_STRING_MODE,\n hljs.APOS_STRING_MODE,\n hljs.C_NUMBER_MODE\n ]\n };\n const COMMENT_WORD = /[a-z0-9&#*=?@\\\\><:,()$[\\]_.{}!+%^-]+/;\n const DESCTEXT = { // Parameter/set/variable description text\n begin: /[a-z][a-z0-9_]*(\\([a-z0-9_, ]*\\))?[ \\t]+/,\n excludeBegin: true,\n end: '$',\n endsWithParent: true,\n contains: [\n QSTR,\n ASSIGNMENT,\n {\n className: 'comment',\n // one comment word, then possibly more\n begin: concat(\n COMMENT_WORD,\n // [ ] because \\s would be too broad (matching newlines)\n anyNumberOfTimes(concat(/[ ]+/, COMMENT_WORD))\n ),\n relevance: 0\n }\n ]\n };\n\n return {\n name: 'GAMS',\n aliases: ['gms'],\n case_insensitive: true,\n keywords: KEYWORDS,\n contains: [\n hljs.COMMENT(/^\\$ontext/, /^\\$offtext/),\n {\n className: 'meta',\n begin: '^\\\\$[a-z0-9]+',\n end: '$',\n returnBegin: true,\n contains: [\n {\n className: 'meta-keyword',\n begin: '^\\\\$[a-z0-9]+'\n }\n ]\n },\n hljs.COMMENT('^\\\\*', '$'),\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n hljs.QUOTE_STRING_MODE,\n hljs.APOS_STRING_MODE,\n // Declarations\n {\n beginKeywords:\n 'set sets parameter parameters variable variables ' +\n 'scalar scalars equation equations',\n end: ';',\n contains: [\n hljs.COMMENT('^\\\\*', '$'),\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n hljs.QUOTE_STRING_MODE,\n hljs.APOS_STRING_MODE,\n ASSIGNMENT,\n DESCTEXT\n ]\n },\n { // table environment\n beginKeywords: 'table',\n end: ';',\n returnBegin: true,\n contains: [\n { // table header row\n beginKeywords: 'table',\n end: '$',\n contains: [DESCTEXT]\n },\n hljs.COMMENT('^\\\\*', '$'),\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n hljs.QUOTE_STRING_MODE,\n hljs.APOS_STRING_MODE,\n hljs.C_NUMBER_MODE\n // Table does not contain DESCTEXT or ASSIGNMENT\n ]\n },\n // Function definitions\n {\n className: 'function',\n begin: /^[a-z][a-z0-9_,\\-+' ()$]+\\.{2}/,\n returnBegin: true,\n contains: [\n { // Function title\n className: 'title',\n begin: /^[a-z0-9_]+/\n },\n PARAMS,\n SYMBOLS\n ]\n },\n hljs.C_NUMBER_MODE,\n SYMBOLS\n ]\n };\n}\n\nmodule.exports = gams;\n","/*\nLanguage: VBScript in HTML\nRequires: xml.js, vbscript.js\nAuthor: Ivan Sagalaev \nDescription: \"Bridge\" language defining fragments of VBScript in HTML within <% .. %>\nWebsite: https://en.wikipedia.org/wiki/VBScript\nCategory: scripting\n*/\n\nfunction vbscriptHtml(hljs) {\n return {\n name: 'VBScript in HTML',\n subLanguage: 'xml',\n contains: [\n {\n begin: '<%',\n end: '%>',\n subLanguage: 'vbscript'\n }\n ]\n };\n}\n\nmodule.exports = vbscriptHtml;\n","const IDENT_RE = '[A-Za-z$_][0-9A-Za-z$_]*';\nconst KEYWORDS = [\n \"as\", // for exports\n \"in\",\n \"of\",\n \"if\",\n \"for\",\n \"while\",\n \"finally\",\n \"var\",\n \"new\",\n \"function\",\n \"do\",\n \"return\",\n \"void\",\n \"else\",\n \"break\",\n \"catch\",\n \"instanceof\",\n \"with\",\n \"throw\",\n \"case\",\n \"default\",\n \"try\",\n \"switch\",\n \"continue\",\n \"typeof\",\n \"delete\",\n \"let\",\n \"yield\",\n \"const\",\n \"class\",\n // JS handles these with a special rule\n // \"get\",\n // \"set\",\n \"debugger\",\n \"async\",\n \"await\",\n \"static\",\n \"import\",\n \"from\",\n \"export\",\n \"extends\"\n];\nconst LITERALS = [\n \"true\",\n \"false\",\n \"null\",\n \"undefined\",\n \"NaN\",\n \"Infinity\"\n];\n\nconst TYPES = [\n \"Intl\",\n \"DataView\",\n \"Number\",\n \"Math\",\n \"Date\",\n \"String\",\n \"RegExp\",\n \"Object\",\n \"Function\",\n \"Boolean\",\n \"Error\",\n \"Symbol\",\n \"Set\",\n \"Map\",\n \"WeakSet\",\n \"WeakMap\",\n \"Proxy\",\n \"Reflect\",\n \"JSON\",\n \"Promise\",\n \"Float64Array\",\n \"Int16Array\",\n \"Int32Array\",\n \"Int8Array\",\n \"Uint16Array\",\n \"Uint32Array\",\n \"Float32Array\",\n \"Array\",\n \"Uint8Array\",\n \"Uint8ClampedArray\",\n \"ArrayBuffer\",\n \"BigInt64Array\",\n \"BigUint64Array\",\n \"BigInt\"\n];\n\nconst ERROR_TYPES = [\n \"EvalError\",\n \"InternalError\",\n \"RangeError\",\n \"ReferenceError\",\n \"SyntaxError\",\n \"TypeError\",\n \"URIError\"\n];\n\nconst BUILT_IN_GLOBALS = [\n \"setInterval\",\n \"setTimeout\",\n \"clearInterval\",\n \"clearTimeout\",\n\n \"require\",\n \"exports\",\n\n \"eval\",\n \"isFinite\",\n \"isNaN\",\n \"parseFloat\",\n \"parseInt\",\n \"decodeURI\",\n \"decodeURIComponent\",\n \"encodeURI\",\n \"encodeURIComponent\",\n \"escape\",\n \"unescape\"\n];\n\nconst BUILT_IN_VARIABLES = [\n \"arguments\",\n \"this\",\n \"super\",\n \"console\",\n \"window\",\n \"document\",\n \"localStorage\",\n \"module\",\n \"global\" // Node.js\n];\n\nconst BUILT_INS = [].concat(\n BUILT_IN_GLOBALS,\n BUILT_IN_VARIABLES,\n TYPES,\n ERROR_TYPES\n);\n\n/**\n * @param {string} value\n * @returns {RegExp}\n * */\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction source(re) {\n if (!re) return null;\n if (typeof re === \"string\") return re;\n\n return re.source;\n}\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction lookahead(re) {\n return concat('(?=', re, ')');\n}\n\n/**\n * @param {...(RegExp | string) } args\n * @returns {string}\n */\nfunction concat(...args) {\n const joined = args.map((x) => source(x)).join(\"\");\n return joined;\n}\n\n/*\nLanguage: JavaScript\nDescription: JavaScript (JS) is a lightweight, interpreted, or just-in-time compiled programming language with first-class functions.\nCategory: common, scripting\nWebsite: https://developer.mozilla.org/en-US/docs/Web/JavaScript\n*/\n\n/** @type LanguageFn */\nfunction javascript(hljs) {\n /**\n * Takes a string like \" {\n const tag = \"',\n end: ''\n };\n const XML_TAG = {\n begin: /<[A-Za-z0-9\\\\._:-]+/,\n end: /\\/[A-Za-z0-9\\\\._:-]+>|\\/>/,\n /**\n * @param {RegExpMatchArray} match\n * @param {CallbackResponse} response\n */\n isTrulyOpeningTag: (match, response) => {\n const afterMatchIndex = match[0].length + match.index;\n const nextChar = match.input[afterMatchIndex];\n // nested type?\n // HTML should not include another raw `<` inside a tag\n // But a type might: `>`, etc.\n if (nextChar === \"<\") {\n response.ignoreMatch();\n return;\n }\n // \n // This is now either a tag or a type.\n if (nextChar === \">\") {\n // if we cannot find a matching closing tag, then we\n // will ignore it\n if (!hasClosingTag(match, { after: afterMatchIndex })) {\n response.ignoreMatch();\n }\n }\n }\n };\n const KEYWORDS$1 = {\n $pattern: IDENT_RE,\n keyword: KEYWORDS,\n literal: LITERALS,\n built_in: BUILT_INS\n };\n\n // https://tc39.es/ecma262/#sec-literals-numeric-literals\n const decimalDigits = '[0-9](_?[0-9])*';\n const frac = `\\\\.(${decimalDigits})`;\n // DecimalIntegerLiteral, including Annex B NonOctalDecimalIntegerLiteral\n // https://tc39.es/ecma262/#sec-additional-syntax-numeric-literals\n const decimalInteger = `0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*`;\n const NUMBER = {\n className: 'number',\n variants: [\n // DecimalLiteral\n { begin: `(\\\\b(${decimalInteger})((${frac})|\\\\.)?|(${frac}))` +\n `[eE][+-]?(${decimalDigits})\\\\b` },\n { begin: `\\\\b(${decimalInteger})\\\\b((${frac})\\\\b|\\\\.)?|(${frac})\\\\b` },\n\n // DecimalBigIntegerLiteral\n { begin: `\\\\b(0|[1-9](_?[0-9])*)n\\\\b` },\n\n // NonDecimalIntegerLiteral\n { begin: \"\\\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\\\b\" },\n { begin: \"\\\\b0[bB][0-1](_?[0-1])*n?\\\\b\" },\n { begin: \"\\\\b0[oO][0-7](_?[0-7])*n?\\\\b\" },\n\n // LegacyOctalIntegerLiteral (does not include underscore separators)\n // https://tc39.es/ecma262/#sec-additional-syntax-numeric-literals\n { begin: \"\\\\b0[0-7]+n?\\\\b\" },\n ],\n relevance: 0\n };\n\n const SUBST = {\n className: 'subst',\n begin: '\\\\$\\\\{',\n end: '\\\\}',\n keywords: KEYWORDS$1,\n contains: [] // defined later\n };\n const HTML_TEMPLATE = {\n begin: 'html`',\n end: '',\n starts: {\n end: '`',\n returnEnd: false,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ],\n subLanguage: 'xml'\n }\n };\n const CSS_TEMPLATE = {\n begin: 'css`',\n end: '',\n starts: {\n end: '`',\n returnEnd: false,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ],\n subLanguage: 'css'\n }\n };\n const TEMPLATE_STRING = {\n className: 'string',\n begin: '`',\n end: '`',\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ]\n };\n const JSDOC_COMMENT = hljs.COMMENT(\n /\\/\\*\\*(?!\\/)/,\n '\\\\*/',\n {\n relevance: 0,\n contains: [\n {\n className: 'doctag',\n begin: '@[A-Za-z]+',\n contains: [\n {\n className: 'type',\n begin: '\\\\{',\n end: '\\\\}',\n relevance: 0\n },\n {\n className: 'variable',\n begin: IDENT_RE$1 + '(?=\\\\s*(-)|$)',\n endsParent: true,\n relevance: 0\n },\n // eat spaces (not newlines) so we can find\n // types or variables\n {\n begin: /(?=[^\\n])\\s/,\n relevance: 0\n }\n ]\n }\n ]\n }\n );\n const COMMENT = {\n className: \"comment\",\n variants: [\n JSDOC_COMMENT,\n hljs.C_BLOCK_COMMENT_MODE,\n hljs.C_LINE_COMMENT_MODE\n ]\n };\n const SUBST_INTERNALS = [\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE,\n HTML_TEMPLATE,\n CSS_TEMPLATE,\n TEMPLATE_STRING,\n NUMBER,\n hljs.REGEXP_MODE\n ];\n SUBST.contains = SUBST_INTERNALS\n .concat({\n // we need to pair up {} inside our subst to prevent\n // it from ending too early by matching another }\n begin: /\\{/,\n end: /\\}/,\n keywords: KEYWORDS$1,\n contains: [\n \"self\"\n ].concat(SUBST_INTERNALS)\n });\n const SUBST_AND_COMMENTS = [].concat(COMMENT, SUBST.contains);\n const PARAMS_CONTAINS = SUBST_AND_COMMENTS.concat([\n // eat recursive parens in sub expressions\n {\n begin: /\\(/,\n end: /\\)/,\n keywords: KEYWORDS$1,\n contains: [\"self\"].concat(SUBST_AND_COMMENTS)\n }\n ]);\n const PARAMS = {\n className: 'params',\n begin: /\\(/,\n end: /\\)/,\n excludeBegin: true,\n excludeEnd: true,\n keywords: KEYWORDS$1,\n contains: PARAMS_CONTAINS\n };\n\n return {\n name: 'Javascript',\n aliases: ['js', 'jsx', 'mjs', 'cjs'],\n keywords: KEYWORDS$1,\n // this will be extended by TypeScript\n exports: { PARAMS_CONTAINS },\n illegal: /#(?![$_A-z])/,\n contains: [\n hljs.SHEBANG({\n label: \"shebang\",\n binary: \"node\",\n relevance: 5\n }),\n {\n label: \"use_strict\",\n className: 'meta',\n relevance: 10,\n begin: /^\\s*['\"]use (strict|asm)['\"]/\n },\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE,\n HTML_TEMPLATE,\n CSS_TEMPLATE,\n TEMPLATE_STRING,\n COMMENT,\n NUMBER,\n { // object attr container\n begin: concat(/[{,\\n]\\s*/,\n // we need to look ahead to make sure that we actually have an\n // attribute coming up so we don't steal a comma from a potential\n // \"value\" container\n //\n // NOTE: this might not work how you think. We don't actually always\n // enter this mode and stay. Instead it might merely match `,\n // ` and then immediately end after the , because it\n // fails to find any actual attrs. But this still does the job because\n // it prevents the value contain rule from grabbing this instead and\n // prevening this rule from firing when we actually DO have keys.\n lookahead(concat(\n // we also need to allow for multiple possible comments inbetween\n // the first key:value pairing\n /(((\\/\\/.*$)|(\\/\\*(\\*[^/]|[^*])*\\*\\/))\\s*)*/,\n IDENT_RE$1 + '\\\\s*:'))),\n relevance: 0,\n contains: [\n {\n className: 'attr',\n begin: IDENT_RE$1 + lookahead('\\\\s*:'),\n relevance: 0\n }\n ]\n },\n { // \"value\" container\n begin: '(' + hljs.RE_STARTERS_RE + '|\\\\b(case|return|throw)\\\\b)\\\\s*',\n keywords: 'return throw case',\n contains: [\n COMMENT,\n hljs.REGEXP_MODE,\n {\n className: 'function',\n // we have to count the parens to make sure we actually have the\n // correct bounding ( ) before the =>. There could be any number of\n // sub-expressions inside also surrounded by parens.\n begin: '(\\\\(' +\n '[^()]*(\\\\(' +\n '[^()]*(\\\\(' +\n '[^()]*' +\n '\\\\)[^()]*)*' +\n '\\\\)[^()]*)*' +\n '\\\\)|' + hljs.UNDERSCORE_IDENT_RE + ')\\\\s*=>',\n returnBegin: true,\n end: '\\\\s*=>',\n contains: [\n {\n className: 'params',\n variants: [\n {\n begin: hljs.UNDERSCORE_IDENT_RE,\n relevance: 0\n },\n {\n className: null,\n begin: /\\(\\s*\\)/,\n skip: true\n },\n {\n begin: /\\(/,\n end: /\\)/,\n excludeBegin: true,\n excludeEnd: true,\n keywords: KEYWORDS$1,\n contains: PARAMS_CONTAINS\n }\n ]\n }\n ]\n },\n { // could be a comma delimited list of params to a function call\n begin: /,/, relevance: 0\n },\n {\n className: '',\n begin: /\\s/,\n end: /\\s*/,\n skip: true\n },\n { // JSX\n variants: [\n { begin: FRAGMENT.begin, end: FRAGMENT.end },\n {\n begin: XML_TAG.begin,\n // we carefully check the opening tag to see if it truly\n // is a tag and not a false positive\n 'on:begin': XML_TAG.isTrulyOpeningTag,\n end: XML_TAG.end\n }\n ],\n subLanguage: 'xml',\n contains: [\n {\n begin: XML_TAG.begin,\n end: XML_TAG.end,\n skip: true,\n contains: ['self']\n }\n ]\n }\n ],\n relevance: 0\n },\n {\n className: 'function',\n beginKeywords: 'function',\n end: /[{;]/,\n excludeEnd: true,\n keywords: KEYWORDS$1,\n contains: [\n 'self',\n hljs.inherit(hljs.TITLE_MODE, { begin: IDENT_RE$1 }),\n PARAMS\n ],\n illegal: /%/\n },\n {\n // prevent this from getting swallowed up by function\n // since they appear \"function like\"\n beginKeywords: \"while if switch catch for\"\n },\n {\n className: 'function',\n // we have to count the parens to make sure we actually have the correct\n // bounding ( ). There could be any number of sub-expressions inside\n // also surrounded by parens.\n begin: hljs.UNDERSCORE_IDENT_RE +\n '\\\\(' + // first parens\n '[^()]*(\\\\(' +\n '[^()]*(\\\\(' +\n '[^()]*' +\n '\\\\)[^()]*)*' +\n '\\\\)[^()]*)*' +\n '\\\\)\\\\s*\\\\{', // end parens\n returnBegin:true,\n contains: [\n PARAMS,\n hljs.inherit(hljs.TITLE_MODE, { begin: IDENT_RE$1 }),\n ]\n },\n // hack: prevents detection of keywords in some circumstances\n // .keyword()\n // $keyword = x\n {\n variants: [\n { begin: '\\\\.' + IDENT_RE$1 },\n { begin: '\\\\$' + IDENT_RE$1 }\n ],\n relevance: 0\n },\n { // ES6 class\n className: 'class',\n beginKeywords: 'class',\n end: /[{;=]/,\n excludeEnd: true,\n illegal: /[:\"[\\]]/,\n contains: [\n { beginKeywords: 'extends' },\n hljs.UNDERSCORE_TITLE_MODE\n ]\n },\n {\n begin: /\\b(?=constructor)/,\n end: /[{;]/,\n excludeEnd: true,\n contains: [\n hljs.inherit(hljs.TITLE_MODE, { begin: IDENT_RE$1 }),\n 'self',\n PARAMS\n ]\n },\n {\n begin: '(get|set)\\\\s+(?=' + IDENT_RE$1 + '\\\\()',\n end: /\\{/,\n keywords: \"get set\",\n contains: [\n hljs.inherit(hljs.TITLE_MODE, { begin: IDENT_RE$1 }),\n { begin: /\\(\\)/ }, // eat to avoid empty params\n PARAMS\n ]\n },\n {\n begin: /\\$[(.]/ // relevance booster for a pattern common to JS libs: `$(something)` and `$.something`\n }\n ]\n };\n}\n\nmodule.exports = javascript;\n","/*\nLanguage: Ceylon\nAuthor: Lucas Werkmeister \nWebsite: https://ceylon-lang.org\n*/\n\n/** @type LanguageFn */\nfunction ceylon(hljs) {\n // 2.3. Identifiers and keywords\n const KEYWORDS =\n 'assembly module package import alias class interface object given value ' +\n 'assign void function new of extends satisfies abstracts in out return ' +\n 'break continue throw assert dynamic if else switch case for while try ' +\n 'catch finally then let this outer super is exists nonempty';\n // 7.4.1 Declaration Modifiers\n const DECLARATION_MODIFIERS =\n 'shared abstract formal default actual variable late native deprecated ' +\n 'final sealed annotation suppressWarnings small';\n // 7.4.2 Documentation\n const DOCUMENTATION =\n 'doc by license see throws tagged';\n const SUBST = {\n className: 'subst',\n excludeBegin: true,\n excludeEnd: true,\n begin: /``/,\n end: /``/,\n keywords: KEYWORDS,\n relevance: 10\n };\n const EXPRESSIONS = [\n {\n // verbatim string\n className: 'string',\n begin: '\"\"\"',\n end: '\"\"\"',\n relevance: 10\n },\n {\n // string literal or template\n className: 'string',\n begin: '\"',\n end: '\"',\n contains: [SUBST]\n },\n {\n // character literal\n className: 'string',\n begin: \"'\",\n end: \"'\"\n },\n {\n // numeric literal\n className: 'number',\n begin: '#[0-9a-fA-F_]+|\\\\$[01_]+|[0-9_]+(?:\\\\.[0-9_](?:[eE][+-]?\\\\d+)?)?[kMGTPmunpf]?',\n relevance: 0\n }\n ];\n SUBST.contains = EXPRESSIONS;\n\n return {\n name: 'Ceylon',\n keywords: {\n keyword: KEYWORDS + ' ' + DECLARATION_MODIFIERS,\n meta: DOCUMENTATION\n },\n illegal: '\\\\$[^01]|#[^0-9a-fA-F]',\n contains: [\n hljs.C_LINE_COMMENT_MODE,\n hljs.COMMENT('/\\\\*', '\\\\*/', {\n contains: ['self']\n }),\n {\n // compiler annotation\n className: 'meta',\n begin: '@[a-z]\\\\w*(?::\"[^\"]*\")?'\n }\n ].concat(EXPRESSIONS)\n };\n}\n\nmodule.exports = ceylon;\n","/*\nLanguage: BASIC\nAuthor: Raphaël Assénat \nDescription: Based on the BASIC reference from the Tandy 1000 guide\nWebsite: https://en.wikipedia.org/wiki/Tandy_1000\n*/\n\n/** @type LanguageFn */\nfunction basic(hljs) {\n return {\n name: 'BASIC',\n case_insensitive: true,\n illegal: '^\\.',\n // Support explicitly typed variables that end with $%! or #.\n keywords: {\n $pattern: '[a-zA-Z][a-zA-Z0-9_$%!#]*',\n keyword:\n 'ABS ASC AND ATN AUTO|0 BEEP BLOAD|10 BSAVE|10 CALL CALLS CDBL CHAIN CHDIR CHR$|10 CINT CIRCLE ' +\n 'CLEAR CLOSE CLS COLOR COM COMMON CONT COS CSNG CSRLIN CVD CVI CVS DATA DATE$ ' +\n 'DEFDBL DEFINT DEFSNG DEFSTR DEF|0 SEG USR DELETE DIM DRAW EDIT END ENVIRON ENVIRON$ ' +\n 'EOF EQV ERASE ERDEV ERDEV$ ERL ERR ERROR EXP FIELD FILES FIX FOR|0 FRE GET GOSUB|10 GOTO ' +\n 'HEX$ IF THEN ELSE|0 INKEY$ INP INPUT INPUT# INPUT$ INSTR IMP INT IOCTL IOCTL$ KEY ON ' +\n 'OFF LIST KILL LEFT$ LEN LET LINE LLIST LOAD LOC LOCATE LOF LOG LPRINT USING LSET ' +\n 'MERGE MID$ MKDIR MKD$ MKI$ MKS$ MOD NAME NEW NEXT NOISE NOT OCT$ ON OR PEN PLAY STRIG OPEN OPTION ' +\n 'BASE OUT PAINT PALETTE PCOPY PEEK PMAP POINT POKE POS PRINT PRINT] PSET PRESET ' +\n 'PUT RANDOMIZE READ REM RENUM RESET|0 RESTORE RESUME RETURN|0 RIGHT$ RMDIR RND RSET ' +\n 'RUN SAVE SCREEN SGN SHELL SIN SOUND SPACE$ SPC SQR STEP STICK STOP STR$ STRING$ SWAP ' +\n 'SYSTEM TAB TAN TIME$ TIMER TROFF TRON TO USR VAL VARPTR VARPTR$ VIEW WAIT WHILE ' +\n 'WEND WIDTH WINDOW WRITE XOR'\n },\n contains: [\n hljs.QUOTE_STRING_MODE,\n hljs.COMMENT('REM', '$', {\n relevance: 10\n }),\n hljs.COMMENT('\\'', '$', {\n relevance: 0\n }),\n {\n // Match line numbers\n className: 'symbol',\n begin: '^[0-9]+ ',\n relevance: 10\n },\n {\n // Match typed numeric constants (1000, 12.34!, 1.2e5, 1.5#, 1.2D2)\n className: 'number',\n begin: '\\\\b\\\\d+(\\\\.\\\\d+)?([edED]\\\\d+)?[#\\!]?',\n relevance: 0\n },\n {\n // Match hexadecimal numbers (&Hxxxx)\n className: 'number',\n begin: '(&[hH][0-9a-fA-F]{1,4})'\n },\n {\n // Match octal numbers (&Oxxxxxx)\n className: 'number',\n begin: '(&[oO][0-7]{1,6})'\n }\n ]\n };\n}\n\nmodule.exports = basic;\n","// https://docs.oracle.com/javase/specs/jls/se15/html/jls-3.html#jls-3.10\nvar decimalDigits = '[0-9](_*[0-9])*';\nvar frac = `\\\\.(${decimalDigits})`;\nvar hexDigits = '[0-9a-fA-F](_*[0-9a-fA-F])*';\nvar NUMERIC = {\n className: 'number',\n variants: [\n // DecimalFloatingPointLiteral\n // including ExponentPart\n { begin: `(\\\\b(${decimalDigits})((${frac})|\\\\.)?|(${frac}))` +\n `[eE][+-]?(${decimalDigits})[fFdD]?\\\\b` },\n // excluding ExponentPart\n { begin: `\\\\b(${decimalDigits})((${frac})[fFdD]?\\\\b|\\\\.([fFdD]\\\\b)?)` },\n { begin: `(${frac})[fFdD]?\\\\b` },\n { begin: `\\\\b(${decimalDigits})[fFdD]\\\\b` },\n\n // HexadecimalFloatingPointLiteral\n { begin: `\\\\b0[xX]((${hexDigits})\\\\.?|(${hexDigits})?\\\\.(${hexDigits}))` +\n `[pP][+-]?(${decimalDigits})[fFdD]?\\\\b` },\n\n // DecimalIntegerLiteral\n { begin: '\\\\b(0|[1-9](_*[0-9])*)[lL]?\\\\b' },\n\n // HexIntegerLiteral\n { begin: `\\\\b0[xX](${hexDigits})[lL]?\\\\b` },\n\n // OctalIntegerLiteral\n { begin: '\\\\b0(_*[0-7])*[lL]?\\\\b' },\n\n // BinaryIntegerLiteral\n { begin: '\\\\b0[bB][01](_*[01])*[lL]?\\\\b' },\n ],\n relevance: 0\n};\n\n/*\n Language: Kotlin\n Description: Kotlin is an OSS statically typed programming language that targets the JVM, Android, JavaScript and Native.\n Author: Sergey Mashkov \n Website: https://kotlinlang.org\n Category: common\n */\n\nfunction kotlin(hljs) {\n const KEYWORDS = {\n keyword:\n 'abstract as val var vararg get set class object open private protected public noinline ' +\n 'crossinline dynamic final enum if else do while for when throw try catch finally ' +\n 'import package is in fun override companion reified inline lateinit init ' +\n 'interface annotation data sealed internal infix operator out by constructor super ' +\n 'tailrec where const inner suspend typealias external expect actual',\n built_in:\n 'Byte Short Char Int Long Boolean Float Double Void Unit Nothing',\n literal:\n 'true false null'\n };\n const KEYWORDS_WITH_LABEL = {\n className: 'keyword',\n begin: /\\b(break|continue|return|this)\\b/,\n starts: {\n contains: [\n {\n className: 'symbol',\n begin: /@\\w+/\n }\n ]\n }\n };\n const LABEL = {\n className: 'symbol',\n begin: hljs.UNDERSCORE_IDENT_RE + '@'\n };\n\n // for string templates\n const SUBST = {\n className: 'subst',\n begin: /\\$\\{/,\n end: /\\}/,\n contains: [ hljs.C_NUMBER_MODE ]\n };\n const VARIABLE = {\n className: 'variable',\n begin: '\\\\$' + hljs.UNDERSCORE_IDENT_RE\n };\n const STRING = {\n className: 'string',\n variants: [\n {\n begin: '\"\"\"',\n end: '\"\"\"(?=[^\"])',\n contains: [\n VARIABLE,\n SUBST\n ]\n },\n // Can't use built-in modes easily, as we want to use STRING in the meta\n // context as 'meta-string' and there's no syntax to remove explicitly set\n // classNames in built-in modes.\n {\n begin: '\\'',\n end: '\\'',\n illegal: /\\n/,\n contains: [ hljs.BACKSLASH_ESCAPE ]\n },\n {\n begin: '\"',\n end: '\"',\n illegal: /\\n/,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n VARIABLE,\n SUBST\n ]\n }\n ]\n };\n SUBST.contains.push(STRING);\n\n const ANNOTATION_USE_SITE = {\n className: 'meta',\n begin: '@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\\\s*:(?:\\\\s*' + hljs.UNDERSCORE_IDENT_RE + ')?'\n };\n const ANNOTATION = {\n className: 'meta',\n begin: '@' + hljs.UNDERSCORE_IDENT_RE,\n contains: [\n {\n begin: /\\(/,\n end: /\\)/,\n contains: [\n hljs.inherit(STRING, {\n className: 'meta-string'\n })\n ]\n }\n ]\n };\n\n // https://kotlinlang.org/docs/reference/whatsnew11.html#underscores-in-numeric-literals\n // According to the doc above, the number mode of kotlin is the same as java 8,\n // so the code below is copied from java.js\n const KOTLIN_NUMBER_MODE = NUMERIC;\n const KOTLIN_NESTED_COMMENT = hljs.COMMENT(\n '/\\\\*', '\\\\*/',\n {\n contains: [ hljs.C_BLOCK_COMMENT_MODE ]\n }\n );\n const KOTLIN_PAREN_TYPE = {\n variants: [\n {\n className: 'type',\n begin: hljs.UNDERSCORE_IDENT_RE\n },\n {\n begin: /\\(/,\n end: /\\)/,\n contains: [] // defined later\n }\n ]\n };\n const KOTLIN_PAREN_TYPE2 = KOTLIN_PAREN_TYPE;\n KOTLIN_PAREN_TYPE2.variants[1].contains = [ KOTLIN_PAREN_TYPE ];\n KOTLIN_PAREN_TYPE.variants[1].contains = [ KOTLIN_PAREN_TYPE2 ];\n\n return {\n name: 'Kotlin',\n aliases: [ 'kt', 'kts' ],\n keywords: KEYWORDS,\n contains: [\n hljs.COMMENT(\n '/\\\\*\\\\*',\n '\\\\*/',\n {\n relevance: 0,\n contains: [\n {\n className: 'doctag',\n begin: '@[A-Za-z]+'\n }\n ]\n }\n ),\n hljs.C_LINE_COMMENT_MODE,\n KOTLIN_NESTED_COMMENT,\n KEYWORDS_WITH_LABEL,\n LABEL,\n ANNOTATION_USE_SITE,\n ANNOTATION,\n {\n className: 'function',\n beginKeywords: 'fun',\n end: '[(]|$',\n returnBegin: true,\n excludeEnd: true,\n keywords: KEYWORDS,\n relevance: 5,\n contains: [\n {\n begin: hljs.UNDERSCORE_IDENT_RE + '\\\\s*\\\\(',\n returnBegin: true,\n relevance: 0,\n contains: [ hljs.UNDERSCORE_TITLE_MODE ]\n },\n {\n className: 'type',\n begin: //,\n keywords: 'reified',\n relevance: 0\n },\n {\n className: 'params',\n begin: /\\(/,\n end: /\\)/,\n endsParent: true,\n keywords: KEYWORDS,\n relevance: 0,\n contains: [\n {\n begin: /:/,\n end: /[=,\\/]/,\n endsWithParent: true,\n contains: [\n KOTLIN_PAREN_TYPE,\n hljs.C_LINE_COMMENT_MODE,\n KOTLIN_NESTED_COMMENT\n ],\n relevance: 0\n },\n hljs.C_LINE_COMMENT_MODE,\n KOTLIN_NESTED_COMMENT,\n ANNOTATION_USE_SITE,\n ANNOTATION,\n STRING,\n hljs.C_NUMBER_MODE\n ]\n },\n KOTLIN_NESTED_COMMENT\n ]\n },\n {\n className: 'class',\n beginKeywords: 'class interface trait', // remove 'trait' when removed from KEYWORDS\n end: /[:\\{(]|$/,\n excludeEnd: true,\n illegal: 'extends implements',\n contains: [\n {\n beginKeywords: 'public protected internal private constructor'\n },\n hljs.UNDERSCORE_TITLE_MODE,\n {\n className: 'type',\n begin: //,\n excludeBegin: true,\n excludeEnd: true,\n relevance: 0\n },\n {\n className: 'type',\n begin: /[,:]\\s*/,\n end: /[<\\(,]|$/,\n excludeBegin: true,\n returnEnd: true\n },\n ANNOTATION_USE_SITE,\n ANNOTATION\n ]\n },\n STRING,\n {\n className: 'meta',\n begin: \"^#!/usr/bin/env\",\n end: '$',\n illegal: '\\n'\n },\n KOTLIN_NUMBER_MODE\n ]\n };\n}\n\nmodule.exports = kotlin;\n","const IDENT_RE = '[A-Za-z$_][0-9A-Za-z$_]*';\nconst KEYWORDS = [\n \"as\", // for exports\n \"in\",\n \"of\",\n \"if\",\n \"for\",\n \"while\",\n \"finally\",\n \"var\",\n \"new\",\n \"function\",\n \"do\",\n \"return\",\n \"void\",\n \"else\",\n \"break\",\n \"catch\",\n \"instanceof\",\n \"with\",\n \"throw\",\n \"case\",\n \"default\",\n \"try\",\n \"switch\",\n \"continue\",\n \"typeof\",\n \"delete\",\n \"let\",\n \"yield\",\n \"const\",\n \"class\",\n // JS handles these with a special rule\n // \"get\",\n // \"set\",\n \"debugger\",\n \"async\",\n \"await\",\n \"static\",\n \"import\",\n \"from\",\n \"export\",\n \"extends\"\n];\nconst LITERALS = [\n \"true\",\n \"false\",\n \"null\",\n \"undefined\",\n \"NaN\",\n \"Infinity\"\n];\n\nconst TYPES = [\n \"Intl\",\n \"DataView\",\n \"Number\",\n \"Math\",\n \"Date\",\n \"String\",\n \"RegExp\",\n \"Object\",\n \"Function\",\n \"Boolean\",\n \"Error\",\n \"Symbol\",\n \"Set\",\n \"Map\",\n \"WeakSet\",\n \"WeakMap\",\n \"Proxy\",\n \"Reflect\",\n \"JSON\",\n \"Promise\",\n \"Float64Array\",\n \"Int16Array\",\n \"Int32Array\",\n \"Int8Array\",\n \"Uint16Array\",\n \"Uint32Array\",\n \"Float32Array\",\n \"Array\",\n \"Uint8Array\",\n \"Uint8ClampedArray\",\n \"ArrayBuffer\",\n \"BigInt64Array\",\n \"BigUint64Array\",\n \"BigInt\"\n];\n\nconst ERROR_TYPES = [\n \"EvalError\",\n \"InternalError\",\n \"RangeError\",\n \"ReferenceError\",\n \"SyntaxError\",\n \"TypeError\",\n \"URIError\"\n];\n\nconst BUILT_IN_GLOBALS = [\n \"setInterval\",\n \"setTimeout\",\n \"clearInterval\",\n \"clearTimeout\",\n\n \"require\",\n \"exports\",\n\n \"eval\",\n \"isFinite\",\n \"isNaN\",\n \"parseFloat\",\n \"parseInt\",\n \"decodeURI\",\n \"decodeURIComponent\",\n \"encodeURI\",\n \"encodeURIComponent\",\n \"escape\",\n \"unescape\"\n];\n\nconst BUILT_IN_VARIABLES = [\n \"arguments\",\n \"this\",\n \"super\",\n \"console\",\n \"window\",\n \"document\",\n \"localStorage\",\n \"module\",\n \"global\" // Node.js\n];\n\nconst BUILT_INS = [].concat(\n BUILT_IN_GLOBALS,\n BUILT_IN_VARIABLES,\n TYPES,\n ERROR_TYPES\n);\n\n/**\n * @param {string} value\n * @returns {RegExp}\n * */\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction source(re) {\n if (!re) return null;\n if (typeof re === \"string\") return re;\n\n return re.source;\n}\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction lookahead(re) {\n return concat('(?=', re, ')');\n}\n\n/**\n * @param {...(RegExp | string) } args\n * @returns {string}\n */\nfunction concat(...args) {\n const joined = args.map((x) => source(x)).join(\"\");\n return joined;\n}\n\n/*\nLanguage: JavaScript\nDescription: JavaScript (JS) is a lightweight, interpreted, or just-in-time compiled programming language with first-class functions.\nCategory: common, scripting\nWebsite: https://developer.mozilla.org/en-US/docs/Web/JavaScript\n*/\n\n/** @type LanguageFn */\nfunction javascript(hljs) {\n /**\n * Takes a string like \" {\n const tag = \"',\n end: ''\n };\n const XML_TAG = {\n begin: /<[A-Za-z0-9\\\\._:-]+/,\n end: /\\/[A-Za-z0-9\\\\._:-]+>|\\/>/,\n /**\n * @param {RegExpMatchArray} match\n * @param {CallbackResponse} response\n */\n isTrulyOpeningTag: (match, response) => {\n const afterMatchIndex = match[0].length + match.index;\n const nextChar = match.input[afterMatchIndex];\n // nested type?\n // HTML should not include another raw `<` inside a tag\n // But a type might: `>`, etc.\n if (nextChar === \"<\") {\n response.ignoreMatch();\n return;\n }\n // \n // This is now either a tag or a type.\n if (nextChar === \">\") {\n // if we cannot find a matching closing tag, then we\n // will ignore it\n if (!hasClosingTag(match, { after: afterMatchIndex })) {\n response.ignoreMatch();\n }\n }\n }\n };\n const KEYWORDS$1 = {\n $pattern: IDENT_RE,\n keyword: KEYWORDS,\n literal: LITERALS,\n built_in: BUILT_INS\n };\n\n // https://tc39.es/ecma262/#sec-literals-numeric-literals\n const decimalDigits = '[0-9](_?[0-9])*';\n const frac = `\\\\.(${decimalDigits})`;\n // DecimalIntegerLiteral, including Annex B NonOctalDecimalIntegerLiteral\n // https://tc39.es/ecma262/#sec-additional-syntax-numeric-literals\n const decimalInteger = `0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*`;\n const NUMBER = {\n className: 'number',\n variants: [\n // DecimalLiteral\n { begin: `(\\\\b(${decimalInteger})((${frac})|\\\\.)?|(${frac}))` +\n `[eE][+-]?(${decimalDigits})\\\\b` },\n { begin: `\\\\b(${decimalInteger})\\\\b((${frac})\\\\b|\\\\.)?|(${frac})\\\\b` },\n\n // DecimalBigIntegerLiteral\n { begin: `\\\\b(0|[1-9](_?[0-9])*)n\\\\b` },\n\n // NonDecimalIntegerLiteral\n { begin: \"\\\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\\\b\" },\n { begin: \"\\\\b0[bB][0-1](_?[0-1])*n?\\\\b\" },\n { begin: \"\\\\b0[oO][0-7](_?[0-7])*n?\\\\b\" },\n\n // LegacyOctalIntegerLiteral (does not include underscore separators)\n // https://tc39.es/ecma262/#sec-additional-syntax-numeric-literals\n { begin: \"\\\\b0[0-7]+n?\\\\b\" },\n ],\n relevance: 0\n };\n\n const SUBST = {\n className: 'subst',\n begin: '\\\\$\\\\{',\n end: '\\\\}',\n keywords: KEYWORDS$1,\n contains: [] // defined later\n };\n const HTML_TEMPLATE = {\n begin: 'html`',\n end: '',\n starts: {\n end: '`',\n returnEnd: false,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ],\n subLanguage: 'xml'\n }\n };\n const CSS_TEMPLATE = {\n begin: 'css`',\n end: '',\n starts: {\n end: '`',\n returnEnd: false,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ],\n subLanguage: 'css'\n }\n };\n const TEMPLATE_STRING = {\n className: 'string',\n begin: '`',\n end: '`',\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ]\n };\n const JSDOC_COMMENT = hljs.COMMENT(\n /\\/\\*\\*(?!\\/)/,\n '\\\\*/',\n {\n relevance: 0,\n contains: [\n {\n className: 'doctag',\n begin: '@[A-Za-z]+',\n contains: [\n {\n className: 'type',\n begin: '\\\\{',\n end: '\\\\}',\n relevance: 0\n },\n {\n className: 'variable',\n begin: IDENT_RE$1 + '(?=\\\\s*(-)|$)',\n endsParent: true,\n relevance: 0\n },\n // eat spaces (not newlines) so we can find\n // types or variables\n {\n begin: /(?=[^\\n])\\s/,\n relevance: 0\n }\n ]\n }\n ]\n }\n );\n const COMMENT = {\n className: \"comment\",\n variants: [\n JSDOC_COMMENT,\n hljs.C_BLOCK_COMMENT_MODE,\n hljs.C_LINE_COMMENT_MODE\n ]\n };\n const SUBST_INTERNALS = [\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE,\n HTML_TEMPLATE,\n CSS_TEMPLATE,\n TEMPLATE_STRING,\n NUMBER,\n hljs.REGEXP_MODE\n ];\n SUBST.contains = SUBST_INTERNALS\n .concat({\n // we need to pair up {} inside our subst to prevent\n // it from ending too early by matching another }\n begin: /\\{/,\n end: /\\}/,\n keywords: KEYWORDS$1,\n contains: [\n \"self\"\n ].concat(SUBST_INTERNALS)\n });\n const SUBST_AND_COMMENTS = [].concat(COMMENT, SUBST.contains);\n const PARAMS_CONTAINS = SUBST_AND_COMMENTS.concat([\n // eat recursive parens in sub expressions\n {\n begin: /\\(/,\n end: /\\)/,\n keywords: KEYWORDS$1,\n contains: [\"self\"].concat(SUBST_AND_COMMENTS)\n }\n ]);\n const PARAMS = {\n className: 'params',\n begin: /\\(/,\n end: /\\)/,\n excludeBegin: true,\n excludeEnd: true,\n keywords: KEYWORDS$1,\n contains: PARAMS_CONTAINS\n };\n\n return {\n name: 'Javascript',\n aliases: ['js', 'jsx', 'mjs', 'cjs'],\n keywords: KEYWORDS$1,\n // this will be extended by TypeScript\n exports: { PARAMS_CONTAINS },\n illegal: /#(?![$_A-z])/,\n contains: [\n hljs.SHEBANG({\n label: \"shebang\",\n binary: \"node\",\n relevance: 5\n }),\n {\n label: \"use_strict\",\n className: 'meta',\n relevance: 10,\n begin: /^\\s*['\"]use (strict|asm)['\"]/\n },\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE,\n HTML_TEMPLATE,\n CSS_TEMPLATE,\n TEMPLATE_STRING,\n COMMENT,\n NUMBER,\n { // object attr container\n begin: concat(/[{,\\n]\\s*/,\n // we need to look ahead to make sure that we actually have an\n // attribute coming up so we don't steal a comma from a potential\n // \"value\" container\n //\n // NOTE: this might not work how you think. We don't actually always\n // enter this mode and stay. Instead it might merely match `,\n // ` and then immediately end after the , because it\n // fails to find any actual attrs. But this still does the job because\n // it prevents the value contain rule from grabbing this instead and\n // prevening this rule from firing when we actually DO have keys.\n lookahead(concat(\n // we also need to allow for multiple possible comments inbetween\n // the first key:value pairing\n /(((\\/\\/.*$)|(\\/\\*(\\*[^/]|[^*])*\\*\\/))\\s*)*/,\n IDENT_RE$1 + '\\\\s*:'))),\n relevance: 0,\n contains: [\n {\n className: 'attr',\n begin: IDENT_RE$1 + lookahead('\\\\s*:'),\n relevance: 0\n }\n ]\n },\n { // \"value\" container\n begin: '(' + hljs.RE_STARTERS_RE + '|\\\\b(case|return|throw)\\\\b)\\\\s*',\n keywords: 'return throw case',\n contains: [\n COMMENT,\n hljs.REGEXP_MODE,\n {\n className: 'function',\n // we have to count the parens to make sure we actually have the\n // correct bounding ( ) before the =>. There could be any number of\n // sub-expressions inside also surrounded by parens.\n begin: '(\\\\(' +\n '[^()]*(\\\\(' +\n '[^()]*(\\\\(' +\n '[^()]*' +\n '\\\\)[^()]*)*' +\n '\\\\)[^()]*)*' +\n '\\\\)|' + hljs.UNDERSCORE_IDENT_RE + ')\\\\s*=>',\n returnBegin: true,\n end: '\\\\s*=>',\n contains: [\n {\n className: 'params',\n variants: [\n {\n begin: hljs.UNDERSCORE_IDENT_RE,\n relevance: 0\n },\n {\n className: null,\n begin: /\\(\\s*\\)/,\n skip: true\n },\n {\n begin: /\\(/,\n end: /\\)/,\n excludeBegin: true,\n excludeEnd: true,\n keywords: KEYWORDS$1,\n contains: PARAMS_CONTAINS\n }\n ]\n }\n ]\n },\n { // could be a comma delimited list of params to a function call\n begin: /,/, relevance: 0\n },\n {\n className: '',\n begin: /\\s/,\n end: /\\s*/,\n skip: true\n },\n { // JSX\n variants: [\n { begin: FRAGMENT.begin, end: FRAGMENT.end },\n {\n begin: XML_TAG.begin,\n // we carefully check the opening tag to see if it truly\n // is a tag and not a false positive\n 'on:begin': XML_TAG.isTrulyOpeningTag,\n end: XML_TAG.end\n }\n ],\n subLanguage: 'xml',\n contains: [\n {\n begin: XML_TAG.begin,\n end: XML_TAG.end,\n skip: true,\n contains: ['self']\n }\n ]\n }\n ],\n relevance: 0\n },\n {\n className: 'function',\n beginKeywords: 'function',\n end: /[{;]/,\n excludeEnd: true,\n keywords: KEYWORDS$1,\n contains: [\n 'self',\n hljs.inherit(hljs.TITLE_MODE, { begin: IDENT_RE$1 }),\n PARAMS\n ],\n illegal: /%/\n },\n {\n // prevent this from getting swallowed up by function\n // since they appear \"function like\"\n beginKeywords: \"while if switch catch for\"\n },\n {\n className: 'function',\n // we have to count the parens to make sure we actually have the correct\n // bounding ( ). There could be any number of sub-expressions inside\n // also surrounded by parens.\n begin: hljs.UNDERSCORE_IDENT_RE +\n '\\\\(' + // first parens\n '[^()]*(\\\\(' +\n '[^()]*(\\\\(' +\n '[^()]*' +\n '\\\\)[^()]*)*' +\n '\\\\)[^()]*)*' +\n '\\\\)\\\\s*\\\\{', // end parens\n returnBegin:true,\n contains: [\n PARAMS,\n hljs.inherit(hljs.TITLE_MODE, { begin: IDENT_RE$1 }),\n ]\n },\n // hack: prevents detection of keywords in some circumstances\n // .keyword()\n // $keyword = x\n {\n variants: [\n { begin: '\\\\.' + IDENT_RE$1 },\n { begin: '\\\\$' + IDENT_RE$1 }\n ],\n relevance: 0\n },\n { // ES6 class\n className: 'class',\n beginKeywords: 'class',\n end: /[{;=]/,\n excludeEnd: true,\n illegal: /[:\"[\\]]/,\n contains: [\n { beginKeywords: 'extends' },\n hljs.UNDERSCORE_TITLE_MODE\n ]\n },\n {\n begin: /\\b(?=constructor)/,\n end: /[{;]/,\n excludeEnd: true,\n contains: [\n hljs.inherit(hljs.TITLE_MODE, { begin: IDENT_RE$1 }),\n 'self',\n PARAMS\n ]\n },\n {\n begin: '(get|set)\\\\s+(?=' + IDENT_RE$1 + '\\\\()',\n end: /\\{/,\n keywords: \"get set\",\n contains: [\n hljs.inherit(hljs.TITLE_MODE, { begin: IDENT_RE$1 }),\n { begin: /\\(\\)/ }, // eat to avoid empty params\n PARAMS\n ]\n },\n {\n begin: /\\$[(.]/ // relevance booster for a pattern common to JS libs: `$(something)` and `$.something`\n }\n ]\n };\n}\n\n/*\nLanguage: TypeScript\nAuthor: Panu Horsmalahti \nContributors: Ike Ku \nDescription: TypeScript is a strict superset of JavaScript\nWebsite: https://www.typescriptlang.org\nCategory: common, scripting\n*/\n\n/** @type LanguageFn */\nfunction typescript(hljs) {\n const IDENT_RE$1 = IDENT_RE;\n const NAMESPACE = {\n beginKeywords: 'namespace', end: /\\{/, excludeEnd: true\n };\n const INTERFACE = {\n beginKeywords: 'interface', end: /\\{/, excludeEnd: true,\n keywords: 'interface extends'\n };\n const USE_STRICT = {\n className: 'meta',\n relevance: 10,\n begin: /^\\s*['\"]use strict['\"]/\n };\n const TYPES = [\n \"any\",\n \"void\",\n \"number\",\n \"boolean\",\n \"string\",\n \"object\",\n \"never\",\n \"enum\"\n ];\n const TS_SPECIFIC_KEYWORDS = [\n \"type\",\n \"namespace\",\n \"typedef\",\n \"interface\",\n \"public\",\n \"private\",\n \"protected\",\n \"implements\",\n \"declare\",\n \"abstract\",\n \"readonly\"\n ];\n const KEYWORDS$1 = {\n $pattern: IDENT_RE,\n keyword: KEYWORDS.concat(TS_SPECIFIC_KEYWORDS),\n literal: LITERALS,\n built_in: BUILT_INS.concat(TYPES)\n };\n const DECORATOR = {\n className: 'meta',\n begin: '@' + IDENT_RE$1,\n };\n\n const swapMode = (mode, label, replacement) => {\n const indx = mode.contains.findIndex(m => m.label === label);\n if (indx === -1) { throw new Error(\"can not find mode to replace\"); }\n mode.contains.splice(indx, 1, replacement);\n };\n\n const tsLanguage = javascript(hljs);\n\n // this should update anywhere keywords is used since\n // it will be the same actual JS object\n Object.assign(tsLanguage.keywords, KEYWORDS$1);\n\n tsLanguage.exports.PARAMS_CONTAINS.push(DECORATOR);\n tsLanguage.contains = tsLanguage.contains.concat([\n DECORATOR,\n NAMESPACE,\n INTERFACE,\n ]);\n\n // TS gets a simpler shebang rule than JS\n swapMode(tsLanguage, \"shebang\", hljs.SHEBANG());\n // JS use strict rule purposely excludes `asm` which makes no sense\n swapMode(tsLanguage, \"use_strict\", USE_STRICT);\n\n const functionDeclaration = tsLanguage.contains.find(m => m.className === \"function\");\n functionDeclaration.relevance = 0; // () => {} is more typical in TypeScript\n\n Object.assign(tsLanguage, {\n name: 'TypeScript',\n aliases: ['ts', 'tsx']\n });\n\n return tsLanguage;\n}\n\nmodule.exports = typescript;\n","/*\nLanguage: Mercury\nAuthor: mucaho \nDescription: Mercury is a logic/functional programming language which combines the clarity and expressiveness of declarative programming with advanced static analysis and error detection features.\nWebsite: https://www.mercurylang.org\n*/\n\nfunction mercury(hljs) {\n const KEYWORDS = {\n keyword:\n 'module use_module import_module include_module end_module initialise ' +\n 'mutable initialize finalize finalise interface implementation pred ' +\n 'mode func type inst solver any_pred any_func is semidet det nondet ' +\n 'multi erroneous failure cc_nondet cc_multi typeclass instance where ' +\n 'pragma promise external trace atomic or_else require_complete_switch ' +\n 'require_det require_semidet require_multi require_nondet ' +\n 'require_cc_multi require_cc_nondet require_erroneous require_failure',\n meta:\n // pragma\n 'inline no_inline type_spec source_file fact_table obsolete memo ' +\n 'loop_check minimal_model terminates does_not_terminate ' +\n 'check_termination promise_equivalent_clauses ' +\n // preprocessor\n 'foreign_proc foreign_decl foreign_code foreign_type ' +\n 'foreign_import_module foreign_export_enum foreign_export ' +\n 'foreign_enum may_call_mercury will_not_call_mercury thread_safe ' +\n 'not_thread_safe maybe_thread_safe promise_pure promise_semipure ' +\n 'tabled_for_io local untrailed trailed attach_to_io_state ' +\n 'can_pass_as_mercury_type stable will_not_throw_exception ' +\n 'may_modify_trail will_not_modify_trail may_duplicate ' +\n 'may_not_duplicate affects_liveness does_not_affect_liveness ' +\n 'doesnt_affect_liveness no_sharing unknown_sharing sharing',\n built_in:\n 'some all not if then else true fail false try catch catch_any ' +\n 'semidet_true semidet_false semidet_fail impure_true impure semipure'\n };\n\n const COMMENT = hljs.COMMENT('%', '$');\n\n const NUMCODE = {\n className: 'number',\n begin: \"0'.\\\\|0[box][0-9a-fA-F]*\"\n };\n\n const ATOM = hljs.inherit(hljs.APOS_STRING_MODE, {\n relevance: 0\n });\n const STRING = hljs.inherit(hljs.QUOTE_STRING_MODE, {\n relevance: 0\n });\n const STRING_FMT = {\n className: 'subst',\n begin: '\\\\\\\\[abfnrtv]\\\\|\\\\\\\\x[0-9a-fA-F]*\\\\\\\\\\\\|%[-+# *.0-9]*[dioxXucsfeEgGp]',\n relevance: 0\n };\n STRING.contains = STRING.contains.slice(); // we need our own copy of contains\n STRING.contains.push(STRING_FMT);\n\n const IMPLICATION = {\n className: 'built_in',\n variants: [\n {\n begin: '<=>'\n },\n {\n begin: '<=',\n relevance: 0\n },\n {\n begin: '=>',\n relevance: 0\n },\n {\n begin: '/\\\\\\\\'\n },\n {\n begin: '\\\\\\\\/'\n }\n ]\n };\n\n const HEAD_BODY_CONJUNCTION = {\n className: 'built_in',\n variants: [\n {\n begin: ':-\\\\|-->'\n },\n {\n begin: '=',\n relevance: 0\n }\n ]\n };\n\n return {\n name: 'Mercury',\n aliases: [\n 'm',\n 'moo'\n ],\n keywords: KEYWORDS,\n contains: [\n IMPLICATION,\n HEAD_BODY_CONJUNCTION,\n COMMENT,\n hljs.C_BLOCK_COMMENT_MODE,\n NUMCODE,\n hljs.NUMBER_MODE,\n ATOM,\n STRING,\n { // relevance booster\n begin: /:-/\n },\n { // relevance booster\n begin: /\\.$/\n }\n ]\n };\n}\n\nmodule.exports = mercury;\n","/*\nLanguage: PHP Template\nRequires: xml.js, php.js\nAuthor: Josh Goebel \nWebsite: https://www.php.net\nCategory: common\n*/\n\nfunction phpTemplate(hljs) {\n return {\n name: \"PHP template\",\n subLanguage: 'xml',\n contains: [\n {\n begin: /<\\?(php|=)?/,\n end: /\\?>/,\n subLanguage: 'php',\n contains: [\n // We don't want the php closing tag ?> to close the PHP block when\n // inside any of the following blocks:\n {\n begin: '/\\\\*',\n end: '\\\\*/',\n skip: true\n },\n {\n begin: 'b\"',\n end: '\"',\n skip: true\n },\n {\n begin: 'b\\'',\n end: '\\'',\n skip: true\n },\n hljs.inherit(hljs.APOS_STRING_MODE, {\n illegal: null,\n className: null,\n contains: null,\n skip: true\n }),\n hljs.inherit(hljs.QUOTE_STRING_MODE, {\n illegal: null,\n className: null,\n contains: null,\n skip: true\n })\n ]\n }\n ]\n };\n}\n\nmodule.exports = phpTemplate;\n","export const fieldTagNames = {\n // TIFF Baseline\n 0x013B: 'Artist',\n 0x0102: 'BitsPerSample',\n 0x0109: 'CellLength',\n 0x0108: 'CellWidth',\n 0x0140: 'ColorMap',\n 0x0103: 'Compression',\n 0x8298: 'Copyright',\n 0x0132: 'DateTime',\n 0x0152: 'ExtraSamples',\n 0x010A: 'FillOrder',\n 0x0121: 'FreeByteCounts',\n 0x0120: 'FreeOffsets',\n 0x0123: 'GrayResponseCurve',\n 0x0122: 'GrayResponseUnit',\n 0x013C: 'HostComputer',\n 0x010E: 'ImageDescription',\n 0x0101: 'ImageLength',\n 0x0100: 'ImageWidth',\n 0x010F: 'Make',\n 0x0119: 'MaxSampleValue',\n 0x0118: 'MinSampleValue',\n 0x0110: 'Model',\n 0x00FE: 'NewSubfileType',\n 0x0112: 'Orientation',\n 0x0106: 'PhotometricInterpretation',\n 0x011C: 'PlanarConfiguration',\n 0x0128: 'ResolutionUnit',\n 0x0116: 'RowsPerStrip',\n 0x0115: 'SamplesPerPixel',\n 0x0131: 'Software',\n 0x0117: 'StripByteCounts',\n 0x0111: 'StripOffsets',\n 0x00FF: 'SubfileType',\n 0x0107: 'Threshholding',\n 0x011A: 'XResolution',\n 0x011B: 'YResolution',\n\n // TIFF Extended\n 0x0146: 'BadFaxLines',\n 0x0147: 'CleanFaxData',\n 0x0157: 'ClipPath',\n 0x0148: 'ConsecutiveBadFaxLines',\n 0x01B1: 'Decode',\n 0x01B2: 'DefaultImageColor',\n 0x010D: 'DocumentName',\n 0x0150: 'DotRange',\n 0x0141: 'HalftoneHints',\n 0x015A: 'Indexed',\n 0x015B: 'JPEGTables',\n 0x011D: 'PageName',\n 0x0129: 'PageNumber',\n 0x013D: 'Predictor',\n 0x013F: 'PrimaryChromaticities',\n 0x0214: 'ReferenceBlackWhite',\n 0x0153: 'SampleFormat',\n 0x0154: 'SMinSampleValue',\n 0x0155: 'SMaxSampleValue',\n 0x022F: 'StripRowCounts',\n 0x014A: 'SubIFDs',\n 0x0124: 'T4Options',\n 0x0125: 'T6Options',\n 0x0145: 'TileByteCounts',\n 0x0143: 'TileLength',\n 0x0144: 'TileOffsets',\n 0x0142: 'TileWidth',\n 0x012D: 'TransferFunction',\n 0x013E: 'WhitePoint',\n 0x0158: 'XClipPathUnits',\n 0x011E: 'XPosition',\n 0x0211: 'YCbCrCoefficients',\n 0x0213: 'YCbCrPositioning',\n 0x0212: 'YCbCrSubSampling',\n 0x0159: 'YClipPathUnits',\n 0x011F: 'YPosition',\n\n // EXIF\n 0x9202: 'ApertureValue',\n 0xA001: 'ColorSpace',\n 0x9004: 'DateTimeDigitized',\n 0x9003: 'DateTimeOriginal',\n 0x8769: 'Exif IFD',\n 0x9000: 'ExifVersion',\n 0x829A: 'ExposureTime',\n 0xA300: 'FileSource',\n 0x9209: 'Flash',\n 0xA000: 'FlashpixVersion',\n 0x829D: 'FNumber',\n 0xA420: 'ImageUniqueID',\n 0x9208: 'LightSource',\n 0x927C: 'MakerNote',\n 0x9201: 'ShutterSpeedValue',\n 0x9286: 'UserComment',\n\n // IPTC\n 0x83BB: 'IPTC',\n\n // ICC\n 0x8773: 'ICC Profile',\n\n // XMP\n 0x02BC: 'XMP',\n\n // GDAL\n 0xA480: 'GDAL_METADATA',\n 0xA481: 'GDAL_NODATA',\n\n // Photoshop\n 0x8649: 'Photoshop',\n\n // GeoTiff\n 0x830E: 'ModelPixelScale',\n 0x8482: 'ModelTiepoint',\n 0x85D8: 'ModelTransformation',\n 0x87AF: 'GeoKeyDirectory',\n 0x87B0: 'GeoDoubleParams',\n 0x87B1: 'GeoAsciiParams',\n\n // LERC\n 0xC5F2: 'LercParameters',\n};\n\nexport const fieldTags = {};\nfor (const key in fieldTagNames) {\n if (fieldTagNames.hasOwnProperty(key)) {\n fieldTags[fieldTagNames[key]] = parseInt(key, 10);\n }\n}\n\nexport const fieldTagTypes = {\n 256: 'SHORT',\n 257: 'SHORT',\n 258: 'SHORT',\n 259: 'SHORT',\n 262: 'SHORT',\n 273: 'LONG',\n 274: 'SHORT',\n 277: 'SHORT',\n 278: 'LONG',\n 279: 'LONG',\n 282: 'RATIONAL',\n 283: 'RATIONAL',\n 284: 'SHORT',\n 286: 'SHORT',\n 287: 'RATIONAL',\n 296: 'SHORT',\n 297: 'SHORT',\n 305: 'ASCII',\n 306: 'ASCII',\n 338: 'SHORT',\n 339: 'SHORT',\n 513: 'LONG',\n 514: 'LONG',\n 1024: 'SHORT',\n 1025: 'SHORT',\n 2048: 'SHORT',\n 2049: 'ASCII',\n 3072: 'SHORT',\n 3073: 'ASCII',\n 33550: 'DOUBLE',\n 33922: 'DOUBLE',\n 34264: 'DOUBLE',\n 34665: 'LONG',\n 34735: 'SHORT',\n 34736: 'DOUBLE',\n 34737: 'ASCII',\n 42113: 'ASCII',\n};\n\nexport const arrayFields = [\n fieldTags.BitsPerSample,\n fieldTags.ExtraSamples,\n fieldTags.SampleFormat,\n fieldTags.StripByteCounts,\n fieldTags.StripOffsets,\n fieldTags.StripRowCounts,\n fieldTags.TileByteCounts,\n fieldTags.TileOffsets,\n fieldTags.SubIFDs,\n];\n\nexport const fieldTypeNames = {\n 0x0001: 'BYTE',\n 0x0002: 'ASCII',\n 0x0003: 'SHORT',\n 0x0004: 'LONG',\n 0x0005: 'RATIONAL',\n 0x0006: 'SBYTE',\n 0x0007: 'UNDEFINED',\n 0x0008: 'SSHORT',\n 0x0009: 'SLONG',\n 0x000A: 'SRATIONAL',\n 0x000B: 'FLOAT',\n 0x000C: 'DOUBLE',\n // IFD offset, suggested by https://owl.phy.queensu.ca/~phil/exiftool/standards.html\n 0x000D: 'IFD',\n // introduced by BigTIFF\n 0x0010: 'LONG8',\n 0x0011: 'SLONG8',\n 0x0012: 'IFD8',\n};\n\nexport const fieldTypes = {};\nfor (const key in fieldTypeNames) {\n if (fieldTypeNames.hasOwnProperty(key)) {\n fieldTypes[fieldTypeNames[key]] = parseInt(key, 10);\n }\n}\n\nexport const photometricInterpretations = {\n WhiteIsZero: 0,\n BlackIsZero: 1,\n RGB: 2,\n Palette: 3,\n TransparencyMask: 4,\n CMYK: 5,\n YCbCr: 6,\n\n CIELab: 8,\n ICCLab: 9,\n};\n\nexport const ExtraSamplesValues = {\n Unspecified: 0,\n Assocalpha: 1,\n Unassalpha: 2,\n};\n\nexport const LercParameters = {\n Version: 0,\n AddCompression: 1,\n};\n\nexport const LercAddCompression = {\n None: 0,\n Deflate: 1,\n Zstandard: 2,\n};\n\nexport const geoKeyNames = {\n 1024: 'GTModelTypeGeoKey',\n 1025: 'GTRasterTypeGeoKey',\n 1026: 'GTCitationGeoKey',\n 2048: 'GeographicTypeGeoKey',\n 2049: 'GeogCitationGeoKey',\n 2050: 'GeogGeodeticDatumGeoKey',\n 2051: 'GeogPrimeMeridianGeoKey',\n 2052: 'GeogLinearUnitsGeoKey',\n 2053: 'GeogLinearUnitSizeGeoKey',\n 2054: 'GeogAngularUnitsGeoKey',\n 2055: 'GeogAngularUnitSizeGeoKey',\n 2056: 'GeogEllipsoidGeoKey',\n 2057: 'GeogSemiMajorAxisGeoKey',\n 2058: 'GeogSemiMinorAxisGeoKey',\n 2059: 'GeogInvFlatteningGeoKey',\n 2060: 'GeogAzimuthUnitsGeoKey',\n 2061: 'GeogPrimeMeridianLongGeoKey',\n 2062: 'GeogTOWGS84GeoKey',\n 3072: 'ProjectedCSTypeGeoKey',\n 3073: 'PCSCitationGeoKey',\n 3074: 'ProjectionGeoKey',\n 3075: 'ProjCoordTransGeoKey',\n 3076: 'ProjLinearUnitsGeoKey',\n 3077: 'ProjLinearUnitSizeGeoKey',\n 3078: 'ProjStdParallel1GeoKey',\n 3079: 'ProjStdParallel2GeoKey',\n 3080: 'ProjNatOriginLongGeoKey',\n 3081: 'ProjNatOriginLatGeoKey',\n 3082: 'ProjFalseEastingGeoKey',\n 3083: 'ProjFalseNorthingGeoKey',\n 3084: 'ProjFalseOriginLongGeoKey',\n 3085: 'ProjFalseOriginLatGeoKey',\n 3086: 'ProjFalseOriginEastingGeoKey',\n 3087: 'ProjFalseOriginNorthingGeoKey',\n 3088: 'ProjCenterLongGeoKey',\n 3089: 'ProjCenterLatGeoKey',\n 3090: 'ProjCenterEastingGeoKey',\n 3091: 'ProjCenterNorthingGeoKey',\n 3092: 'ProjScaleAtNatOriginGeoKey',\n 3093: 'ProjScaleAtCenterGeoKey',\n 3094: 'ProjAzimuthAngleGeoKey',\n 3095: 'ProjStraightVertPoleLongGeoKey',\n 3096: 'ProjRectifiedGridAngleGeoKey',\n 4096: 'VerticalCSTypeGeoKey',\n 4097: 'VerticalCitationGeoKey',\n 4098: 'VerticalDatumGeoKey',\n 4099: 'VerticalUnitsGeoKey',\n};\n\nexport const geoKeys = {};\nfor (const key in geoKeyNames) {\n if (geoKeyNames.hasOwnProperty(key)) {\n geoKeys[geoKeyNames[key]] = parseInt(key, 10);\n }\n}\n","function countSubstring(string, substring) {\n const pattern = new RegExp(substring, \"g\");\n const match = string.match(pattern);\n return match ? match.length : 0;\n}\n\nmodule.exports = countSubstring;\nmodule.exports.default = countSubstring;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\nvar _default = exports[\"default\"] = {\n \"hljs\": {\n \"display\": \"block\",\n \"overflowX\": \"auto\",\n \"padding\": \"0.5em\",\n \"background\": \"linear-gradient(166deg, rgba(80,31,122,1) 0%, rgba(40,32,179,1) 80%)\",\n \"color\": \"#e7e4eb\"\n },\n \"hljs-subtr\": {\n \"color\": \"#e7e4eb\"\n },\n \"hljs-doctag\": {\n \"color\": \"#af8dd9\"\n },\n \"hljs-meta\": {\n \"color\": \"#af8dd9\"\n },\n \"hljs-comment\": {\n \"color\": \"#af8dd9\"\n },\n \"hljs-quote\": {\n \"color\": \"#af8dd9\",\n \"fontStyle\": \"italic\"\n },\n \"hljs-selector-tag\": {\n \"color\": \"#AEFBFF\",\n \"fontWeight\": \"bold\"\n },\n \"hljs-selector-id\": {\n \"color\": \"#AEFBFF\",\n \"fontWeight\": \"bold\"\n },\n \"hljs-template-tag\": {\n \"color\": \"#AEFBFF\",\n \"fontWeight\": \"bold\"\n },\n \"hljs-regexp\": {\n \"color\": \"#AEFBFF\"\n },\n \"hljs-attr\": {\n \"color\": \"#AEFBFF\"\n },\n \"hljs-tag\": {\n \"color\": \"#AEFBFF\"\n },\n \"hljs-params\": {\n \"color\": \"#F19FFF\",\n \"fontWeight\": \"bold\"\n },\n \"hljs-selector-class\": {\n \"color\": \"#F19FFF\",\n \"fontWeight\": \"bold\"\n },\n \"hljs-bullet\": {\n \"color\": \"#F19FFF\"\n },\n \"hljs-keyword\": {\n \"color\": \"#17fc95\",\n \"fontWeight\": \"bold\"\n },\n \"hljs-section\": {\n \"color\": \"#17fc95\",\n \"fontWeight\": \"bold\"\n },\n \"hljs-meta-keyword\": {\n \"color\": \"#17fc95\"\n },\n \"hljs-symbol\": {\n \"color\": \"#17fc95\"\n },\n \"hljs-type\": {\n \"color\": \"#17fc95\"\n },\n \"hljs-addition\": {\n \"color\": \"#E7FF9F\"\n },\n \"hljs-number\": {\n \"color\": \"#C5FE00\"\n },\n \"hljs-link\": {\n \"color\": \"#C5FE00\"\n },\n \"hljs-string\": {\n \"color\": \"#38c0ff\"\n },\n \"hljs-attribute\": {\n \"color\": \"#E7FF9F\"\n },\n \"hljs-variable\": {\n \"color\": \"#E447FF\"\n },\n \"hljs-template-variable\": {\n \"color\": \"#E447FF\"\n },\n \"hljs-builtin-name\": {\n \"color\": \"#FFC800\"\n },\n \"hljs-built_in\": {\n \"color\": \"#FFC800\"\n },\n \"hljs-formula\": {\n \"color\": \"#FFC800\"\n },\n \"hljs-name\": {\n \"color\": \"#FFC800\"\n },\n \"hljs-title\": {\n \"color\": \"#FFC800\"\n },\n \"hljs-class\": {\n \"color\": \"#FFC800\"\n },\n \"hljs-function\": {\n \"color\": \"#FFC800\"\n },\n \"hljs-selector-pseudo\": {\n \"color\": \"#FF9E44\"\n },\n \"hljs-deletion\": {\n \"color\": \"#FF9E44\"\n },\n \"hljs-literal\": {\n \"color\": \"#FF9E44\"\n },\n \"hljs-emphasis\": {\n \"fontStyle\": \"italic\"\n },\n \"hljs-strong\": {\n \"fontWeight\": \"bold\"\n }\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\nvar _default = exports[\"default\"] = {\n \"hljs\": {\n \"display\": \"block\",\n \"overflowX\": \"auto\",\n \"padding\": \"0.5em\",\n \"background\": \"#333\",\n \"color\": \"white\"\n },\n \"hljs-name\": {\n \"fontWeight\": \"bold\"\n },\n \"hljs-strong\": {\n \"fontWeight\": \"bold\"\n },\n \"hljs-code\": {\n \"fontStyle\": \"italic\",\n \"color\": \"#888\"\n },\n \"hljs-emphasis\": {\n \"fontStyle\": \"italic\"\n },\n \"hljs-tag\": {\n \"color\": \"#62c8f3\"\n },\n \"hljs-variable\": {\n \"color\": \"#ade5fc\"\n },\n \"hljs-template-variable\": {\n \"color\": \"#ade5fc\"\n },\n \"hljs-selector-id\": {\n \"color\": \"#ade5fc\"\n },\n \"hljs-selector-class\": {\n \"color\": \"#ade5fc\"\n },\n \"hljs-string\": {\n \"color\": \"#a2fca2\"\n },\n \"hljs-bullet\": {\n \"color\": \"#d36363\"\n },\n \"hljs-type\": {\n \"color\": \"#ffa\"\n },\n \"hljs-title\": {\n \"color\": \"#ffa\"\n },\n \"hljs-section\": {\n \"color\": \"#ffa\"\n },\n \"hljs-attribute\": {\n \"color\": \"#ffa\"\n },\n \"hljs-quote\": {\n \"color\": \"#ffa\"\n },\n \"hljs-built_in\": {\n \"color\": \"#ffa\"\n },\n \"hljs-builtin-name\": {\n \"color\": \"#ffa\"\n },\n \"hljs-number\": {\n \"color\": \"#d36363\"\n },\n \"hljs-symbol\": {\n \"color\": \"#d36363\"\n },\n \"hljs-keyword\": {\n \"color\": \"#fcc28c\"\n },\n \"hljs-selector-tag\": {\n \"color\": \"#fcc28c\"\n },\n \"hljs-literal\": {\n \"color\": \"#fcc28c\"\n },\n \"hljs-comment\": {\n \"color\": \"#888\"\n },\n \"hljs-deletion\": {\n \"color\": \"#333\",\n \"backgroundColor\": \"#fc9b9b\"\n },\n \"hljs-regexp\": {\n \"color\": \"#c6b4f0\"\n },\n \"hljs-link\": {\n \"color\": \"#c6b4f0\"\n },\n \"hljs-meta\": {\n \"color\": \"#fc9b9b\"\n },\n \"hljs-addition\": {\n \"backgroundColor\": \"#a2fca2\",\n \"color\": \"#333\"\n }\n};","/*\nLanguage: Gradle\nDescription: Gradle is an open-source build automation tool focused on flexibility and performance.\nWebsite: https://gradle.org\nAuthor: Damian Mee \n*/\n\nfunction gradle(hljs) {\n return {\n name: 'Gradle',\n case_insensitive: true,\n keywords: {\n keyword:\n 'task project allprojects subprojects artifacts buildscript configurations ' +\n 'dependencies repositories sourceSets description delete from into include ' +\n 'exclude source classpath destinationDir includes options sourceCompatibility ' +\n 'targetCompatibility group flatDir doLast doFirst flatten todir fromdir ant ' +\n 'def abstract break case catch continue default do else extends final finally ' +\n 'for if implements instanceof native new private protected public return static ' +\n 'switch synchronized throw throws transient try volatile while strictfp package ' +\n 'import false null super this true antlrtask checkstyle codenarc copy boolean ' +\n 'byte char class double float int interface long short void compile runTime ' +\n 'file fileTree abs any append asList asWritable call collect compareTo count ' +\n 'div dump each eachByte eachFile eachLine every find findAll flatten getAt ' +\n 'getErr getIn getOut getText grep immutable inject inspect intersect invokeMethods ' +\n 'isCase join leftShift minus multiply newInputStream newOutputStream newPrintWriter ' +\n 'newReader newWriter next plus pop power previous print println push putAt read ' +\n 'readBytes readLines reverse reverseEach round size sort splitEachLine step subMap ' +\n 'times toInteger toList tokenize upto waitForOrKill withPrintWriter withReader ' +\n 'withStream withWriter withWriterAppend write writeLine'\n },\n contains: [\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE,\n hljs.NUMBER_MODE,\n hljs.REGEXP_MODE\n\n ]\n };\n}\n\nmodule.exports = gradle;\n","/**\n * @param {string} value\n * @returns {RegExp}\n * */\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction source(re) {\n if (!re) return null;\n if (typeof re === \"string\") return re;\n\n return re.source;\n}\n\n/**\n * @param {...(RegExp | string) } args\n * @returns {string}\n */\nfunction concat(...args) {\n const joined = args.map((x) => source(x)).join(\"\");\n return joined;\n}\n\n/**\n * Any of the passed expresssions may match\n *\n * Creates a huge this | this | that | that match\n * @param {(RegExp | string)[] } args\n * @returns {string}\n */\nfunction either(...args) {\n const joined = '(' + args.map((x) => source(x)).join(\"|\") + \")\";\n return joined;\n}\n\n/*\n Language: Apache Access Log\n Author: Oleg Efimov \n Description: Apache/Nginx Access Logs\n Website: https://httpd.apache.org/docs/2.4/logs.html#accesslog\n Audit: 2020\n */\n\n/** @type LanguageFn */\nfunction accesslog(_hljs) {\n // https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods\n const HTTP_VERBS = [\n \"GET\",\n \"POST\",\n \"HEAD\",\n \"PUT\",\n \"DELETE\",\n \"CONNECT\",\n \"OPTIONS\",\n \"PATCH\",\n \"TRACE\"\n ];\n return {\n name: 'Apache Access Log',\n contains: [\n // IP\n {\n className: 'number',\n begin: /^\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}(:\\d{1,5})?\\b/,\n relevance: 5\n },\n // Other numbers\n {\n className: 'number',\n begin: /\\b\\d+\\b/,\n relevance: 0\n },\n // Requests\n {\n className: 'string',\n begin: concat(/\"/, either(...HTTP_VERBS)),\n end: /\"/,\n keywords: HTTP_VERBS,\n illegal: /\\n/,\n relevance: 5,\n contains: [\n {\n begin: /HTTP\\/[12]\\.\\d'/,\n relevance: 5\n }\n ]\n },\n // Dates\n {\n className: 'string',\n // dates must have a certain length, this prevents matching\n // simple array accesses a[123] and [] and other common patterns\n // found in other languages\n begin: /\\[\\d[^\\]\\n]{8,}\\]/,\n illegal: /\\n/,\n relevance: 1\n },\n {\n className: 'string',\n begin: /\\[/,\n end: /\\]/,\n illegal: /\\n/,\n relevance: 0\n },\n // User agent / relevance boost\n {\n className: 'string',\n begin: /\"Mozilla\\/\\d\\.\\d \\(/,\n end: /\"/,\n illegal: /\\n/,\n relevance: 3\n },\n // Strings\n {\n className: 'string',\n begin: /\"/,\n end: /\"/,\n illegal: /\\n/,\n relevance: 0\n }\n ]\n };\n}\n\nmodule.exports = accesslog;\n","/**\n * @license React\n * react-jsx-runtime.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var f=require(\"react\"),k=Symbol.for(\"react.element\"),l=Symbol.for(\"react.fragment\"),m=Object.prototype.hasOwnProperty,n=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,p={key:!0,ref:!0,__self:!0,__source:!0};\nfunction q(c,a,g){var b,d={},e=null,h=null;void 0!==g&&(e=\"\"+g);void 0!==a.key&&(e=\"\"+a.key);void 0!==a.ref&&(h=a.ref);for(b in a)m.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)void 0===d[b]&&(d[b]=a[b]);return{$$typeof:k,type:c,key:e,ref:h,props:d,_owner:n.current}}exports.Fragment=l;exports.jsx=q;exports.jsxs=q;\n","/**\n * @param {string} value\n * @returns {RegExp}\n * */\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction source(re) {\n if (!re) return null;\n if (typeof re === \"string\") return re;\n\n return re.source;\n}\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction lookahead(re) {\n return concat('(?=', re, ')');\n}\n\n/**\n * @param {...(RegExp | string) } args\n * @returns {string}\n */\nfunction concat(...args) {\n const joined = args.map((x) => source(x)).join(\"\");\n return joined;\n}\n\n/*\nLanguage: Ruby\nDescription: Ruby is a dynamic, open source programming language with a focus on simplicity and productivity.\nWebsite: https://www.ruby-lang.org/\nAuthor: Anton Kovalyov \nContributors: Peter Leonov , Vasily Polovnyov , Loren Segal , Pascal Hurni , Cedric Sohrauer \nCategory: common\n*/\n\nfunction ruby(hljs) {\n const RUBY_METHOD_RE = '([a-zA-Z_]\\\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\\\*\\\\*|[-/+%^&*~`|]|\\\\[\\\\]=?)';\n const RUBY_KEYWORDS = {\n keyword:\n 'and then defined module in return redo if BEGIN retry end for self when ' +\n 'next until do begin unless END rescue else break undef not super class case ' +\n 'require yield alias while ensure elsif or include attr_reader attr_writer attr_accessor ' +\n '__FILE__',\n built_in: 'proc lambda',\n literal:\n 'true false nil'\n };\n const YARDOCTAG = {\n className: 'doctag',\n begin: '@[A-Za-z]+'\n };\n const IRB_OBJECT = {\n begin: '#<',\n end: '>'\n };\n const COMMENT_MODES = [\n hljs.COMMENT(\n '#',\n '$',\n {\n contains: [ YARDOCTAG ]\n }\n ),\n hljs.COMMENT(\n '^=begin',\n '^=end',\n {\n contains: [ YARDOCTAG ],\n relevance: 10\n }\n ),\n hljs.COMMENT('^__END__', '\\\\n$')\n ];\n const SUBST = {\n className: 'subst',\n begin: /#\\{/,\n end: /\\}/,\n keywords: RUBY_KEYWORDS\n };\n const STRING = {\n className: 'string',\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ],\n variants: [\n {\n begin: /'/,\n end: /'/\n },\n {\n begin: /\"/,\n end: /\"/\n },\n {\n begin: /`/,\n end: /`/\n },\n {\n begin: /%[qQwWx]?\\(/,\n end: /\\)/\n },\n {\n begin: /%[qQwWx]?\\[/,\n end: /\\]/\n },\n {\n begin: /%[qQwWx]?\\{/,\n end: /\\}/\n },\n {\n begin: /%[qQwWx]?/\n },\n {\n begin: /%[qQwWx]?\\//,\n end: /\\//\n },\n {\n begin: /%[qQwWx]?%/,\n end: /%/\n },\n {\n begin: /%[qQwWx]?-/,\n end: /-/\n },\n {\n begin: /%[qQwWx]?\\|/,\n end: /\\|/\n },\n // in the following expressions, \\B in the beginning suppresses recognition of ?-sequences\n // where ? is the last character of a preceding identifier, as in: `func?4`\n {\n begin: /\\B\\?(\\\\\\d{1,3})/\n },\n {\n begin: /\\B\\?(\\\\x[A-Fa-f0-9]{1,2})/\n },\n {\n begin: /\\B\\?(\\\\u\\{?[A-Fa-f0-9]{1,6}\\}?)/\n },\n {\n begin: /\\B\\?(\\\\M-\\\\C-|\\\\M-\\\\c|\\\\c\\\\M-|\\\\M-|\\\\C-\\\\M-)[\\x20-\\x7e]/\n },\n {\n begin: /\\B\\?\\\\(c|C-)[\\x20-\\x7e]/\n },\n {\n begin: /\\B\\?\\\\?\\S/\n },\n { // heredocs\n begin: /<<[-~]?'?(\\w+)\\n(?:[^\\n]*\\n)*?\\s*\\1\\b/,\n returnBegin: true,\n contains: [\n {\n begin: /<<[-~]?'?/\n },\n hljs.END_SAME_AS_BEGIN({\n begin: /(\\w+)/,\n end: /(\\w+)/,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ]\n })\n ]\n }\n ]\n };\n\n // Ruby syntax is underdocumented, but this grammar seems to be accurate\n // as of version 2.7.2 (confirmed with (irb and `Ripper.sexp(...)`)\n // https://docs.ruby-lang.org/en/2.7.0/doc/syntax/literals_rdoc.html#label-Numbers\n const decimal = '[1-9](_?[0-9])*|0';\n const digits = '[0-9](_?[0-9])*';\n const NUMBER = {\n className: 'number',\n relevance: 0,\n variants: [\n // decimal integer/float, optionally exponential or rational, optionally imaginary\n {\n begin: `\\\\b(${decimal})(\\\\.(${digits}))?([eE][+-]?(${digits})|r)?i?\\\\b`\n },\n\n // explicit decimal/binary/octal/hexadecimal integer,\n // optionally rational and/or imaginary\n {\n begin: \"\\\\b0[dD][0-9](_?[0-9])*r?i?\\\\b\"\n },\n {\n begin: \"\\\\b0[bB][0-1](_?[0-1])*r?i?\\\\b\"\n },\n {\n begin: \"\\\\b0[oO][0-7](_?[0-7])*r?i?\\\\b\"\n },\n {\n begin: \"\\\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*r?i?\\\\b\"\n },\n\n // 0-prefixed implicit octal integer, optionally rational and/or imaginary\n {\n begin: \"\\\\b0(_?[0-7])+r?i?\\\\b\"\n }\n ]\n };\n\n const PARAMS = {\n className: 'params',\n begin: '\\\\(',\n end: '\\\\)',\n endsParent: true,\n keywords: RUBY_KEYWORDS\n };\n\n const RUBY_DEFAULT_CONTAINS = [\n STRING,\n {\n className: 'class',\n beginKeywords: 'class module',\n end: '$|;',\n illegal: /=/,\n contains: [\n hljs.inherit(hljs.TITLE_MODE, {\n begin: '[A-Za-z_]\\\\w*(::\\\\w+)*(\\\\?|!)?'\n }),\n {\n begin: '<\\\\s*',\n contains: [\n {\n begin: '(' + hljs.IDENT_RE + '::)?' + hljs.IDENT_RE,\n // we already get points for <, we don't need poitns\n // for the name also\n relevance: 0\n }\n ]\n }\n ].concat(COMMENT_MODES)\n },\n {\n className: 'function',\n // def method_name(\n // def method_name;\n // def method_name (end of line)\n begin: concat(/def\\s+/, lookahead(RUBY_METHOD_RE + \"\\\\s*(\\\\(|;|$)\")),\n relevance: 0, // relevance comes from kewords\n keywords: \"def\",\n end: '$|;',\n contains: [\n hljs.inherit(hljs.TITLE_MODE, {\n begin: RUBY_METHOD_RE\n }),\n PARAMS\n ].concat(COMMENT_MODES)\n },\n {\n // swallow namespace qualifiers before symbols\n begin: hljs.IDENT_RE + '::'\n },\n {\n className: 'symbol',\n begin: hljs.UNDERSCORE_IDENT_RE + '(!|\\\\?)?:',\n relevance: 0\n },\n {\n className: 'symbol',\n begin: ':(?!\\\\s)',\n contains: [\n STRING,\n {\n begin: RUBY_METHOD_RE\n }\n ],\n relevance: 0\n },\n NUMBER,\n {\n // negative-look forward attemps to prevent false matches like:\n // @ident@ or $ident$ that might indicate this is not ruby at all\n className: \"variable\",\n begin: '(\\\\$\\\\W)|((\\\\$|@@?)(\\\\w+))(?=[^@$?])' + `(?![A-Za-z])(?![@$?'])`\n },\n {\n className: 'params',\n begin: /\\|/,\n end: /\\|/,\n relevance: 0, // this could be a lot of things (in other languages) other than params\n keywords: RUBY_KEYWORDS\n },\n { // regexp container\n begin: '(' + hljs.RE_STARTERS_RE + '|unless)\\\\s*',\n keywords: 'unless',\n contains: [\n {\n className: 'regexp',\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ],\n illegal: /\\n/,\n variants: [\n {\n begin: '/',\n end: '/[a-z]*'\n },\n {\n begin: /%r\\{/,\n end: /\\}[a-z]*/\n },\n {\n begin: '%r\\\\(',\n end: '\\\\)[a-z]*'\n },\n {\n begin: '%r!',\n end: '![a-z]*'\n },\n {\n begin: '%r\\\\[',\n end: '\\\\][a-z]*'\n }\n ]\n }\n ].concat(IRB_OBJECT, COMMENT_MODES),\n relevance: 0\n }\n ].concat(IRB_OBJECT, COMMENT_MODES);\n\n SUBST.contains = RUBY_DEFAULT_CONTAINS;\n PARAMS.contains = RUBY_DEFAULT_CONTAINS;\n\n // >>\n // ?>\n const SIMPLE_PROMPT = \"[>?]>\";\n // irb(main):001:0>\n const DEFAULT_PROMPT = \"[\\\\w#]+\\\\(\\\\w+\\\\):\\\\d+:\\\\d+>\";\n const RVM_PROMPT = \"(\\\\w+-)?\\\\d+\\\\.\\\\d+\\\\.\\\\d+(p\\\\d+)?[^\\\\d][^>]+>\";\n\n const IRB_DEFAULT = [\n {\n begin: /^\\s*=>/,\n starts: {\n end: '$',\n contains: RUBY_DEFAULT_CONTAINS\n }\n },\n {\n className: 'meta',\n begin: '^(' + SIMPLE_PROMPT + \"|\" + DEFAULT_PROMPT + '|' + RVM_PROMPT + ')(?=[ ])',\n starts: {\n end: '$',\n contains: RUBY_DEFAULT_CONTAINS\n }\n }\n ];\n\n COMMENT_MODES.unshift(IRB_OBJECT);\n\n return {\n name: 'Ruby',\n aliases: [\n 'rb',\n 'gemspec',\n 'podspec',\n 'thor',\n 'irb'\n ],\n keywords: RUBY_KEYWORDS,\n illegal: /\\/\\*/,\n contains: [\n hljs.SHEBANG({\n binary: \"ruby\"\n })\n ]\n .concat(IRB_DEFAULT)\n .concat(COMMENT_MODES)\n .concat(RUBY_DEFAULT_CONTAINS)\n };\n}\n\nmodule.exports = ruby;\n","/*\nLanguage: Leaf\nAuthor: Hale Chan \nDescription: Based on the Leaf reference from https://vapor.github.io/documentation/guide/leaf.html.\n*/\n\nfunction leaf(hljs) {\n return {\n name: 'Leaf',\n contains: [\n {\n className: 'function',\n begin: '#+' + '[A-Za-z_0-9]*' + '\\\\(',\n end: / \\{/,\n returnBegin: true,\n excludeEnd: true,\n contains: [\n {\n className: 'keyword',\n begin: '#+'\n },\n {\n className: 'title',\n begin: '[A-Za-z_][A-Za-z_0-9]*'\n },\n {\n className: 'params',\n begin: '\\\\(',\n end: '\\\\)',\n endsParent: true,\n contains: [\n {\n className: 'string',\n begin: '\"',\n end: '\"'\n },\n {\n className: 'variable',\n begin: '[A-Za-z_][A-Za-z_0-9]*'\n }\n ]\n }\n ]\n }\n ]\n };\n}\n\nmodule.exports = leaf;\n","/*\n Language: Zephir\n Description: Zephir, an open source, high-level language designed to ease the creation and maintainability of extensions for PHP with a focus on type and memory safety.\n Author: Oleg Efimov \n Website: https://zephir-lang.com/en\n Audit: 2020\n */\n\n/** @type LanguageFn */\nfunction zephir(hljs) {\n const STRING = {\n className: 'string',\n contains: [ hljs.BACKSLASH_ESCAPE ],\n variants: [\n hljs.inherit(hljs.APOS_STRING_MODE, {\n illegal: null\n }),\n hljs.inherit(hljs.QUOTE_STRING_MODE, {\n illegal: null\n })\n ]\n };\n const TITLE_MODE = hljs.UNDERSCORE_TITLE_MODE;\n const NUMBER = {\n variants: [\n hljs.BINARY_NUMBER_MODE,\n hljs.C_NUMBER_MODE\n ]\n };\n const KEYWORDS =\n // classes and objects\n 'namespace class interface use extends ' +\n 'function return ' +\n 'abstract final public protected private static deprecated ' +\n // error handling\n 'throw try catch Exception ' +\n // keyword-ish things their website does NOT seem to highlight (in their own snippets)\n // 'typeof fetch in ' +\n // operators/helpers\n 'echo empty isset instanceof unset ' +\n // assignment/variables\n 'let var new const self ' +\n // control\n 'require ' +\n 'if else elseif switch case default ' +\n 'do while loop for continue break ' +\n 'likely unlikely ' +\n // magic constants\n // https://github.com/phalcon/zephir/blob/master/Library/Expression/Constants.php\n '__LINE__ __FILE__ __DIR__ __FUNCTION__ __CLASS__ __TRAIT__ __METHOD__ __NAMESPACE__ ' +\n // types - https://docs.zephir-lang.com/0.12/en/types\n 'array boolean float double integer object resource string ' +\n 'char long unsigned bool int uint ulong uchar ' +\n // built-ins\n 'true false null undefined';\n\n return {\n name: 'Zephir',\n aliases: [ 'zep' ],\n keywords: KEYWORDS,\n contains: [\n hljs.C_LINE_COMMENT_MODE,\n hljs.COMMENT(\n /\\/\\*/,\n /\\*\\//,\n {\n contains: [\n {\n className: 'doctag',\n begin: /@[A-Za-z]+/\n }\n ]\n }\n ),\n {\n className: 'string',\n begin: /<<<['\"]?\\w+['\"]?$/,\n end: /^\\w+;/,\n contains: [ hljs.BACKSLASH_ESCAPE ]\n },\n {\n // swallow composed identifiers to avoid parsing them as keywords\n begin: /(::|->)+[a-zA-Z_\\x7f-\\xff][a-zA-Z0-9_\\x7f-\\xff]*/\n },\n {\n className: 'function',\n beginKeywords: 'function fn',\n end: /[;{]/,\n excludeEnd: true,\n illegal: /\\$|\\[|%/,\n contains: [\n TITLE_MODE,\n {\n className: 'params',\n begin: /\\(/,\n end: /\\)/,\n keywords: KEYWORDS,\n contains: [\n 'self',\n hljs.C_BLOCK_COMMENT_MODE,\n STRING,\n NUMBER\n ]\n }\n ]\n },\n {\n className: 'class',\n beginKeywords: 'class interface',\n end: /\\{/,\n excludeEnd: true,\n illegal: /[:($\"]/,\n contains: [\n {\n beginKeywords: 'extends implements'\n },\n TITLE_MODE\n ]\n },\n {\n beginKeywords: 'namespace',\n end: /;/,\n illegal: /[.']/,\n contains: [ TITLE_MODE ]\n },\n {\n beginKeywords: 'use',\n end: /;/,\n contains: [ TITLE_MODE ]\n },\n {\n begin: /=>/ // No markup, just a relevance booster\n },\n STRING,\n NUMBER\n ]\n };\n}\n\nmodule.exports = zephir;\n","const MODES = (hljs) => {\n return {\n IMPORTANT: {\n className: 'meta',\n begin: '!important'\n },\n HEXCOLOR: {\n className: 'number',\n begin: '#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})'\n },\n ATTRIBUTE_SELECTOR_MODE: {\n className: 'selector-attr',\n begin: /\\[/,\n end: /\\]/,\n illegal: '$',\n contains: [\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE\n ]\n }\n };\n};\n\nconst TAGS = [\n 'a',\n 'abbr',\n 'address',\n 'article',\n 'aside',\n 'audio',\n 'b',\n 'blockquote',\n 'body',\n 'button',\n 'canvas',\n 'caption',\n 'cite',\n 'code',\n 'dd',\n 'del',\n 'details',\n 'dfn',\n 'div',\n 'dl',\n 'dt',\n 'em',\n 'fieldset',\n 'figcaption',\n 'figure',\n 'footer',\n 'form',\n 'h1',\n 'h2',\n 'h3',\n 'h4',\n 'h5',\n 'h6',\n 'header',\n 'hgroup',\n 'html',\n 'i',\n 'iframe',\n 'img',\n 'input',\n 'ins',\n 'kbd',\n 'label',\n 'legend',\n 'li',\n 'main',\n 'mark',\n 'menu',\n 'nav',\n 'object',\n 'ol',\n 'p',\n 'q',\n 'quote',\n 'samp',\n 'section',\n 'span',\n 'strong',\n 'summary',\n 'sup',\n 'table',\n 'tbody',\n 'td',\n 'textarea',\n 'tfoot',\n 'th',\n 'thead',\n 'time',\n 'tr',\n 'ul',\n 'var',\n 'video'\n];\n\nconst MEDIA_FEATURES = [\n 'any-hover',\n 'any-pointer',\n 'aspect-ratio',\n 'color',\n 'color-gamut',\n 'color-index',\n 'device-aspect-ratio',\n 'device-height',\n 'device-width',\n 'display-mode',\n 'forced-colors',\n 'grid',\n 'height',\n 'hover',\n 'inverted-colors',\n 'monochrome',\n 'orientation',\n 'overflow-block',\n 'overflow-inline',\n 'pointer',\n 'prefers-color-scheme',\n 'prefers-contrast',\n 'prefers-reduced-motion',\n 'prefers-reduced-transparency',\n 'resolution',\n 'scan',\n 'scripting',\n 'update',\n 'width',\n // TODO: find a better solution?\n 'min-width',\n 'max-width',\n 'min-height',\n 'max-height'\n];\n\n// https://developer.mozilla.org/en-US/docs/Web/CSS/Pseudo-classes\nconst PSEUDO_CLASSES = [\n 'active',\n 'any-link',\n 'blank',\n 'checked',\n 'current',\n 'default',\n 'defined',\n 'dir', // dir()\n 'disabled',\n 'drop',\n 'empty',\n 'enabled',\n 'first',\n 'first-child',\n 'first-of-type',\n 'fullscreen',\n 'future',\n 'focus',\n 'focus-visible',\n 'focus-within',\n 'has', // has()\n 'host', // host or host()\n 'host-context', // host-context()\n 'hover',\n 'indeterminate',\n 'in-range',\n 'invalid',\n 'is', // is()\n 'lang', // lang()\n 'last-child',\n 'last-of-type',\n 'left',\n 'link',\n 'local-link',\n 'not', // not()\n 'nth-child', // nth-child()\n 'nth-col', // nth-col()\n 'nth-last-child', // nth-last-child()\n 'nth-last-col', // nth-last-col()\n 'nth-last-of-type', //nth-last-of-type()\n 'nth-of-type', //nth-of-type()\n 'only-child',\n 'only-of-type',\n 'optional',\n 'out-of-range',\n 'past',\n 'placeholder-shown',\n 'read-only',\n 'read-write',\n 'required',\n 'right',\n 'root',\n 'scope',\n 'target',\n 'target-within',\n 'user-invalid',\n 'valid',\n 'visited',\n 'where' // where()\n];\n\n// https://developer.mozilla.org/en-US/docs/Web/CSS/Pseudo-elements\nconst PSEUDO_ELEMENTS = [\n 'after',\n 'backdrop',\n 'before',\n 'cue',\n 'cue-region',\n 'first-letter',\n 'first-line',\n 'grammar-error',\n 'marker',\n 'part',\n 'placeholder',\n 'selection',\n 'slotted',\n 'spelling-error'\n];\n\nconst ATTRIBUTES = [\n 'align-content',\n 'align-items',\n 'align-self',\n 'animation',\n 'animation-delay',\n 'animation-direction',\n 'animation-duration',\n 'animation-fill-mode',\n 'animation-iteration-count',\n 'animation-name',\n 'animation-play-state',\n 'animation-timing-function',\n 'auto',\n 'backface-visibility',\n 'background',\n 'background-attachment',\n 'background-clip',\n 'background-color',\n 'background-image',\n 'background-origin',\n 'background-position',\n 'background-repeat',\n 'background-size',\n 'border',\n 'border-bottom',\n 'border-bottom-color',\n 'border-bottom-left-radius',\n 'border-bottom-right-radius',\n 'border-bottom-style',\n 'border-bottom-width',\n 'border-collapse',\n 'border-color',\n 'border-image',\n 'border-image-outset',\n 'border-image-repeat',\n 'border-image-slice',\n 'border-image-source',\n 'border-image-width',\n 'border-left',\n 'border-left-color',\n 'border-left-style',\n 'border-left-width',\n 'border-radius',\n 'border-right',\n 'border-right-color',\n 'border-right-style',\n 'border-right-width',\n 'border-spacing',\n 'border-style',\n 'border-top',\n 'border-top-color',\n 'border-top-left-radius',\n 'border-top-right-radius',\n 'border-top-style',\n 'border-top-width',\n 'border-width',\n 'bottom',\n 'box-decoration-break',\n 'box-shadow',\n 'box-sizing',\n 'break-after',\n 'break-before',\n 'break-inside',\n 'caption-side',\n 'clear',\n 'clip',\n 'clip-path',\n 'color',\n 'column-count',\n 'column-fill',\n 'column-gap',\n 'column-rule',\n 'column-rule-color',\n 'column-rule-style',\n 'column-rule-width',\n 'column-span',\n 'column-width',\n 'columns',\n 'content',\n 'counter-increment',\n 'counter-reset',\n 'cursor',\n 'direction',\n 'display',\n 'empty-cells',\n 'filter',\n 'flex',\n 'flex-basis',\n 'flex-direction',\n 'flex-flow',\n 'flex-grow',\n 'flex-shrink',\n 'flex-wrap',\n 'float',\n 'font',\n 'font-display',\n 'font-family',\n 'font-feature-settings',\n 'font-kerning',\n 'font-language-override',\n 'font-size',\n 'font-size-adjust',\n 'font-smoothing',\n 'font-stretch',\n 'font-style',\n 'font-variant',\n 'font-variant-ligatures',\n 'font-variation-settings',\n 'font-weight',\n 'height',\n 'hyphens',\n 'icon',\n 'image-orientation',\n 'image-rendering',\n 'image-resolution',\n 'ime-mode',\n 'inherit',\n 'initial',\n 'justify-content',\n 'left',\n 'letter-spacing',\n 'line-height',\n 'list-style',\n 'list-style-image',\n 'list-style-position',\n 'list-style-type',\n 'margin',\n 'margin-bottom',\n 'margin-left',\n 'margin-right',\n 'margin-top',\n 'marks',\n 'mask',\n 'max-height',\n 'max-width',\n 'min-height',\n 'min-width',\n 'nav-down',\n 'nav-index',\n 'nav-left',\n 'nav-right',\n 'nav-up',\n 'none',\n 'normal',\n 'object-fit',\n 'object-position',\n 'opacity',\n 'order',\n 'orphans',\n 'outline',\n 'outline-color',\n 'outline-offset',\n 'outline-style',\n 'outline-width',\n 'overflow',\n 'overflow-wrap',\n 'overflow-x',\n 'overflow-y',\n 'padding',\n 'padding-bottom',\n 'padding-left',\n 'padding-right',\n 'padding-top',\n 'page-break-after',\n 'page-break-before',\n 'page-break-inside',\n 'perspective',\n 'perspective-origin',\n 'pointer-events',\n 'position',\n 'quotes',\n 'resize',\n 'right',\n 'src', // @font-face\n 'tab-size',\n 'table-layout',\n 'text-align',\n 'text-align-last',\n 'text-decoration',\n 'text-decoration-color',\n 'text-decoration-line',\n 'text-decoration-style',\n 'text-indent',\n 'text-overflow',\n 'text-rendering',\n 'text-shadow',\n 'text-transform',\n 'text-underline-position',\n 'top',\n 'transform',\n 'transform-origin',\n 'transform-style',\n 'transition',\n 'transition-delay',\n 'transition-duration',\n 'transition-property',\n 'transition-timing-function',\n 'unicode-bidi',\n 'vertical-align',\n 'visibility',\n 'white-space',\n 'widows',\n 'width',\n 'word-break',\n 'word-spacing',\n 'word-wrap',\n 'z-index'\n // reverse makes sure longer attributes `font-weight` are matched fully\n // instead of getting false positives on say `font`\n].reverse();\n\n// some grammars use them all as a single group\nconst PSEUDO_SELECTORS = PSEUDO_CLASSES.concat(PSEUDO_ELEMENTS);\n\n/*\nLanguage: Less\nDescription: It's CSS, with just a little more.\nAuthor: Max Mikhailov \nWebsite: http://lesscss.org\nCategory: common, css\n*/\n\n/** @type LanguageFn */\nfunction less(hljs) {\n const modes = MODES(hljs);\n const PSEUDO_SELECTORS$1 = PSEUDO_SELECTORS;\n\n const AT_MODIFIERS = \"and or not only\";\n const IDENT_RE = '[\\\\w-]+'; // yes, Less identifiers may begin with a digit\n const INTERP_IDENT_RE = '(' + IDENT_RE + '|@\\\\{' + IDENT_RE + '\\\\})';\n\n /* Generic Modes */\n\n const RULES = []; const VALUE_MODES = []; // forward def. for recursive modes\n\n const STRING_MODE = function(c) {\n return {\n // Less strings are not multiline (also include '~' for more consistent coloring of \"escaped\" strings)\n className: 'string',\n begin: '~?' + c + '.*?' + c\n };\n };\n\n const IDENT_MODE = function(name, begin, relevance) {\n return {\n className: name,\n begin: begin,\n relevance: relevance\n };\n };\n\n const AT_KEYWORDS = {\n $pattern: /[a-z-]+/,\n keyword: AT_MODIFIERS,\n attribute: MEDIA_FEATURES.join(\" \")\n };\n\n const PARENS_MODE = {\n // used only to properly balance nested parens inside mixin call, def. arg list\n begin: '\\\\(',\n end: '\\\\)',\n contains: VALUE_MODES,\n keywords: AT_KEYWORDS,\n relevance: 0\n };\n\n // generic Less highlighter (used almost everywhere except selectors):\n VALUE_MODES.push(\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n STRING_MODE(\"'\"),\n STRING_MODE('\"'),\n hljs.CSS_NUMBER_MODE, // fixme: it does not include dot for numbers like .5em :(\n {\n begin: '(url|data-uri)\\\\(',\n starts: {\n className: 'string',\n end: '[\\\\)\\\\n]',\n excludeEnd: true\n }\n },\n modes.HEXCOLOR,\n PARENS_MODE,\n IDENT_MODE('variable', '@@?' + IDENT_RE, 10),\n IDENT_MODE('variable', '@\\\\{' + IDENT_RE + '\\\\}'),\n IDENT_MODE('built_in', '~?`[^`]*?`'), // inline javascript (or whatever host language) *multiline* string\n { // @media features (it’s here to not duplicate things in AT_RULE_MODE with extra PARENS_MODE overriding):\n className: 'attribute',\n begin: IDENT_RE + '\\\\s*:',\n end: ':',\n returnBegin: true,\n excludeEnd: true\n },\n modes.IMPORTANT\n );\n\n const VALUE_WITH_RULESETS = VALUE_MODES.concat({\n begin: /\\{/,\n end: /\\}/,\n contains: RULES\n });\n\n const MIXIN_GUARD_MODE = {\n beginKeywords: 'when',\n endsWithParent: true,\n contains: [\n {\n beginKeywords: 'and not'\n }\n ].concat(VALUE_MODES) // using this form to override VALUE’s 'function' match\n };\n\n /* Rule-Level Modes */\n\n const RULE_MODE = {\n begin: INTERP_IDENT_RE + '\\\\s*:',\n returnBegin: true,\n end: /[;}]/,\n relevance: 0,\n contains: [\n {\n begin: /-(webkit|moz|ms|o)-/\n },\n {\n className: 'attribute',\n begin: '\\\\b(' + ATTRIBUTES.join('|') + ')\\\\b',\n end: /(?=:)/,\n starts: {\n endsWithParent: true,\n illegal: '[<=$]',\n relevance: 0,\n contains: VALUE_MODES\n }\n }\n ]\n };\n\n const AT_RULE_MODE = {\n className: 'keyword',\n begin: '@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\\\b',\n starts: {\n end: '[;{}]',\n keywords: AT_KEYWORDS,\n returnEnd: true,\n contains: VALUE_MODES,\n relevance: 0\n }\n };\n\n // variable definitions and calls\n const VAR_RULE_MODE = {\n className: 'variable',\n variants: [\n // using more strict pattern for higher relevance to increase chances of Less detection.\n // this is *the only* Less specific statement used in most of the sources, so...\n // (we’ll still often loose to the css-parser unless there's '//' comment,\n // simply because 1 variable just can't beat 99 properties :)\n {\n begin: '@' + IDENT_RE + '\\\\s*:',\n relevance: 15\n },\n {\n begin: '@' + IDENT_RE\n }\n ],\n starts: {\n end: '[;}]',\n returnEnd: true,\n contains: VALUE_WITH_RULESETS\n }\n };\n\n const SELECTOR_MODE = {\n // first parse unambiguous selectors (i.e. those not starting with tag)\n // then fall into the scary lookahead-discriminator variant.\n // this mode also handles mixin definitions and calls\n variants: [\n {\n begin: '[\\\\.#:&\\\\[>]',\n end: '[;{}]' // mixin calls end with ';'\n },\n {\n begin: INTERP_IDENT_RE,\n end: /\\{/\n }\n ],\n returnBegin: true,\n returnEnd: true,\n illegal: '[<=\\'$\"]',\n relevance: 0,\n contains: [\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n MIXIN_GUARD_MODE,\n IDENT_MODE('keyword', 'all\\\\b'),\n IDENT_MODE('variable', '@\\\\{' + IDENT_RE + '\\\\}'), // otherwise it’s identified as tag\n {\n begin: '\\\\b(' + TAGS.join('|') + ')\\\\b',\n className: 'selector-tag'\n },\n IDENT_MODE('selector-tag', INTERP_IDENT_RE + '%?', 0), // '%' for more consistent coloring of @keyframes \"tags\"\n IDENT_MODE('selector-id', '#' + INTERP_IDENT_RE),\n IDENT_MODE('selector-class', '\\\\.' + INTERP_IDENT_RE, 0),\n IDENT_MODE('selector-tag', '&', 0),\n modes.ATTRIBUTE_SELECTOR_MODE,\n {\n className: 'selector-pseudo',\n begin: ':(' + PSEUDO_CLASSES.join('|') + ')'\n },\n {\n className: 'selector-pseudo',\n begin: '::(' + PSEUDO_ELEMENTS.join('|') + ')'\n },\n {\n begin: '\\\\(',\n end: '\\\\)',\n contains: VALUE_WITH_RULESETS\n }, // argument list of parametric mixins\n {\n begin: '!important'\n } // eat !important after mixin call or it will be colored as tag\n ]\n };\n\n const PSEUDO_SELECTOR_MODE = {\n begin: IDENT_RE + ':(:)?' + `(${PSEUDO_SELECTORS$1.join('|')})`,\n returnBegin: true,\n contains: [ SELECTOR_MODE ]\n };\n\n RULES.push(\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n AT_RULE_MODE,\n VAR_RULE_MODE,\n PSEUDO_SELECTOR_MODE,\n RULE_MODE,\n SELECTOR_MODE\n );\n\n return {\n name: 'Less',\n case_insensitive: true,\n illegal: '[=>\\'/<($\"]',\n contains: RULES\n };\n}\n\nmodule.exports = less;\n","/*\nLanguage: Dust\nRequires: xml.js\nAuthor: Michael Allen \nDescription: Matcher for dust.js templates.\nWebsite: https://www.dustjs.com\nCategory: template\n*/\n\n/** @type LanguageFn */\nfunction dust(hljs) {\n const EXPRESSION_KEYWORDS = 'if eq ne lt lte gt gte select default math sep';\n return {\n name: 'Dust',\n aliases: ['dst'],\n case_insensitive: true,\n subLanguage: 'xml',\n contains: [\n {\n className: 'template-tag',\n begin: /\\{[#\\/]/,\n end: /\\}/,\n illegal: /;/,\n contains: [{\n className: 'name',\n begin: /[a-zA-Z\\.-]+/,\n starts: {\n endsWithParent: true,\n relevance: 0,\n contains: [hljs.QUOTE_STRING_MODE]\n }\n }]\n },\n {\n className: 'template-variable',\n begin: /\\{/,\n end: /\\}/,\n illegal: /;/,\n keywords: EXPRESSION_KEYWORDS\n }\n ]\n };\n}\n\nmodule.exports = dust;\n","/**\n * @param {string} value\n * @returns {RegExp}\n * */\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction source(re) {\n if (!re) return null;\n if (typeof re === \"string\") return re;\n\n return re.source;\n}\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction lookahead(re) {\n return concat('(?=', re, ')');\n}\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction optional(re) {\n return concat('(', re, ')?');\n}\n\n/**\n * @param {...(RegExp | string) } args\n * @returns {string}\n */\nfunction concat(...args) {\n const joined = args.map((x) => source(x)).join(\"\");\n return joined;\n}\n\n/*\nLanguage: C++\nCategory: common, system\nWebsite: https://isocpp.org\n*/\n\n/** @type LanguageFn */\nfunction cPlusPlus(hljs) {\n // added for historic reasons because `hljs.C_LINE_COMMENT_MODE` does\n // not include such support nor can we be sure all the grammars depending\n // on it would desire this behavior\n const C_LINE_COMMENT_MODE = hljs.COMMENT('//', '$', {\n contains: [\n {\n begin: /\\\\\\n/\n }\n ]\n });\n const DECLTYPE_AUTO_RE = 'decltype\\\\(auto\\\\)';\n const NAMESPACE_RE = '[a-zA-Z_]\\\\w*::';\n const TEMPLATE_ARGUMENT_RE = '<[^<>]+>';\n const FUNCTION_TYPE_RE = '(' +\n DECLTYPE_AUTO_RE + '|' +\n optional(NAMESPACE_RE) +\n '[a-zA-Z_]\\\\w*' + optional(TEMPLATE_ARGUMENT_RE) +\n ')';\n const CPP_PRIMITIVE_TYPES = {\n className: 'keyword',\n begin: '\\\\b[a-z\\\\d_]*_t\\\\b'\n };\n\n // https://en.cppreference.com/w/cpp/language/escape\n // \\\\ \\x \\xFF \\u2837 \\u00323747 \\374\n const CHARACTER_ESCAPES = '\\\\\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\\\S)';\n const STRINGS = {\n className: 'string',\n variants: [\n {\n begin: '(u8?|U|L)?\"',\n end: '\"',\n illegal: '\\\\n',\n contains: [ hljs.BACKSLASH_ESCAPE ]\n },\n {\n begin: '(u8?|U|L)?\\'(' + CHARACTER_ESCAPES + \"|.)\",\n end: '\\'',\n illegal: '.'\n },\n hljs.END_SAME_AS_BEGIN({\n begin: /(?:u8?|U|L)?R\"([^()\\\\ ]{0,16})\\(/,\n end: /\\)([^()\\\\ ]{0,16})\"/\n })\n ]\n };\n\n const NUMBERS = {\n className: 'number',\n variants: [\n {\n begin: '\\\\b(0b[01\\']+)'\n },\n {\n begin: '(-?)\\\\b([\\\\d\\']+(\\\\.[\\\\d\\']*)?|\\\\.[\\\\d\\']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)'\n },\n {\n begin: '(-?)(\\\\b0[xX][a-fA-F0-9\\']+|(\\\\b[\\\\d\\']+(\\\\.[\\\\d\\']*)?|\\\\.[\\\\d\\']+)([eE][-+]?[\\\\d\\']+)?)'\n }\n ],\n relevance: 0\n };\n\n const PREPROCESSOR = {\n className: 'meta',\n begin: /#\\s*[a-z]+\\b/,\n end: /$/,\n keywords: {\n 'meta-keyword':\n 'if else elif endif define undef warning error line ' +\n 'pragma _Pragma ifdef ifndef include'\n },\n contains: [\n {\n begin: /\\\\\\n/,\n relevance: 0\n },\n hljs.inherit(STRINGS, {\n className: 'meta-string'\n }),\n {\n className: 'meta-string',\n begin: /<.*?>/\n },\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE\n ]\n };\n\n const TITLE_MODE = {\n className: 'title',\n begin: optional(NAMESPACE_RE) + hljs.IDENT_RE,\n relevance: 0\n };\n\n const FUNCTION_TITLE = optional(NAMESPACE_RE) + hljs.IDENT_RE + '\\\\s*\\\\(';\n\n const COMMON_CPP_HINTS = [\n 'asin',\n 'atan2',\n 'atan',\n 'calloc',\n 'ceil',\n 'cosh',\n 'cos',\n 'exit',\n 'exp',\n 'fabs',\n 'floor',\n 'fmod',\n 'fprintf',\n 'fputs',\n 'free',\n 'frexp',\n 'auto_ptr',\n 'deque',\n 'list',\n 'queue',\n 'stack',\n 'vector',\n 'map',\n 'set',\n 'pair',\n 'bitset',\n 'multiset',\n 'multimap',\n 'unordered_set',\n 'fscanf',\n 'future',\n 'isalnum',\n 'isalpha',\n 'iscntrl',\n 'isdigit',\n 'isgraph',\n 'islower',\n 'isprint',\n 'ispunct',\n 'isspace',\n 'isupper',\n 'isxdigit',\n 'tolower',\n 'toupper',\n 'labs',\n 'ldexp',\n 'log10',\n 'log',\n 'malloc',\n 'realloc',\n 'memchr',\n 'memcmp',\n 'memcpy',\n 'memset',\n 'modf',\n 'pow',\n 'printf',\n 'putchar',\n 'puts',\n 'scanf',\n 'sinh',\n 'sin',\n 'snprintf',\n 'sprintf',\n 'sqrt',\n 'sscanf',\n 'strcat',\n 'strchr',\n 'strcmp',\n 'strcpy',\n 'strcspn',\n 'strlen',\n 'strncat',\n 'strncmp',\n 'strncpy',\n 'strpbrk',\n 'strrchr',\n 'strspn',\n 'strstr',\n 'tanh',\n 'tan',\n 'unordered_map',\n 'unordered_multiset',\n 'unordered_multimap',\n 'priority_queue',\n 'make_pair',\n 'array',\n 'shared_ptr',\n 'abort',\n 'terminate',\n 'abs',\n 'acos',\n 'vfprintf',\n 'vprintf',\n 'vsprintf',\n 'endl',\n 'initializer_list',\n 'unique_ptr',\n 'complex',\n 'imaginary',\n 'std',\n 'string',\n 'wstring',\n 'cin',\n 'cout',\n 'cerr',\n 'clog',\n 'stdin',\n 'stdout',\n 'stderr',\n 'stringstream',\n 'istringstream',\n 'ostringstream'\n ];\n\n const CPP_KEYWORDS = {\n keyword: 'int float while private char char8_t char16_t char32_t catch import module export virtual operator sizeof ' +\n 'dynamic_cast|10 typedef const_cast|10 const for static_cast|10 union namespace ' +\n 'unsigned long volatile static protected bool template mutable if public friend ' +\n 'do goto auto void enum else break extern using asm case typeid wchar_t ' +\n 'short reinterpret_cast|10 default double register explicit signed typename try this ' +\n 'switch continue inline delete alignas alignof constexpr consteval constinit decltype ' +\n 'concept co_await co_return co_yield requires ' +\n 'noexcept static_assert thread_local restrict final override ' +\n 'atomic_bool atomic_char atomic_schar ' +\n 'atomic_uchar atomic_short atomic_ushort atomic_int atomic_uint atomic_long atomic_ulong atomic_llong ' +\n 'atomic_ullong new throw return ' +\n 'and and_eq bitand bitor compl not not_eq or or_eq xor xor_eq',\n built_in: '_Bool _Complex _Imaginary',\n _relevance_hints: COMMON_CPP_HINTS,\n literal: 'true false nullptr NULL'\n };\n\n const FUNCTION_DISPATCH = {\n className: \"function.dispatch\",\n relevance: 0,\n keywords: CPP_KEYWORDS,\n begin: concat(\n /\\b/,\n /(?!decltype)/,\n /(?!if)/,\n /(?!for)/,\n /(?!while)/,\n hljs.IDENT_RE,\n lookahead(/\\s*\\(/))\n };\n\n const EXPRESSION_CONTAINS = [\n FUNCTION_DISPATCH,\n PREPROCESSOR,\n CPP_PRIMITIVE_TYPES,\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n NUMBERS,\n STRINGS\n ];\n\n\n const EXPRESSION_CONTEXT = {\n // This mode covers expression context where we can't expect a function\n // definition and shouldn't highlight anything that looks like one:\n // `return some()`, `else if()`, `(x*sum(1, 2))`\n variants: [\n {\n begin: /=/,\n end: /;/\n },\n {\n begin: /\\(/,\n end: /\\)/\n },\n {\n beginKeywords: 'new throw return else',\n end: /;/\n }\n ],\n keywords: CPP_KEYWORDS,\n contains: EXPRESSION_CONTAINS.concat([\n {\n begin: /\\(/,\n end: /\\)/,\n keywords: CPP_KEYWORDS,\n contains: EXPRESSION_CONTAINS.concat([ 'self' ]),\n relevance: 0\n }\n ]),\n relevance: 0\n };\n\n const FUNCTION_DECLARATION = {\n className: 'function',\n begin: '(' + FUNCTION_TYPE_RE + '[\\\\*&\\\\s]+)+' + FUNCTION_TITLE,\n returnBegin: true,\n end: /[{;=]/,\n excludeEnd: true,\n keywords: CPP_KEYWORDS,\n illegal: /[^\\w\\s\\*&:<>.]/,\n contains: [\n { // to prevent it from being confused as the function title\n begin: DECLTYPE_AUTO_RE,\n keywords: CPP_KEYWORDS,\n relevance: 0\n },\n {\n begin: FUNCTION_TITLE,\n returnBegin: true,\n contains: [ TITLE_MODE ],\n relevance: 0\n },\n // needed because we do not have look-behind on the below rule\n // to prevent it from grabbing the final : in a :: pair\n {\n begin: /::/,\n relevance: 0\n },\n // initializers\n {\n begin: /:/,\n endsWithParent: true,\n contains: [\n STRINGS,\n NUMBERS\n ]\n },\n {\n className: 'params',\n begin: /\\(/,\n end: /\\)/,\n keywords: CPP_KEYWORDS,\n relevance: 0,\n contains: [\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n STRINGS,\n NUMBERS,\n CPP_PRIMITIVE_TYPES,\n // Count matching parentheses.\n {\n begin: /\\(/,\n end: /\\)/,\n keywords: CPP_KEYWORDS,\n relevance: 0,\n contains: [\n 'self',\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n STRINGS,\n NUMBERS,\n CPP_PRIMITIVE_TYPES\n ]\n }\n ]\n },\n CPP_PRIMITIVE_TYPES,\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n PREPROCESSOR\n ]\n };\n\n return {\n name: 'C++',\n aliases: [\n 'cc',\n 'c++',\n 'h++',\n 'hpp',\n 'hh',\n 'hxx',\n 'cxx'\n ],\n keywords: CPP_KEYWORDS,\n illegal: ' rooms (9);`\n begin: '\\\\b(deque|list|queue|priority_queue|pair|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array)\\\\s*<',\n end: '>',\n keywords: CPP_KEYWORDS,\n contains: [\n 'self',\n CPP_PRIMITIVE_TYPES\n ]\n },\n {\n begin: hljs.IDENT_RE + '::',\n keywords: CPP_KEYWORDS\n },\n {\n className: 'class',\n beginKeywords: 'enum class struct union',\n end: /[{;:<>=]/,\n contains: [\n {\n beginKeywords: \"final class struct\"\n },\n hljs.TITLE_MODE\n ]\n }\n ]),\n exports: {\n preprocessor: PREPROCESSOR,\n strings: STRINGS,\n keywords: CPP_KEYWORDS\n }\n };\n}\n\n/*\nLanguage: Arduino\nAuthor: Stefania Mellai \nDescription: The Arduino® Language is a superset of C++. This rules are designed to highlight the Arduino® source code. For info about language see http://www.arduino.cc.\nWebsite: https://www.arduino.cc\n*/\n\n/** @type LanguageFn */\nfunction arduino(hljs) {\n const ARDUINO_KW = {\n keyword:\n 'boolean byte word String',\n built_in:\n 'KeyboardController MouseController SoftwareSerial ' +\n 'EthernetServer EthernetClient LiquidCrystal ' +\n 'RobotControl GSMVoiceCall EthernetUDP EsploraTFT ' +\n 'HttpClient RobotMotor WiFiClient GSMScanner ' +\n 'FileSystem Scheduler GSMServer YunClient YunServer ' +\n 'IPAddress GSMClient GSMModem Keyboard Ethernet ' +\n 'Console GSMBand Esplora Stepper Process ' +\n 'WiFiUDP GSM_SMS Mailbox USBHost Firmata PImage ' +\n 'Client Server GSMPIN FileIO Bridge Serial ' +\n 'EEPROM Stream Mouse Audio Servo File Task ' +\n 'GPRS WiFi Wire TFT GSM SPI SD ',\n _:\n 'setup loop ' +\n 'runShellCommandAsynchronously analogWriteResolution ' +\n 'retrieveCallingNumber printFirmwareVersion ' +\n 'analogReadResolution sendDigitalPortPair ' +\n 'noListenOnLocalhost readJoystickButton setFirmwareVersion ' +\n 'readJoystickSwitch scrollDisplayRight getVoiceCallStatus ' +\n 'scrollDisplayLeft writeMicroseconds delayMicroseconds ' +\n 'beginTransmission getSignalStrength runAsynchronously ' +\n 'getAsynchronously listenOnLocalhost getCurrentCarrier ' +\n 'readAccelerometer messageAvailable sendDigitalPorts ' +\n 'lineFollowConfig countryNameWrite runShellCommand ' +\n 'readStringUntil rewindDirectory readTemperature ' +\n 'setClockDivider readLightSensor endTransmission ' +\n 'analogReference detachInterrupt countryNameRead ' +\n 'attachInterrupt encryptionType readBytesUntil ' +\n 'robotNameWrite readMicrophone robotNameRead cityNameWrite ' +\n 'userNameWrite readJoystickY readJoystickX mouseReleased ' +\n 'openNextFile scanNetworks noInterrupts digitalWrite ' +\n 'beginSpeaker mousePressed isActionDone mouseDragged ' +\n 'displayLogos noAutoscroll addParameter remoteNumber ' +\n 'getModifiers keyboardRead userNameRead waitContinue ' +\n 'processInput parseCommand printVersion readNetworks ' +\n 'writeMessage blinkVersion cityNameRead readMessage ' +\n 'setDataMode parsePacket isListening setBitOrder ' +\n 'beginPacket isDirectory motorsWrite drawCompass ' +\n 'digitalRead clearScreen serialEvent rightToLeft ' +\n 'setTextSize leftToRight requestFrom keyReleased ' +\n 'compassRead analogWrite interrupts WiFiServer ' +\n 'disconnect playMelody parseFloat autoscroll ' +\n 'getPINUsed setPINUsed setTimeout sendAnalog ' +\n 'readSlider analogRead beginWrite createChar ' +\n 'motorsStop keyPressed tempoWrite readButton ' +\n 'subnetMask debugPrint macAddress writeGreen ' +\n 'randomSeed attachGPRS readString sendString ' +\n 'remotePort releaseAll mouseMoved background ' +\n 'getXChange getYChange answerCall getResult ' +\n 'voiceCall endPacket constrain getSocket writeJSON ' +\n 'getButton available connected findUntil readBytes ' +\n 'exitValue readGreen writeBlue startLoop IPAddress ' +\n 'isPressed sendSysex pauseMode gatewayIP setCursor ' +\n 'getOemKey tuneWrite noDisplay loadImage switchPIN ' +\n 'onRequest onReceive changePIN playFile noBuffer ' +\n 'parseInt overflow checkPIN knobRead beginTFT ' +\n 'bitClear updateIR bitWrite position writeRGB ' +\n 'highByte writeRed setSpeed readBlue noStroke ' +\n 'remoteIP transfer shutdown hangCall beginSMS ' +\n 'endWrite attached maintain noCursor checkReg ' +\n 'checkPUK shiftOut isValid shiftIn pulseIn ' +\n 'connect println localIP pinMode getIMEI ' +\n 'display noBlink process getBand running beginSD ' +\n 'drawBMP lowByte setBand release bitRead prepare ' +\n 'pointTo readRed setMode noFill remove listen ' +\n 'stroke detach attach noTone exists buffer ' +\n 'height bitSet circle config cursor random ' +\n 'IRread setDNS endSMS getKey micros ' +\n 'millis begin print write ready flush width ' +\n 'isPIN blink clear press mkdir rmdir close ' +\n 'point yield image BSSID click delay ' +\n 'read text move peek beep rect line open ' +\n 'seek fill size turn stop home find ' +\n 'step tone sqrt RSSI SSID ' +\n 'end bit tan cos sin pow map abs max ' +\n 'min get run put',\n literal:\n 'DIGITAL_MESSAGE FIRMATA_STRING ANALOG_MESSAGE ' +\n 'REPORT_DIGITAL REPORT_ANALOG INPUT_PULLUP ' +\n 'SET_PIN_MODE INTERNAL2V56 SYSTEM_RESET LED_BUILTIN ' +\n 'INTERNAL1V1 SYSEX_START INTERNAL EXTERNAL ' +\n 'DEFAULT OUTPUT INPUT HIGH LOW'\n };\n\n const ARDUINO = cPlusPlus(hljs);\n\n const kws = /** @type {Record} */ (ARDUINO.keywords);\n\n kws.keyword += ' ' + ARDUINO_KW.keyword;\n kws.literal += ' ' + ARDUINO_KW.literal;\n kws.built_in += ' ' + ARDUINO_KW.built_in;\n kws._ += ' ' + ARDUINO_KW._;\n\n ARDUINO.name = 'Arduino';\n ARDUINO.aliases = ['ino'];\n ARDUINO.supersetOf = \"cpp\";\n\n return ARDUINO;\n}\n\nmodule.exports = arduino;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\nvar _default = exports[\"default\"] = {\n \"hljs\": {\n \"display\": \"block\",\n \"overflowX\": \"auto\",\n \"padding\": \"0.5em\",\n \"background\": \"#000\",\n \"color\": \"#f8f8f8\"\n },\n \"hljs-comment\": {\n \"color\": \"#aeaeae\",\n \"fontStyle\": \"italic\"\n },\n \"hljs-quote\": {\n \"color\": \"#aeaeae\",\n \"fontStyle\": \"italic\"\n },\n \"hljs-keyword\": {\n \"color\": \"#e28964\"\n },\n \"hljs-selector-tag\": {\n \"color\": \"#e28964\"\n },\n \"hljs-type\": {\n \"color\": \"#e28964\"\n },\n \"hljs-string\": {\n \"color\": \"#65b042\"\n },\n \"hljs-subst\": {\n \"color\": \"#daefa3\"\n },\n \"hljs-regexp\": {\n \"color\": \"#e9c062\"\n },\n \"hljs-link\": {\n \"color\": \"#e9c062\"\n },\n \"hljs-title\": {\n \"color\": \"#89bdff\"\n },\n \"hljs-section\": {\n \"color\": \"#89bdff\"\n },\n \"hljs-tag\": {\n \"color\": \"#89bdff\"\n },\n \"hljs-name\": {\n \"color\": \"#89bdff\"\n },\n \"hljs-class .hljs-title\": {\n \"textDecoration\": \"underline\"\n },\n \"hljs-doctag\": {\n \"textDecoration\": \"underline\"\n },\n \"hljs-symbol\": {\n \"color\": \"#3387cc\"\n },\n \"hljs-bullet\": {\n \"color\": \"#3387cc\"\n },\n \"hljs-number\": {\n \"color\": \"#3387cc\"\n },\n \"hljs-params\": {\n \"color\": \"#3e87e3\"\n },\n \"hljs-variable\": {\n \"color\": \"#3e87e3\"\n },\n \"hljs-template-variable\": {\n \"color\": \"#3e87e3\"\n },\n \"hljs-attribute\": {\n \"color\": \"#cda869\"\n },\n \"hljs-meta\": {\n \"color\": \"#8996a8\"\n },\n \"hljs-formula\": {\n \"backgroundColor\": \"#0e2231\",\n \"color\": \"#f8f8f8\",\n \"fontStyle\": \"italic\"\n },\n \"hljs-addition\": {\n \"backgroundColor\": \"#253b22\",\n \"color\": \"#f8f8f8\"\n },\n \"hljs-deletion\": {\n \"backgroundColor\": \"#420e09\",\n \"color\": \"#f8f8f8\"\n },\n \"hljs-selector-class\": {\n \"color\": \"#9b703f\"\n },\n \"hljs-selector-id\": {\n \"color\": \"#8b98ab\"\n },\n \"hljs-emphasis\": {\n \"fontStyle\": \"italic\"\n },\n \"hljs-strong\": {\n \"fontWeight\": \"bold\"\n }\n};","/*\nLanguage: D\nAuthor: Aleksandar Ruzicic \nDescription: D is a language with C-like syntax and static typing. It pragmatically combines efficiency, control, and modeling power, with safety and programmer productivity.\nVersion: 1.0a\nWebsite: https://dlang.org\nDate: 2012-04-08\n*/\n\n/**\n * Known issues:\n *\n * - invalid hex string literals will be recognized as a double quoted strings\n * but 'x' at the beginning of string will not be matched\n *\n * - delimited string literals are not checked for matching end delimiter\n * (not possible to do with js regexp)\n *\n * - content of token string is colored as a string (i.e. no keyword coloring inside a token string)\n * also, content of token string is not validated to contain only valid D tokens\n *\n * - special token sequence rule is not strictly following D grammar (anything following #line\n * up to the end of line is matched as special token sequence)\n */\n\n/** @type LanguageFn */\nfunction d(hljs) {\n /**\n * Language keywords\n *\n * @type {Object}\n */\n const D_KEYWORDS = {\n $pattern: hljs.UNDERSCORE_IDENT_RE,\n keyword:\n 'abstract alias align asm assert auto body break byte case cast catch class ' +\n 'const continue debug default delete deprecated do else enum export extern final ' +\n 'finally for foreach foreach_reverse|10 goto if immutable import in inout int ' +\n 'interface invariant is lazy macro mixin module new nothrow out override package ' +\n 'pragma private protected public pure ref return scope shared static struct ' +\n 'super switch synchronized template this throw try typedef typeid typeof union ' +\n 'unittest version void volatile while with __FILE__ __LINE__ __gshared|10 ' +\n '__thread __traits __DATE__ __EOF__ __TIME__ __TIMESTAMP__ __VENDOR__ __VERSION__',\n built_in:\n 'bool cdouble cent cfloat char creal dchar delegate double dstring float function ' +\n 'idouble ifloat ireal long real short string ubyte ucent uint ulong ushort wchar ' +\n 'wstring',\n literal:\n 'false null true'\n };\n\n /**\n * Number literal regexps\n *\n * @type {String}\n */\n const decimal_integer_re = '(0|[1-9][\\\\d_]*)';\n const decimal_integer_nosus_re = '(0|[1-9][\\\\d_]*|\\\\d[\\\\d_]*|[\\\\d_]+?\\\\d)';\n const binary_integer_re = '0[bB][01_]+';\n const hexadecimal_digits_re = '([\\\\da-fA-F][\\\\da-fA-F_]*|_[\\\\da-fA-F][\\\\da-fA-F_]*)';\n const hexadecimal_integer_re = '0[xX]' + hexadecimal_digits_re;\n\n const decimal_exponent_re = '([eE][+-]?' + decimal_integer_nosus_re + ')';\n const decimal_float_re = '(' + decimal_integer_nosus_re + '(\\\\.\\\\d*|' + decimal_exponent_re + ')|' +\n '\\\\d+\\\\.' + decimal_integer_nosus_re + '|' +\n '\\\\.' + decimal_integer_re + decimal_exponent_re + '?' +\n ')';\n const hexadecimal_float_re = '(0[xX](' +\n hexadecimal_digits_re + '\\\\.' + hexadecimal_digits_re + '|' +\n '\\\\.?' + hexadecimal_digits_re +\n ')[pP][+-]?' + decimal_integer_nosus_re + ')';\n\n const integer_re = '(' +\n decimal_integer_re + '|' +\n binary_integer_re + '|' +\n hexadecimal_integer_re +\n ')';\n\n const float_re = '(' +\n hexadecimal_float_re + '|' +\n decimal_float_re +\n ')';\n\n /**\n * Escape sequence supported in D string and character literals\n *\n * @type {String}\n */\n const escape_sequence_re = '\\\\\\\\(' +\n '[\\'\"\\\\?\\\\\\\\abfnrtv]|' + // common escapes\n 'u[\\\\dA-Fa-f]{4}|' + // four hex digit unicode codepoint\n '[0-7]{1,3}|' + // one to three octal digit ascii char code\n 'x[\\\\dA-Fa-f]{2}|' + // two hex digit ascii char code\n 'U[\\\\dA-Fa-f]{8}' + // eight hex digit unicode codepoint\n ')|' +\n '&[a-zA-Z\\\\d]{2,};'; // named character entity\n\n /**\n * D integer number literals\n *\n * @type {Object}\n */\n const D_INTEGER_MODE = {\n className: 'number',\n begin: '\\\\b' + integer_re + '(L|u|U|Lu|LU|uL|UL)?',\n relevance: 0\n };\n\n /**\n * [D_FLOAT_MODE description]\n * @type {Object}\n */\n const D_FLOAT_MODE = {\n className: 'number',\n begin: '\\\\b(' +\n float_re + '([fF]|L|i|[fF]i|Li)?|' +\n integer_re + '(i|[fF]i|Li)' +\n ')',\n relevance: 0\n };\n\n /**\n * D character literal\n *\n * @type {Object}\n */\n const D_CHARACTER_MODE = {\n className: 'string',\n begin: '\\'(' + escape_sequence_re + '|.)',\n end: '\\'',\n illegal: '.'\n };\n\n /**\n * D string escape sequence\n *\n * @type {Object}\n */\n const D_ESCAPE_SEQUENCE = {\n begin: escape_sequence_re,\n relevance: 0\n };\n\n /**\n * D double quoted string literal\n *\n * @type {Object}\n */\n const D_STRING_MODE = {\n className: 'string',\n begin: '\"',\n contains: [D_ESCAPE_SEQUENCE],\n end: '\"[cwd]?'\n };\n\n /**\n * D wysiwyg and delimited string literals\n *\n * @type {Object}\n */\n const D_WYSIWYG_DELIMITED_STRING_MODE = {\n className: 'string',\n begin: '[rq]\"',\n end: '\"[cwd]?',\n relevance: 5\n };\n\n /**\n * D alternate wysiwyg string literal\n *\n * @type {Object}\n */\n const D_ALTERNATE_WYSIWYG_STRING_MODE = {\n className: 'string',\n begin: '`',\n end: '`[cwd]?'\n };\n\n /**\n * D hexadecimal string literal\n *\n * @type {Object}\n */\n const D_HEX_STRING_MODE = {\n className: 'string',\n begin: 'x\"[\\\\da-fA-F\\\\s\\\\n\\\\r]*\"[cwd]?',\n relevance: 10\n };\n\n /**\n * D delimited string literal\n *\n * @type {Object}\n */\n const D_TOKEN_STRING_MODE = {\n className: 'string',\n begin: 'q\"\\\\{',\n end: '\\\\}\"'\n };\n\n /**\n * Hashbang support\n *\n * @type {Object}\n */\n const D_HASHBANG_MODE = {\n className: 'meta',\n begin: '^#!',\n end: '$',\n relevance: 5\n };\n\n /**\n * D special token sequence\n *\n * @type {Object}\n */\n const D_SPECIAL_TOKEN_SEQUENCE_MODE = {\n className: 'meta',\n begin: '#(line)',\n end: '$',\n relevance: 5\n };\n\n /**\n * D attributes\n *\n * @type {Object}\n */\n const D_ATTRIBUTE_MODE = {\n className: 'keyword',\n begin: '@[a-zA-Z_][a-zA-Z_\\\\d]*'\n };\n\n /**\n * D nesting comment\n *\n * @type {Object}\n */\n const D_NESTING_COMMENT_MODE = hljs.COMMENT(\n '\\\\/\\\\+',\n '\\\\+\\\\/',\n {\n contains: ['self'],\n relevance: 10\n }\n );\n\n return {\n name: 'D',\n keywords: D_KEYWORDS,\n contains: [\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n D_NESTING_COMMENT_MODE,\n D_HEX_STRING_MODE,\n D_STRING_MODE,\n D_WYSIWYG_DELIMITED_STRING_MODE,\n D_ALTERNATE_WYSIWYG_STRING_MODE,\n D_TOKEN_STRING_MODE,\n D_FLOAT_MODE,\n D_INTEGER_MODE,\n D_CHARACTER_MODE,\n D_HASHBANG_MODE,\n D_SPECIAL_TOKEN_SEQUENCE_MODE,\n D_ATTRIBUTE_MODE\n ]\n };\n}\n\nmodule.exports = d;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\nvar _default = exports[\"default\"] = {\n \"hljs-comment\": {\n \"color\": \"#7d7a68\"\n },\n \"hljs-quote\": {\n \"color\": \"#7d7a68\"\n },\n \"hljs-variable\": {\n \"color\": \"#d73737\"\n },\n \"hljs-template-variable\": {\n \"color\": \"#d73737\"\n },\n \"hljs-attribute\": {\n \"color\": \"#d73737\"\n },\n \"hljs-tag\": {\n \"color\": \"#d73737\"\n },\n \"hljs-name\": {\n \"color\": \"#d73737\"\n },\n \"hljs-regexp\": {\n \"color\": \"#d73737\"\n },\n \"hljs-link\": {\n \"color\": \"#d73737\"\n },\n \"hljs-selector-id\": {\n \"color\": \"#d73737\"\n },\n \"hljs-selector-class\": {\n \"color\": \"#d73737\"\n },\n \"hljs-number\": {\n \"color\": \"#b65611\"\n },\n \"hljs-meta\": {\n \"color\": \"#b65611\"\n },\n \"hljs-built_in\": {\n \"color\": \"#b65611\"\n },\n \"hljs-builtin-name\": {\n \"color\": \"#b65611\"\n },\n \"hljs-literal\": {\n \"color\": \"#b65611\"\n },\n \"hljs-type\": {\n \"color\": \"#b65611\"\n },\n \"hljs-params\": {\n \"color\": \"#b65611\"\n },\n \"hljs-string\": {\n \"color\": \"#60ac39\"\n },\n \"hljs-symbol\": {\n \"color\": \"#60ac39\"\n },\n \"hljs-bullet\": {\n \"color\": \"#60ac39\"\n },\n \"hljs-title\": {\n \"color\": \"#6684e1\"\n },\n \"hljs-section\": {\n \"color\": \"#6684e1\"\n },\n \"hljs-keyword\": {\n \"color\": \"#b854d4\"\n },\n \"hljs-selector-tag\": {\n \"color\": \"#b854d4\"\n },\n \"hljs\": {\n \"display\": \"block\",\n \"overflowX\": \"auto\",\n \"background\": \"#fefbec\",\n \"color\": \"#6e6b5e\",\n \"padding\": \"0.5em\"\n },\n \"hljs-emphasis\": {\n \"fontStyle\": \"italic\"\n },\n \"hljs-strong\": {\n \"fontWeight\": \"bold\"\n }\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\nvar _default = exports[\"default\"] = {\n \"hljs\": {\n \"display\": \"block\",\n \"overflowX\": \"auto\",\n \"padding\": \"0.5em\",\n \"background\": \"#444\",\n \"color\": \"#ddd\"\n },\n \"hljs-keyword\": {\n \"color\": \"white\",\n \"fontWeight\": \"bold\"\n },\n \"hljs-selector-tag\": {\n \"color\": \"white\",\n \"fontWeight\": \"bold\"\n },\n \"hljs-literal\": {\n \"color\": \"white\",\n \"fontWeight\": \"bold\"\n },\n \"hljs-section\": {\n \"color\": \"white\",\n \"fontWeight\": \"bold\"\n },\n \"hljs-link\": {\n \"color\": \"white\"\n },\n \"hljs-subst\": {\n \"color\": \"#ddd\"\n },\n \"hljs-string\": {\n \"color\": \"#d88\"\n },\n \"hljs-title\": {\n \"color\": \"#d88\",\n \"fontWeight\": \"bold\"\n },\n \"hljs-name\": {\n \"color\": \"#d88\",\n \"fontWeight\": \"bold\"\n },\n \"hljs-type\": {\n \"color\": \"#d88\",\n \"fontWeight\": \"bold\"\n },\n \"hljs-attribute\": {\n \"color\": \"#d88\"\n },\n \"hljs-symbol\": {\n \"color\": \"#d88\"\n },\n \"hljs-bullet\": {\n \"color\": \"#d88\"\n },\n \"hljs-built_in\": {\n \"color\": \"#d88\"\n },\n \"hljs-addition\": {\n \"color\": \"#d88\"\n },\n \"hljs-variable\": {\n \"color\": \"#d88\"\n },\n \"hljs-template-tag\": {\n \"color\": \"#d88\"\n },\n \"hljs-template-variable\": {\n \"color\": \"#d88\"\n },\n \"hljs-comment\": {\n \"color\": \"#777\"\n },\n \"hljs-quote\": {\n \"color\": \"#777\"\n },\n \"hljs-deletion\": {\n \"color\": \"#777\"\n },\n \"hljs-meta\": {\n \"color\": \"#777\"\n },\n \"hljs-doctag\": {\n \"fontWeight\": \"bold\"\n },\n \"hljs-strong\": {\n \"fontWeight\": \"bold\"\n },\n \"hljs-emphasis\": {\n \"fontStyle\": \"italic\"\n }\n};","/*\nLanguage: Diff\nDescription: Unified and context diff\nAuthor: Vasily Polovnyov \nWebsite: https://www.gnu.org/software/diffutils/\nCategory: common\n*/\n\n/** @type LanguageFn */\nfunction diff(hljs) {\n return {\n name: 'Diff',\n aliases: ['patch'],\n contains: [\n {\n className: 'meta',\n relevance: 10,\n variants: [\n {\n begin: /^@@ +-\\d+,\\d+ +\\+\\d+,\\d+ +@@/\n },\n {\n begin: /^\\*\\*\\* +\\d+,\\d+ +\\*\\*\\*\\*$/\n },\n {\n begin: /^--- +\\d+,\\d+ +----$/\n }\n ]\n },\n {\n className: 'comment',\n variants: [\n {\n begin: /Index: /,\n end: /$/\n },\n {\n begin: /^index/,\n end: /$/\n },\n {\n begin: /={3,}/,\n end: /$/\n },\n {\n begin: /^-{3}/,\n end: /$/\n },\n {\n begin: /^\\*{3} /,\n end: /$/\n },\n {\n begin: /^\\+{3}/,\n end: /$/\n },\n {\n begin: /^\\*{15}$/\n },\n {\n begin: /^diff --git/,\n end: /$/\n }\n ]\n },\n {\n className: 'addition',\n begin: /^\\+/,\n end: /$/\n },\n {\n className: 'deletion',\n begin: /^-/,\n end: /$/\n },\n {\n className: 'addition',\n begin: /^!/,\n end: /$/\n }\n ]\n };\n}\n\nmodule.exports = diff;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","const reWords = /[A-Z\\xc0-\\xd6\\xd8-\\xde]?[a-z\\xdf-\\xf6\\xf8-\\xff]+(?:['’](?:d|ll|m|re|s|t|ve))?(?=[\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000]|[A-Z\\xc0-\\xd6\\xd8-\\xde]|$)|(?:[A-Z\\xc0-\\xd6\\xd8-\\xde]|[^\\ud800-\\udfff\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\d+\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde])+(?:['’](?:D|LL|M|RE|S|T|VE))?(?=[\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000]|[A-Z\\xc0-\\xd6\\xd8-\\xde](?:[a-z\\xdf-\\xf6\\xf8-\\xff]|[^\\ud800-\\udfff\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\d+\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde])|$)|[A-Z\\xc0-\\xd6\\xd8-\\xde]?(?:[a-z\\xdf-\\xf6\\xf8-\\xff]|[^\\ud800-\\udfff\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\d+\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde])+(?:['’](?:d|ll|m|re|s|t|ve))?|[A-Z\\xc0-\\xd6\\xd8-\\xde]+(?:['’](?:D|LL|M|RE|S|T|VE))?|\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])|\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])|\\d+|(?:[\\u2700-\\u27bf]|(?:\\ud83c[\\udde6-\\uddff]){2}|[\\ud800-\\udbff][\\udc00-\\udfff])[\\ufe0e\\ufe0f]?(?:[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]|\\ud83c[\\udffb-\\udfff])?(?:\\u200d(?:[^\\ud800-\\udfff]|(?:\\ud83c[\\udde6-\\uddff]){2}|[\\ud800-\\udbff][\\udc00-\\udfff])[\\ufe0e\\ufe0f]?(?:[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]|\\ud83c[\\udffb-\\udfff])?)*/g\n\nconst words = (str) => str.match(reWords) || []\n\nconst upperFirst = (str) => str[0].toUpperCase() + str.slice(1)\n\nconst join = (str, d) => words(str).join(d).toLowerCase()\n\nconst camelCase = (str) =>\n words(str).reduce(\n (acc, next) =>\n `${acc}${\n !acc\n ? next.toLowerCase()\n : next[0].toUpperCase() + next.slice(1).toLowerCase()\n }`,\n '',\n )\n\nconst pascalCase = (str) => upperFirst(camelCase(str))\n\nconst snakeCase = (str) => join(str, '_')\n\nconst kebabCase = (str) => join(str, '-')\n\nconst sentenceCase = (str) => upperFirst(join(str, ' '))\n\nconst titleCase = (str) => words(str).map(upperFirst).join(' ')\n\nmodule.exports = {\n words,\n upperFirst,\n camelCase,\n pascalCase,\n snakeCase,\n kebabCase,\n sentenceCase,\n titleCase,\n}\n","/*\nLanguage: Pony\nAuthor: Joe Eli McIlvain \nDescription: Pony is an open-source, object-oriented, actor-model,\n capabilities-secure, high performance programming language.\nWebsite: https://www.ponylang.io\n*/\n\nfunction pony(hljs) {\n const KEYWORDS = {\n keyword:\n 'actor addressof and as be break class compile_error compile_intrinsic ' +\n 'consume continue delegate digestof do else elseif embed end error ' +\n 'for fun if ifdef in interface is isnt lambda let match new not object ' +\n 'or primitive recover repeat return struct then trait try type until ' +\n 'use var where while with xor',\n meta:\n 'iso val tag trn box ref',\n literal:\n 'this false true'\n };\n\n const TRIPLE_QUOTE_STRING_MODE = {\n className: 'string',\n begin: '\"\"\"',\n end: '\"\"\"',\n relevance: 10\n };\n\n const QUOTE_STRING_MODE = {\n className: 'string',\n begin: '\"',\n end: '\"',\n contains: [ hljs.BACKSLASH_ESCAPE ]\n };\n\n const SINGLE_QUOTE_CHAR_MODE = {\n className: 'string',\n begin: '\\'',\n end: '\\'',\n contains: [ hljs.BACKSLASH_ESCAPE ],\n relevance: 0\n };\n\n const TYPE_NAME = {\n className: 'type',\n begin: '\\\\b_?[A-Z][\\\\w]*',\n relevance: 0\n };\n\n const PRIMED_NAME = {\n begin: hljs.IDENT_RE + '\\'',\n relevance: 0\n };\n\n const NUMBER_MODE = {\n className: 'number',\n begin: '(-?)(\\\\b0[xX][a-fA-F0-9]+|\\\\b0[bB][01]+|(\\\\b\\\\d+(_\\\\d+)?(\\\\.\\\\d*)?|\\\\.\\\\d+)([eE][-+]?\\\\d+)?)',\n relevance: 0\n };\n\n /**\n * The `FUNCTION` and `CLASS` modes were intentionally removed to simplify\n * highlighting and fix cases like\n * ```\n * interface Iterator[A: A]\n * fun has_next(): Bool\n * fun next(): A?\n * ```\n * where it is valid to have a function head without a body\n */\n\n return {\n name: 'Pony',\n keywords: KEYWORDS,\n contains: [\n TYPE_NAME,\n TRIPLE_QUOTE_STRING_MODE,\n QUOTE_STRING_MODE,\n SINGLE_QUOTE_CHAR_MODE,\n PRIMED_NAME,\n NUMBER_MODE,\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE\n ]\n };\n}\n\nmodule.exports = pony;\n","/*\nLanguage: Processing\nDescription: Processing is a flexible software sketchbook and a language for learning how to code within the context of the visual arts.\nAuthor: Erik Paluka \nWebsite: https://processing.org\nCategory: graphics\n*/\n\nfunction processing(hljs) {\n return {\n name: 'Processing',\n keywords: {\n keyword: 'BufferedReader PVector PFont PImage PGraphics HashMap boolean byte char color ' +\n 'double float int long String Array FloatDict FloatList IntDict IntList JSONArray JSONObject ' +\n 'Object StringDict StringList Table TableRow XML ' +\n // Java keywords\n 'false synchronized int abstract float private char boolean static null if const ' +\n 'for true while long throw strictfp finally protected import native final return void ' +\n 'enum else break transient new catch instanceof byte super volatile case assert short ' +\n 'package default double public try this switch continue throws protected public private',\n literal: 'P2D P3D HALF_PI PI QUARTER_PI TAU TWO_PI',\n title: 'setup draw',\n built_in: 'displayHeight displayWidth mouseY mouseX mousePressed pmouseX pmouseY key ' +\n 'keyCode pixels focused frameCount frameRate height width ' +\n 'size createGraphics beginDraw createShape loadShape PShape arc ellipse line point ' +\n 'quad rect triangle bezier bezierDetail bezierPoint bezierTangent curve curveDetail curvePoint ' +\n 'curveTangent curveTightness shape shapeMode beginContour beginShape bezierVertex curveVertex ' +\n 'endContour endShape quadraticVertex vertex ellipseMode noSmooth rectMode smooth strokeCap ' +\n 'strokeJoin strokeWeight mouseClicked mouseDragged mouseMoved mousePressed mouseReleased ' +\n 'mouseWheel keyPressed keyPressedkeyReleased keyTyped print println save saveFrame day hour ' +\n 'millis minute month second year background clear colorMode fill noFill noStroke stroke alpha ' +\n 'blue brightness color green hue lerpColor red saturation modelX modelY modelZ screenX screenY ' +\n 'screenZ ambient emissive shininess specular add createImage beginCamera camera endCamera frustum ' +\n 'ortho perspective printCamera printProjection cursor frameRate noCursor exit loop noLoop popStyle ' +\n 'pushStyle redraw binary boolean byte char float hex int str unbinary unhex join match matchAll nf ' +\n 'nfc nfp nfs split splitTokens trim append arrayCopy concat expand reverse shorten sort splice subset ' +\n 'box sphere sphereDetail createInput createReader loadBytes loadJSONArray loadJSONObject loadStrings ' +\n 'loadTable loadXML open parseXML saveTable selectFolder selectInput beginRaw beginRecord createOutput ' +\n 'createWriter endRaw endRecord PrintWritersaveBytes saveJSONArray saveJSONObject saveStream saveStrings ' +\n 'saveXML selectOutput popMatrix printMatrix pushMatrix resetMatrix rotate rotateX rotateY rotateZ scale ' +\n 'shearX shearY translate ambientLight directionalLight lightFalloff lights lightSpecular noLights normal ' +\n 'pointLight spotLight image imageMode loadImage noTint requestImage tint texture textureMode textureWrap ' +\n 'blend copy filter get loadPixels set updatePixels blendMode loadShader PShaderresetShader shader createFont ' +\n 'loadFont text textFont textAlign textLeading textMode textSize textWidth textAscent textDescent abs ceil ' +\n 'constrain dist exp floor lerp log mag map max min norm pow round sq sqrt acos asin atan atan2 cos degrees ' +\n 'radians sin tan noise noiseDetail noiseSeed random randomGaussian randomSeed'\n },\n contains: [\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE,\n hljs.C_NUMBER_MODE\n ]\n };\n}\n\nmodule.exports = processing;\n","/*\nLanguage: Mojolicious\nRequires: xml.js, perl.js\nAuthor: Dotan Dimet \nDescription: Mojolicious .ep (Embedded Perl) templates\nWebsite: https://mojolicious.org\nCategory: template\n*/\nfunction mojolicious(hljs) {\n return {\n name: 'Mojolicious',\n subLanguage: 'xml',\n contains: [\n {\n className: 'meta',\n begin: '^__(END|DATA)__$'\n },\n // mojolicious line\n {\n begin: \"^\\\\s*%{1,2}={0,2}\",\n end: '$',\n subLanguage: 'perl'\n },\n // mojolicious block\n {\n begin: \"<%{1,2}={0,2}\",\n end: \"={0,1}%>\",\n subLanguage: 'perl',\n excludeBegin: true,\n excludeEnd: true\n }\n ]\n };\n}\n\nmodule.exports = mojolicious;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\nvar _default = exports[\"default\"] = {\n \"hljs\": {\n \"color\": \"#a9b7c6\",\n \"background\": \"#282b2e\",\n \"display\": \"block\",\n \"overflowX\": \"auto\",\n \"padding\": \"0.5em\"\n },\n \"hljs-number\": {\n \"color\": \"#6897BB\"\n },\n \"hljs-literal\": {\n \"color\": \"#6897BB\"\n },\n \"hljs-symbol\": {\n \"color\": \"#6897BB\"\n },\n \"hljs-bullet\": {\n \"color\": \"#6897BB\"\n },\n \"hljs-keyword\": {\n \"color\": \"#cc7832\"\n },\n \"hljs-selector-tag\": {\n \"color\": \"#cc7832\"\n },\n \"hljs-deletion\": {\n \"color\": \"#cc7832\"\n },\n \"hljs-variable\": {\n \"color\": \"#629755\"\n },\n \"hljs-template-variable\": {\n \"color\": \"#629755\"\n },\n \"hljs-link\": {\n \"color\": \"#629755\"\n },\n \"hljs-comment\": {\n \"color\": \"#808080\"\n },\n \"hljs-quote\": {\n \"color\": \"#808080\"\n },\n \"hljs-meta\": {\n \"color\": \"#bbb529\"\n },\n \"hljs-string\": {\n \"color\": \"#6A8759\"\n },\n \"hljs-attribute\": {\n \"color\": \"#6A8759\"\n },\n \"hljs-addition\": {\n \"color\": \"#6A8759\"\n },\n \"hljs-section\": {\n \"color\": \"#ffc66d\"\n },\n \"hljs-title\": {\n \"color\": \"#ffc66d\"\n },\n \"hljs-type\": {\n \"color\": \"#ffc66d\"\n },\n \"hljs-name\": {\n \"color\": \"#e8bf6a\"\n },\n \"hljs-selector-id\": {\n \"color\": \"#e8bf6a\"\n },\n \"hljs-selector-class\": {\n \"color\": \"#e8bf6a\"\n },\n \"hljs-emphasis\": {\n \"fontStyle\": \"italic\"\n },\n \"hljs-strong\": {\n \"fontWeight\": \"bold\"\n }\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\nvar _default = exports[\"default\"] = {\n \"hljs\": {\n \"display\": \"block\",\n \"overflowX\": \"auto\",\n \"padding\": \"0.5em\",\n \"background\": \"#000\",\n \"color\": \"#f8f8f8\"\n },\n \"hljs-comment\": {\n \"color\": \"#7c7c7c\"\n },\n \"hljs-quote\": {\n \"color\": \"#7c7c7c\"\n },\n \"hljs-meta\": {\n \"color\": \"#7c7c7c\"\n },\n \"hljs-keyword\": {\n \"color\": \"#96cbfe\"\n },\n \"hljs-selector-tag\": {\n \"color\": \"#96cbfe\"\n },\n \"hljs-tag\": {\n \"color\": \"#96cbfe\"\n },\n \"hljs-name\": {\n \"color\": \"#96cbfe\"\n },\n \"hljs-attribute\": {\n \"color\": \"#ffffb6\"\n },\n \"hljs-selector-id\": {\n \"color\": \"#ffffb6\"\n },\n \"hljs-string\": {\n \"color\": \"#a8ff60\"\n },\n \"hljs-selector-attr\": {\n \"color\": \"#a8ff60\"\n },\n \"hljs-selector-pseudo\": {\n \"color\": \"#a8ff60\"\n },\n \"hljs-addition\": {\n \"color\": \"#a8ff60\"\n },\n \"hljs-subst\": {\n \"color\": \"#daefa3\"\n },\n \"hljs-regexp\": {\n \"color\": \"#e9c062\"\n },\n \"hljs-link\": {\n \"color\": \"#e9c062\"\n },\n \"hljs-title\": {\n \"color\": \"#ffffb6\"\n },\n \"hljs-section\": {\n \"color\": \"#ffffb6\"\n },\n \"hljs-type\": {\n \"color\": \"#ffffb6\"\n },\n \"hljs-doctag\": {\n \"color\": \"#ffffb6\"\n },\n \"hljs-symbol\": {\n \"color\": \"#c6c5fe\"\n },\n \"hljs-bullet\": {\n \"color\": \"#c6c5fe\"\n },\n \"hljs-variable\": {\n \"color\": \"#c6c5fe\"\n },\n \"hljs-template-variable\": {\n \"color\": \"#c6c5fe\"\n },\n \"hljs-literal\": {\n \"color\": \"#c6c5fe\"\n },\n \"hljs-number\": {\n \"color\": \"#ff73fd\"\n },\n \"hljs-deletion\": {\n \"color\": \"#ff73fd\"\n },\n \"hljs-emphasis\": {\n \"fontStyle\": \"italic\"\n },\n \"hljs-strong\": {\n \"fontWeight\": \"bold\"\n }\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\nvar _default = exports[\"default\"] = {\n \"hljs-comment\": {\n \"color\": \"#809980\"\n },\n \"hljs-quote\": {\n \"color\": \"#809980\"\n },\n \"hljs-variable\": {\n \"color\": \"#e6193c\"\n },\n \"hljs-template-variable\": {\n \"color\": \"#e6193c\"\n },\n \"hljs-attribute\": {\n \"color\": \"#e6193c\"\n },\n \"hljs-tag\": {\n \"color\": \"#e6193c\"\n },\n \"hljs-name\": {\n \"color\": \"#e6193c\"\n },\n \"hljs-regexp\": {\n \"color\": \"#e6193c\"\n },\n \"hljs-link\": {\n \"color\": \"#e6193c\"\n },\n \"hljs-selector-id\": {\n \"color\": \"#e6193c\"\n },\n \"hljs-selector-class\": {\n \"color\": \"#e6193c\"\n },\n \"hljs-number\": {\n \"color\": \"#87711d\"\n },\n \"hljs-meta\": {\n \"color\": \"#87711d\"\n },\n \"hljs-built_in\": {\n \"color\": \"#87711d\"\n },\n \"hljs-builtin-name\": {\n \"color\": \"#87711d\"\n },\n \"hljs-literal\": {\n \"color\": \"#87711d\"\n },\n \"hljs-type\": {\n \"color\": \"#87711d\"\n },\n \"hljs-params\": {\n \"color\": \"#87711d\"\n },\n \"hljs-string\": {\n \"color\": \"#29a329\"\n },\n \"hljs-symbol\": {\n \"color\": \"#29a329\"\n },\n \"hljs-bullet\": {\n \"color\": \"#29a329\"\n },\n \"hljs-title\": {\n \"color\": \"#3d62f5\"\n },\n \"hljs-section\": {\n \"color\": \"#3d62f5\"\n },\n \"hljs-keyword\": {\n \"color\": \"#ad2bee\"\n },\n \"hljs-selector-tag\": {\n \"color\": \"#ad2bee\"\n },\n \"hljs\": {\n \"display\": \"block\",\n \"overflowX\": \"auto\",\n \"background\": \"#131513\",\n \"color\": \"#8ca68c\",\n \"padding\": \"0.5em\"\n },\n \"hljs-emphasis\": {\n \"fontStyle\": \"italic\"\n },\n \"hljs-strong\": {\n \"fontWeight\": \"bold\"\n }\n};","/*\nLanguage: Q\nDescription: Q is a vector-based functional paradigm programming language built into the kdb+ database.\n (K/Q/Kdb+ from Kx Systems)\nAuthor: Sergey Vidyuk \nWebsite: https://kx.com/connect-with-us/developers/\n*/\n\nfunction q(hljs) {\n const KEYWORDS = {\n $pattern: /(`?)[A-Za-z0-9_]+\\b/,\n keyword:\n 'do while select delete by update from',\n literal:\n '0b 1b',\n built_in:\n 'neg not null string reciprocal floor ceiling signum mod xbar xlog and or each scan over prior mmu lsq inv md5 ltime gtime count first var dev med cov cor all any rand sums prds mins maxs fills deltas ratios avgs differ prev next rank reverse iasc idesc asc desc msum mcount mavg mdev xrank mmin mmax xprev rotate distinct group where flip type key til get value attr cut set upsert raze union inter except cross sv vs sublist enlist read0 read1 hopen hclose hdel hsym hcount peach system ltrim rtrim trim lower upper ssr view tables views cols xcols keys xkey xcol xasc xdesc fkeys meta lj aj aj0 ij pj asof uj ww wj wj1 fby xgroup ungroup ej save load rsave rload show csv parse eval min max avg wavg wsum sin cos tan sum',\n type:\n '`float `double int `timestamp `timespan `datetime `time `boolean `symbol `char `byte `short `long `real `month `date `minute `second `guid'\n };\n\n return {\n name: 'Q',\n aliases: [\n 'k',\n 'kdb'\n ],\n keywords: KEYWORDS,\n contains: [\n hljs.C_LINE_COMMENT_MODE,\n hljs.QUOTE_STRING_MODE,\n hljs.C_NUMBER_MODE\n ]\n };\n}\n\nmodule.exports = q;\n","//\n// format - printf-like string formatting for JavaScript\n// github.com/samsonjs/format\n// @_sjs\n//\n// Copyright 2010 - 2013 Sami Samhuri \n//\n// MIT License\n// http://sjs.mit-license.org\n//\n\n;(function() {\n\n //// Export the API\n var namespace;\n\n // CommonJS / Node module\n if (typeof module !== 'undefined') {\n namespace = module.exports = format;\n }\n\n // Browsers and other environments\n else {\n // Get the global object. Works in ES3, ES5, and ES5 strict mode.\n namespace = (function(){ return this || (1,eval)('this') }());\n }\n\n namespace.format = format;\n namespace.vsprintf = vsprintf;\n\n if (typeof console !== 'undefined' && typeof console.log === 'function') {\n namespace.printf = printf;\n }\n\n function printf(/* ... */) {\n console.log(format.apply(null, arguments));\n }\n\n function vsprintf(fmt, replacements) {\n return format.apply(null, [fmt].concat(replacements));\n }\n\n function format(fmt) {\n var argIndex = 1 // skip initial format argument\n , args = [].slice.call(arguments)\n , i = 0\n , n = fmt.length\n , result = ''\n , c\n , escaped = false\n , arg\n , tmp\n , leadingZero = false\n , precision\n , nextArg = function() { return args[argIndex++]; }\n , slurpNumber = function() {\n var digits = '';\n while (/\\d/.test(fmt[i])) {\n digits += fmt[i++];\n c = fmt[i];\n }\n return digits.length > 0 ? parseInt(digits) : null;\n }\n ;\n for (; i < n; ++i) {\n c = fmt[i];\n if (escaped) {\n escaped = false;\n if (c == '.') {\n leadingZero = false;\n c = fmt[++i];\n }\n else if (c == '0' && fmt[i + 1] == '.') {\n leadingZero = true;\n i += 2;\n c = fmt[i];\n }\n else {\n leadingZero = true;\n }\n precision = slurpNumber();\n switch (c) {\n case 'b': // number in binary\n result += parseInt(nextArg(), 10).toString(2);\n break;\n case 'c': // character\n arg = nextArg();\n if (typeof arg === 'string' || arg instanceof String)\n result += arg;\n else\n result += String.fromCharCode(parseInt(arg, 10));\n break;\n case 'd': // number in decimal\n result += parseInt(nextArg(), 10);\n break;\n case 'f': // floating point number\n tmp = String(parseFloat(nextArg()).toFixed(precision || 6));\n result += leadingZero ? tmp : tmp.replace(/^0/, '');\n break;\n case 'j': // JSON\n result += JSON.stringify(nextArg());\n break;\n case 'o': // number in octal\n result += '0' + parseInt(nextArg(), 10).toString(8);\n break;\n case 's': // string\n result += nextArg();\n break;\n case 'x': // lowercase hexadecimal\n result += '0x' + parseInt(nextArg(), 10).toString(16);\n break;\n case 'X': // uppercase hexadecimal\n result += '0x' + parseInt(nextArg(), 10).toString(16).toUpperCase();\n break;\n default:\n result += c;\n break;\n }\n } else if (c === '%') {\n escaped = true;\n } else {\n result += c;\n }\n }\n return result;\n }\n\n}());\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\nvar _default = exports[\"default\"] = {\n \"hljs\": {\n \"display\": \"block\",\n \"overflowX\": \"auto\",\n \"color\": \"#eaeaea\",\n \"background\": \"#000\",\n \"padding\": \"0.5em\"\n },\n \"hljs-subst\": {\n \"color\": \"#eaeaea\"\n },\n \"hljs-emphasis\": {\n \"fontStyle\": \"italic\"\n },\n \"hljs-strong\": {\n \"fontWeight\": \"bold\"\n },\n \"hljs-builtin-name\": {\n \"color\": \"#eaeaea\"\n },\n \"hljs-type\": {\n \"color\": \"#eaeaea\"\n },\n \"hljs-params\": {\n \"color\": \"#da0000\"\n },\n \"hljs-literal\": {\n \"color\": \"#ff0000\",\n \"fontWeight\": \"bolder\"\n },\n \"hljs-number\": {\n \"color\": \"#ff0000\",\n \"fontWeight\": \"bolder\"\n },\n \"hljs-name\": {\n \"color\": \"#ff0000\",\n \"fontWeight\": \"bolder\"\n },\n \"hljs-comment\": {\n \"color\": \"#969896\"\n },\n \"hljs-selector-id\": {\n \"color\": \"#00ffff\"\n },\n \"hljs-quote\": {\n \"color\": \"#00ffff\"\n },\n \"hljs-template-variable\": {\n \"color\": \"#00ffff\",\n \"fontWeight\": \"bold\"\n },\n \"hljs-variable\": {\n \"color\": \"#00ffff\",\n \"fontWeight\": \"bold\"\n },\n \"hljs-title\": {\n \"color\": \"#00ffff\",\n \"fontWeight\": \"bold\"\n },\n \"hljs-selector-class\": {\n \"color\": \"#fff000\"\n },\n \"hljs-keyword\": {\n \"color\": \"#fff000\"\n },\n \"hljs-symbol\": {\n \"color\": \"#fff000\"\n },\n \"hljs-string\": {\n \"color\": \"#00ff00\"\n },\n \"hljs-bullet\": {\n \"color\": \"#00ff00\"\n },\n \"hljs-tag\": {\n \"color\": \"#000fff\"\n },\n \"hljs-section\": {\n \"color\": \"#000fff\"\n },\n \"hljs-selector-tag\": {\n \"color\": \"#000fff\",\n \"fontWeight\": \"bold\"\n },\n \"hljs-attribute\": {\n \"color\": \"#ff00ff\"\n },\n \"hljs-built_in\": {\n \"color\": \"#ff00ff\"\n },\n \"hljs-regexp\": {\n \"color\": \"#ff00ff\"\n },\n \"hljs-link\": {\n \"color\": \"#ff00ff\"\n },\n \"hljs-meta\": {\n \"color\": \"#fff\",\n \"fontWeight\": \"bolder\"\n }\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\nvar _default = exports[\"default\"] = {\n \"hljs\": {\n \"display\": \"block\",\n \"overflowX\": \"auto\",\n \"padding\": \"0.5em\",\n \"background\": \"#FFFFDF\",\n \"color\": \"#000000\"\n },\n \"hljs-type\": {\n \"color\": \"#000000\"\n },\n \"hljs-function\": {\n \"color\": \"#000000\"\n },\n \"hljs-name\": {\n \"color\": \"#000000\",\n \"fontWeight\": \"bold\"\n },\n \"hljs-number\": {\n \"color\": \"#000000\"\n },\n \"hljs-attr\": {\n \"color\": \"#000000\"\n },\n \"hljs-params\": {\n \"color\": \"#000000\"\n },\n \"hljs-subst\": {\n \"color\": \"#000000\"\n },\n \"hljs-comment\": {\n \"color\": \"#00AAAA\"\n },\n \"hljs-regexp\": {\n \"color\": \"#00AAAA\"\n },\n \"hljs-section\": {\n \"color\": \"#00AAAA\"\n },\n \"hljs-selector-pseudo\": {\n \"color\": \"#00AAAA\"\n },\n \"hljs-addition\": {\n \"color\": \"#00AAAA\"\n },\n \"hljs-title\": {\n \"color\": \"#006666\"\n },\n \"hljs-tag\": {\n \"color\": \"#006666\"\n },\n \"hljs-variable\": {\n \"color\": \"#006666\"\n },\n \"hljs-code\": {\n \"color\": \"#006666\"\n },\n \"hljs-keyword\": {\n \"color\": \"#006666\",\n \"fontWeight\": \"bold\"\n },\n \"hljs-class\": {\n \"color\": \"#006666\",\n \"fontWeight\": \"bold\"\n },\n \"hljs-meta-keyword\": {\n \"color\": \"#006666\",\n \"fontWeight\": \"bold\"\n },\n \"hljs-selector-class\": {\n \"color\": \"#006666\",\n \"fontWeight\": \"bold\"\n },\n \"hljs-built_in\": {\n \"color\": \"#006666\",\n \"fontWeight\": \"bold\"\n },\n \"hljs-builtin-name\": {\n \"color\": \"#006666\",\n \"fontWeight\": \"bold\"\n },\n \"hljs-string\": {\n \"color\": \"#0080FF\"\n },\n \"hljs-selector-attr\": {\n \"color\": \"#0080FF\"\n },\n \"hljs-symbol\": {\n \"color\": \"#924B72\"\n },\n \"hljs-link\": {\n \"color\": \"#924B72\"\n },\n \"hljs-deletion\": {\n \"color\": \"#924B72\"\n },\n \"hljs-attribute\": {\n \"color\": \"#924B72\"\n },\n \"hljs-meta\": {\n \"color\": \"#924B72\",\n \"fontWeight\": \"bold\"\n },\n \"hljs-literal\": {\n \"color\": \"#924B72\",\n \"fontWeight\": \"bold\"\n },\n \"hljs-selector-id\": {\n \"color\": \"#924B72\",\n \"fontWeight\": \"bold\"\n },\n \"hljs-strong\": {\n \"fontWeight\": \"bold\"\n },\n \"hljs-emphasis\": {\n \"fontStyle\": \"italic\"\n }\n};","/*\nLanguage: Django\nDescription: Django is a high-level Python Web framework that encourages rapid development and clean, pragmatic design.\nRequires: xml.js\nAuthor: Ivan Sagalaev \nContributors: Ilya Baryshev \nWebsite: https://www.djangoproject.com\nCategory: template\n*/\n\n/** @type LanguageFn */\nfunction django(hljs) {\n const FILTER = {\n begin: /\\|[A-Za-z]+:?/,\n keywords: {\n name:\n 'truncatewords removetags linebreaksbr yesno get_digit timesince random striptags ' +\n 'filesizeformat escape linebreaks length_is ljust rjust cut urlize fix_ampersands ' +\n 'title floatformat capfirst pprint divisibleby add make_list unordered_list urlencode ' +\n 'timeuntil urlizetrunc wordcount stringformat linenumbers slice date dictsort ' +\n 'dictsortreversed default_if_none pluralize lower join center default ' +\n 'truncatewords_html upper length phone2numeric wordwrap time addslashes slugify first ' +\n 'escapejs force_escape iriencode last safe safeseq truncatechars localize unlocalize ' +\n 'localtime utc timezone'\n },\n contains: [\n hljs.QUOTE_STRING_MODE,\n hljs.APOS_STRING_MODE\n ]\n };\n\n return {\n name: 'Django',\n aliases: ['jinja'],\n case_insensitive: true,\n subLanguage: 'xml',\n contains: [\n hljs.COMMENT(/\\{%\\s*comment\\s*%\\}/, /\\{%\\s*endcomment\\s*%\\}/),\n hljs.COMMENT(/\\{#/, /#\\}/),\n {\n className: 'template-tag',\n begin: /\\{%/,\n end: /%\\}/,\n contains: [{\n className: 'name',\n begin: /\\w+/,\n keywords: {\n name:\n 'comment endcomment load templatetag ifchanged endifchanged if endif firstof for ' +\n 'endfor ifnotequal endifnotequal widthratio extends include spaceless ' +\n 'endspaceless regroup ifequal endifequal ssi now with cycle url filter ' +\n 'endfilter debug block endblock else autoescape endautoescape csrf_token empty elif ' +\n 'endwith static trans blocktrans endblocktrans get_static_prefix get_media_prefix ' +\n 'plural get_current_language language get_available_languages ' +\n 'get_current_language_bidi get_language_info get_language_info_list localize ' +\n 'endlocalize localtime endlocaltime timezone endtimezone get_current_timezone ' +\n 'verbatim'\n },\n starts: {\n endsWithParent: true,\n keywords: 'in by as',\n contains: [FILTER],\n relevance: 0\n }\n }]\n },\n {\n className: 'template-variable',\n begin: /\\{\\{/,\n end: /\\}\\}/,\n contains: [FILTER]\n }\n ]\n };\n}\n\nmodule.exports = django;\n","function indexOfMatch(xml, pattern, startIndex) {\n const re = new RegExp(pattern);\n const match = re.exec(xml.slice(startIndex));\n if (match) return startIndex + match.index;\n else return -1;\n}\n\nmodule.exports = indexOfMatch;\nmodule.exports.default = indexOfMatch;\n","/*\nLanguage: Lua\nDescription: Lua is a powerful, efficient, lightweight, embeddable scripting language.\nAuthor: Andrew Fedorov \nCategory: common, scripting\nWebsite: https://www.lua.org\n*/\n\nfunction lua(hljs) {\n const OPENING_LONG_BRACKET = '\\\\[=*\\\\[';\n const CLOSING_LONG_BRACKET = '\\\\]=*\\\\]';\n const LONG_BRACKETS = {\n begin: OPENING_LONG_BRACKET,\n end: CLOSING_LONG_BRACKET,\n contains: ['self']\n };\n const COMMENTS = [\n hljs.COMMENT('--(?!' + OPENING_LONG_BRACKET + ')', '$'),\n hljs.COMMENT(\n '--' + OPENING_LONG_BRACKET,\n CLOSING_LONG_BRACKET,\n {\n contains: [LONG_BRACKETS],\n relevance: 10\n }\n )\n ];\n return {\n name: 'Lua',\n keywords: {\n $pattern: hljs.UNDERSCORE_IDENT_RE,\n literal: \"true false nil\",\n keyword: \"and break do else elseif end for goto if in local not or repeat return then until while\",\n built_in:\n // Metatags and globals:\n '_G _ENV _VERSION __index __newindex __mode __call __metatable __tostring __len ' +\n '__gc __add __sub __mul __div __mod __pow __concat __unm __eq __lt __le assert ' +\n // Standard methods and properties:\n 'collectgarbage dofile error getfenv getmetatable ipairs load loadfile loadstring ' +\n 'module next pairs pcall print rawequal rawget rawset require select setfenv ' +\n 'setmetatable tonumber tostring type unpack xpcall arg self ' +\n // Library methods and properties (one line per library):\n 'coroutine resume yield status wrap create running debug getupvalue ' +\n 'debug sethook getmetatable gethook setmetatable setlocal traceback setfenv getinfo setupvalue getlocal getregistry getfenv ' +\n 'io lines write close flush open output type read stderr stdin input stdout popen tmpfile ' +\n 'math log max acos huge ldexp pi cos tanh pow deg tan cosh sinh random randomseed frexp ceil floor rad abs sqrt modf asin min mod fmod log10 atan2 exp sin atan ' +\n 'os exit setlocale date getenv difftime remove time clock tmpname rename execute package preload loadlib loaded loaders cpath config path seeall ' +\n 'string sub upper len gfind rep find match char dump gmatch reverse byte format gsub lower ' +\n 'table setn insert getn foreachi maxn foreach concat sort remove'\n },\n contains: COMMENTS.concat([\n {\n className: 'function',\n beginKeywords: 'function',\n end: '\\\\)',\n contains: [\n hljs.inherit(hljs.TITLE_MODE, {\n begin: '([_a-zA-Z]\\\\w*\\\\.)*([_a-zA-Z]\\\\w*:)?[_a-zA-Z]\\\\w*'\n }),\n {\n className: 'params',\n begin: '\\\\(',\n endsWithParent: true,\n contains: COMMENTS\n }\n ].concat(COMMENTS)\n },\n hljs.C_NUMBER_MODE,\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE,\n {\n className: 'string',\n begin: OPENING_LONG_BRACKET,\n end: CLOSING_LONG_BRACKET,\n contains: [LONG_BRACKETS],\n relevance: 5\n }\n ])\n };\n}\n\nmodule.exports = lua;\n","/*\nLanguage: Mizar\nDescription: The Mizar Language is a formal language derived from the mathematical vernacular.\nAuthor: Kelley van Evert \nWebsite: http://mizar.org/language/\nCategory: scientific\n*/\n\nfunction mizar(hljs) {\n return {\n name: 'Mizar',\n keywords:\n 'environ vocabularies notations constructors definitions ' +\n 'registrations theorems schemes requirements begin end definition ' +\n 'registration cluster existence pred func defpred deffunc theorem ' +\n 'proof let take assume then thus hence ex for st holds consider ' +\n 'reconsider such that and in provided of as from be being by means ' +\n 'equals implies iff redefine define now not or attr is mode ' +\n 'suppose per cases set thesis contradiction scheme reserve struct ' +\n 'correctness compatibility coherence symmetry assymetry ' +\n 'reflexivity irreflexivity connectedness uniqueness commutativity ' +\n 'idempotence involutiveness projectivity',\n contains: [\n hljs.COMMENT('::', '$')\n ]\n };\n}\n\nmodule.exports = mizar;\n","/*\n Language: ArcGIS Arcade\n Category: scripting\n Author: John Foster \n Website: https://developers.arcgis.com/arcade/\n Description: ArcGIS Arcade is an expression language used in many Esri ArcGIS products such as Pro, Online, Server, Runtime, JavaScript, and Python\n*/\n\n/** @type LanguageFn */\nfunction arcade(hljs) {\n const IDENT_RE = '[A-Za-z_][0-9A-Za-z_]*';\n const KEYWORDS = {\n keyword:\n 'if for while var new function do return void else break',\n literal:\n 'BackSlash DoubleQuote false ForwardSlash Infinity NaN NewLine null PI SingleQuote Tab TextFormatting true undefined',\n built_in:\n 'Abs Acos Angle Attachments Area AreaGeodetic Asin Atan Atan2 Average Bearing Boolean Buffer BufferGeodetic ' +\n 'Ceil Centroid Clip Console Constrain Contains Cos Count Crosses Cut Date DateAdd ' +\n 'DateDiff Day Decode DefaultValue Dictionary Difference Disjoint Distance DistanceGeodetic Distinct ' +\n 'DomainCode DomainName Equals Exp Extent Feature FeatureSet FeatureSetByAssociation FeatureSetById FeatureSetByPortalItem ' +\n 'FeatureSetByRelationshipName FeatureSetByTitle FeatureSetByUrl Filter First Floor Geometry GroupBy Guid HasKey Hour IIf IndexOf ' +\n 'Intersection Intersects IsEmpty IsNan IsSelfIntersecting Length LengthGeodetic Log Max Mean Millisecond Min Minute Month ' +\n 'MultiPartToSinglePart Multipoint NextSequenceValue Now Number OrderBy Overlaps Point Polygon ' +\n 'Polyline Portal Pow Random Relate Reverse RingIsClockWise Round Second SetGeometry Sin Sort Sqrt Stdev Sum ' +\n 'SymmetricDifference Tan Text Timestamp Today ToLocal Top Touches ToUTC TrackCurrentTime ' +\n 'TrackGeometryWindow TrackIndex TrackStartTime TrackWindow TypeOf Union UrlEncode Variance ' +\n 'Weekday When Within Year '\n };\n const SYMBOL = {\n className: 'symbol',\n begin: '\\\\$[datastore|feature|layer|map|measure|sourcefeature|sourcelayer|targetfeature|targetlayer|value|view]+'\n };\n const NUMBER = {\n className: 'number',\n variants: [\n {\n begin: '\\\\b(0[bB][01]+)'\n },\n {\n begin: '\\\\b(0[oO][0-7]+)'\n },\n {\n begin: hljs.C_NUMBER_RE\n }\n ],\n relevance: 0\n };\n const SUBST = {\n className: 'subst',\n begin: '\\\\$\\\\{',\n end: '\\\\}',\n keywords: KEYWORDS,\n contains: [] // defined later\n };\n const TEMPLATE_STRING = {\n className: 'string',\n begin: '`',\n end: '`',\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ]\n };\n SUBST.contains = [\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE,\n TEMPLATE_STRING,\n NUMBER,\n hljs.REGEXP_MODE\n ];\n const PARAMS_CONTAINS = SUBST.contains.concat([\n hljs.C_BLOCK_COMMENT_MODE,\n hljs.C_LINE_COMMENT_MODE\n ]);\n\n return {\n name: 'ArcGIS Arcade',\n keywords: KEYWORDS,\n contains: [\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE,\n TEMPLATE_STRING,\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n SYMBOL,\n NUMBER,\n { // object attr container\n begin: /[{,]\\s*/,\n relevance: 0,\n contains: [{\n begin: IDENT_RE + '\\\\s*:',\n returnBegin: true,\n relevance: 0,\n contains: [{\n className: 'attr',\n begin: IDENT_RE,\n relevance: 0\n }]\n }]\n },\n { // \"value\" container\n begin: '(' + hljs.RE_STARTERS_RE + '|\\\\b(return)\\\\b)\\\\s*',\n keywords: 'return',\n contains: [\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n hljs.REGEXP_MODE,\n {\n className: 'function',\n begin: '(\\\\(.*?\\\\)|' + IDENT_RE + ')\\\\s*=>',\n returnBegin: true,\n end: '\\\\s*=>',\n contains: [{\n className: 'params',\n variants: [\n {\n begin: IDENT_RE\n },\n {\n begin: /\\(\\s*\\)/\n },\n {\n begin: /\\(/,\n end: /\\)/,\n excludeBegin: true,\n excludeEnd: true,\n keywords: KEYWORDS,\n contains: PARAMS_CONTAINS\n }\n ]\n }]\n }\n ],\n relevance: 0\n },\n {\n className: 'function',\n beginKeywords: 'function',\n end: /\\{/,\n excludeEnd: true,\n contains: [\n hljs.inherit(hljs.TITLE_MODE, {\n begin: IDENT_RE\n }),\n {\n className: 'params',\n begin: /\\(/,\n end: /\\)/,\n excludeBegin: true,\n excludeEnd: true,\n contains: PARAMS_CONTAINS\n }\n ],\n illegal: /\\[|%/\n },\n {\n begin: /\\$[(.]/\n }\n ],\n illegal: /#(?!!)/\n };\n}\n\nmodule.exports = arcade;\n","/*\nLanguage: Microsoft X++\nDescription: X++ is a language used in Microsoft Dynamics 365, Dynamics AX, and Axapta.\nAuthor: Dmitri Roudakov \nWebsite: https://dynamics.microsoft.com/en-us/ax-overview/\nCategory: enterprise\n*/\n\n/** @type LanguageFn */\nfunction axapta(hljs) {\n const BUILT_IN_KEYWORDS = [\n 'anytype',\n 'boolean',\n 'byte',\n 'char',\n 'container',\n 'date',\n 'double',\n 'enum',\n 'guid',\n 'int',\n 'int64',\n 'long',\n 'real',\n 'short',\n 'str',\n 'utcdatetime',\n 'var'\n ];\n\n const LITERAL_KEYWORDS = [\n 'default',\n 'false',\n 'null',\n 'true'\n ];\n\n const NORMAL_KEYWORDS = [\n 'abstract',\n 'as',\n 'asc',\n 'avg',\n 'break',\n 'breakpoint',\n 'by',\n 'byref',\n 'case',\n 'catch',\n 'changecompany',\n 'class',\n 'client',\n 'client',\n 'common',\n 'const',\n 'continue',\n 'count',\n 'crosscompany',\n 'delegate',\n 'delete_from',\n 'desc',\n 'display',\n 'div',\n 'do',\n 'edit',\n 'else',\n 'eventhandler',\n 'exists',\n 'extends',\n 'final',\n 'finally',\n 'firstfast',\n 'firstonly',\n 'firstonly1',\n 'firstonly10',\n 'firstonly100',\n 'firstonly1000',\n 'flush',\n 'for',\n 'forceliterals',\n 'forcenestedloop',\n 'forceplaceholders',\n 'forceselectorder',\n 'forupdate',\n 'from',\n 'generateonly',\n 'group',\n 'hint',\n 'if',\n 'implements',\n 'in',\n 'index',\n 'insert_recordset',\n 'interface',\n 'internal',\n 'is',\n 'join',\n 'like',\n 'maxof',\n 'minof',\n 'mod',\n 'namespace',\n 'new',\n 'next',\n 'nofetch',\n 'notexists',\n 'optimisticlock',\n 'order',\n 'outer',\n 'pessimisticlock',\n 'print',\n 'private',\n 'protected',\n 'public',\n 'readonly',\n 'repeatableread',\n 'retry',\n 'return',\n 'reverse',\n 'select',\n 'server',\n 'setting',\n 'static',\n 'sum',\n 'super',\n 'switch',\n 'this',\n 'throw',\n 'try',\n 'ttsabort',\n 'ttsbegin',\n 'ttscommit',\n 'unchecked',\n 'update_recordset',\n 'using',\n 'validtimestate',\n 'void',\n 'where',\n 'while'\n ];\n\n const KEYWORDS = {\n keyword: NORMAL_KEYWORDS,\n built_in: BUILT_IN_KEYWORDS,\n literal: LITERAL_KEYWORDS\n };\n\n return {\n name: 'X++',\n aliases: ['x++'],\n keywords: KEYWORDS,\n contains: [\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE,\n hljs.C_NUMBER_MODE,\n {\n className: 'meta',\n begin: '#',\n end: '$'\n },\n {\n className: 'class',\n beginKeywords: 'class interface',\n end: /\\{/,\n excludeEnd: true,\n illegal: ':',\n contains: [\n {\n beginKeywords: 'extends implements'\n },\n hljs.UNDERSCORE_TITLE_MODE\n ]\n }\n ]\n };\n}\n\nmodule.exports = axapta;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\nvar _default = exports[\"default\"] = {\n \"hljs\": {\n \"display\": \"block\",\n \"overflowX\": \"auto\",\n \"padding\": \"0.5em\",\n \"color\": \"#383a42\",\n \"background\": \"#fafafa\"\n },\n \"hljs-comment\": {\n \"color\": \"#a0a1a7\",\n \"fontStyle\": \"italic\"\n },\n \"hljs-quote\": {\n \"color\": \"#a0a1a7\",\n \"fontStyle\": \"italic\"\n },\n \"hljs-doctag\": {\n \"color\": \"#a626a4\"\n },\n \"hljs-keyword\": {\n \"color\": \"#a626a4\"\n },\n \"hljs-formula\": {\n \"color\": \"#a626a4\"\n },\n \"hljs-section\": {\n \"color\": \"#e45649\"\n },\n \"hljs-name\": {\n \"color\": \"#e45649\"\n },\n \"hljs-selector-tag\": {\n \"color\": \"#e45649\"\n },\n \"hljs-deletion\": {\n \"color\": \"#e45649\"\n },\n \"hljs-subst\": {\n \"color\": \"#e45649\"\n },\n \"hljs-literal\": {\n \"color\": \"#0184bb\"\n },\n \"hljs-string\": {\n \"color\": \"#50a14f\"\n },\n \"hljs-regexp\": {\n \"color\": \"#50a14f\"\n },\n \"hljs-addition\": {\n \"color\": \"#50a14f\"\n },\n \"hljs-attribute\": {\n \"color\": \"#50a14f\"\n },\n \"hljs-meta-string\": {\n \"color\": \"#50a14f\"\n },\n \"hljs-built_in\": {\n \"color\": \"#c18401\"\n },\n \"hljs-class .hljs-title\": {\n \"color\": \"#c18401\"\n },\n \"hljs-attr\": {\n \"color\": \"#986801\"\n },\n \"hljs-variable\": {\n \"color\": \"#986801\"\n },\n \"hljs-template-variable\": {\n \"color\": \"#986801\"\n },\n \"hljs-type\": {\n \"color\": \"#986801\"\n },\n \"hljs-selector-class\": {\n \"color\": \"#986801\"\n },\n \"hljs-selector-attr\": {\n \"color\": \"#986801\"\n },\n \"hljs-selector-pseudo\": {\n \"color\": \"#986801\"\n },\n \"hljs-number\": {\n \"color\": \"#986801\"\n },\n \"hljs-symbol\": {\n \"color\": \"#4078f2\"\n },\n \"hljs-bullet\": {\n \"color\": \"#4078f2\"\n },\n \"hljs-link\": {\n \"color\": \"#4078f2\",\n \"textDecoration\": \"underline\"\n },\n \"hljs-meta\": {\n \"color\": \"#4078f2\"\n },\n \"hljs-selector-id\": {\n \"color\": \"#4078f2\"\n },\n \"hljs-title\": {\n \"color\": \"#4078f2\"\n },\n \"hljs-emphasis\": {\n \"fontStyle\": \"italic\"\n },\n \"hljs-strong\": {\n \"fontWeight\": \"bold\"\n }\n};","/*\nLanguage: Device Tree\nDescription: *.dts files used in the Linux kernel\nAuthor: Martin Braun , Moritz Fischer \nWebsite: https://elinux.org/Device_Tree_Reference\nCategory: config\n*/\n\n/** @type LanguageFn */\nfunction dts(hljs) {\n const STRINGS = {\n className: 'string',\n variants: [\n hljs.inherit(hljs.QUOTE_STRING_MODE, {\n begin: '((u8?|U)|L)?\"'\n }),\n {\n begin: '(u8?|U)?R\"',\n end: '\"',\n contains: [hljs.BACKSLASH_ESCAPE]\n },\n {\n begin: '\\'\\\\\\\\?.',\n end: '\\'',\n illegal: '.'\n }\n ]\n };\n\n const NUMBERS = {\n className: 'number',\n variants: [\n {\n begin: '\\\\b(\\\\d+(\\\\.\\\\d*)?|\\\\.\\\\d+)(u|U|l|L|ul|UL|f|F)'\n },\n {\n begin: hljs.C_NUMBER_RE\n }\n ],\n relevance: 0\n };\n\n const PREPROCESSOR = {\n className: 'meta',\n begin: '#',\n end: '$',\n keywords: {\n 'meta-keyword': 'if else elif endif define undef ifdef ifndef'\n },\n contains: [\n {\n begin: /\\\\\\n/,\n relevance: 0\n },\n {\n beginKeywords: 'include',\n end: '$',\n keywords: {\n 'meta-keyword': 'include'\n },\n contains: [\n hljs.inherit(STRINGS, {\n className: 'meta-string'\n }),\n {\n className: 'meta-string',\n begin: '<',\n end: '>',\n illegal: '\\\\n'\n }\n ]\n },\n STRINGS,\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE\n ]\n };\n\n const DTS_REFERENCE = {\n className: 'variable',\n begin: /&[a-z\\d_]*\\b/\n };\n\n const DTS_KEYWORD = {\n className: 'meta-keyword',\n begin: '/[a-z][a-z\\\\d-]*/'\n };\n\n const DTS_LABEL = {\n className: 'symbol',\n begin: '^\\\\s*[a-zA-Z_][a-zA-Z\\\\d_]*:'\n };\n\n const DTS_CELL_PROPERTY = {\n className: 'params',\n begin: '<',\n end: '>',\n contains: [\n NUMBERS,\n DTS_REFERENCE\n ]\n };\n\n const DTS_NODE = {\n className: 'class',\n begin: /[a-zA-Z_][a-zA-Z\\d_@]*\\s\\{/,\n end: /[{;=]/,\n returnBegin: true,\n excludeEnd: true\n };\n\n const DTS_ROOT_NODE = {\n className: 'class',\n begin: '/\\\\s*\\\\{',\n end: /\\};/,\n relevance: 10,\n contains: [\n DTS_REFERENCE,\n DTS_KEYWORD,\n DTS_LABEL,\n DTS_NODE,\n DTS_CELL_PROPERTY,\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n NUMBERS,\n STRINGS\n ]\n };\n\n return {\n name: 'Device Tree',\n keywords: \"\",\n contains: [\n DTS_ROOT_NODE,\n DTS_REFERENCE,\n DTS_KEYWORD,\n DTS_LABEL,\n DTS_NODE,\n DTS_CELL_PROPERTY,\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n NUMBERS,\n STRINGS,\n PREPROCESSOR,\n {\n begin: hljs.IDENT_RE + '::',\n keywords: \"\"\n }\n ]\n };\n}\n\nmodule.exports = dts;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\nvar _default = exports[\"default\"] = {\n \"hljs\": {\n \"display\": \"block\",\n \"overflowX\": \"auto\",\n \"padding\": \"0.5em\",\n \"color\": \"#2f3337\",\n \"background\": \"#f6f6f6\"\n },\n \"hljs-comment\": {\n \"color\": \"#656e77\"\n },\n \"hljs-keyword\": {\n \"color\": \"#015692\"\n },\n \"hljs-selector-tag\": {\n \"color\": \"#015692\"\n },\n \"hljs-meta-keyword\": {\n \"color\": \"#015692\"\n },\n \"hljs-doctag\": {\n \"color\": \"#015692\"\n },\n \"hljs-section\": {\n \"color\": \"#015692\"\n },\n \"hljs-selector-class\": {\n \"color\": \"#015692\"\n },\n \"hljs-meta\": {\n \"color\": \"#015692\"\n },\n \"hljs-selector-pseudo\": {\n \"color\": \"#015692\"\n },\n \"hljs-attr\": {\n \"color\": \"#015692\"\n },\n \"hljs-attribute\": {\n \"color\": \"#803378\"\n },\n \"hljs-name\": {\n \"color\": \"#b75501\"\n },\n \"hljs-type\": {\n \"color\": \"#b75501\"\n },\n \"hljs-number\": {\n \"color\": \"#b75501\"\n },\n \"hljs-selector-id\": {\n \"color\": \"#b75501\"\n },\n \"hljs-quote\": {\n \"color\": \"#b75501\"\n },\n \"hljs-template-tag\": {\n \"color\": \"#b75501\"\n },\n \"hljs-built_in\": {\n \"color\": \"#b75501\"\n },\n \"hljs-title\": {\n \"color\": \"#b75501\"\n },\n \"hljs-literal\": {\n \"color\": \"#b75501\"\n },\n \"hljs-string\": {\n \"color\": \"#54790d\"\n },\n \"hljs-regexp\": {\n \"color\": \"#54790d\"\n },\n \"hljs-symbol\": {\n \"color\": \"#54790d\"\n },\n \"hljs-variable\": {\n \"color\": \"#54790d\"\n },\n \"hljs-template-variable\": {\n \"color\": \"#54790d\"\n },\n \"hljs-link\": {\n \"color\": \"#54790d\"\n },\n \"hljs-selector-attr\": {\n \"color\": \"#54790d\"\n },\n \"hljs-meta-string\": {\n \"color\": \"#54790d\"\n },\n \"hljs-bullet\": {\n \"color\": \"#535a60\"\n },\n \"hljs-code\": {\n \"color\": \"#535a60\"\n },\n \"hljs-deletion\": {\n \"color\": \"#c02d2e\"\n },\n \"hljs-addition\": {\n \"color\": \"#2f6f44\"\n },\n \"hljs-emphasis\": {\n \"fontStyle\": \"italic\"\n },\n \"hljs-strong\": {\n \"fontWeight\": \"bold\"\n }\n};","/*\nLanguage: .properties\nContributors: Valentin Aitken , Egor Rogov \nWebsite: https://en.wikipedia.org/wiki/.properties\nCategory: common, config\n*/\n\nfunction properties(hljs) {\n\n // whitespaces: space, tab, formfeed\n var WS0 = '[ \\\\t\\\\f]*';\n var WS1 = '[ \\\\t\\\\f]+';\n // delimiter\n var EQUAL_DELIM = WS0+'[:=]'+WS0;\n var WS_DELIM = WS1;\n var DELIM = '(' + EQUAL_DELIM + '|' + WS_DELIM + ')';\n var KEY_ALPHANUM = '([^\\\\\\\\\\\\W:= \\\\t\\\\f\\\\n]|\\\\\\\\.)+';\n var KEY_OTHER = '([^\\\\\\\\:= \\\\t\\\\f\\\\n]|\\\\\\\\.)+';\n\n var DELIM_AND_VALUE = {\n // skip DELIM\n end: DELIM,\n relevance: 0,\n starts: {\n // value: everything until end of line (again, taking into account backslashes)\n className: 'string',\n end: /$/,\n relevance: 0,\n contains: [\n { begin: '\\\\\\\\\\\\\\\\'},\n { begin: '\\\\\\\\\\\\n' }\n ]\n }\n };\n\n return {\n name: '.properties',\n case_insensitive: true,\n illegal: /\\S/,\n contains: [\n hljs.COMMENT('^\\\\s*[!#]', '$'),\n // key: everything until whitespace or = or : (taking into account backslashes)\n // case of a \"normal\" key\n {\n returnBegin: true,\n variants: [\n { begin: KEY_ALPHANUM + EQUAL_DELIM, relevance: 1 },\n { begin: KEY_ALPHANUM + WS_DELIM, relevance: 0 }\n ],\n contains: [\n {\n className: 'attr',\n begin: KEY_ALPHANUM,\n endsParent: true,\n relevance: 0\n }\n ],\n starts: DELIM_AND_VALUE\n },\n // case of key containing non-alphanumeric chars => relevance = 0\n {\n begin: KEY_OTHER + DELIM,\n returnBegin: true,\n relevance: 0,\n contains: [\n {\n className: 'meta',\n begin: KEY_OTHER,\n endsParent: true,\n relevance: 0\n }\n ],\n starts: DELIM_AND_VALUE\n },\n // case of an empty key\n {\n className: 'attr',\n relevance: 0,\n begin: KEY_OTHER + WS0 + '$'\n }\n ]\n };\n}\n\nmodule.exports = properties;\n","function deepFreeze(obj) {\n if (obj instanceof Map) {\n obj.clear = obj.delete = obj.set = function () {\n throw new Error('map is read-only');\n };\n } else if (obj instanceof Set) {\n obj.add = obj.clear = obj.delete = function () {\n throw new Error('set is read-only');\n };\n }\n\n // Freeze self\n Object.freeze(obj);\n\n Object.getOwnPropertyNames(obj).forEach(function (name) {\n var prop = obj[name];\n\n // Freeze prop if it is an object\n if (typeof prop == 'object' && !Object.isFrozen(prop)) {\n deepFreeze(prop);\n }\n });\n\n return obj;\n}\n\nvar deepFreezeEs6 = deepFreeze;\nvar _default = deepFreeze;\ndeepFreezeEs6.default = _default;\n\n/** @implements CallbackResponse */\nclass Response {\n /**\n * @param {CompiledMode} mode\n */\n constructor(mode) {\n // eslint-disable-next-line no-undefined\n if (mode.data === undefined) mode.data = {};\n\n this.data = mode.data;\n this.isMatchIgnored = false;\n }\n\n ignoreMatch() {\n this.isMatchIgnored = true;\n }\n}\n\n/**\n * @param {string} value\n * @returns {string}\n */\nfunction escapeHTML(value) {\n return value\n .replace(/&/g, '&')\n .replace(//g, '>')\n .replace(/\"/g, '"')\n .replace(/'/g, ''');\n}\n\n/**\n * performs a shallow merge of multiple objects into one\n *\n * @template T\n * @param {T} original\n * @param {Record[]} objects\n * @returns {T} a single new object\n */\nfunction inherit(original, ...objects) {\n /** @type Record */\n const result = Object.create(null);\n\n for (const key in original) {\n result[key] = original[key];\n }\n objects.forEach(function(obj) {\n for (const key in obj) {\n result[key] = obj[key];\n }\n });\n return /** @type {T} */ (result);\n}\n\n/**\n * @typedef {object} Renderer\n * @property {(text: string) => void} addText\n * @property {(node: Node) => void} openNode\n * @property {(node: Node) => void} closeNode\n * @property {() => string} value\n */\n\n/** @typedef {{kind?: string, sublanguage?: boolean}} Node */\n/** @typedef {{walk: (r: Renderer) => void}} Tree */\n/** */\n\nconst SPAN_CLOSE = '';\n\n/**\n * Determines if a node needs to be wrapped in \n *\n * @param {Node} node */\nconst emitsWrappingTags = (node) => {\n return !!node.kind;\n};\n\n/** @type {Renderer} */\nclass HTMLRenderer {\n /**\n * Creates a new HTMLRenderer\n *\n * @param {Tree} parseTree - the parse tree (must support `walk` API)\n * @param {{classPrefix: string}} options\n */\n constructor(parseTree, options) {\n this.buffer = \"\";\n this.classPrefix = options.classPrefix;\n parseTree.walk(this);\n }\n\n /**\n * Adds texts to the output stream\n *\n * @param {string} text */\n addText(text) {\n this.buffer += escapeHTML(text);\n }\n\n /**\n * Adds a node open to the output stream (if needed)\n *\n * @param {Node} node */\n openNode(node) {\n if (!emitsWrappingTags(node)) return;\n\n let className = node.kind;\n if (!node.sublanguage) {\n className = `${this.classPrefix}${className}`;\n }\n this.span(className);\n }\n\n /**\n * Adds a node close to the output stream (if needed)\n *\n * @param {Node} node */\n closeNode(node) {\n if (!emitsWrappingTags(node)) return;\n\n this.buffer += SPAN_CLOSE;\n }\n\n /**\n * returns the accumulated buffer\n */\n value() {\n return this.buffer;\n }\n\n // helpers\n\n /**\n * Builds a span element\n *\n * @param {string} className */\n span(className) {\n this.buffer += ``;\n }\n}\n\n/** @typedef {{kind?: string, sublanguage?: boolean, children: Node[]} | string} Node */\n/** @typedef {{kind?: string, sublanguage?: boolean, children: Node[]} } DataNode */\n/** */\n\nclass TokenTree {\n constructor() {\n /** @type DataNode */\n this.rootNode = { children: [] };\n this.stack = [this.rootNode];\n }\n\n get top() {\n return this.stack[this.stack.length - 1];\n }\n\n get root() { return this.rootNode; }\n\n /** @param {Node} node */\n add(node) {\n this.top.children.push(node);\n }\n\n /** @param {string} kind */\n openNode(kind) {\n /** @type Node */\n const node = { kind, children: [] };\n this.add(node);\n this.stack.push(node);\n }\n\n closeNode() {\n if (this.stack.length > 1) {\n return this.stack.pop();\n }\n // eslint-disable-next-line no-undefined\n return undefined;\n }\n\n closeAllNodes() {\n while (this.closeNode());\n }\n\n toJSON() {\n return JSON.stringify(this.rootNode, null, 4);\n }\n\n /**\n * @typedef { import(\"./html_renderer\").Renderer } Renderer\n * @param {Renderer} builder\n */\n walk(builder) {\n // this does not\n return this.constructor._walk(builder, this.rootNode);\n // this works\n // return TokenTree._walk(builder, this.rootNode);\n }\n\n /**\n * @param {Renderer} builder\n * @param {Node} node\n */\n static _walk(builder, node) {\n if (typeof node === \"string\") {\n builder.addText(node);\n } else if (node.children) {\n builder.openNode(node);\n node.children.forEach((child) => this._walk(builder, child));\n builder.closeNode(node);\n }\n return builder;\n }\n\n /**\n * @param {Node} node\n */\n static _collapse(node) {\n if (typeof node === \"string\") return;\n if (!node.children) return;\n\n if (node.children.every(el => typeof el === \"string\")) {\n // node.text = node.children.join(\"\");\n // delete node.children;\n node.children = [node.children.join(\"\")];\n } else {\n node.children.forEach((child) => {\n TokenTree._collapse(child);\n });\n }\n }\n}\n\n/**\n Currently this is all private API, but this is the minimal API necessary\n that an Emitter must implement to fully support the parser.\n\n Minimal interface:\n\n - addKeyword(text, kind)\n - addText(text)\n - addSublanguage(emitter, subLanguageName)\n - finalize()\n - openNode(kind)\n - closeNode()\n - closeAllNodes()\n - toHTML()\n\n*/\n\n/**\n * @implements {Emitter}\n */\nclass TokenTreeEmitter extends TokenTree {\n /**\n * @param {*} options\n */\n constructor(options) {\n super();\n this.options = options;\n }\n\n /**\n * @param {string} text\n * @param {string} kind\n */\n addKeyword(text, kind) {\n if (text === \"\") { return; }\n\n this.openNode(kind);\n this.addText(text);\n this.closeNode();\n }\n\n /**\n * @param {string} text\n */\n addText(text) {\n if (text === \"\") { return; }\n\n this.add(text);\n }\n\n /**\n * @param {Emitter & {root: DataNode}} emitter\n * @param {string} name\n */\n addSublanguage(emitter, name) {\n /** @type DataNode */\n const node = emitter.root;\n node.kind = name;\n node.sublanguage = true;\n this.add(node);\n }\n\n toHTML() {\n const renderer = new HTMLRenderer(this, this.options);\n return renderer.value();\n }\n\n finalize() {\n return true;\n }\n}\n\n/**\n * @param {string} value\n * @returns {RegExp}\n * */\nfunction escape(value) {\n return new RegExp(value.replace(/[-/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&'), 'm');\n}\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction source(re) {\n if (!re) return null;\n if (typeof re === \"string\") return re;\n\n return re.source;\n}\n\n/**\n * @param {...(RegExp | string) } args\n * @returns {string}\n */\nfunction concat(...args) {\n const joined = args.map((x) => source(x)).join(\"\");\n return joined;\n}\n\n/**\n * Any of the passed expresssions may match\n *\n * Creates a huge this | this | that | that match\n * @param {(RegExp | string)[] } args\n * @returns {string}\n */\nfunction either(...args) {\n const joined = '(' + args.map((x) => source(x)).join(\"|\") + \")\";\n return joined;\n}\n\n/**\n * @param {RegExp} re\n * @returns {number}\n */\nfunction countMatchGroups(re) {\n return (new RegExp(re.toString() + '|')).exec('').length - 1;\n}\n\n/**\n * Does lexeme start with a regular expression match at the beginning\n * @param {RegExp} re\n * @param {string} lexeme\n */\nfunction startsWith(re, lexeme) {\n const match = re && re.exec(lexeme);\n return match && match.index === 0;\n}\n\n// BACKREF_RE matches an open parenthesis or backreference. To avoid\n// an incorrect parse, it additionally matches the following:\n// - [...] elements, where the meaning of parentheses and escapes change\n// - other escape sequences, so we do not misparse escape sequences as\n// interesting elements\n// - non-matching or lookahead parentheses, which do not capture. These\n// follow the '(' with a '?'.\nconst BACKREF_RE = /\\[(?:[^\\\\\\]]|\\\\.)*\\]|\\(\\??|\\\\([1-9][0-9]*)|\\\\./;\n\n// join logically computes regexps.join(separator), but fixes the\n// backreferences so they continue to match.\n// it also places each individual regular expression into it's own\n// match group, keeping track of the sequencing of those match groups\n// is currently an exercise for the caller. :-)\n/**\n * @param {(string | RegExp)[]} regexps\n * @param {string} separator\n * @returns {string}\n */\nfunction join(regexps, separator = \"|\") {\n let numCaptures = 0;\n\n return regexps.map((regex) => {\n numCaptures += 1;\n const offset = numCaptures;\n let re = source(regex);\n let out = '';\n\n while (re.length > 0) {\n const match = BACKREF_RE.exec(re);\n if (!match) {\n out += re;\n break;\n }\n out += re.substring(0, match.index);\n re = re.substring(match.index + match[0].length);\n if (match[0][0] === '\\\\' && match[1]) {\n // Adjust the backreference.\n out += '\\\\' + String(Number(match[1]) + offset);\n } else {\n out += match[0];\n if (match[0] === '(') {\n numCaptures++;\n }\n }\n }\n return out;\n }).map(re => `(${re})`).join(separator);\n}\n\n// Common regexps\nconst MATCH_NOTHING_RE = /\\b\\B/;\nconst IDENT_RE = '[a-zA-Z]\\\\w*';\nconst UNDERSCORE_IDENT_RE = '[a-zA-Z_]\\\\w*';\nconst NUMBER_RE = '\\\\b\\\\d+(\\\\.\\\\d+)?';\nconst C_NUMBER_RE = '(-?)(\\\\b0[xX][a-fA-F0-9]+|(\\\\b\\\\d+(\\\\.\\\\d*)?|\\\\.\\\\d+)([eE][-+]?\\\\d+)?)'; // 0x..., 0..., decimal, float\nconst BINARY_NUMBER_RE = '\\\\b(0b[01]+)'; // 0b...\nconst RE_STARTERS_RE = '!|!=|!==|%|%=|&|&&|&=|\\\\*|\\\\*=|\\\\+|\\\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\\\?|\\\\[|\\\\{|\\\\(|\\\\^|\\\\^=|\\\\||\\\\|=|\\\\|\\\\||~';\n\n/**\n* @param { Partial & {binary?: string | RegExp} } opts\n*/\nconst SHEBANG = (opts = {}) => {\n const beginShebang = /^#![ ]*\\//;\n if (opts.binary) {\n opts.begin = concat(\n beginShebang,\n /.*\\b/,\n opts.binary,\n /\\b.*/);\n }\n return inherit({\n className: 'meta',\n begin: beginShebang,\n end: /$/,\n relevance: 0,\n /** @type {ModeCallback} */\n \"on:begin\": (m, resp) => {\n if (m.index !== 0) resp.ignoreMatch();\n }\n }, opts);\n};\n\n// Common modes\nconst BACKSLASH_ESCAPE = {\n begin: '\\\\\\\\[\\\\s\\\\S]', relevance: 0\n};\nconst APOS_STRING_MODE = {\n className: 'string',\n begin: '\\'',\n end: '\\'',\n illegal: '\\\\n',\n contains: [BACKSLASH_ESCAPE]\n};\nconst QUOTE_STRING_MODE = {\n className: 'string',\n begin: '\"',\n end: '\"',\n illegal: '\\\\n',\n contains: [BACKSLASH_ESCAPE]\n};\nconst PHRASAL_WORDS_MODE = {\n begin: /\\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\\b/\n};\n/**\n * Creates a comment mode\n *\n * @param {string | RegExp} begin\n * @param {string | RegExp} end\n * @param {Mode | {}} [modeOptions]\n * @returns {Partial}\n */\nconst COMMENT = function(begin, end, modeOptions = {}) {\n const mode = inherit(\n {\n className: 'comment',\n begin,\n end,\n contains: []\n },\n modeOptions\n );\n mode.contains.push(PHRASAL_WORDS_MODE);\n mode.contains.push({\n className: 'doctag',\n begin: '(?:TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):',\n relevance: 0\n });\n return mode;\n};\nconst C_LINE_COMMENT_MODE = COMMENT('//', '$');\nconst C_BLOCK_COMMENT_MODE = COMMENT('/\\\\*', '\\\\*/');\nconst HASH_COMMENT_MODE = COMMENT('#', '$');\nconst NUMBER_MODE = {\n className: 'number',\n begin: NUMBER_RE,\n relevance: 0\n};\nconst C_NUMBER_MODE = {\n className: 'number',\n begin: C_NUMBER_RE,\n relevance: 0\n};\nconst BINARY_NUMBER_MODE = {\n className: 'number',\n begin: BINARY_NUMBER_RE,\n relevance: 0\n};\nconst CSS_NUMBER_MODE = {\n className: 'number',\n begin: NUMBER_RE + '(' +\n '%|em|ex|ch|rem' +\n '|vw|vh|vmin|vmax' +\n '|cm|mm|in|pt|pc|px' +\n '|deg|grad|rad|turn' +\n '|s|ms' +\n '|Hz|kHz' +\n '|dpi|dpcm|dppx' +\n ')?',\n relevance: 0\n};\nconst REGEXP_MODE = {\n // this outer rule makes sure we actually have a WHOLE regex and not simply\n // an expression such as:\n //\n // 3 / something\n //\n // (which will then blow up when regex's `illegal` sees the newline)\n begin: /(?=\\/[^/\\n]*\\/)/,\n contains: [{\n className: 'regexp',\n begin: /\\//,\n end: /\\/[gimuy]*/,\n illegal: /\\n/,\n contains: [\n BACKSLASH_ESCAPE,\n {\n begin: /\\[/,\n end: /\\]/,\n relevance: 0,\n contains: [BACKSLASH_ESCAPE]\n }\n ]\n }]\n};\nconst TITLE_MODE = {\n className: 'title',\n begin: IDENT_RE,\n relevance: 0\n};\nconst UNDERSCORE_TITLE_MODE = {\n className: 'title',\n begin: UNDERSCORE_IDENT_RE,\n relevance: 0\n};\nconst METHOD_GUARD = {\n // excludes method names from keyword processing\n begin: '\\\\.\\\\s*' + UNDERSCORE_IDENT_RE,\n relevance: 0\n};\n\n/**\n * Adds end same as begin mechanics to a mode\n *\n * Your mode must include at least a single () match group as that first match\n * group is what is used for comparison\n * @param {Partial} mode\n */\nconst END_SAME_AS_BEGIN = function(mode) {\n return Object.assign(mode,\n {\n /** @type {ModeCallback} */\n 'on:begin': (m, resp) => { resp.data._beginMatch = m[1]; },\n /** @type {ModeCallback} */\n 'on:end': (m, resp) => { if (resp.data._beginMatch !== m[1]) resp.ignoreMatch(); }\n });\n};\n\nvar MODES = /*#__PURE__*/Object.freeze({\n __proto__: null,\n MATCH_NOTHING_RE: MATCH_NOTHING_RE,\n IDENT_RE: IDENT_RE,\n UNDERSCORE_IDENT_RE: UNDERSCORE_IDENT_RE,\n NUMBER_RE: NUMBER_RE,\n C_NUMBER_RE: C_NUMBER_RE,\n BINARY_NUMBER_RE: BINARY_NUMBER_RE,\n RE_STARTERS_RE: RE_STARTERS_RE,\n SHEBANG: SHEBANG,\n BACKSLASH_ESCAPE: BACKSLASH_ESCAPE,\n APOS_STRING_MODE: APOS_STRING_MODE,\n QUOTE_STRING_MODE: QUOTE_STRING_MODE,\n PHRASAL_WORDS_MODE: PHRASAL_WORDS_MODE,\n COMMENT: COMMENT,\n C_LINE_COMMENT_MODE: C_LINE_COMMENT_MODE,\n C_BLOCK_COMMENT_MODE: C_BLOCK_COMMENT_MODE,\n HASH_COMMENT_MODE: HASH_COMMENT_MODE,\n NUMBER_MODE: NUMBER_MODE,\n C_NUMBER_MODE: C_NUMBER_MODE,\n BINARY_NUMBER_MODE: BINARY_NUMBER_MODE,\n CSS_NUMBER_MODE: CSS_NUMBER_MODE,\n REGEXP_MODE: REGEXP_MODE,\n TITLE_MODE: TITLE_MODE,\n UNDERSCORE_TITLE_MODE: UNDERSCORE_TITLE_MODE,\n METHOD_GUARD: METHOD_GUARD,\n END_SAME_AS_BEGIN: END_SAME_AS_BEGIN\n});\n\n// Grammar extensions / plugins\n// See: https://github.com/highlightjs/highlight.js/issues/2833\n\n// Grammar extensions allow \"syntactic sugar\" to be added to the grammar modes\n// without requiring any underlying changes to the compiler internals.\n\n// `compileMatch` being the perfect small example of now allowing a grammar\n// author to write `match` when they desire to match a single expression rather\n// than being forced to use `begin`. The extension then just moves `match` into\n// `begin` when it runs. Ie, no features have been added, but we've just made\n// the experience of writing (and reading grammars) a little bit nicer.\n\n// ------\n\n// TODO: We need negative look-behind support to do this properly\n/**\n * Skip a match if it has a preceding dot\n *\n * This is used for `beginKeywords` to prevent matching expressions such as\n * `bob.keyword.do()`. The mode compiler automatically wires this up as a\n * special _internal_ 'on:begin' callback for modes with `beginKeywords`\n * @param {RegExpMatchArray} match\n * @param {CallbackResponse} response\n */\nfunction skipIfhasPrecedingDot(match, response) {\n const before = match.input[match.index - 1];\n if (before === \".\") {\n response.ignoreMatch();\n }\n}\n\n\n/**\n * `beginKeywords` syntactic sugar\n * @type {CompilerExt}\n */\nfunction beginKeywords(mode, parent) {\n if (!parent) return;\n if (!mode.beginKeywords) return;\n\n // for languages with keywords that include non-word characters checking for\n // a word boundary is not sufficient, so instead we check for a word boundary\n // or whitespace - this does no harm in any case since our keyword engine\n // doesn't allow spaces in keywords anyways and we still check for the boundary\n // first\n mode.begin = '\\\\b(' + mode.beginKeywords.split(' ').join('|') + ')(?!\\\\.)(?=\\\\b|\\\\s)';\n mode.__beforeBegin = skipIfhasPrecedingDot;\n mode.keywords = mode.keywords || mode.beginKeywords;\n delete mode.beginKeywords;\n\n // prevents double relevance, the keywords themselves provide\n // relevance, the mode doesn't need to double it\n // eslint-disable-next-line no-undefined\n if (mode.relevance === undefined) mode.relevance = 0;\n}\n\n/**\n * Allow `illegal` to contain an array of illegal values\n * @type {CompilerExt}\n */\nfunction compileIllegal(mode, _parent) {\n if (!Array.isArray(mode.illegal)) return;\n\n mode.illegal = either(...mode.illegal);\n}\n\n/**\n * `match` to match a single expression for readability\n * @type {CompilerExt}\n */\nfunction compileMatch(mode, _parent) {\n if (!mode.match) return;\n if (mode.begin || mode.end) throw new Error(\"begin & end are not supported with match\");\n\n mode.begin = mode.match;\n delete mode.match;\n}\n\n/**\n * provides the default 1 relevance to all modes\n * @type {CompilerExt}\n */\nfunction compileRelevance(mode, _parent) {\n // eslint-disable-next-line no-undefined\n if (mode.relevance === undefined) mode.relevance = 1;\n}\n\n// keywords that should have no default relevance value\nconst COMMON_KEYWORDS = [\n 'of',\n 'and',\n 'for',\n 'in',\n 'not',\n 'or',\n 'if',\n 'then',\n 'parent', // common variable name\n 'list', // common variable name\n 'value' // common variable name\n];\n\nconst DEFAULT_KEYWORD_CLASSNAME = \"keyword\";\n\n/**\n * Given raw keywords from a language definition, compile them.\n *\n * @param {string | Record | Array} rawKeywords\n * @param {boolean} caseInsensitive\n */\nfunction compileKeywords(rawKeywords, caseInsensitive, className = DEFAULT_KEYWORD_CLASSNAME) {\n /** @type KeywordDict */\n const compiledKeywords = {};\n\n // input can be a string of keywords, an array of keywords, or a object with\n // named keys representing className (which can then point to a string or array)\n if (typeof rawKeywords === 'string') {\n compileList(className, rawKeywords.split(\" \"));\n } else if (Array.isArray(rawKeywords)) {\n compileList(className, rawKeywords);\n } else {\n Object.keys(rawKeywords).forEach(function(className) {\n // collapse all our objects back into the parent object\n Object.assign(\n compiledKeywords,\n compileKeywords(rawKeywords[className], caseInsensitive, className)\n );\n });\n }\n return compiledKeywords;\n\n // ---\n\n /**\n * Compiles an individual list of keywords\n *\n * Ex: \"for if when while|5\"\n *\n * @param {string} className\n * @param {Array} keywordList\n */\n function compileList(className, keywordList) {\n if (caseInsensitive) {\n keywordList = keywordList.map(x => x.toLowerCase());\n }\n keywordList.forEach(function(keyword) {\n const pair = keyword.split('|');\n compiledKeywords[pair[0]] = [className, scoreForKeyword(pair[0], pair[1])];\n });\n }\n}\n\n/**\n * Returns the proper score for a given keyword\n *\n * Also takes into account comment keywords, which will be scored 0 UNLESS\n * another score has been manually assigned.\n * @param {string} keyword\n * @param {string} [providedScore]\n */\nfunction scoreForKeyword(keyword, providedScore) {\n // manual scores always win over common keywords\n // so you can force a score of 1 if you really insist\n if (providedScore) {\n return Number(providedScore);\n }\n\n return commonKeyword(keyword) ? 0 : 1;\n}\n\n/**\n * Determines if a given keyword is common or not\n *\n * @param {string} keyword */\nfunction commonKeyword(keyword) {\n return COMMON_KEYWORDS.includes(keyword.toLowerCase());\n}\n\n// compilation\n\n/**\n * Compiles a language definition result\n *\n * Given the raw result of a language definition (Language), compiles this so\n * that it is ready for highlighting code.\n * @param {Language} language\n * @param {{plugins: HLJSPlugin[]}} opts\n * @returns {CompiledLanguage}\n */\nfunction compileLanguage(language, { plugins }) {\n /**\n * Builds a regex with the case sensativility of the current language\n *\n * @param {RegExp | string} value\n * @param {boolean} [global]\n */\n function langRe(value, global) {\n return new RegExp(\n source(value),\n 'm' + (language.case_insensitive ? 'i' : '') + (global ? 'g' : '')\n );\n }\n\n /**\n Stores multiple regular expressions and allows you to quickly search for\n them all in a string simultaneously - returning the first match. It does\n this by creating a huge (a|b|c) regex - each individual item wrapped with ()\n and joined by `|` - using match groups to track position. When a match is\n found checking which position in the array has content allows us to figure\n out which of the original regexes / match groups triggered the match.\n\n The match object itself (the result of `Regex.exec`) is returned but also\n enhanced by merging in any meta-data that was registered with the regex.\n This is how we keep track of which mode matched, and what type of rule\n (`illegal`, `begin`, end, etc).\n */\n class MultiRegex {\n constructor() {\n this.matchIndexes = {};\n // @ts-ignore\n this.regexes = [];\n this.matchAt = 1;\n this.position = 0;\n }\n\n // @ts-ignore\n addRule(re, opts) {\n opts.position = this.position++;\n // @ts-ignore\n this.matchIndexes[this.matchAt] = opts;\n this.regexes.push([opts, re]);\n this.matchAt += countMatchGroups(re) + 1;\n }\n\n compile() {\n if (this.regexes.length === 0) {\n // avoids the need to check length every time exec is called\n // @ts-ignore\n this.exec = () => null;\n }\n const terminators = this.regexes.map(el => el[1]);\n this.matcherRe = langRe(join(terminators), true);\n this.lastIndex = 0;\n }\n\n /** @param {string} s */\n exec(s) {\n this.matcherRe.lastIndex = this.lastIndex;\n const match = this.matcherRe.exec(s);\n if (!match) { return null; }\n\n // eslint-disable-next-line no-undefined\n const i = match.findIndex((el, i) => i > 0 && el !== undefined);\n // @ts-ignore\n const matchData = this.matchIndexes[i];\n // trim off any earlier non-relevant match groups (ie, the other regex\n // match groups that make up the multi-matcher)\n match.splice(0, i);\n\n return Object.assign(match, matchData);\n }\n }\n\n /*\n Created to solve the key deficiently with MultiRegex - there is no way to\n test for multiple matches at a single location. Why would we need to do\n that? In the future a more dynamic engine will allow certain matches to be\n ignored. An example: if we matched say the 3rd regex in a large group but\n decided to ignore it - we'd need to started testing again at the 4th\n regex... but MultiRegex itself gives us no real way to do that.\n\n So what this class creates MultiRegexs on the fly for whatever search\n position they are needed.\n\n NOTE: These additional MultiRegex objects are created dynamically. For most\n grammars most of the time we will never actually need anything more than the\n first MultiRegex - so this shouldn't have too much overhead.\n\n Say this is our search group, and we match regex3, but wish to ignore it.\n\n regex1 | regex2 | regex3 | regex4 | regex5 ' ie, startAt = 0\n\n What we need is a new MultiRegex that only includes the remaining\n possibilities:\n\n regex4 | regex5 ' ie, startAt = 3\n\n This class wraps all that complexity up in a simple API... `startAt` decides\n where in the array of expressions to start doing the matching. It\n auto-increments, so if a match is found at position 2, then startAt will be\n set to 3. If the end is reached startAt will return to 0.\n\n MOST of the time the parser will be setting startAt manually to 0.\n */\n class ResumableMultiRegex {\n constructor() {\n // @ts-ignore\n this.rules = [];\n // @ts-ignore\n this.multiRegexes = [];\n this.count = 0;\n\n this.lastIndex = 0;\n this.regexIndex = 0;\n }\n\n // @ts-ignore\n getMatcher(index) {\n if (this.multiRegexes[index]) return this.multiRegexes[index];\n\n const matcher = new MultiRegex();\n this.rules.slice(index).forEach(([re, opts]) => matcher.addRule(re, opts));\n matcher.compile();\n this.multiRegexes[index] = matcher;\n return matcher;\n }\n\n resumingScanAtSamePosition() {\n return this.regexIndex !== 0;\n }\n\n considerAll() {\n this.regexIndex = 0;\n }\n\n // @ts-ignore\n addRule(re, opts) {\n this.rules.push([re, opts]);\n if (opts.type === \"begin\") this.count++;\n }\n\n /** @param {string} s */\n exec(s) {\n const m = this.getMatcher(this.regexIndex);\n m.lastIndex = this.lastIndex;\n let result = m.exec(s);\n\n // The following is because we have no easy way to say \"resume scanning at the\n // existing position but also skip the current rule ONLY\". What happens is\n // all prior rules are also skipped which can result in matching the wrong\n // thing. Example of matching \"booger\":\n\n // our matcher is [string, \"booger\", number]\n //\n // ....booger....\n\n // if \"booger\" is ignored then we'd really need a regex to scan from the\n // SAME position for only: [string, number] but ignoring \"booger\" (if it\n // was the first match), a simple resume would scan ahead who knows how\n // far looking only for \"number\", ignoring potential string matches (or\n // future \"booger\" matches that might be valid.)\n\n // So what we do: We execute two matchers, one resuming at the same\n // position, but the second full matcher starting at the position after:\n\n // /--- resume first regex match here (for [number])\n // |/---- full match here for [string, \"booger\", number]\n // vv\n // ....booger....\n\n // Which ever results in a match first is then used. So this 3-4 step\n // process essentially allows us to say \"match at this position, excluding\n // a prior rule that was ignored\".\n //\n // 1. Match \"booger\" first, ignore. Also proves that [string] does non match.\n // 2. Resume matching for [number]\n // 3. Match at index + 1 for [string, \"booger\", number]\n // 4. If #2 and #3 result in matches, which came first?\n if (this.resumingScanAtSamePosition()) {\n if (result && result.index === this.lastIndex) ; else { // use the second matcher result\n const m2 = this.getMatcher(0);\n m2.lastIndex = this.lastIndex + 1;\n result = m2.exec(s);\n }\n }\n\n if (result) {\n this.regexIndex += result.position + 1;\n if (this.regexIndex === this.count) {\n // wrap-around to considering all matches again\n this.considerAll();\n }\n }\n\n return result;\n }\n }\n\n /**\n * Given a mode, builds a huge ResumableMultiRegex that can be used to walk\n * the content and find matches.\n *\n * @param {CompiledMode} mode\n * @returns {ResumableMultiRegex}\n */\n function buildModeRegex(mode) {\n const mm = new ResumableMultiRegex();\n\n mode.contains.forEach(term => mm.addRule(term.begin, { rule: term, type: \"begin\" }));\n\n if (mode.terminatorEnd) {\n mm.addRule(mode.terminatorEnd, { type: \"end\" });\n }\n if (mode.illegal) {\n mm.addRule(mode.illegal, { type: \"illegal\" });\n }\n\n return mm;\n }\n\n /** skip vs abort vs ignore\n *\n * @skip - The mode is still entered and exited normally (and contains rules apply),\n * but all content is held and added to the parent buffer rather than being\n * output when the mode ends. Mostly used with `sublanguage` to build up\n * a single large buffer than can be parsed by sublanguage.\n *\n * - The mode begin ands ends normally.\n * - Content matched is added to the parent mode buffer.\n * - The parser cursor is moved forward normally.\n *\n * @abort - A hack placeholder until we have ignore. Aborts the mode (as if it\n * never matched) but DOES NOT continue to match subsequent `contains`\n * modes. Abort is bad/suboptimal because it can result in modes\n * farther down not getting applied because an earlier rule eats the\n * content but then aborts.\n *\n * - The mode does not begin.\n * - Content matched by `begin` is added to the mode buffer.\n * - The parser cursor is moved forward accordingly.\n *\n * @ignore - Ignores the mode (as if it never matched) and continues to match any\n * subsequent `contains` modes. Ignore isn't technically possible with\n * the current parser implementation.\n *\n * - The mode does not begin.\n * - Content matched by `begin` is ignored.\n * - The parser cursor is not moved forward.\n */\n\n /**\n * Compiles an individual mode\n *\n * This can raise an error if the mode contains certain detectable known logic\n * issues.\n * @param {Mode} mode\n * @param {CompiledMode | null} [parent]\n * @returns {CompiledMode | never}\n */\n function compileMode(mode, parent) {\n const cmode = /** @type CompiledMode */ (mode);\n if (mode.isCompiled) return cmode;\n\n [\n // do this early so compiler extensions generally don't have to worry about\n // the distinction between match/begin\n compileMatch\n ].forEach(ext => ext(mode, parent));\n\n language.compilerExtensions.forEach(ext => ext(mode, parent));\n\n // __beforeBegin is considered private API, internal use only\n mode.__beforeBegin = null;\n\n [\n beginKeywords,\n // do this later so compiler extensions that come earlier have access to the\n // raw array if they wanted to perhaps manipulate it, etc.\n compileIllegal,\n // default to 1 relevance if not specified\n compileRelevance\n ].forEach(ext => ext(mode, parent));\n\n mode.isCompiled = true;\n\n let keywordPattern = null;\n if (typeof mode.keywords === \"object\") {\n keywordPattern = mode.keywords.$pattern;\n delete mode.keywords.$pattern;\n }\n\n if (mode.keywords) {\n mode.keywords = compileKeywords(mode.keywords, language.case_insensitive);\n }\n\n // both are not allowed\n if (mode.lexemes && keywordPattern) {\n throw new Error(\"ERR: Prefer `keywords.$pattern` to `mode.lexemes`, BOTH are not allowed. (see mode reference) \");\n }\n\n // `mode.lexemes` was the old standard before we added and now recommend\n // using `keywords.$pattern` to pass the keyword pattern\n keywordPattern = keywordPattern || mode.lexemes || /\\w+/;\n cmode.keywordPatternRe = langRe(keywordPattern, true);\n\n if (parent) {\n if (!mode.begin) mode.begin = /\\B|\\b/;\n cmode.beginRe = langRe(mode.begin);\n if (mode.endSameAsBegin) mode.end = mode.begin;\n if (!mode.end && !mode.endsWithParent) mode.end = /\\B|\\b/;\n if (mode.end) cmode.endRe = langRe(mode.end);\n cmode.terminatorEnd = source(mode.end) || '';\n if (mode.endsWithParent && parent.terminatorEnd) {\n cmode.terminatorEnd += (mode.end ? '|' : '') + parent.terminatorEnd;\n }\n }\n if (mode.illegal) cmode.illegalRe = langRe(/** @type {RegExp | string} */ (mode.illegal));\n if (!mode.contains) mode.contains = [];\n\n mode.contains = [].concat(...mode.contains.map(function(c) {\n return expandOrCloneMode(c === 'self' ? mode : c);\n }));\n mode.contains.forEach(function(c) { compileMode(/** @type Mode */ (c), cmode); });\n\n if (mode.starts) {\n compileMode(mode.starts, parent);\n }\n\n cmode.matcher = buildModeRegex(cmode);\n return cmode;\n }\n\n if (!language.compilerExtensions) language.compilerExtensions = [];\n\n // self is not valid at the top-level\n if (language.contains && language.contains.includes('self')) {\n throw new Error(\"ERR: contains `self` is not supported at the top-level of a language. See documentation.\");\n }\n\n // we need a null object, which inherit will guarantee\n language.classNameAliases = inherit(language.classNameAliases || {});\n\n return compileMode(/** @type Mode */ (language));\n}\n\n/**\n * Determines if a mode has a dependency on it's parent or not\n *\n * If a mode does have a parent dependency then often we need to clone it if\n * it's used in multiple places so that each copy points to the correct parent,\n * where-as modes without a parent can often safely be re-used at the bottom of\n * a mode chain.\n *\n * @param {Mode | null} mode\n * @returns {boolean} - is there a dependency on the parent?\n * */\nfunction dependencyOnParent(mode) {\n if (!mode) return false;\n\n return mode.endsWithParent || dependencyOnParent(mode.starts);\n}\n\n/**\n * Expands a mode or clones it if necessary\n *\n * This is necessary for modes with parental dependenceis (see notes on\n * `dependencyOnParent`) and for nodes that have `variants` - which must then be\n * exploded into their own individual modes at compile time.\n *\n * @param {Mode} mode\n * @returns {Mode | Mode[]}\n * */\nfunction expandOrCloneMode(mode) {\n if (mode.variants && !mode.cachedVariants) {\n mode.cachedVariants = mode.variants.map(function(variant) {\n return inherit(mode, { variants: null }, variant);\n });\n }\n\n // EXPAND\n // if we have variants then essentially \"replace\" the mode with the variants\n // this happens in compileMode, where this function is called from\n if (mode.cachedVariants) {\n return mode.cachedVariants;\n }\n\n // CLONE\n // if we have dependencies on parents then we need a unique\n // instance of ourselves, so we can be reused with many\n // different parents without issue\n if (dependencyOnParent(mode)) {\n return inherit(mode, { starts: mode.starts ? inherit(mode.starts) : null });\n }\n\n if (Object.isFrozen(mode)) {\n return inherit(mode);\n }\n\n // no special dependency issues, just return ourselves\n return mode;\n}\n\nvar version = \"10.7.3\";\n\n// @ts-nocheck\n\nfunction hasValueOrEmptyAttribute(value) {\n return Boolean(value || value === \"\");\n}\n\nfunction BuildVuePlugin(hljs) {\n const Component = {\n props: [\"language\", \"code\", \"autodetect\"],\n data: function() {\n return {\n detectedLanguage: \"\",\n unknownLanguage: false\n };\n },\n computed: {\n className() {\n if (this.unknownLanguage) return \"\";\n\n return \"hljs \" + this.detectedLanguage;\n },\n highlighted() {\n // no idea what language to use, return raw code\n if (!this.autoDetect && !hljs.getLanguage(this.language)) {\n console.warn(`The language \"${this.language}\" you specified could not be found.`);\n this.unknownLanguage = true;\n return escapeHTML(this.code);\n }\n\n let result = {};\n if (this.autoDetect) {\n result = hljs.highlightAuto(this.code);\n this.detectedLanguage = result.language;\n } else {\n result = hljs.highlight(this.language, this.code, this.ignoreIllegals);\n this.detectedLanguage = this.language;\n }\n return result.value;\n },\n autoDetect() {\n return !this.language || hasValueOrEmptyAttribute(this.autodetect);\n },\n ignoreIllegals() {\n return true;\n }\n },\n // this avoids needing to use a whole Vue compilation pipeline just\n // to build Highlight.js\n render(createElement) {\n return createElement(\"pre\", {}, [\n createElement(\"code\", {\n class: this.className,\n domProps: { innerHTML: this.highlighted }\n })\n ]);\n }\n // template: `
`\n };\n\n const VuePlugin = {\n install(Vue) {\n Vue.component('highlightjs', Component);\n }\n };\n\n return { Component, VuePlugin };\n}\n\n/* plugin itself */\n\n/** @type {HLJSPlugin} */\nconst mergeHTMLPlugin = {\n \"after:highlightElement\": ({ el, result, text }) => {\n const originalStream = nodeStream(el);\n if (!originalStream.length) return;\n\n const resultNode = document.createElement('div');\n resultNode.innerHTML = result.value;\n result.value = mergeStreams(originalStream, nodeStream(resultNode), text);\n }\n};\n\n/* Stream merging support functions */\n\n/**\n * @typedef Event\n * @property {'start'|'stop'} event\n * @property {number} offset\n * @property {Node} node\n */\n\n/**\n * @param {Node} node\n */\nfunction tag(node) {\n return node.nodeName.toLowerCase();\n}\n\n/**\n * @param {Node} node\n */\nfunction nodeStream(node) {\n /** @type Event[] */\n const result = [];\n (function _nodeStream(node, offset) {\n for (let child = node.firstChild; child; child = child.nextSibling) {\n if (child.nodeType === 3) {\n offset += child.nodeValue.length;\n } else if (child.nodeType === 1) {\n result.push({\n event: 'start',\n offset: offset,\n node: child\n });\n offset = _nodeStream(child, offset);\n // Prevent void elements from having an end tag that would actually\n // double them in the output. There are more void elements in HTML\n // but we list only those realistically expected in code display.\n if (!tag(child).match(/br|hr|img|input/)) {\n result.push({\n event: 'stop',\n offset: offset,\n node: child\n });\n }\n }\n }\n return offset;\n })(node, 0);\n return result;\n}\n\n/**\n * @param {any} original - the original stream\n * @param {any} highlighted - stream of the highlighted source\n * @param {string} value - the original source itself\n */\nfunction mergeStreams(original, highlighted, value) {\n let processed = 0;\n let result = '';\n const nodeStack = [];\n\n function selectStream() {\n if (!original.length || !highlighted.length) {\n return original.length ? original : highlighted;\n }\n if (original[0].offset !== highlighted[0].offset) {\n return (original[0].offset < highlighted[0].offset) ? original : highlighted;\n }\n\n /*\n To avoid starting the stream just before it should stop the order is\n ensured that original always starts first and closes last:\n\n if (event1 == 'start' && event2 == 'start')\n return original;\n if (event1 == 'start' && event2 == 'stop')\n return highlighted;\n if (event1 == 'stop' && event2 == 'start')\n return original;\n if (event1 == 'stop' && event2 == 'stop')\n return highlighted;\n\n ... which is collapsed to:\n */\n return highlighted[0].event === 'start' ? original : highlighted;\n }\n\n /**\n * @param {Node} node\n */\n function open(node) {\n /** @param {Attr} attr */\n function attributeString(attr) {\n return ' ' + attr.nodeName + '=\"' + escapeHTML(attr.value) + '\"';\n }\n // @ts-ignore\n result += '<' + tag(node) + [].map.call(node.attributes, attributeString).join('') + '>';\n }\n\n /**\n * @param {Node} node\n */\n function close(node) {\n result += '';\n }\n\n /**\n * @param {Event} event\n */\n function render(event) {\n (event.event === 'start' ? open : close)(event.node);\n }\n\n while (original.length || highlighted.length) {\n let stream = selectStream();\n result += escapeHTML(value.substring(processed, stream[0].offset));\n processed = stream[0].offset;\n if (stream === original) {\n /*\n On any opening or closing tag of the original markup we first close\n the entire highlighted node stack, then render the original tag along\n with all the following original tags at the same offset and then\n reopen all the tags on the highlighted stack.\n */\n nodeStack.reverse().forEach(close);\n do {\n render(stream.splice(0, 1)[0]);\n stream = selectStream();\n } while (stream === original && stream.length && stream[0].offset === processed);\n nodeStack.reverse().forEach(open);\n } else {\n if (stream[0].event === 'start') {\n nodeStack.push(stream[0].node);\n } else {\n nodeStack.pop();\n }\n render(stream.splice(0, 1)[0]);\n }\n }\n return result + escapeHTML(value.substr(processed));\n}\n\n/*\n\nFor the reasoning behind this please see:\nhttps://github.com/highlightjs/highlight.js/issues/2880#issuecomment-747275419\n\n*/\n\n/**\n * @type {Record}\n */\nconst seenDeprecations = {};\n\n/**\n * @param {string} message\n */\nconst error = (message) => {\n console.error(message);\n};\n\n/**\n * @param {string} message\n * @param {any} args\n */\nconst warn = (message, ...args) => {\n console.log(`WARN: ${message}`, ...args);\n};\n\n/**\n * @param {string} version\n * @param {string} message\n */\nconst deprecated = (version, message) => {\n if (seenDeprecations[`${version}/${message}`]) return;\n\n console.log(`Deprecated as of ${version}. ${message}`);\n seenDeprecations[`${version}/${message}`] = true;\n};\n\n/*\nSyntax highlighting with language autodetection.\nhttps://highlightjs.org/\n*/\n\nconst escape$1 = escapeHTML;\nconst inherit$1 = inherit;\nconst NO_MATCH = Symbol(\"nomatch\");\n\n/**\n * @param {any} hljs - object that is extended (legacy)\n * @returns {HLJSApi}\n */\nconst HLJS = function(hljs) {\n // Global internal variables used within the highlight.js library.\n /** @type {Record} */\n const languages = Object.create(null);\n /** @type {Record} */\n const aliases = Object.create(null);\n /** @type {HLJSPlugin[]} */\n const plugins = [];\n\n // safe/production mode - swallows more errors, tries to keep running\n // even if a single syntax or parse hits a fatal error\n let SAFE_MODE = true;\n const fixMarkupRe = /(^(<[^>]+>|\\t|)+|\\n)/gm;\n const LANGUAGE_NOT_FOUND = \"Could not find the language '{}', did you forget to load/include a language module?\";\n /** @type {Language} */\n const PLAINTEXT_LANGUAGE = { disableAutodetect: true, name: 'Plain text', contains: [] };\n\n // Global options used when within external APIs. This is modified when\n // calling the `hljs.configure` function.\n /** @type HLJSOptions */\n let options = {\n noHighlightRe: /^(no-?highlight)$/i,\n languageDetectRe: /\\blang(?:uage)?-([\\w-]+)\\b/i,\n classPrefix: 'hljs-',\n tabReplace: null,\n useBR: false,\n languages: null,\n // beta configuration options, subject to change, welcome to discuss\n // https://github.com/highlightjs/highlight.js/issues/1086\n __emitter: TokenTreeEmitter\n };\n\n /* Utility functions */\n\n /**\n * Tests a language name to see if highlighting should be skipped\n * @param {string} languageName\n */\n function shouldNotHighlight(languageName) {\n return options.noHighlightRe.test(languageName);\n }\n\n /**\n * @param {HighlightedHTMLElement} block - the HTML element to determine language for\n */\n function blockLanguage(block) {\n let classes = block.className + ' ';\n\n classes += block.parentNode ? block.parentNode.className : '';\n\n // language-* takes precedence over non-prefixed class names.\n const match = options.languageDetectRe.exec(classes);\n if (match) {\n const language = getLanguage(match[1]);\n if (!language) {\n warn(LANGUAGE_NOT_FOUND.replace(\"{}\", match[1]));\n warn(\"Falling back to no-highlight mode for this block.\", block);\n }\n return language ? match[1] : 'no-highlight';\n }\n\n return classes\n .split(/\\s+/)\n .find((_class) => shouldNotHighlight(_class) || getLanguage(_class));\n }\n\n /**\n * Core highlighting function.\n *\n * OLD API\n * highlight(lang, code, ignoreIllegals, continuation)\n *\n * NEW API\n * highlight(code, {lang, ignoreIllegals})\n *\n * @param {string} codeOrlanguageName - the language to use for highlighting\n * @param {string | HighlightOptions} optionsOrCode - the code to highlight\n * @param {boolean} [ignoreIllegals] - whether to ignore illegal matches, default is to bail\n * @param {CompiledMode} [continuation] - current continuation mode, if any\n *\n * @returns {HighlightResult} Result - an object that represents the result\n * @property {string} language - the language name\n * @property {number} relevance - the relevance score\n * @property {string} value - the highlighted HTML code\n * @property {string} code - the original raw code\n * @property {CompiledMode} top - top of the current mode stack\n * @property {boolean} illegal - indicates whether any illegal matches were found\n */\n function highlight(codeOrlanguageName, optionsOrCode, ignoreIllegals, continuation) {\n let code = \"\";\n let languageName = \"\";\n if (typeof optionsOrCode === \"object\") {\n code = codeOrlanguageName;\n ignoreIllegals = optionsOrCode.ignoreIllegals;\n languageName = optionsOrCode.language;\n // continuation not supported at all via the new API\n // eslint-disable-next-line no-undefined\n continuation = undefined;\n } else {\n // old API\n deprecated(\"10.7.0\", \"highlight(lang, code, ...args) has been deprecated.\");\n deprecated(\"10.7.0\", \"Please use highlight(code, options) instead.\\nhttps://github.com/highlightjs/highlight.js/issues/2277\");\n languageName = codeOrlanguageName;\n code = optionsOrCode;\n }\n\n /** @type {BeforeHighlightContext} */\n const context = {\n code,\n language: languageName\n };\n // the plugin can change the desired language or the code to be highlighted\n // just be changing the object it was passed\n fire(\"before:highlight\", context);\n\n // a before plugin can usurp the result completely by providing it's own\n // in which case we don't even need to call highlight\n const result = context.result\n ? context.result\n : _highlight(context.language, context.code, ignoreIllegals, continuation);\n\n result.code = context.code;\n // the plugin can change anything in result to suite it\n fire(\"after:highlight\", result);\n\n return result;\n }\n\n /**\n * private highlight that's used internally and does not fire callbacks\n *\n * @param {string} languageName - the language to use for highlighting\n * @param {string} codeToHighlight - the code to highlight\n * @param {boolean?} [ignoreIllegals] - whether to ignore illegal matches, default is to bail\n * @param {CompiledMode?} [continuation] - current continuation mode, if any\n * @returns {HighlightResult} - result of the highlight operation\n */\n function _highlight(languageName, codeToHighlight, ignoreIllegals, continuation) {\n /**\n * Return keyword data if a match is a keyword\n * @param {CompiledMode} mode - current mode\n * @param {RegExpMatchArray} match - regexp match data\n * @returns {KeywordData | false}\n */\n function keywordData(mode, match) {\n const matchText = language.case_insensitive ? match[0].toLowerCase() : match[0];\n return Object.prototype.hasOwnProperty.call(mode.keywords, matchText) && mode.keywords[matchText];\n }\n\n function processKeywords() {\n if (!top.keywords) {\n emitter.addText(modeBuffer);\n return;\n }\n\n let lastIndex = 0;\n top.keywordPatternRe.lastIndex = 0;\n let match = top.keywordPatternRe.exec(modeBuffer);\n let buf = \"\";\n\n while (match) {\n buf += modeBuffer.substring(lastIndex, match.index);\n const data = keywordData(top, match);\n if (data) {\n const [kind, keywordRelevance] = data;\n emitter.addText(buf);\n buf = \"\";\n\n relevance += keywordRelevance;\n if (kind.startsWith(\"_\")) {\n // _ implied for relevance only, do not highlight\n // by applying a class name\n buf += match[0];\n } else {\n const cssClass = language.classNameAliases[kind] || kind;\n emitter.addKeyword(match[0], cssClass);\n }\n } else {\n buf += match[0];\n }\n lastIndex = top.keywordPatternRe.lastIndex;\n match = top.keywordPatternRe.exec(modeBuffer);\n }\n buf += modeBuffer.substr(lastIndex);\n emitter.addText(buf);\n }\n\n function processSubLanguage() {\n if (modeBuffer === \"\") return;\n /** @type HighlightResult */\n let result = null;\n\n if (typeof top.subLanguage === 'string') {\n if (!languages[top.subLanguage]) {\n emitter.addText(modeBuffer);\n return;\n }\n result = _highlight(top.subLanguage, modeBuffer, true, continuations[top.subLanguage]);\n continuations[top.subLanguage] = /** @type {CompiledMode} */ (result.top);\n } else {\n result = highlightAuto(modeBuffer, top.subLanguage.length ? top.subLanguage : null);\n }\n\n // Counting embedded language score towards the host language may be disabled\n // with zeroing the containing mode relevance. Use case in point is Markdown that\n // allows XML everywhere and makes every XML snippet to have a much larger Markdown\n // score.\n if (top.relevance > 0) {\n relevance += result.relevance;\n }\n emitter.addSublanguage(result.emitter, result.language);\n }\n\n function processBuffer() {\n if (top.subLanguage != null) {\n processSubLanguage();\n } else {\n processKeywords();\n }\n modeBuffer = '';\n }\n\n /**\n * @param {Mode} mode - new mode to start\n */\n function startNewMode(mode) {\n if (mode.className) {\n emitter.openNode(language.classNameAliases[mode.className] || mode.className);\n }\n top = Object.create(mode, { parent: { value: top } });\n return top;\n }\n\n /**\n * @param {CompiledMode } mode - the mode to potentially end\n * @param {RegExpMatchArray} match - the latest match\n * @param {string} matchPlusRemainder - match plus remainder of content\n * @returns {CompiledMode | void} - the next mode, or if void continue on in current mode\n */\n function endOfMode(mode, match, matchPlusRemainder) {\n let matched = startsWith(mode.endRe, matchPlusRemainder);\n\n if (matched) {\n if (mode[\"on:end\"]) {\n const resp = new Response(mode);\n mode[\"on:end\"](match, resp);\n if (resp.isMatchIgnored) matched = false;\n }\n\n if (matched) {\n while (mode.endsParent && mode.parent) {\n mode = mode.parent;\n }\n return mode;\n }\n }\n // even if on:end fires an `ignore` it's still possible\n // that we might trigger the end node because of a parent mode\n if (mode.endsWithParent) {\n return endOfMode(mode.parent, match, matchPlusRemainder);\n }\n }\n\n /**\n * Handle matching but then ignoring a sequence of text\n *\n * @param {string} lexeme - string containing full match text\n */\n function doIgnore(lexeme) {\n if (top.matcher.regexIndex === 0) {\n // no more regexs to potentially match here, so we move the cursor forward one\n // space\n modeBuffer += lexeme[0];\n return 1;\n } else {\n // no need to move the cursor, we still have additional regexes to try and\n // match at this very spot\n resumeScanAtSamePosition = true;\n return 0;\n }\n }\n\n /**\n * Handle the start of a new potential mode match\n *\n * @param {EnhancedMatch} match - the current match\n * @returns {number} how far to advance the parse cursor\n */\n function doBeginMatch(match) {\n const lexeme = match[0];\n const newMode = match.rule;\n\n const resp = new Response(newMode);\n // first internal before callbacks, then the public ones\n const beforeCallbacks = [newMode.__beforeBegin, newMode[\"on:begin\"]];\n for (const cb of beforeCallbacks) {\n if (!cb) continue;\n cb(match, resp);\n if (resp.isMatchIgnored) return doIgnore(lexeme);\n }\n\n if (newMode && newMode.endSameAsBegin) {\n newMode.endRe = escape(lexeme);\n }\n\n if (newMode.skip) {\n modeBuffer += lexeme;\n } else {\n if (newMode.excludeBegin) {\n modeBuffer += lexeme;\n }\n processBuffer();\n if (!newMode.returnBegin && !newMode.excludeBegin) {\n modeBuffer = lexeme;\n }\n }\n startNewMode(newMode);\n // if (mode[\"after:begin\"]) {\n // let resp = new Response(mode);\n // mode[\"after:begin\"](match, resp);\n // }\n return newMode.returnBegin ? 0 : lexeme.length;\n }\n\n /**\n * Handle the potential end of mode\n *\n * @param {RegExpMatchArray} match - the current match\n */\n function doEndMatch(match) {\n const lexeme = match[0];\n const matchPlusRemainder = codeToHighlight.substr(match.index);\n\n const endMode = endOfMode(top, match, matchPlusRemainder);\n if (!endMode) { return NO_MATCH; }\n\n const origin = top;\n if (origin.skip) {\n modeBuffer += lexeme;\n } else {\n if (!(origin.returnEnd || origin.excludeEnd)) {\n modeBuffer += lexeme;\n }\n processBuffer();\n if (origin.excludeEnd) {\n modeBuffer = lexeme;\n }\n }\n do {\n if (top.className) {\n emitter.closeNode();\n }\n if (!top.skip && !top.subLanguage) {\n relevance += top.relevance;\n }\n top = top.parent;\n } while (top !== endMode.parent);\n if (endMode.starts) {\n if (endMode.endSameAsBegin) {\n endMode.starts.endRe = endMode.endRe;\n }\n startNewMode(endMode.starts);\n }\n return origin.returnEnd ? 0 : lexeme.length;\n }\n\n function processContinuations() {\n const list = [];\n for (let current = top; current !== language; current = current.parent) {\n if (current.className) {\n list.unshift(current.className);\n }\n }\n list.forEach(item => emitter.openNode(item));\n }\n\n /** @type {{type?: MatchType, index?: number, rule?: Mode}}} */\n let lastMatch = {};\n\n /**\n * Process an individual match\n *\n * @param {string} textBeforeMatch - text preceeding the match (since the last match)\n * @param {EnhancedMatch} [match] - the match itself\n */\n function processLexeme(textBeforeMatch, match) {\n const lexeme = match && match[0];\n\n // add non-matched text to the current mode buffer\n modeBuffer += textBeforeMatch;\n\n if (lexeme == null) {\n processBuffer();\n return 0;\n }\n\n // we've found a 0 width match and we're stuck, so we need to advance\n // this happens when we have badly behaved rules that have optional matchers to the degree that\n // sometimes they can end up matching nothing at all\n // Ref: https://github.com/highlightjs/highlight.js/issues/2140\n if (lastMatch.type === \"begin\" && match.type === \"end\" && lastMatch.index === match.index && lexeme === \"\") {\n // spit the \"skipped\" character that our regex choked on back into the output sequence\n modeBuffer += codeToHighlight.slice(match.index, match.index + 1);\n if (!SAFE_MODE) {\n /** @type {AnnotatedError} */\n const err = new Error('0 width match regex');\n err.languageName = languageName;\n err.badRule = lastMatch.rule;\n throw err;\n }\n return 1;\n }\n lastMatch = match;\n\n if (match.type === \"begin\") {\n return doBeginMatch(match);\n } else if (match.type === \"illegal\" && !ignoreIllegals) {\n // illegal match, we do not continue processing\n /** @type {AnnotatedError} */\n const err = new Error('Illegal lexeme \"' + lexeme + '\" for mode \"' + (top.className || '') + '\"');\n err.mode = top;\n throw err;\n } else if (match.type === \"end\") {\n const processed = doEndMatch(match);\n if (processed !== NO_MATCH) {\n return processed;\n }\n }\n\n // edge case for when illegal matches $ (end of line) which is technically\n // a 0 width match but not a begin/end match so it's not caught by the\n // first handler (when ignoreIllegals is true)\n if (match.type === \"illegal\" && lexeme === \"\") {\n // advance so we aren't stuck in an infinite loop\n return 1;\n }\n\n // infinite loops are BAD, this is a last ditch catch all. if we have a\n // decent number of iterations yet our index (cursor position in our\n // parsing) still 3x behind our index then something is very wrong\n // so we bail\n if (iterations > 100000 && iterations > match.index * 3) {\n const err = new Error('potential infinite loop, way more iterations than matches');\n throw err;\n }\n\n /*\n Why might be find ourselves here? Only one occasion now. An end match that was\n triggered but could not be completed. When might this happen? When an `endSameasBegin`\n rule sets the end rule to a specific match. Since the overall mode termination rule that's\n being used to scan the text isn't recompiled that means that any match that LOOKS like\n the end (but is not, because it is not an exact match to the beginning) will\n end up here. A definite end match, but when `doEndMatch` tries to \"reapply\"\n the end rule and fails to match, we wind up here, and just silently ignore the end.\n\n This causes no real harm other than stopping a few times too many.\n */\n\n modeBuffer += lexeme;\n return lexeme.length;\n }\n\n const language = getLanguage(languageName);\n if (!language) {\n error(LANGUAGE_NOT_FOUND.replace(\"{}\", languageName));\n throw new Error('Unknown language: \"' + languageName + '\"');\n }\n\n const md = compileLanguage(language, { plugins });\n let result = '';\n /** @type {CompiledMode} */\n let top = continuation || md;\n /** @type Record */\n const continuations = {}; // keep continuations for sub-languages\n const emitter = new options.__emitter(options);\n processContinuations();\n let modeBuffer = '';\n let relevance = 0;\n let index = 0;\n let iterations = 0;\n let resumeScanAtSamePosition = false;\n\n try {\n top.matcher.considerAll();\n\n for (;;) {\n iterations++;\n if (resumeScanAtSamePosition) {\n // only regexes not matched previously will now be\n // considered for a potential match\n resumeScanAtSamePosition = false;\n } else {\n top.matcher.considerAll();\n }\n top.matcher.lastIndex = index;\n\n const match = top.matcher.exec(codeToHighlight);\n // console.log(\"match\", match[0], match.rule && match.rule.begin)\n\n if (!match) break;\n\n const beforeMatch = codeToHighlight.substring(index, match.index);\n const processedCount = processLexeme(beforeMatch, match);\n index = match.index + processedCount;\n }\n processLexeme(codeToHighlight.substr(index));\n emitter.closeAllNodes();\n emitter.finalize();\n result = emitter.toHTML();\n\n return {\n // avoid possible breakage with v10 clients expecting\n // this to always be an integer\n relevance: Math.floor(relevance),\n value: result,\n language: languageName,\n illegal: false,\n emitter: emitter,\n top: top\n };\n } catch (err) {\n if (err.message && err.message.includes('Illegal')) {\n return {\n illegal: true,\n illegalBy: {\n msg: err.message,\n context: codeToHighlight.slice(index - 100, index + 100),\n mode: err.mode\n },\n sofar: result,\n relevance: 0,\n value: escape$1(codeToHighlight),\n emitter: emitter\n };\n } else if (SAFE_MODE) {\n return {\n illegal: false,\n relevance: 0,\n value: escape$1(codeToHighlight),\n emitter: emitter,\n language: languageName,\n top: top,\n errorRaised: err\n };\n } else {\n throw err;\n }\n }\n }\n\n /**\n * returns a valid highlight result, without actually doing any actual work,\n * auto highlight starts with this and it's possible for small snippets that\n * auto-detection may not find a better match\n * @param {string} code\n * @returns {HighlightResult}\n */\n function justTextHighlightResult(code) {\n const result = {\n relevance: 0,\n emitter: new options.__emitter(options),\n value: escape$1(code),\n illegal: false,\n top: PLAINTEXT_LANGUAGE\n };\n result.emitter.addText(code);\n return result;\n }\n\n /**\n Highlighting with language detection. Accepts a string with the code to\n highlight. Returns an object with the following properties:\n\n - language (detected language)\n - relevance (int)\n - value (an HTML string with highlighting markup)\n - second_best (object with the same structure for second-best heuristically\n detected language, may be absent)\n\n @param {string} code\n @param {Array} [languageSubset]\n @returns {AutoHighlightResult}\n */\n function highlightAuto(code, languageSubset) {\n languageSubset = languageSubset || options.languages || Object.keys(languages);\n const plaintext = justTextHighlightResult(code);\n\n const results = languageSubset.filter(getLanguage).filter(autoDetection).map(name =>\n _highlight(name, code, false)\n );\n results.unshift(plaintext); // plaintext is always an option\n\n const sorted = results.sort((a, b) => {\n // sort base on relevance\n if (a.relevance !== b.relevance) return b.relevance - a.relevance;\n\n // always award the tie to the base language\n // ie if C++ and Arduino are tied, it's more likely to be C++\n if (a.language && b.language) {\n if (getLanguage(a.language).supersetOf === b.language) {\n return 1;\n } else if (getLanguage(b.language).supersetOf === a.language) {\n return -1;\n }\n }\n\n // otherwise say they are equal, which has the effect of sorting on\n // relevance while preserving the original ordering - which is how ties\n // have historically been settled, ie the language that comes first always\n // wins in the case of a tie\n return 0;\n });\n\n const [best, secondBest] = sorted;\n\n /** @type {AutoHighlightResult} */\n const result = best;\n result.second_best = secondBest;\n\n return result;\n }\n\n /**\n Post-processing of the highlighted markup:\n\n - replace TABs with something more useful\n - replace real line-breaks with '
' for non-pre containers\n\n @param {string} html\n @returns {string}\n */\n function fixMarkup(html) {\n if (!(options.tabReplace || options.useBR)) {\n return html;\n }\n\n return html.replace(fixMarkupRe, match => {\n if (match === '\\n') {\n return options.useBR ? '
' : match;\n } else if (options.tabReplace) {\n return match.replace(/\\t/g, options.tabReplace);\n }\n return match;\n });\n }\n\n /**\n * Builds new class name for block given the language name\n *\n * @param {HTMLElement} element\n * @param {string} [currentLang]\n * @param {string} [resultLang]\n */\n function updateClassName(element, currentLang, resultLang) {\n const language = currentLang ? aliases[currentLang] : resultLang;\n\n element.classList.add(\"hljs\");\n if (language) element.classList.add(language);\n }\n\n /** @type {HLJSPlugin} */\n const brPlugin = {\n \"before:highlightElement\": ({ el }) => {\n if (options.useBR) {\n el.innerHTML = el.innerHTML.replace(/\\n/g, '').replace(//g, '\\n');\n }\n },\n \"after:highlightElement\": ({ result }) => {\n if (options.useBR) {\n result.value = result.value.replace(/\\n/g, \"
\");\n }\n }\n };\n\n const TAB_REPLACE_RE = /^(<[^>]+>|\\t)+/gm;\n /** @type {HLJSPlugin} */\n const tabReplacePlugin = {\n \"after:highlightElement\": ({ result }) => {\n if (options.tabReplace) {\n result.value = result.value.replace(TAB_REPLACE_RE, (m) =>\n m.replace(/\\t/g, options.tabReplace)\n );\n }\n }\n };\n\n /**\n * Applies highlighting to a DOM node containing code. Accepts a DOM node and\n * two optional parameters for fixMarkup.\n *\n * @param {HighlightedHTMLElement} element - the HTML element to highlight\n */\n function highlightElement(element) {\n /** @type HTMLElement */\n let node = null;\n const language = blockLanguage(element);\n\n if (shouldNotHighlight(language)) return;\n\n // support for v10 API\n fire(\"before:highlightElement\",\n { el: element, language: language });\n\n node = element;\n const text = node.textContent;\n const result = language ? highlight(text, { language, ignoreIllegals: true }) : highlightAuto(text);\n\n // support for v10 API\n fire(\"after:highlightElement\", { el: element, result, text });\n\n element.innerHTML = result.value;\n updateClassName(element, language, result.language);\n element.result = {\n language: result.language,\n // TODO: remove with version 11.0\n re: result.relevance,\n relavance: result.relevance\n };\n if (result.second_best) {\n element.second_best = {\n language: result.second_best.language,\n // TODO: remove with version 11.0\n re: result.second_best.relevance,\n relavance: result.second_best.relevance\n };\n }\n }\n\n /**\n * Updates highlight.js global options with the passed options\n *\n * @param {Partial} userOptions\n */\n function configure(userOptions) {\n if (userOptions.useBR) {\n deprecated(\"10.3.0\", \"'useBR' will be removed entirely in v11.0\");\n deprecated(\"10.3.0\", \"Please see https://github.com/highlightjs/highlight.js/issues/2559\");\n }\n options = inherit$1(options, userOptions);\n }\n\n /**\n * Highlights to all
 blocks on a page\n   *\n   * @type {Function & {called?: boolean}}\n   */\n  // TODO: remove v12, deprecated\n  const initHighlighting = () => {\n    if (initHighlighting.called) return;\n    initHighlighting.called = true;\n\n    deprecated(\"10.6.0\", \"initHighlighting() is deprecated.  Use highlightAll() instead.\");\n\n    const blocks = document.querySelectorAll('pre code');\n    blocks.forEach(highlightElement);\n  };\n\n  // Higlights all when DOMContentLoaded fires\n  // TODO: remove v12, deprecated\n  function initHighlightingOnLoad() {\n    deprecated(\"10.6.0\", \"initHighlightingOnLoad() is deprecated.  Use highlightAll() instead.\");\n    wantsHighlight = true;\n  }\n\n  let wantsHighlight = false;\n\n  /**\n   * auto-highlights all pre>code elements on the page\n   */\n  function highlightAll() {\n    // if we are called too early in the loading process\n    if (document.readyState === \"loading\") {\n      wantsHighlight = true;\n      return;\n    }\n\n    const blocks = document.querySelectorAll('pre code');\n    blocks.forEach(highlightElement);\n  }\n\n  function boot() {\n    // if a highlight was requested before DOM was loaded, do now\n    if (wantsHighlight) highlightAll();\n  }\n\n  // make sure we are in the browser environment\n  if (typeof window !== 'undefined' && window.addEventListener) {\n    window.addEventListener('DOMContentLoaded', boot, false);\n  }\n\n  /**\n   * Register a language grammar module\n   *\n   * @param {string} languageName\n   * @param {LanguageFn} languageDefinition\n   */\n  function registerLanguage(languageName, languageDefinition) {\n    let lang = null;\n    try {\n      lang = languageDefinition(hljs);\n    } catch (error$1) {\n      error(\"Language definition for '{}' could not be registered.\".replace(\"{}\", languageName));\n      // hard or soft error\n      if (!SAFE_MODE) { throw error$1; } else { error(error$1); }\n      // languages that have serious errors are replaced with essentially a\n      // \"plaintext\" stand-in so that the code blocks will still get normal\n      // css classes applied to them - and one bad language won't break the\n      // entire highlighter\n      lang = PLAINTEXT_LANGUAGE;\n    }\n    // give it a temporary name if it doesn't have one in the meta-data\n    if (!lang.name) lang.name = languageName;\n    languages[languageName] = lang;\n    lang.rawDefinition = languageDefinition.bind(null, hljs);\n\n    if (lang.aliases) {\n      registerAliases(lang.aliases, { languageName });\n    }\n  }\n\n  /**\n   * Remove a language grammar module\n   *\n   * @param {string} languageName\n   */\n  function unregisterLanguage(languageName) {\n    delete languages[languageName];\n    for (const alias of Object.keys(aliases)) {\n      if (aliases[alias] === languageName) {\n        delete aliases[alias];\n      }\n    }\n  }\n\n  /**\n   * @returns {string[]} List of language internal names\n   */\n  function listLanguages() {\n    return Object.keys(languages);\n  }\n\n  /**\n    intended usage: When one language truly requires another\n\n    Unlike `getLanguage`, this will throw when the requested language\n    is not available.\n\n    @param {string} name - name of the language to fetch/require\n    @returns {Language | never}\n  */\n  function requireLanguage(name) {\n    deprecated(\"10.4.0\", \"requireLanguage will be removed entirely in v11.\");\n    deprecated(\"10.4.0\", \"Please see https://github.com/highlightjs/highlight.js/pull/2844\");\n\n    const lang = getLanguage(name);\n    if (lang) { return lang; }\n\n    const err = new Error('The \\'{}\\' language is required, but not loaded.'.replace('{}', name));\n    throw err;\n  }\n\n  /**\n   * @param {string} name - name of the language to retrieve\n   * @returns {Language | undefined}\n   */\n  function getLanguage(name) {\n    name = (name || '').toLowerCase();\n    return languages[name] || languages[aliases[name]];\n  }\n\n  /**\n   *\n   * @param {string|string[]} aliasList - single alias or list of aliases\n   * @param {{languageName: string}} opts\n   */\n  function registerAliases(aliasList, { languageName }) {\n    if (typeof aliasList === 'string') {\n      aliasList = [aliasList];\n    }\n    aliasList.forEach(alias => { aliases[alias.toLowerCase()] = languageName; });\n  }\n\n  /**\n   * Determines if a given language has auto-detection enabled\n   * @param {string} name - name of the language\n   */\n  function autoDetection(name) {\n    const lang = getLanguage(name);\n    return lang && !lang.disableAutodetect;\n  }\n\n  /**\n   * Upgrades the old highlightBlock plugins to the new\n   * highlightElement API\n   * @param {HLJSPlugin} plugin\n   */\n  function upgradePluginAPI(plugin) {\n    // TODO: remove with v12\n    if (plugin[\"before:highlightBlock\"] && !plugin[\"before:highlightElement\"]) {\n      plugin[\"before:highlightElement\"] = (data) => {\n        plugin[\"before:highlightBlock\"](\n          Object.assign({ block: data.el }, data)\n        );\n      };\n    }\n    if (plugin[\"after:highlightBlock\"] && !plugin[\"after:highlightElement\"]) {\n      plugin[\"after:highlightElement\"] = (data) => {\n        plugin[\"after:highlightBlock\"](\n          Object.assign({ block: data.el }, data)\n        );\n      };\n    }\n  }\n\n  /**\n   * @param {HLJSPlugin} plugin\n   */\n  function addPlugin(plugin) {\n    upgradePluginAPI(plugin);\n    plugins.push(plugin);\n  }\n\n  /**\n   *\n   * @param {PluginEvent} event\n   * @param {any} args\n   */\n  function fire(event, args) {\n    const cb = event;\n    plugins.forEach(function(plugin) {\n      if (plugin[cb]) {\n        plugin[cb](args);\n      }\n    });\n  }\n\n  /**\n  Note: fixMarkup is deprecated and will be removed entirely in v11\n\n  @param {string} arg\n  @returns {string}\n  */\n  function deprecateFixMarkup(arg) {\n    deprecated(\"10.2.0\", \"fixMarkup will be removed entirely in v11.0\");\n    deprecated(\"10.2.0\", \"Please see https://github.com/highlightjs/highlight.js/issues/2534\");\n\n    return fixMarkup(arg);\n  }\n\n  /**\n   *\n   * @param {HighlightedHTMLElement} el\n   */\n  function deprecateHighlightBlock(el) {\n    deprecated(\"10.7.0\", \"highlightBlock will be removed entirely in v12.0\");\n    deprecated(\"10.7.0\", \"Please use highlightElement now.\");\n\n    return highlightElement(el);\n  }\n\n  /* Interface definition */\n  Object.assign(hljs, {\n    highlight,\n    highlightAuto,\n    highlightAll,\n    fixMarkup: deprecateFixMarkup,\n    highlightElement,\n    // TODO: Remove with v12 API\n    highlightBlock: deprecateHighlightBlock,\n    configure,\n    initHighlighting,\n    initHighlightingOnLoad,\n    registerLanguage,\n    unregisterLanguage,\n    listLanguages,\n    getLanguage,\n    registerAliases,\n    requireLanguage,\n    autoDetection,\n    inherit: inherit$1,\n    addPlugin,\n    // plugins for frameworks\n    vuePlugin: BuildVuePlugin(hljs).VuePlugin\n  });\n\n  hljs.debugMode = function() { SAFE_MODE = false; };\n  hljs.safeMode = function() { SAFE_MODE = true; };\n  hljs.versionString = version;\n\n  for (const key in MODES) {\n    // @ts-ignore\n    if (typeof MODES[key] === \"object\") {\n      // @ts-ignore\n      deepFreezeEs6(MODES[key]);\n    }\n  }\n\n  // merge all the modes/regexs into our main object\n  Object.assign(hljs, MODES);\n\n  // built-in plugins, likely to be moved out of core in the future\n  hljs.addPlugin(brPlugin); // slated to be removed in v11\n  hljs.addPlugin(mergeHTMLPlugin);\n  hljs.addPlugin(tabReplacePlugin);\n  return hljs;\n};\n\n// export an \"instance\" of the highlighter\nvar highlight = HLJS({});\n\nmodule.exports = highlight;\n","/**\n * @param {string} value\n * @returns {RegExp}\n * */\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction source(re) {\n  if (!re) return null;\n  if (typeof re === \"string\") return re;\n\n  return re.source;\n}\n\n/**\n * @param {...(RegExp | string) } args\n * @returns {string}\n */\nfunction concat(...args) {\n  const joined = args.map((x) => source(x)).join(\"\");\n  return joined;\n}\n\n/*\nLanguage: LLVM IR\nAuthor: Michael Rodler \nDescription: language used as intermediate representation in the LLVM compiler framework\nWebsite: https://llvm.org/docs/LangRef.html\nCategory: assembler\nAudit: 2020\n*/\n\n/** @type LanguageFn */\nfunction llvm(hljs) {\n  const IDENT_RE = /([-a-zA-Z$._][\\w$.-]*)/;\n  const TYPE = {\n    className: 'type',\n    begin: /\\bi\\d+(?=\\s|\\b)/\n  };\n  const OPERATOR = {\n    className: 'operator',\n    relevance: 0,\n    begin: /=/\n  };\n  const PUNCTUATION = {\n    className: 'punctuation',\n    relevance: 0,\n    begin: /,/\n  };\n  const NUMBER = {\n    className: 'number',\n    variants: [\n        { begin: /0[xX][a-fA-F0-9]+/ },\n        { begin: /-?\\d+(?:[.]\\d+)?(?:[eE][-+]?\\d+(?:[.]\\d+)?)?/ }\n    ],\n    relevance: 0\n  };\n  const LABEL = {\n    className: 'symbol',\n    variants: [\n        { begin: /^\\s*[a-z]+:/ }, // labels\n    ],\n    relevance: 0\n  };\n  const VARIABLE = {\n    className: 'variable',\n    variants: [\n      { begin: concat(/%/, IDENT_RE) },\n      { begin: /%\\d+/ },\n      { begin: /#\\d+/ },\n    ]\n  };\n  const FUNCTION = {\n    className: 'title',\n    variants: [\n      { begin: concat(/@/, IDENT_RE) },\n      { begin: /@\\d+/ },\n      { begin: concat(/!/, IDENT_RE) },\n      { begin: concat(/!\\d+/, IDENT_RE) },\n      // https://llvm.org/docs/LangRef.html#namedmetadatastructure\n      // obviously a single digit can also be used in this fashion\n      { begin: /!\\d+/ }\n    ]\n  };\n\n  return {\n    name: 'LLVM IR',\n    // TODO: split into different categories of keywords\n    keywords:\n      'begin end true false declare define global ' +\n      'constant private linker_private internal ' +\n      'available_externally linkonce linkonce_odr weak ' +\n      'weak_odr appending dllimport dllexport common ' +\n      'default hidden protected extern_weak external ' +\n      'thread_local zeroinitializer undef null to tail ' +\n      'target triple datalayout volatile nuw nsw nnan ' +\n      'ninf nsz arcp fast exact inbounds align ' +\n      'addrspace section alias module asm sideeffect ' +\n      'gc dbg linker_private_weak attributes blockaddress ' +\n      'initialexec localdynamic localexec prefix unnamed_addr ' +\n      'ccc fastcc coldcc x86_stdcallcc x86_fastcallcc ' +\n      'arm_apcscc arm_aapcscc arm_aapcs_vfpcc ptx_device ' +\n      'ptx_kernel intel_ocl_bicc msp430_intrcc spir_func ' +\n      'spir_kernel x86_64_sysvcc x86_64_win64cc x86_thiscallcc ' +\n      'cc c signext zeroext inreg sret nounwind ' +\n      'noreturn noalias nocapture byval nest readnone ' +\n      'readonly inlinehint noinline alwaysinline optsize ssp ' +\n      'sspreq noredzone noimplicitfloat naked builtin cold ' +\n      'nobuiltin noduplicate nonlazybind optnone returns_twice ' +\n      'sanitize_address sanitize_memory sanitize_thread sspstrong ' +\n      'uwtable returned type opaque eq ne slt sgt ' +\n      'sle sge ult ugt ule uge oeq one olt ogt ' +\n      'ole oge ord uno ueq une x acq_rel acquire ' +\n      'alignstack atomic catch cleanup filter inteldialect ' +\n      'max min monotonic nand personality release seq_cst ' +\n      'singlethread umax umin unordered xchg add fadd ' +\n      'sub fsub mul fmul udiv sdiv fdiv urem srem ' +\n      'frem shl lshr ashr and or xor icmp fcmp ' +\n      'phi call trunc zext sext fptrunc fpext uitofp ' +\n      'sitofp fptoui fptosi inttoptr ptrtoint bitcast ' +\n      'addrspacecast select va_arg ret br switch invoke ' +\n      'unwind unreachable indirectbr landingpad resume ' +\n      'malloc alloca free load store getelementptr ' +\n      'extractelement insertelement shufflevector getresult ' +\n      'extractvalue insertvalue atomicrmw cmpxchg fence ' +\n      'argmemonly double',\n    contains: [\n      TYPE,\n      // this matches \"empty comments\"...\n      // ...because it's far more likely this is a statement terminator in\n      // another language than an actual comment\n      hljs.COMMENT(/;\\s*$/, null, { relevance: 0 }),\n      hljs.COMMENT(/;/, /$/),\n      hljs.QUOTE_STRING_MODE,\n      {\n        className: 'string',\n        variants: [\n          // Double-quoted string\n          { begin: /\"/, end: /[^\\\\]\"/ },\n        ]\n      },\n      FUNCTION,\n      PUNCTUATION,\n      OPERATOR,\n      VARIABLE,\n      LABEL,\n      NUMBER\n    ]\n  };\n}\n\nmodule.exports = llvm;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports[\"default\"] = void 0;\nvar _default = exports[\"default\"] = {\n  \"hljs\": {\n    \"display\": \"block\",\n    \"overflowX\": \"auto\",\n    \"padding\": \"0.5em\",\n    \"background\": \"#232323\",\n    \"color\": \"#e6e1dc\"\n  },\n  \"hljs-comment\": {\n    \"color\": \"#bc9458\",\n    \"fontStyle\": \"italic\"\n  },\n  \"hljs-quote\": {\n    \"color\": \"#bc9458\",\n    \"fontStyle\": \"italic\"\n  },\n  \"hljs-keyword\": {\n    \"color\": \"#c26230\"\n  },\n  \"hljs-selector-tag\": {\n    \"color\": \"#c26230\"\n  },\n  \"hljs-string\": {\n    \"color\": \"#a5c261\"\n  },\n  \"hljs-number\": {\n    \"color\": \"#a5c261\"\n  },\n  \"hljs-regexp\": {\n    \"color\": \"#a5c261\"\n  },\n  \"hljs-variable\": {\n    \"color\": \"#a5c261\"\n  },\n  \"hljs-template-variable\": {\n    \"color\": \"#a5c261\"\n  },\n  \"hljs-subst\": {\n    \"color\": \"#519f50\"\n  },\n  \"hljs-tag\": {\n    \"color\": \"#e8bf6a\"\n  },\n  \"hljs-name\": {\n    \"color\": \"#e8bf6a\"\n  },\n  \"hljs-type\": {\n    \"color\": \"#da4939\"\n  },\n  \"hljs-symbol\": {\n    \"color\": \"#6d9cbe\"\n  },\n  \"hljs-bullet\": {\n    \"color\": \"#6d9cbe\"\n  },\n  \"hljs-built_in\": {\n    \"color\": \"#6d9cbe\"\n  },\n  \"hljs-builtin-name\": {\n    \"color\": \"#6d9cbe\"\n  },\n  \"hljs-attr\": {\n    \"color\": \"#6d9cbe\"\n  },\n  \"hljs-link\": {\n    \"color\": \"#6d9cbe\",\n    \"textDecoration\": \"underline\"\n  },\n  \"hljs-params\": {\n    \"color\": \"#d0d0ff\"\n  },\n  \"hljs-attribute\": {\n    \"color\": \"#cda869\"\n  },\n  \"hljs-meta\": {\n    \"color\": \"#9b859d\"\n  },\n  \"hljs-title\": {\n    \"color\": \"#ffc66d\"\n  },\n  \"hljs-section\": {\n    \"color\": \"#ffc66d\"\n  },\n  \"hljs-addition\": {\n    \"backgroundColor\": \"#144212\",\n    \"color\": \"#e6e1dc\",\n    \"display\": \"inline-block\",\n    \"width\": \"100%\"\n  },\n  \"hljs-deletion\": {\n    \"backgroundColor\": \"#600\",\n    \"color\": \"#e6e1dc\",\n    \"display\": \"inline-block\",\n    \"width\": \"100%\"\n  },\n  \"hljs-selector-class\": {\n    \"color\": \"#9b703f\"\n  },\n  \"hljs-selector-id\": {\n    \"color\": \"#8b98ab\"\n  },\n  \"hljs-emphasis\": {\n    \"fontStyle\": \"italic\"\n  },\n  \"hljs-strong\": {\n    \"fontWeight\": \"bold\"\n  }\n};","/*\n Language: N1QL\n Author: Andres Täht \n Contributors: Rene Saarsoo \n Description: Couchbase query language\n Website: https://www.couchbase.com/products/n1ql\n */\n\nfunction n1ql(hljs) {\n  return {\n    name: 'N1QL',\n    case_insensitive: true,\n    contains: [\n      {\n        beginKeywords:\n          'build create index delete drop explain infer|10 insert merge prepare select update upsert|10',\n        end: /;/, endsWithParent: true,\n        keywords: {\n          // Taken from http://developer.couchbase.com/documentation/server/current/n1ql/n1ql-language-reference/reservedwords.html\n          keyword:\n            'all alter analyze and any array as asc begin between binary boolean break bucket build by call ' +\n            'case cast cluster collate collection commit connect continue correlate cover create database ' +\n            'dataset datastore declare decrement delete derived desc describe distinct do drop each element ' +\n            'else end every except exclude execute exists explain fetch first flatten for force from ' +\n            'function grant group gsi having if ignore ilike in include increment index infer inline inner ' +\n            'insert intersect into is join key keys keyspace known last left let letting like limit lsm map ' +\n            'mapping matched materialized merge minus namespace nest not number object offset on ' +\n            'option or order outer over parse partition password path pool prepare primary private privilege ' +\n            'procedure public raw realm reduce rename return returning revoke right role rollback satisfies ' +\n            'schema select self semi set show some start statistics string system then to transaction trigger ' +\n            'truncate under union unique unknown unnest unset update upsert use user using validate value ' +\n            'valued values via view when where while with within work xor',\n          // Taken from http://developer.couchbase.com/documentation/server/4.5/n1ql/n1ql-language-reference/literals.html\n          literal:\n            'true false null missing|5',\n          // Taken from http://developer.couchbase.com/documentation/server/4.5/n1ql/n1ql-language-reference/functions.html\n          built_in:\n            'array_agg array_append array_concat array_contains array_count array_distinct array_ifnull array_length ' +\n            'array_max array_min array_position array_prepend array_put array_range array_remove array_repeat array_replace ' +\n            'array_reverse array_sort array_sum avg count max min sum greatest least ifmissing ifmissingornull ifnull ' +\n            'missingif nullif ifinf ifnan ifnanorinf naninf neginfif posinfif clock_millis clock_str date_add_millis ' +\n            'date_add_str date_diff_millis date_diff_str date_part_millis date_part_str date_trunc_millis date_trunc_str ' +\n            'duration_to_str millis str_to_millis millis_to_str millis_to_utc millis_to_zone_name now_millis now_str ' +\n            'str_to_duration str_to_utc str_to_zone_name decode_json encode_json encoded_size poly_length base64 base64_encode ' +\n            'base64_decode meta uuid abs acos asin atan atan2 ceil cos degrees e exp ln log floor pi power radians random ' +\n            'round sign sin sqrt tan trunc object_length object_names object_pairs object_inner_pairs object_values ' +\n            'object_inner_values object_add object_put object_remove object_unwrap regexp_contains regexp_like regexp_position ' +\n            'regexp_replace contains initcap length lower ltrim position repeat replace rtrim split substr title trim upper ' +\n            'isarray isatom isboolean isnumber isobject isstring type toarray toatom toboolean tonumber toobject tostring'\n        },\n        contains: [\n          {\n            className: 'string',\n            begin: '\\'', end: '\\'',\n            contains: [hljs.BACKSLASH_ESCAPE]\n          },\n          {\n            className: 'string',\n            begin: '\"', end: '\"',\n            contains: [hljs.BACKSLASH_ESCAPE]\n          },\n          {\n            className: 'symbol',\n            begin: '`', end: '`',\n            contains: [hljs.BACKSLASH_ESCAPE],\n            relevance: 2\n          },\n          hljs.C_NUMBER_MODE,\n          hljs.C_BLOCK_COMMENT_MODE\n        ]\n      },\n      hljs.C_BLOCK_COMMENT_MODE\n    ]\n  };\n}\n\nmodule.exports = n1ql;\n","/*\nLanguage: GML\nAuthor: Meseta \nDescription: Game Maker Language for GameMaker Studio 2\nWebsite: https://docs2.yoyogames.com\nCategory: scripting\n*/\n\nfunction gml(hljs) {\n  const GML_KEYWORDS = {\n    keyword: 'begin end if then else while do for break continue with until ' +\n      'repeat exit and or xor not return mod div switch case default var ' +\n      'globalvar enum function constructor delete #macro #region #endregion',\n    built_in: 'is_real is_string is_array is_undefined is_int32 is_int64 is_ptr ' +\n      'is_vec3 is_vec4 is_matrix is_bool is_method is_struct is_infinity is_nan ' +\n      'is_numeric typeof variable_global_exists variable_global_get variable_global_set ' +\n      'variable_instance_exists variable_instance_get variable_instance_set ' +\n      'variable_instance_get_names variable_struct_exists variable_struct_get ' +\n      'variable_struct_get_names variable_struct_names_count variable_struct_remove ' +\n      'variable_struct_set array_delete array_insert array_length array_length_1d ' +\n      'array_length_2d array_height_2d array_equals array_create ' +\n      'array_copy array_pop array_push array_resize array_sort ' +\n      'random random_range irandom irandom_range random_set_seed random_get_seed ' +\n      'randomize randomise choose abs round floor ceil sign frac sqrt sqr ' +\n      'exp ln log2 log10 sin cos tan arcsin arccos arctan arctan2 dsin dcos ' +\n      'dtan darcsin darccos darctan darctan2 degtorad radtodeg power logn ' +\n      'min max mean median clamp lerp dot_product dot_product_3d ' +\n      'dot_product_normalised dot_product_3d_normalised ' +\n      'dot_product_normalized dot_product_3d_normalized math_set_epsilon ' +\n      'math_get_epsilon angle_difference point_distance_3d point_distance ' +\n      'point_direction lengthdir_x lengthdir_y real string int64 ptr ' +\n      'string_format chr ansi_char ord string_length string_byte_length ' +\n      'string_pos string_copy string_char_at string_ord_at string_byte_at ' +\n      'string_set_byte_at string_delete string_insert string_lower ' +\n      'string_upper string_repeat string_letters string_digits ' +\n      'string_lettersdigits string_replace string_replace_all string_count ' +\n      'string_hash_to_newline clipboard_has_text clipboard_set_text ' +\n      'clipboard_get_text date_current_datetime date_create_datetime ' +\n      'date_valid_datetime date_inc_year date_inc_month date_inc_week ' +\n      'date_inc_day date_inc_hour date_inc_minute date_inc_second ' +\n      'date_get_year date_get_month date_get_week date_get_day ' +\n      'date_get_hour date_get_minute date_get_second date_get_weekday ' +\n      'date_get_day_of_year date_get_hour_of_year date_get_minute_of_year ' +\n      'date_get_second_of_year date_year_span date_month_span ' +\n      'date_week_span date_day_span date_hour_span date_minute_span ' +\n      'date_second_span date_compare_datetime date_compare_date ' +\n      'date_compare_time date_date_of date_time_of date_datetime_string ' +\n      'date_date_string date_time_string date_days_in_month ' +\n      'date_days_in_year date_leap_year date_is_today date_set_timezone ' +\n      'date_get_timezone game_set_speed game_get_speed motion_set ' +\n      'motion_add place_free place_empty place_meeting place_snapped ' +\n      'move_random move_snap move_towards_point move_contact_solid ' +\n      'move_contact_all move_outside_solid move_outside_all ' +\n      'move_bounce_solid move_bounce_all move_wrap distance_to_point ' +\n      'distance_to_object position_empty position_meeting path_start ' +\n      'path_end mp_linear_step mp_potential_step mp_linear_step_object ' +\n      'mp_potential_step_object mp_potential_settings mp_linear_path ' +\n      'mp_potential_path mp_linear_path_object mp_potential_path_object ' +\n      'mp_grid_create mp_grid_destroy mp_grid_clear_all mp_grid_clear_cell ' +\n      'mp_grid_clear_rectangle mp_grid_add_cell mp_grid_get_cell ' +\n      'mp_grid_add_rectangle mp_grid_add_instances mp_grid_path ' +\n      'mp_grid_draw mp_grid_to_ds_grid collision_point collision_rectangle ' +\n      'collision_circle collision_ellipse collision_line ' +\n      'collision_point_list collision_rectangle_list collision_circle_list ' +\n      'collision_ellipse_list collision_line_list instance_position_list ' +\n      'instance_place_list point_in_rectangle ' +\n      'point_in_triangle point_in_circle rectangle_in_rectangle ' +\n      'rectangle_in_triangle rectangle_in_circle instance_find ' +\n      'instance_exists instance_number instance_position instance_nearest ' +\n      'instance_furthest instance_place instance_create_depth ' +\n      'instance_create_layer instance_copy instance_change instance_destroy ' +\n      'position_destroy position_change instance_id_get ' +\n      'instance_deactivate_all instance_deactivate_object ' +\n      'instance_deactivate_region instance_activate_all ' +\n      'instance_activate_object instance_activate_region room_goto ' +\n      'room_goto_previous room_goto_next room_previous room_next ' +\n      'room_restart game_end game_restart game_load game_save ' +\n      'game_save_buffer game_load_buffer event_perform event_user ' +\n      'event_perform_object event_inherited show_debug_message ' +\n      'show_debug_overlay debug_event debug_get_callstack alarm_get ' +\n      'alarm_set font_texture_page_size keyboard_set_map keyboard_get_map ' +\n      'keyboard_unset_map keyboard_check keyboard_check_pressed ' +\n      'keyboard_check_released keyboard_check_direct keyboard_get_numlock ' +\n      'keyboard_set_numlock keyboard_key_press keyboard_key_release ' +\n      'keyboard_clear io_clear mouse_check_button ' +\n      'mouse_check_button_pressed mouse_check_button_released ' +\n      'mouse_wheel_up mouse_wheel_down mouse_clear draw_self draw_sprite ' +\n      'draw_sprite_pos draw_sprite_ext draw_sprite_stretched ' +\n      'draw_sprite_stretched_ext draw_sprite_tiled draw_sprite_tiled_ext ' +\n      'draw_sprite_part draw_sprite_part_ext draw_sprite_general draw_clear ' +\n      'draw_clear_alpha draw_point draw_line draw_line_width draw_rectangle ' +\n      'draw_roundrect draw_roundrect_ext draw_triangle draw_circle ' +\n      'draw_ellipse draw_set_circle_precision draw_arrow draw_button ' +\n      'draw_path draw_healthbar draw_getpixel draw_getpixel_ext ' +\n      'draw_set_colour draw_set_color draw_set_alpha draw_get_colour ' +\n      'draw_get_color draw_get_alpha merge_colour make_colour_rgb ' +\n      'make_colour_hsv colour_get_red colour_get_green colour_get_blue ' +\n      'colour_get_hue colour_get_saturation colour_get_value merge_color ' +\n      'make_color_rgb make_color_hsv color_get_red color_get_green ' +\n      'color_get_blue color_get_hue color_get_saturation color_get_value ' +\n      'merge_color screen_save screen_save_part draw_set_font ' +\n      'draw_set_halign draw_set_valign draw_text draw_text_ext string_width ' +\n      'string_height string_width_ext string_height_ext ' +\n      'draw_text_transformed draw_text_ext_transformed draw_text_colour ' +\n      'draw_text_ext_colour draw_text_transformed_colour ' +\n      'draw_text_ext_transformed_colour draw_text_color draw_text_ext_color ' +\n      'draw_text_transformed_color draw_text_ext_transformed_color ' +\n      'draw_point_colour draw_line_colour draw_line_width_colour ' +\n      'draw_rectangle_colour draw_roundrect_colour ' +\n      'draw_roundrect_colour_ext draw_triangle_colour draw_circle_colour ' +\n      'draw_ellipse_colour draw_point_color draw_line_color ' +\n      'draw_line_width_color draw_rectangle_color draw_roundrect_color ' +\n      'draw_roundrect_color_ext draw_triangle_color draw_circle_color ' +\n      'draw_ellipse_color draw_primitive_begin draw_vertex ' +\n      'draw_vertex_colour draw_vertex_color draw_primitive_end ' +\n      'sprite_get_uvs font_get_uvs sprite_get_texture font_get_texture ' +\n      'texture_get_width texture_get_height texture_get_uvs ' +\n      'draw_primitive_begin_texture draw_vertex_texture ' +\n      'draw_vertex_texture_colour draw_vertex_texture_color ' +\n      'texture_global_scale surface_create surface_create_ext ' +\n      'surface_resize surface_free surface_exists surface_get_width ' +\n      'surface_get_height surface_get_texture surface_set_target ' +\n      'surface_set_target_ext surface_reset_target surface_depth_disable ' +\n      'surface_get_depth_disable draw_surface draw_surface_stretched ' +\n      'draw_surface_tiled draw_surface_part draw_surface_ext ' +\n      'draw_surface_stretched_ext draw_surface_tiled_ext ' +\n      'draw_surface_part_ext draw_surface_general surface_getpixel ' +\n      'surface_getpixel_ext surface_save surface_save_part surface_copy ' +\n      'surface_copy_part application_surface_draw_enable ' +\n      'application_get_position application_surface_enable ' +\n      'application_surface_is_enabled display_get_width display_get_height ' +\n      'display_get_orientation display_get_gui_width display_get_gui_height ' +\n      'display_reset display_mouse_get_x display_mouse_get_y ' +\n      'display_mouse_set display_set_ui_visibility ' +\n      'window_set_fullscreen window_get_fullscreen ' +\n      'window_set_caption window_set_min_width window_set_max_width ' +\n      'window_set_min_height window_set_max_height window_get_visible_rects ' +\n      'window_get_caption window_set_cursor window_get_cursor ' +\n      'window_set_colour window_get_colour window_set_color ' +\n      'window_get_color window_set_position window_set_size ' +\n      'window_set_rectangle window_center window_get_x window_get_y ' +\n      'window_get_width window_get_height window_mouse_get_x ' +\n      'window_mouse_get_y window_mouse_set window_view_mouse_get_x ' +\n      'window_view_mouse_get_y window_views_mouse_get_x ' +\n      'window_views_mouse_get_y audio_listener_position ' +\n      'audio_listener_velocity audio_listener_orientation ' +\n      'audio_emitter_position audio_emitter_create audio_emitter_free ' +\n      'audio_emitter_exists audio_emitter_pitch audio_emitter_velocity ' +\n      'audio_emitter_falloff audio_emitter_gain audio_play_sound ' +\n      'audio_play_sound_on audio_play_sound_at audio_stop_sound ' +\n      'audio_resume_music audio_music_is_playing audio_resume_sound ' +\n      'audio_pause_sound audio_pause_music audio_channel_num ' +\n      'audio_sound_length audio_get_type audio_falloff_set_model ' +\n      'audio_play_music audio_stop_music audio_master_gain audio_music_gain ' +\n      'audio_sound_gain audio_sound_pitch audio_stop_all audio_resume_all ' +\n      'audio_pause_all audio_is_playing audio_is_paused audio_exists ' +\n      'audio_sound_set_track_position audio_sound_get_track_position ' +\n      'audio_emitter_get_gain audio_emitter_get_pitch audio_emitter_get_x ' +\n      'audio_emitter_get_y audio_emitter_get_z audio_emitter_get_vx ' +\n      'audio_emitter_get_vy audio_emitter_get_vz ' +\n      'audio_listener_set_position audio_listener_set_velocity ' +\n      'audio_listener_set_orientation audio_listener_get_data ' +\n      'audio_set_master_gain audio_get_master_gain audio_sound_get_gain ' +\n      'audio_sound_get_pitch audio_get_name audio_sound_set_track_position ' +\n      'audio_sound_get_track_position audio_create_stream ' +\n      'audio_destroy_stream audio_create_sync_group ' +\n      'audio_destroy_sync_group audio_play_in_sync_group ' +\n      'audio_start_sync_group audio_stop_sync_group audio_pause_sync_group ' +\n      'audio_resume_sync_group audio_sync_group_get_track_pos ' +\n      'audio_sync_group_debug audio_sync_group_is_playing audio_debug ' +\n      'audio_group_load audio_group_unload audio_group_is_loaded ' +\n      'audio_group_load_progress audio_group_name audio_group_stop_all ' +\n      'audio_group_set_gain audio_create_buffer_sound ' +\n      'audio_free_buffer_sound audio_create_play_queue ' +\n      'audio_free_play_queue audio_queue_sound audio_get_recorder_count ' +\n      'audio_get_recorder_info audio_start_recording audio_stop_recording ' +\n      'audio_sound_get_listener_mask audio_emitter_get_listener_mask ' +\n      'audio_get_listener_mask audio_sound_set_listener_mask ' +\n      'audio_emitter_set_listener_mask audio_set_listener_mask ' +\n      'audio_get_listener_count audio_get_listener_info audio_system ' +\n      'show_message show_message_async clickable_add clickable_add_ext ' +\n      'clickable_change clickable_change_ext clickable_delete ' +\n      'clickable_exists clickable_set_style show_question ' +\n      'show_question_async get_integer get_string get_integer_async ' +\n      'get_string_async get_login_async get_open_filename get_save_filename ' +\n      'get_open_filename_ext get_save_filename_ext show_error ' +\n      'highscore_clear highscore_add highscore_value highscore_name ' +\n      'draw_highscore sprite_exists sprite_get_name sprite_get_number ' +\n      'sprite_get_width sprite_get_height sprite_get_xoffset ' +\n      'sprite_get_yoffset sprite_get_bbox_left sprite_get_bbox_right ' +\n      'sprite_get_bbox_top sprite_get_bbox_bottom sprite_save ' +\n      'sprite_save_strip sprite_set_cache_size sprite_set_cache_size_ext ' +\n      'sprite_get_tpe sprite_prefetch sprite_prefetch_multi sprite_flush ' +\n      'sprite_flush_multi sprite_set_speed sprite_get_speed_type ' +\n      'sprite_get_speed font_exists font_get_name font_get_fontname ' +\n      'font_get_bold font_get_italic font_get_first font_get_last ' +\n      'font_get_size font_set_cache_size path_exists path_get_name ' +\n      'path_get_length path_get_time path_get_kind path_get_closed ' +\n      'path_get_precision path_get_number path_get_point_x path_get_point_y ' +\n      'path_get_point_speed path_get_x path_get_y path_get_speed ' +\n      'script_exists script_get_name timeline_add timeline_delete ' +\n      'timeline_clear timeline_exists timeline_get_name ' +\n      'timeline_moment_clear timeline_moment_add_script timeline_size ' +\n      'timeline_max_moment object_exists object_get_name object_get_sprite ' +\n      'object_get_solid object_get_visible object_get_persistent ' +\n      'object_get_mask object_get_parent object_get_physics ' +\n      'object_is_ancestor room_exists room_get_name sprite_set_offset ' +\n      'sprite_duplicate sprite_assign sprite_merge sprite_add ' +\n      'sprite_replace sprite_create_from_surface sprite_add_from_surface ' +\n      'sprite_delete sprite_set_alpha_from_sprite sprite_collision_mask ' +\n      'font_add_enable_aa font_add_get_enable_aa font_add font_add_sprite ' +\n      'font_add_sprite_ext font_replace font_replace_sprite ' +\n      'font_replace_sprite_ext font_delete path_set_kind path_set_closed ' +\n      'path_set_precision path_add path_assign path_duplicate path_append ' +\n      'path_delete path_add_point path_insert_point path_change_point ' +\n      'path_delete_point path_clear_points path_reverse path_mirror ' +\n      'path_flip path_rotate path_rescale path_shift script_execute ' +\n      'object_set_sprite object_set_solid object_set_visible ' +\n      'object_set_persistent object_set_mask room_set_width room_set_height ' +\n      'room_set_persistent room_set_background_colour ' +\n      'room_set_background_color room_set_view room_set_viewport ' +\n      'room_get_viewport room_set_view_enabled room_add room_duplicate ' +\n      'room_assign room_instance_add room_instance_clear room_get_camera ' +\n      'room_set_camera asset_get_index asset_get_type ' +\n      'file_text_open_from_string file_text_open_read file_text_open_write ' +\n      'file_text_open_append file_text_close file_text_write_string ' +\n      'file_text_write_real file_text_writeln file_text_read_string ' +\n      'file_text_read_real file_text_readln file_text_eof file_text_eoln ' +\n      'file_exists file_delete file_rename file_copy directory_exists ' +\n      'directory_create directory_destroy file_find_first file_find_next ' +\n      'file_find_close file_attributes filename_name filename_path ' +\n      'filename_dir filename_drive filename_ext filename_change_ext ' +\n      'file_bin_open file_bin_rewrite file_bin_close file_bin_position ' +\n      'file_bin_size file_bin_seek file_bin_write_byte file_bin_read_byte ' +\n      'parameter_count parameter_string environment_get_variable ' +\n      'ini_open_from_string ini_open ini_close ini_read_string ' +\n      'ini_read_real ini_write_string ini_write_real ini_key_exists ' +\n      'ini_section_exists ini_key_delete ini_section_delete ' +\n      'ds_set_precision ds_exists ds_stack_create ds_stack_destroy ' +\n      'ds_stack_clear ds_stack_copy ds_stack_size ds_stack_empty ' +\n      'ds_stack_push ds_stack_pop ds_stack_top ds_stack_write ds_stack_read ' +\n      'ds_queue_create ds_queue_destroy ds_queue_clear ds_queue_copy ' +\n      'ds_queue_size ds_queue_empty ds_queue_enqueue ds_queue_dequeue ' +\n      'ds_queue_head ds_queue_tail ds_queue_write ds_queue_read ' +\n      'ds_list_create ds_list_destroy ds_list_clear ds_list_copy ' +\n      'ds_list_size ds_list_empty ds_list_add ds_list_insert ' +\n      'ds_list_replace ds_list_delete ds_list_find_index ds_list_find_value ' +\n      'ds_list_mark_as_list ds_list_mark_as_map ds_list_sort ' +\n      'ds_list_shuffle ds_list_write ds_list_read ds_list_set ds_map_create ' +\n      'ds_map_destroy ds_map_clear ds_map_copy ds_map_size ds_map_empty ' +\n      'ds_map_add ds_map_add_list ds_map_add_map ds_map_replace ' +\n      'ds_map_replace_map ds_map_replace_list ds_map_delete ds_map_exists ' +\n      'ds_map_find_value ds_map_find_previous ds_map_find_next ' +\n      'ds_map_find_first ds_map_find_last ds_map_write ds_map_read ' +\n      'ds_map_secure_save ds_map_secure_load ds_map_secure_load_buffer ' +\n      'ds_map_secure_save_buffer ds_map_set ds_priority_create ' +\n      'ds_priority_destroy ds_priority_clear ds_priority_copy ' +\n      'ds_priority_size ds_priority_empty ds_priority_add ' +\n      'ds_priority_change_priority ds_priority_find_priority ' +\n      'ds_priority_delete_value ds_priority_delete_min ds_priority_find_min ' +\n      'ds_priority_delete_max ds_priority_find_max ds_priority_write ' +\n      'ds_priority_read ds_grid_create ds_grid_destroy ds_grid_copy ' +\n      'ds_grid_resize ds_grid_width ds_grid_height ds_grid_clear ' +\n      'ds_grid_set ds_grid_add ds_grid_multiply ds_grid_set_region ' +\n      'ds_grid_add_region ds_grid_multiply_region ds_grid_set_disk ' +\n      'ds_grid_add_disk ds_grid_multiply_disk ds_grid_set_grid_region ' +\n      'ds_grid_add_grid_region ds_grid_multiply_grid_region ds_grid_get ' +\n      'ds_grid_get_sum ds_grid_get_max ds_grid_get_min ds_grid_get_mean ' +\n      'ds_grid_get_disk_sum ds_grid_get_disk_min ds_grid_get_disk_max ' +\n      'ds_grid_get_disk_mean ds_grid_value_exists ds_grid_value_x ' +\n      'ds_grid_value_y ds_grid_value_disk_exists ds_grid_value_disk_x ' +\n      'ds_grid_value_disk_y ds_grid_shuffle ds_grid_write ds_grid_read ' +\n      'ds_grid_sort ds_grid_set ds_grid_get effect_create_below ' +\n      'effect_create_above effect_clear part_type_create part_type_destroy ' +\n      'part_type_exists part_type_clear part_type_shape part_type_sprite ' +\n      'part_type_size part_type_scale part_type_orientation part_type_life ' +\n      'part_type_step part_type_death part_type_speed part_type_direction ' +\n      'part_type_gravity part_type_colour1 part_type_colour2 ' +\n      'part_type_colour3 part_type_colour_mix part_type_colour_rgb ' +\n      'part_type_colour_hsv part_type_color1 part_type_color2 ' +\n      'part_type_color3 part_type_color_mix part_type_color_rgb ' +\n      'part_type_color_hsv part_type_alpha1 part_type_alpha2 ' +\n      'part_type_alpha3 part_type_blend part_system_create ' +\n      'part_system_create_layer part_system_destroy part_system_exists ' +\n      'part_system_clear part_system_draw_order part_system_depth ' +\n      'part_system_position part_system_automatic_update ' +\n      'part_system_automatic_draw part_system_update part_system_drawit ' +\n      'part_system_get_layer part_system_layer part_particles_create ' +\n      'part_particles_create_colour part_particles_create_color ' +\n      'part_particles_clear part_particles_count part_emitter_create ' +\n      'part_emitter_destroy part_emitter_destroy_all part_emitter_exists ' +\n      'part_emitter_clear part_emitter_region part_emitter_burst ' +\n      'part_emitter_stream external_call external_define external_free ' +\n      'window_handle window_device matrix_get matrix_set ' +\n      'matrix_build_identity matrix_build matrix_build_lookat ' +\n      'matrix_build_projection_ortho matrix_build_projection_perspective ' +\n      'matrix_build_projection_perspective_fov matrix_multiply ' +\n      'matrix_transform_vertex matrix_stack_push matrix_stack_pop ' +\n      'matrix_stack_multiply matrix_stack_set matrix_stack_clear ' +\n      'matrix_stack_top matrix_stack_is_empty browser_input_capture ' +\n      'os_get_config os_get_info os_get_language os_get_region ' +\n      'os_lock_orientation display_get_dpi_x display_get_dpi_y ' +\n      'display_set_gui_size display_set_gui_maximise ' +\n      'display_set_gui_maximize device_mouse_dbclick_enable ' +\n      'display_set_timing_method display_get_timing_method ' +\n      'display_set_sleep_margin display_get_sleep_margin virtual_key_add ' +\n      'virtual_key_hide virtual_key_delete virtual_key_show ' +\n      'draw_enable_drawevent draw_enable_swf_aa draw_set_swf_aa_level ' +\n      'draw_get_swf_aa_level draw_texture_flush draw_flush ' +\n      'gpu_set_blendenable gpu_set_ztestenable gpu_set_zfunc ' +\n      'gpu_set_zwriteenable gpu_set_lightingenable gpu_set_fog ' +\n      'gpu_set_cullmode gpu_set_blendmode gpu_set_blendmode_ext ' +\n      'gpu_set_blendmode_ext_sepalpha gpu_set_colorwriteenable ' +\n      'gpu_set_colourwriteenable gpu_set_alphatestenable ' +\n      'gpu_set_alphatestref gpu_set_alphatestfunc gpu_set_texfilter ' +\n      'gpu_set_texfilter_ext gpu_set_texrepeat gpu_set_texrepeat_ext ' +\n      'gpu_set_tex_filter gpu_set_tex_filter_ext gpu_set_tex_repeat ' +\n      'gpu_set_tex_repeat_ext gpu_set_tex_mip_filter ' +\n      'gpu_set_tex_mip_filter_ext gpu_set_tex_mip_bias ' +\n      'gpu_set_tex_mip_bias_ext gpu_set_tex_min_mip gpu_set_tex_min_mip_ext ' +\n      'gpu_set_tex_max_mip gpu_set_tex_max_mip_ext gpu_set_tex_max_aniso ' +\n      'gpu_set_tex_max_aniso_ext gpu_set_tex_mip_enable ' +\n      'gpu_set_tex_mip_enable_ext gpu_get_blendenable gpu_get_ztestenable ' +\n      'gpu_get_zfunc gpu_get_zwriteenable gpu_get_lightingenable ' +\n      'gpu_get_fog gpu_get_cullmode gpu_get_blendmode gpu_get_blendmode_ext ' +\n      'gpu_get_blendmode_ext_sepalpha gpu_get_blendmode_src ' +\n      'gpu_get_blendmode_dest gpu_get_blendmode_srcalpha ' +\n      'gpu_get_blendmode_destalpha gpu_get_colorwriteenable ' +\n      'gpu_get_colourwriteenable gpu_get_alphatestenable ' +\n      'gpu_get_alphatestref gpu_get_alphatestfunc gpu_get_texfilter ' +\n      'gpu_get_texfilter_ext gpu_get_texrepeat gpu_get_texrepeat_ext ' +\n      'gpu_get_tex_filter gpu_get_tex_filter_ext gpu_get_tex_repeat ' +\n      'gpu_get_tex_repeat_ext gpu_get_tex_mip_filter ' +\n      'gpu_get_tex_mip_filter_ext gpu_get_tex_mip_bias ' +\n      'gpu_get_tex_mip_bias_ext gpu_get_tex_min_mip gpu_get_tex_min_mip_ext ' +\n      'gpu_get_tex_max_mip gpu_get_tex_max_mip_ext gpu_get_tex_max_aniso ' +\n      'gpu_get_tex_max_aniso_ext gpu_get_tex_mip_enable ' +\n      'gpu_get_tex_mip_enable_ext gpu_push_state gpu_pop_state ' +\n      'gpu_get_state gpu_set_state draw_light_define_ambient ' +\n      'draw_light_define_direction draw_light_define_point ' +\n      'draw_light_enable draw_set_lighting draw_light_get_ambient ' +\n      'draw_light_get draw_get_lighting shop_leave_rating url_get_domain ' +\n      'url_open url_open_ext url_open_full get_timer achievement_login ' +\n      'achievement_logout achievement_post achievement_increment ' +\n      'achievement_post_score achievement_available ' +\n      'achievement_show_achievements achievement_show_leaderboards ' +\n      'achievement_load_friends achievement_load_leaderboard ' +\n      'achievement_send_challenge achievement_load_progress ' +\n      'achievement_reset achievement_login_status achievement_get_pic ' +\n      'achievement_show_challenge_notifications achievement_get_challenges ' +\n      'achievement_event achievement_show achievement_get_info ' +\n      'cloud_file_save cloud_string_save cloud_synchronise ads_enable ' +\n      'ads_disable ads_setup ads_engagement_launch ads_engagement_available ' +\n      'ads_engagement_active ads_event ads_event_preload ' +\n      'ads_set_reward_callback ads_get_display_height ads_get_display_width ' +\n      'ads_move ads_interstitial_available ads_interstitial_display ' +\n      'device_get_tilt_x device_get_tilt_y device_get_tilt_z ' +\n      'device_is_keypad_open device_mouse_check_button ' +\n      'device_mouse_check_button_pressed device_mouse_check_button_released ' +\n      'device_mouse_x device_mouse_y device_mouse_raw_x device_mouse_raw_y ' +\n      'device_mouse_x_to_gui device_mouse_y_to_gui iap_activate iap_status ' +\n      'iap_enumerate_products iap_restore_all iap_acquire iap_consume ' +\n      'iap_product_details iap_purchase_details facebook_init ' +\n      'facebook_login facebook_status facebook_graph_request ' +\n      'facebook_dialog facebook_logout facebook_launch_offerwall ' +\n      'facebook_post_message facebook_send_invite facebook_user_id ' +\n      'facebook_accesstoken facebook_check_permission ' +\n      'facebook_request_read_permissions ' +\n      'facebook_request_publish_permissions gamepad_is_supported ' +\n      'gamepad_get_device_count gamepad_is_connected ' +\n      'gamepad_get_description gamepad_get_button_threshold ' +\n      'gamepad_set_button_threshold gamepad_get_axis_deadzone ' +\n      'gamepad_set_axis_deadzone gamepad_button_count gamepad_button_check ' +\n      'gamepad_button_check_pressed gamepad_button_check_released ' +\n      'gamepad_button_value gamepad_axis_count gamepad_axis_value ' +\n      'gamepad_set_vibration gamepad_set_colour gamepad_set_color ' +\n      'os_is_paused window_has_focus code_is_compiled http_get ' +\n      'http_get_file http_post_string http_request json_encode json_decode ' +\n      'zip_unzip load_csv base64_encode base64_decode md5_string_unicode ' +\n      'md5_string_utf8 md5_file os_is_network_connected sha1_string_unicode ' +\n      'sha1_string_utf8 sha1_file os_powersave_enable analytics_event ' +\n      'analytics_event_ext win8_livetile_tile_notification ' +\n      'win8_livetile_tile_clear win8_livetile_badge_notification ' +\n      'win8_livetile_badge_clear win8_livetile_queue_enable ' +\n      'win8_secondarytile_pin win8_secondarytile_badge_notification ' +\n      'win8_secondarytile_delete win8_livetile_notification_begin ' +\n      'win8_livetile_notification_secondary_begin ' +\n      'win8_livetile_notification_expiry win8_livetile_notification_tag ' +\n      'win8_livetile_notification_text_add ' +\n      'win8_livetile_notification_image_add win8_livetile_notification_end ' +\n      'win8_appbar_enable win8_appbar_add_element ' +\n      'win8_appbar_remove_element win8_settingscharm_add_entry ' +\n      'win8_settingscharm_add_html_entry win8_settingscharm_add_xaml_entry ' +\n      'win8_settingscharm_set_xaml_property ' +\n      'win8_settingscharm_get_xaml_property win8_settingscharm_remove_entry ' +\n      'win8_share_image win8_share_screenshot win8_share_file ' +\n      'win8_share_url win8_share_text win8_search_enable ' +\n      'win8_search_disable win8_search_add_suggestions ' +\n      'win8_device_touchscreen_available win8_license_initialize_sandbox ' +\n      'win8_license_trial_version winphone_license_trial_version ' +\n      'winphone_tile_title winphone_tile_count winphone_tile_back_title ' +\n      'winphone_tile_back_content winphone_tile_back_content_wide ' +\n      'winphone_tile_front_image winphone_tile_front_image_small ' +\n      'winphone_tile_front_image_wide winphone_tile_back_image ' +\n      'winphone_tile_back_image_wide winphone_tile_background_colour ' +\n      'winphone_tile_background_color winphone_tile_icon_image ' +\n      'winphone_tile_small_icon_image winphone_tile_wide_content ' +\n      'winphone_tile_cycle_images winphone_tile_small_background_image ' +\n      'physics_world_create physics_world_gravity ' +\n      'physics_world_update_speed physics_world_update_iterations ' +\n      'physics_world_draw_debug physics_pause_enable physics_fixture_create ' +\n      'physics_fixture_set_kinematic physics_fixture_set_density ' +\n      'physics_fixture_set_awake physics_fixture_set_restitution ' +\n      'physics_fixture_set_friction physics_fixture_set_collision_group ' +\n      'physics_fixture_set_sensor physics_fixture_set_linear_damping ' +\n      'physics_fixture_set_angular_damping physics_fixture_set_circle_shape ' +\n      'physics_fixture_set_box_shape physics_fixture_set_edge_shape ' +\n      'physics_fixture_set_polygon_shape physics_fixture_set_chain_shape ' +\n      'physics_fixture_add_point physics_fixture_bind ' +\n      'physics_fixture_bind_ext physics_fixture_delete physics_apply_force ' +\n      'physics_apply_impulse physics_apply_angular_impulse ' +\n      'physics_apply_local_force physics_apply_local_impulse ' +\n      'physics_apply_torque physics_mass_properties physics_draw_debug ' +\n      'physics_test_overlap physics_remove_fixture physics_set_friction ' +\n      'physics_set_density physics_set_restitution physics_get_friction ' +\n      'physics_get_density physics_get_restitution ' +\n      'physics_joint_distance_create physics_joint_rope_create ' +\n      'physics_joint_revolute_create physics_joint_prismatic_create ' +\n      'physics_joint_pulley_create physics_joint_wheel_create ' +\n      'physics_joint_weld_create physics_joint_friction_create ' +\n      'physics_joint_gear_create physics_joint_enable_motor ' +\n      'physics_joint_get_value physics_joint_set_value physics_joint_delete ' +\n      'physics_particle_create physics_particle_delete ' +\n      'physics_particle_delete_region_circle ' +\n      'physics_particle_delete_region_box ' +\n      'physics_particle_delete_region_poly physics_particle_set_flags ' +\n      'physics_particle_set_category_flags physics_particle_draw ' +\n      'physics_particle_draw_ext physics_particle_count ' +\n      'physics_particle_get_data physics_particle_get_data_particle ' +\n      'physics_particle_group_begin physics_particle_group_circle ' +\n      'physics_particle_group_box physics_particle_group_polygon ' +\n      'physics_particle_group_add_point physics_particle_group_end ' +\n      'physics_particle_group_join physics_particle_group_delete ' +\n      'physics_particle_group_count physics_particle_group_get_data ' +\n      'physics_particle_group_get_mass physics_particle_group_get_inertia ' +\n      'physics_particle_group_get_centre_x ' +\n      'physics_particle_group_get_centre_y physics_particle_group_get_vel_x ' +\n      'physics_particle_group_get_vel_y physics_particle_group_get_ang_vel ' +\n      'physics_particle_group_get_x physics_particle_group_get_y ' +\n      'physics_particle_group_get_angle physics_particle_set_group_flags ' +\n      'physics_particle_get_group_flags physics_particle_get_max_count ' +\n      'physics_particle_get_radius physics_particle_get_density ' +\n      'physics_particle_get_damping physics_particle_get_gravity_scale ' +\n      'physics_particle_set_max_count physics_particle_set_radius ' +\n      'physics_particle_set_density physics_particle_set_damping ' +\n      'physics_particle_set_gravity_scale network_create_socket ' +\n      'network_create_socket_ext network_create_server ' +\n      'network_create_server_raw network_connect network_connect_raw ' +\n      'network_send_packet network_send_raw network_send_broadcast ' +\n      'network_send_udp network_send_udp_raw network_set_timeout ' +\n      'network_set_config network_resolve network_destroy buffer_create ' +\n      'buffer_write buffer_read buffer_seek buffer_get_surface ' +\n      'buffer_set_surface buffer_delete buffer_exists buffer_get_type ' +\n      'buffer_get_alignment buffer_poke buffer_peek buffer_save ' +\n      'buffer_save_ext buffer_load buffer_load_ext buffer_load_partial ' +\n      'buffer_copy buffer_fill buffer_get_size buffer_tell buffer_resize ' +\n      'buffer_md5 buffer_sha1 buffer_base64_encode buffer_base64_decode ' +\n      'buffer_base64_decode_ext buffer_sizeof buffer_get_address ' +\n      'buffer_create_from_vertex_buffer ' +\n      'buffer_create_from_vertex_buffer_ext buffer_copy_from_vertex_buffer ' +\n      'buffer_async_group_begin buffer_async_group_option ' +\n      'buffer_async_group_end buffer_load_async buffer_save_async ' +\n      'gml_release_mode gml_pragma steam_activate_overlay ' +\n      'steam_is_overlay_enabled steam_is_overlay_activated ' +\n      'steam_get_persona_name steam_initialised ' +\n      'steam_is_cloud_enabled_for_app steam_is_cloud_enabled_for_account ' +\n      'steam_file_persisted steam_get_quota_total steam_get_quota_free ' +\n      'steam_file_write steam_file_write_file steam_file_read ' +\n      'steam_file_delete steam_file_exists steam_file_size steam_file_share ' +\n      'steam_is_screenshot_requested steam_send_screenshot ' +\n      'steam_is_user_logged_on steam_get_user_steam_id steam_user_owns_dlc ' +\n      'steam_user_installed_dlc steam_set_achievement steam_get_achievement ' +\n      'steam_clear_achievement steam_set_stat_int steam_set_stat_float ' +\n      'steam_set_stat_avg_rate steam_get_stat_int steam_get_stat_float ' +\n      'steam_get_stat_avg_rate steam_reset_all_stats ' +\n      'steam_reset_all_stats_achievements steam_stats_ready ' +\n      'steam_create_leaderboard steam_upload_score steam_upload_score_ext ' +\n      'steam_download_scores_around_user steam_download_scores ' +\n      'steam_download_friends_scores steam_upload_score_buffer ' +\n      'steam_upload_score_buffer_ext steam_current_game_language ' +\n      'steam_available_languages steam_activate_overlay_browser ' +\n      'steam_activate_overlay_user steam_activate_overlay_store ' +\n      'steam_get_user_persona_name steam_get_app_id ' +\n      'steam_get_user_account_id steam_ugc_download steam_ugc_create_item ' +\n      'steam_ugc_start_item_update steam_ugc_set_item_title ' +\n      'steam_ugc_set_item_description steam_ugc_set_item_visibility ' +\n      'steam_ugc_set_item_tags steam_ugc_set_item_content ' +\n      'steam_ugc_set_item_preview steam_ugc_submit_item_update ' +\n      'steam_ugc_get_item_update_progress steam_ugc_subscribe_item ' +\n      'steam_ugc_unsubscribe_item steam_ugc_num_subscribed_items ' +\n      'steam_ugc_get_subscribed_items steam_ugc_get_item_install_info ' +\n      'steam_ugc_get_item_update_info steam_ugc_request_item_details ' +\n      'steam_ugc_create_query_user steam_ugc_create_query_user_ex ' +\n      'steam_ugc_create_query_all steam_ugc_create_query_all_ex ' +\n      'steam_ugc_query_set_cloud_filename_filter ' +\n      'steam_ugc_query_set_match_any_tag steam_ugc_query_set_search_text ' +\n      'steam_ugc_query_set_ranked_by_trend_days ' +\n      'steam_ugc_query_add_required_tag steam_ugc_query_add_excluded_tag ' +\n      'steam_ugc_query_set_return_long_description ' +\n      'steam_ugc_query_set_return_total_only ' +\n      'steam_ugc_query_set_allow_cached_response steam_ugc_send_query ' +\n      'shader_set shader_get_name shader_reset shader_current ' +\n      'shader_is_compiled shader_get_sampler_index shader_get_uniform ' +\n      'shader_set_uniform_i shader_set_uniform_i_array shader_set_uniform_f ' +\n      'shader_set_uniform_f_array shader_set_uniform_matrix ' +\n      'shader_set_uniform_matrix_array shader_enable_corner_id ' +\n      'texture_set_stage texture_get_texel_width texture_get_texel_height ' +\n      'shaders_are_supported vertex_format_begin vertex_format_end ' +\n      'vertex_format_delete vertex_format_add_position ' +\n      'vertex_format_add_position_3d vertex_format_add_colour ' +\n      'vertex_format_add_color vertex_format_add_normal ' +\n      'vertex_format_add_texcoord vertex_format_add_textcoord ' +\n      'vertex_format_add_custom vertex_create_buffer ' +\n      'vertex_create_buffer_ext vertex_delete_buffer vertex_begin ' +\n      'vertex_end vertex_position vertex_position_3d vertex_colour ' +\n      'vertex_color vertex_argb vertex_texcoord vertex_normal vertex_float1 ' +\n      'vertex_float2 vertex_float3 vertex_float4 vertex_ubyte4 ' +\n      'vertex_submit vertex_freeze vertex_get_number vertex_get_buffer_size ' +\n      'vertex_create_buffer_from_buffer ' +\n      'vertex_create_buffer_from_buffer_ext push_local_notification ' +\n      'push_get_first_local_notification push_get_next_local_notification ' +\n      'push_cancel_local_notification skeleton_animation_set ' +\n      'skeleton_animation_get skeleton_animation_mix ' +\n      'skeleton_animation_set_ext skeleton_animation_get_ext ' +\n      'skeleton_animation_get_duration skeleton_animation_get_frames ' +\n      'skeleton_animation_clear skeleton_skin_set skeleton_skin_get ' +\n      'skeleton_attachment_set skeleton_attachment_get ' +\n      'skeleton_attachment_create skeleton_collision_draw_set ' +\n      'skeleton_bone_data_get skeleton_bone_data_set ' +\n      'skeleton_bone_state_get skeleton_bone_state_set skeleton_get_minmax ' +\n      'skeleton_get_num_bounds skeleton_get_bounds ' +\n      'skeleton_animation_get_frame skeleton_animation_set_frame ' +\n      'draw_skeleton draw_skeleton_time draw_skeleton_instance ' +\n      'draw_skeleton_collision skeleton_animation_list skeleton_skin_list ' +\n      'skeleton_slot_data layer_get_id layer_get_id_at_depth ' +\n      'layer_get_depth layer_create layer_destroy layer_destroy_instances ' +\n      'layer_add_instance layer_has_instance layer_set_visible ' +\n      'layer_get_visible layer_exists layer_x layer_y layer_get_x ' +\n      'layer_get_y layer_hspeed layer_vspeed layer_get_hspeed ' +\n      'layer_get_vspeed layer_script_begin layer_script_end layer_shader ' +\n      'layer_get_script_begin layer_get_script_end layer_get_shader ' +\n      'layer_set_target_room layer_get_target_room layer_reset_target_room ' +\n      'layer_get_all layer_get_all_elements layer_get_name layer_depth ' +\n      'layer_get_element_layer layer_get_element_type layer_element_move ' +\n      'layer_force_draw_depth layer_is_draw_depth_forced ' +\n      'layer_get_forced_depth layer_background_get_id ' +\n      'layer_background_exists layer_background_create ' +\n      'layer_background_destroy layer_background_visible ' +\n      'layer_background_change layer_background_sprite ' +\n      'layer_background_htiled layer_background_vtiled ' +\n      'layer_background_stretch layer_background_yscale ' +\n      'layer_background_xscale layer_background_blend ' +\n      'layer_background_alpha layer_background_index layer_background_speed ' +\n      'layer_background_get_visible layer_background_get_sprite ' +\n      'layer_background_get_htiled layer_background_get_vtiled ' +\n      'layer_background_get_stretch layer_background_get_yscale ' +\n      'layer_background_get_xscale layer_background_get_blend ' +\n      'layer_background_get_alpha layer_background_get_index ' +\n      'layer_background_get_speed layer_sprite_get_id layer_sprite_exists ' +\n      'layer_sprite_create layer_sprite_destroy layer_sprite_change ' +\n      'layer_sprite_index layer_sprite_speed layer_sprite_xscale ' +\n      'layer_sprite_yscale layer_sprite_angle layer_sprite_blend ' +\n      'layer_sprite_alpha layer_sprite_x layer_sprite_y ' +\n      'layer_sprite_get_sprite layer_sprite_get_index ' +\n      'layer_sprite_get_speed layer_sprite_get_xscale ' +\n      'layer_sprite_get_yscale layer_sprite_get_angle ' +\n      'layer_sprite_get_blend layer_sprite_get_alpha layer_sprite_get_x ' +\n      'layer_sprite_get_y layer_tilemap_get_id layer_tilemap_exists ' +\n      'layer_tilemap_create layer_tilemap_destroy tilemap_tileset tilemap_x ' +\n      'tilemap_y tilemap_set tilemap_set_at_pixel tilemap_get_tileset ' +\n      'tilemap_get_tile_width tilemap_get_tile_height tilemap_get_width ' +\n      'tilemap_get_height tilemap_get_x tilemap_get_y tilemap_get ' +\n      'tilemap_get_at_pixel tilemap_get_cell_x_at_pixel ' +\n      'tilemap_get_cell_y_at_pixel tilemap_clear draw_tilemap draw_tile ' +\n      'tilemap_set_global_mask tilemap_get_global_mask tilemap_set_mask ' +\n      'tilemap_get_mask tilemap_get_frame tile_set_empty tile_set_index ' +\n      'tile_set_flip tile_set_mirror tile_set_rotate tile_get_empty ' +\n      'tile_get_index tile_get_flip tile_get_mirror tile_get_rotate ' +\n      'layer_tile_exists layer_tile_create layer_tile_destroy ' +\n      'layer_tile_change layer_tile_xscale layer_tile_yscale ' +\n      'layer_tile_blend layer_tile_alpha layer_tile_x layer_tile_y ' +\n      'layer_tile_region layer_tile_visible layer_tile_get_sprite ' +\n      'layer_tile_get_xscale layer_tile_get_yscale layer_tile_get_blend ' +\n      'layer_tile_get_alpha layer_tile_get_x layer_tile_get_y ' +\n      'layer_tile_get_region layer_tile_get_visible ' +\n      'layer_instance_get_instance instance_activate_layer ' +\n      'instance_deactivate_layer camera_create camera_create_view ' +\n      'camera_destroy camera_apply camera_get_active camera_get_default ' +\n      'camera_set_default camera_set_view_mat camera_set_proj_mat ' +\n      'camera_set_update_script camera_set_begin_script ' +\n      'camera_set_end_script camera_set_view_pos camera_set_view_size ' +\n      'camera_set_view_speed camera_set_view_border camera_set_view_angle ' +\n      'camera_set_view_target camera_get_view_mat camera_get_proj_mat ' +\n      'camera_get_update_script camera_get_begin_script ' +\n      'camera_get_end_script camera_get_view_x camera_get_view_y ' +\n      'camera_get_view_width camera_get_view_height camera_get_view_speed_x ' +\n      'camera_get_view_speed_y camera_get_view_border_x ' +\n      'camera_get_view_border_y camera_get_view_angle ' +\n      'camera_get_view_target view_get_camera view_get_visible ' +\n      'view_get_xport view_get_yport view_get_wport view_get_hport ' +\n      'view_get_surface_id view_set_camera view_set_visible view_set_xport ' +\n      'view_set_yport view_set_wport view_set_hport view_set_surface_id ' +\n      'gesture_drag_time gesture_drag_distance gesture_flick_speed ' +\n      'gesture_double_tap_time gesture_double_tap_distance ' +\n      'gesture_pinch_distance gesture_pinch_angle_towards ' +\n      'gesture_pinch_angle_away gesture_rotate_time gesture_rotate_angle ' +\n      'gesture_tap_count gesture_get_drag_time gesture_get_drag_distance ' +\n      'gesture_get_flick_speed gesture_get_double_tap_time ' +\n      'gesture_get_double_tap_distance gesture_get_pinch_distance ' +\n      'gesture_get_pinch_angle_towards gesture_get_pinch_angle_away ' +\n      'gesture_get_rotate_time gesture_get_rotate_angle ' +\n      'gesture_get_tap_count keyboard_virtual_show keyboard_virtual_hide ' +\n      'keyboard_virtual_status keyboard_virtual_height',\n    literal: 'self other all noone global local undefined pointer_invalid ' +\n      'pointer_null path_action_stop path_action_restart ' +\n      'path_action_continue path_action_reverse true false pi GM_build_date ' +\n      'GM_version GM_runtime_version  timezone_local timezone_utc ' +\n      'gamespeed_fps gamespeed_microseconds  ev_create ev_destroy ev_step ' +\n      'ev_alarm ev_keyboard ev_mouse ev_collision ev_other ev_draw ' +\n      'ev_draw_begin ev_draw_end ev_draw_pre ev_draw_post ev_keypress ' +\n      'ev_keyrelease ev_trigger ev_left_button ev_right_button ' +\n      'ev_middle_button ev_no_button ev_left_press ev_right_press ' +\n      'ev_middle_press ev_left_release ev_right_release ev_middle_release ' +\n      'ev_mouse_enter ev_mouse_leave ev_mouse_wheel_up ev_mouse_wheel_down ' +\n      'ev_global_left_button ev_global_right_button ev_global_middle_button ' +\n      'ev_global_left_press ev_global_right_press ev_global_middle_press ' +\n      'ev_global_left_release ev_global_right_release ' +\n      'ev_global_middle_release ev_joystick1_left ev_joystick1_right ' +\n      'ev_joystick1_up ev_joystick1_down ev_joystick1_button1 ' +\n      'ev_joystick1_button2 ev_joystick1_button3 ev_joystick1_button4 ' +\n      'ev_joystick1_button5 ev_joystick1_button6 ev_joystick1_button7 ' +\n      'ev_joystick1_button8 ev_joystick2_left ev_joystick2_right ' +\n      'ev_joystick2_up ev_joystick2_down ev_joystick2_button1 ' +\n      'ev_joystick2_button2 ev_joystick2_button3 ev_joystick2_button4 ' +\n      'ev_joystick2_button5 ev_joystick2_button6 ev_joystick2_button7 ' +\n      'ev_joystick2_button8 ev_outside ev_boundary ev_game_start ' +\n      'ev_game_end ev_room_start ev_room_end ev_no_more_lives ' +\n      'ev_animation_end ev_end_of_path ev_no_more_health ev_close_button ' +\n      'ev_user0 ev_user1 ev_user2 ev_user3 ev_user4 ev_user5 ev_user6 ' +\n      'ev_user7 ev_user8 ev_user9 ev_user10 ev_user11 ev_user12 ev_user13 ' +\n      'ev_user14 ev_user15 ev_step_normal ev_step_begin ev_step_end ev_gui ' +\n      'ev_gui_begin ev_gui_end ev_cleanup ev_gesture ev_gesture_tap ' +\n      'ev_gesture_double_tap ev_gesture_drag_start ev_gesture_dragging ' +\n      'ev_gesture_drag_end ev_gesture_flick ev_gesture_pinch_start ' +\n      'ev_gesture_pinch_in ev_gesture_pinch_out ev_gesture_pinch_end ' +\n      'ev_gesture_rotate_start ev_gesture_rotating ev_gesture_rotate_end ' +\n      'ev_global_gesture_tap ev_global_gesture_double_tap ' +\n      'ev_global_gesture_drag_start ev_global_gesture_dragging ' +\n      'ev_global_gesture_drag_end ev_global_gesture_flick ' +\n      'ev_global_gesture_pinch_start ev_global_gesture_pinch_in ' +\n      'ev_global_gesture_pinch_out ev_global_gesture_pinch_end ' +\n      'ev_global_gesture_rotate_start ev_global_gesture_rotating ' +\n      'ev_global_gesture_rotate_end vk_nokey vk_anykey vk_enter vk_return ' +\n      'vk_shift vk_control vk_alt vk_escape vk_space vk_backspace vk_tab ' +\n      'vk_pause vk_printscreen vk_left vk_right vk_up vk_down vk_home ' +\n      'vk_end vk_delete vk_insert vk_pageup vk_pagedown vk_f1 vk_f2 vk_f3 ' +\n      'vk_f4 vk_f5 vk_f6 vk_f7 vk_f8 vk_f9 vk_f10 vk_f11 vk_f12 vk_numpad0 ' +\n      'vk_numpad1 vk_numpad2 vk_numpad3 vk_numpad4 vk_numpad5 vk_numpad6 ' +\n      'vk_numpad7 vk_numpad8 vk_numpad9 vk_divide vk_multiply vk_subtract ' +\n      'vk_add vk_decimal vk_lshift vk_lcontrol vk_lalt vk_rshift ' +\n      'vk_rcontrol vk_ralt  mb_any mb_none mb_left mb_right mb_middle ' +\n      'c_aqua c_black c_blue c_dkgray c_fuchsia c_gray c_green c_lime ' +\n      'c_ltgray c_maroon c_navy c_olive c_purple c_red c_silver c_teal ' +\n      'c_white c_yellow c_orange fa_left fa_center fa_right fa_top ' +\n      'fa_middle fa_bottom pr_pointlist pr_linelist pr_linestrip ' +\n      'pr_trianglelist pr_trianglestrip pr_trianglefan bm_complex bm_normal ' +\n      'bm_add bm_max bm_subtract bm_zero bm_one bm_src_colour ' +\n      'bm_inv_src_colour bm_src_color bm_inv_src_color bm_src_alpha ' +\n      'bm_inv_src_alpha bm_dest_alpha bm_inv_dest_alpha bm_dest_colour ' +\n      'bm_inv_dest_colour bm_dest_color bm_inv_dest_color bm_src_alpha_sat ' +\n      'tf_point tf_linear tf_anisotropic mip_off mip_on mip_markedonly ' +\n      'audio_falloff_none audio_falloff_inverse_distance ' +\n      'audio_falloff_inverse_distance_clamped audio_falloff_linear_distance ' +\n      'audio_falloff_linear_distance_clamped ' +\n      'audio_falloff_exponent_distance ' +\n      'audio_falloff_exponent_distance_clamped audio_old_system ' +\n      'audio_new_system audio_mono audio_stereo audio_3d cr_default cr_none ' +\n      'cr_arrow cr_cross cr_beam cr_size_nesw cr_size_ns cr_size_nwse ' +\n      'cr_size_we cr_uparrow cr_hourglass cr_drag cr_appstart cr_handpoint ' +\n      'cr_size_all spritespeed_framespersecond ' +\n      'spritespeed_framespergameframe asset_object asset_unknown ' +\n      'asset_sprite asset_sound asset_room asset_path asset_script ' +\n      'asset_font asset_timeline asset_tiles asset_shader fa_readonly ' +\n      'fa_hidden fa_sysfile fa_volumeid fa_directory fa_archive  ' +\n      'ds_type_map ds_type_list ds_type_stack ds_type_queue ds_type_grid ' +\n      'ds_type_priority ef_explosion ef_ring ef_ellipse ef_firework ' +\n      'ef_smoke ef_smokeup ef_star ef_spark ef_flare ef_cloud ef_rain ' +\n      'ef_snow pt_shape_pixel pt_shape_disk pt_shape_square pt_shape_line ' +\n      'pt_shape_star pt_shape_circle pt_shape_ring pt_shape_sphere ' +\n      'pt_shape_flare pt_shape_spark pt_shape_explosion pt_shape_cloud ' +\n      'pt_shape_smoke pt_shape_snow ps_distr_linear ps_distr_gaussian ' +\n      'ps_distr_invgaussian ps_shape_rectangle ps_shape_ellipse ' +\n      'ps_shape_diamond ps_shape_line ty_real ty_string dll_cdecl ' +\n      'dll_stdcall matrix_view matrix_projection matrix_world os_win32 ' +\n      'os_windows os_macosx os_ios os_android os_symbian os_linux ' +\n      'os_unknown os_winphone os_tizen os_win8native ' +\n      'os_wiiu os_3ds  os_psvita os_bb10 os_ps4 os_xboxone ' +\n      'os_ps3 os_xbox360 os_uwp os_tvos os_switch ' +\n      'browser_not_a_browser browser_unknown browser_ie browser_firefox ' +\n      'browser_chrome browser_safari browser_safari_mobile browser_opera ' +\n      'browser_tizen browser_edge browser_windows_store browser_ie_mobile  ' +\n      'device_ios_unknown device_ios_iphone device_ios_iphone_retina ' +\n      'device_ios_ipad device_ios_ipad_retina device_ios_iphone5 ' +\n      'device_ios_iphone6 device_ios_iphone6plus device_emulator ' +\n      'device_tablet display_landscape display_landscape_flipped ' +\n      'display_portrait display_portrait_flipped tm_sleep tm_countvsyncs ' +\n      'of_challenge_win of_challen ge_lose of_challenge_tie ' +\n      'leaderboard_type_number leaderboard_type_time_mins_secs ' +\n      'cmpfunc_never cmpfunc_less cmpfunc_equal cmpfunc_lessequal ' +\n      'cmpfunc_greater cmpfunc_notequal cmpfunc_greaterequal cmpfunc_always ' +\n      'cull_noculling cull_clockwise cull_counterclockwise lighttype_dir ' +\n      'lighttype_point iap_ev_storeload iap_ev_product iap_ev_purchase ' +\n      'iap_ev_consume iap_ev_restore iap_storeload_ok iap_storeload_failed ' +\n      'iap_status_uninitialised iap_status_unavailable iap_status_loading ' +\n      'iap_status_available iap_status_processing iap_status_restoring ' +\n      'iap_failed iap_unavailable iap_available iap_purchased iap_canceled ' +\n      'iap_refunded fb_login_default fb_login_fallback_to_webview ' +\n      'fb_login_no_fallback_to_webview fb_login_forcing_webview ' +\n      'fb_login_use_system_account fb_login_forcing_safari  ' +\n      'phy_joint_anchor_1_x phy_joint_anchor_1_y phy_joint_anchor_2_x ' +\n      'phy_joint_anchor_2_y phy_joint_reaction_force_x ' +\n      'phy_joint_reaction_force_y phy_joint_reaction_torque ' +\n      'phy_joint_motor_speed phy_joint_angle phy_joint_motor_torque ' +\n      'phy_joint_max_motor_torque phy_joint_translation phy_joint_speed ' +\n      'phy_joint_motor_force phy_joint_max_motor_force phy_joint_length_1 ' +\n      'phy_joint_length_2 phy_joint_damping_ratio phy_joint_frequency ' +\n      'phy_joint_lower_angle_limit phy_joint_upper_angle_limit ' +\n      'phy_joint_angle_limits phy_joint_max_length phy_joint_max_torque ' +\n      'phy_joint_max_force phy_debug_render_aabb ' +\n      'phy_debug_render_collision_pairs phy_debug_render_coms ' +\n      'phy_debug_render_core_shapes phy_debug_render_joints ' +\n      'phy_debug_render_obb phy_debug_render_shapes  ' +\n      'phy_particle_flag_water phy_particle_flag_zombie ' +\n      'phy_particle_flag_wall phy_particle_flag_spring ' +\n      'phy_particle_flag_elastic phy_particle_flag_viscous ' +\n      'phy_particle_flag_powder phy_particle_flag_tensile ' +\n      'phy_particle_flag_colourmixing phy_particle_flag_colormixing ' +\n      'phy_particle_group_flag_solid phy_particle_group_flag_rigid ' +\n      'phy_particle_data_flag_typeflags phy_particle_data_flag_position ' +\n      'phy_particle_data_flag_velocity phy_particle_data_flag_colour ' +\n      'phy_particle_data_flag_color phy_particle_data_flag_category  ' +\n      'achievement_our_info achievement_friends_info ' +\n      'achievement_leaderboard_info achievement_achievement_info ' +\n      'achievement_filter_all_players achievement_filter_friends_only ' +\n      'achievement_filter_favorites_only ' +\n      'achievement_type_achievement_challenge ' +\n      'achievement_type_score_challenge achievement_pic_loaded  ' +\n      'achievement_show_ui achievement_show_profile ' +\n      'achievement_show_leaderboard achievement_show_achievement ' +\n      'achievement_show_bank achievement_show_friend_picker ' +\n      'achievement_show_purchase_prompt network_socket_tcp ' +\n      'network_socket_udp network_socket_bluetooth network_type_connect ' +\n      'network_type_disconnect network_type_data ' +\n      'network_type_non_blocking_connect network_config_connect_timeout ' +\n      'network_config_use_non_blocking_socket ' +\n      'network_config_enable_reliable_udp ' +\n      'network_config_disable_reliable_udp buffer_fixed buffer_grow ' +\n      'buffer_wrap buffer_fast buffer_vbuffer buffer_network buffer_u8 ' +\n      'buffer_s8 buffer_u16 buffer_s16 buffer_u32 buffer_s32 buffer_u64 ' +\n      'buffer_f16 buffer_f32 buffer_f64 buffer_bool buffer_text ' +\n      'buffer_string buffer_surface_copy buffer_seek_start ' +\n      'buffer_seek_relative buffer_seek_end ' +\n      'buffer_generalerror buffer_outofspace buffer_outofbounds ' +\n      'buffer_invalidtype  text_type button_type input_type ANSI_CHARSET ' +\n      'DEFAULT_CHARSET EASTEUROPE_CHARSET RUSSIAN_CHARSET SYMBOL_CHARSET ' +\n      'SHIFTJIS_CHARSET HANGEUL_CHARSET GB2312_CHARSET CHINESEBIG5_CHARSET ' +\n      'JOHAB_CHARSET HEBREW_CHARSET ARABIC_CHARSET GREEK_CHARSET ' +\n      'TURKISH_CHARSET VIETNAMESE_CHARSET THAI_CHARSET MAC_CHARSET ' +\n      'BALTIC_CHARSET OEM_CHARSET  gp_face1 gp_face2 gp_face3 gp_face4 ' +\n      'gp_shoulderl gp_shoulderr gp_shoulderlb gp_shoulderrb gp_select ' +\n      'gp_start gp_stickl gp_stickr gp_padu gp_padd gp_padl gp_padr ' +\n      'gp_axislh gp_axislv gp_axisrh gp_axisrv ov_friends ov_community ' +\n      'ov_players ov_settings ov_gamegroup ov_achievements lb_sort_none ' +\n      'lb_sort_ascending lb_sort_descending lb_disp_none lb_disp_numeric ' +\n      'lb_disp_time_sec lb_disp_time_ms ugc_result_success ' +\n      'ugc_filetype_community ugc_filetype_microtrans ugc_visibility_public ' +\n      'ugc_visibility_friends_only ugc_visibility_private ' +\n      'ugc_query_RankedByVote ugc_query_RankedByPublicationDate ' +\n      'ugc_query_AcceptedForGameRankedByAcceptanceDate ' +\n      'ugc_query_RankedByTrend ' +\n      'ugc_query_FavoritedByFriendsRankedByPublicationDate ' +\n      'ugc_query_CreatedByFriendsRankedByPublicationDate ' +\n      'ugc_query_RankedByNumTimesReported ' +\n      'ugc_query_CreatedByFollowedUsersRankedByPublicationDate ' +\n      'ugc_query_NotYetRated ugc_query_RankedByTotalVotesAsc ' +\n      'ugc_query_RankedByVotesUp ugc_query_RankedByTextSearch ' +\n      'ugc_sortorder_CreationOrderDesc ugc_sortorder_CreationOrderAsc ' +\n      'ugc_sortorder_TitleAsc ugc_sortorder_LastUpdatedDesc ' +\n      'ugc_sortorder_SubscriptionDateDesc ugc_sortorder_VoteScoreDesc ' +\n      'ugc_sortorder_ForModeration ugc_list_Published ugc_list_VotedOn ' +\n      'ugc_list_VotedUp ugc_list_VotedDown ugc_list_WillVoteLater ' +\n      'ugc_list_Favorited ugc_list_Subscribed ugc_list_UsedOrPlayed ' +\n      'ugc_list_Followed ugc_match_Items ugc_match_Items_Mtx ' +\n      'ugc_match_Items_ReadyToUse ugc_match_Collections ugc_match_Artwork ' +\n      'ugc_match_Videos ugc_match_Screenshots ugc_match_AllGuides ' +\n      'ugc_match_WebGuides ugc_match_IntegratedGuides ' +\n      'ugc_match_UsableInGame ugc_match_ControllerBindings  ' +\n      'vertex_usage_position vertex_usage_colour vertex_usage_color ' +\n      'vertex_usage_normal vertex_usage_texcoord vertex_usage_textcoord ' +\n      'vertex_usage_blendweight vertex_usage_blendindices ' +\n      'vertex_usage_psize vertex_usage_tangent vertex_usage_binormal ' +\n      'vertex_usage_fog vertex_usage_depth vertex_usage_sample ' +\n      'vertex_type_float1 vertex_type_float2 vertex_type_float3 ' +\n      'vertex_type_float4 vertex_type_colour vertex_type_color ' +\n      'vertex_type_ubyte4 layerelementtype_undefined ' +\n      'layerelementtype_background layerelementtype_instance ' +\n      'layerelementtype_oldtilemap layerelementtype_sprite ' +\n      'layerelementtype_tilemap layerelementtype_particlesystem ' +\n      'layerelementtype_tile tile_rotate tile_flip tile_mirror ' +\n      'tile_index_mask kbv_type_default kbv_type_ascii kbv_type_url ' +\n      'kbv_type_email kbv_type_numbers kbv_type_phone kbv_type_phone_name ' +\n      'kbv_returnkey_default kbv_returnkey_go kbv_returnkey_google ' +\n      'kbv_returnkey_join kbv_returnkey_next kbv_returnkey_route ' +\n      'kbv_returnkey_search kbv_returnkey_send kbv_returnkey_yahoo ' +\n      'kbv_returnkey_done kbv_returnkey_continue kbv_returnkey_emergency ' +\n      'kbv_autocapitalize_none kbv_autocapitalize_words ' +\n      'kbv_autocapitalize_sentences kbv_autocapitalize_characters',\n    symbol: 'argument_relative argument argument0 argument1 argument2 ' +\n      'argument3 argument4 argument5 argument6 argument7 argument8 ' +\n      'argument9 argument10 argument11 argument12 argument13 argument14 ' +\n      'argument15 argument_count x|0 y|0 xprevious yprevious xstart ystart ' +\n      'hspeed vspeed direction speed friction gravity gravity_direction ' +\n      'path_index path_position path_positionprevious path_speed ' +\n      'path_scale path_orientation path_endaction object_index id solid ' +\n      'persistent mask_index instance_count instance_id room_speed fps ' +\n      'fps_real current_time current_year current_month current_day ' +\n      'current_weekday current_hour current_minute current_second alarm ' +\n      'timeline_index timeline_position timeline_speed timeline_running ' +\n      'timeline_loop room room_first room_last room_width room_height ' +\n      'room_caption room_persistent score lives health show_score ' +\n      'show_lives show_health caption_score caption_lives caption_health ' +\n      'event_type event_number event_object event_action ' +\n      'application_surface gamemaker_pro gamemaker_registered ' +\n      'gamemaker_version error_occurred error_last debug_mode ' +\n      'keyboard_key keyboard_lastkey keyboard_lastchar keyboard_string ' +\n      'mouse_x mouse_y mouse_button mouse_lastbutton cursor_sprite ' +\n      'visible sprite_index sprite_width sprite_height sprite_xoffset ' +\n      'sprite_yoffset image_number image_index image_speed depth ' +\n      'image_xscale image_yscale image_angle image_alpha image_blend ' +\n      'bbox_left bbox_right bbox_top bbox_bottom layer background_colour  ' +\n      'background_showcolour background_color background_showcolor ' +\n      'view_enabled view_current view_visible view_xview view_yview ' +\n      'view_wview view_hview view_xport view_yport view_wport view_hport ' +\n      'view_angle view_hborder view_vborder view_hspeed view_vspeed ' +\n      'view_object view_surface_id view_camera game_id game_display_name ' +\n      'game_project_name game_save_id working_directory temp_directory ' +\n      'program_directory browser_width browser_height os_type os_device ' +\n      'os_browser os_version display_aa async_load delta_time ' +\n      'webgl_enabled event_data iap_data phy_rotation phy_position_x ' +\n      'phy_position_y phy_angular_velocity phy_linear_velocity_x ' +\n      'phy_linear_velocity_y phy_speed_x phy_speed_y phy_speed ' +\n      'phy_angular_damping phy_linear_damping phy_bullet ' +\n      'phy_fixed_rotation phy_active phy_mass phy_inertia phy_com_x ' +\n      'phy_com_y phy_dynamic phy_kinematic phy_sleeping ' +\n      'phy_collision_points phy_collision_x phy_collision_y ' +\n      'phy_col_normal_x phy_col_normal_y phy_position_xprevious ' +\n      'phy_position_yprevious'\n  };\n\n  return {\n    name: 'GML',\n    case_insensitive: false, // language is case-insensitive\n    keywords: GML_KEYWORDS,\n\n    contains: [\n      hljs.C_LINE_COMMENT_MODE,\n      hljs.C_BLOCK_COMMENT_MODE,\n      hljs.APOS_STRING_MODE,\n      hljs.QUOTE_STRING_MODE,\n      hljs.C_NUMBER_MODE\n    ]\n  };\n}\n\nmodule.exports = gml;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports[\"default\"] = void 0;\nvar _default = exports[\"default\"] = {\n  \"hljs-comment\": {\n    \"color\": \"#6c6b5a\"\n  },\n  \"hljs-quote\": {\n    \"color\": \"#6c6b5a\"\n  },\n  \"hljs-variable\": {\n    \"color\": \"#ba6236\"\n  },\n  \"hljs-template-variable\": {\n    \"color\": \"#ba6236\"\n  },\n  \"hljs-attribute\": {\n    \"color\": \"#ba6236\"\n  },\n  \"hljs-tag\": {\n    \"color\": \"#ba6236\"\n  },\n  \"hljs-name\": {\n    \"color\": \"#ba6236\"\n  },\n  \"hljs-regexp\": {\n    \"color\": \"#ba6236\"\n  },\n  \"hljs-link\": {\n    \"color\": \"#ba6236\"\n  },\n  \"hljs-selector-id\": {\n    \"color\": \"#ba6236\"\n  },\n  \"hljs-selector-class\": {\n    \"color\": \"#ba6236\"\n  },\n  \"hljs-number\": {\n    \"color\": \"#ae7313\"\n  },\n  \"hljs-meta\": {\n    \"color\": \"#ae7313\"\n  },\n  \"hljs-built_in\": {\n    \"color\": \"#ae7313\"\n  },\n  \"hljs-builtin-name\": {\n    \"color\": \"#ae7313\"\n  },\n  \"hljs-literal\": {\n    \"color\": \"#ae7313\"\n  },\n  \"hljs-type\": {\n    \"color\": \"#ae7313\"\n  },\n  \"hljs-params\": {\n    \"color\": \"#ae7313\"\n  },\n  \"hljs-string\": {\n    \"color\": \"#7d9726\"\n  },\n  \"hljs-symbol\": {\n    \"color\": \"#7d9726\"\n  },\n  \"hljs-bullet\": {\n    \"color\": \"#7d9726\"\n  },\n  \"hljs-title\": {\n    \"color\": \"#36a166\"\n  },\n  \"hljs-section\": {\n    \"color\": \"#36a166\"\n  },\n  \"hljs-keyword\": {\n    \"color\": \"#5f9182\"\n  },\n  \"hljs-selector-tag\": {\n    \"color\": \"#5f9182\"\n  },\n  \"hljs-deletion\": {\n    \"color\": \"#22221b\",\n    \"display\": \"inline-block\",\n    \"width\": \"100%\",\n    \"backgroundColor\": \"#ba6236\"\n  },\n  \"hljs-addition\": {\n    \"color\": \"#22221b\",\n    \"display\": \"inline-block\",\n    \"width\": \"100%\",\n    \"backgroundColor\": \"#7d9726\"\n  },\n  \"hljs\": {\n    \"display\": \"block\",\n    \"overflowX\": \"auto\",\n    \"background\": \"#f4f3ec\",\n    \"color\": \"#5f5e4e\",\n    \"padding\": \"0.5em\"\n  },\n  \"hljs-emphasis\": {\n    \"fontStyle\": \"italic\"\n  },\n  \"hljs-strong\": {\n    \"fontWeight\": \"bold\"\n  }\n};","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n  module.exports = require('./cjs/react-is.production.min.js');\n} else {\n  module.exports = require('./cjs/react-is.development.js');\n}\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports[\"default\"] = void 0;\nvar _default = exports[\"default\"] = {\n  \"hljs-comment\": {\n    \"color\": \"#776e71\"\n  },\n  \"hljs-quote\": {\n    \"color\": \"#776e71\"\n  },\n  \"hljs-variable\": {\n    \"color\": \"#ef6155\"\n  },\n  \"hljs-template-variable\": {\n    \"color\": \"#ef6155\"\n  },\n  \"hljs-tag\": {\n    \"color\": \"#ef6155\"\n  },\n  \"hljs-name\": {\n    \"color\": \"#ef6155\"\n  },\n  \"hljs-selector-id\": {\n    \"color\": \"#ef6155\"\n  },\n  \"hljs-selector-class\": {\n    \"color\": \"#ef6155\"\n  },\n  \"hljs-regexp\": {\n    \"color\": \"#ef6155\"\n  },\n  \"hljs-link\": {\n    \"color\": \"#ef6155\"\n  },\n  \"hljs-meta\": {\n    \"color\": \"#ef6155\"\n  },\n  \"hljs-number\": {\n    \"color\": \"#f99b15\"\n  },\n  \"hljs-built_in\": {\n    \"color\": \"#f99b15\"\n  },\n  \"hljs-builtin-name\": {\n    \"color\": \"#f99b15\"\n  },\n  \"hljs-literal\": {\n    \"color\": \"#f99b15\"\n  },\n  \"hljs-type\": {\n    \"color\": \"#f99b15\"\n  },\n  \"hljs-params\": {\n    \"color\": \"#f99b15\"\n  },\n  \"hljs-deletion\": {\n    \"color\": \"#f99b15\"\n  },\n  \"hljs-title\": {\n    \"color\": \"#fec418\"\n  },\n  \"hljs-section\": {\n    \"color\": \"#fec418\"\n  },\n  \"hljs-attribute\": {\n    \"color\": \"#fec418\"\n  },\n  \"hljs-string\": {\n    \"color\": \"#48b685\"\n  },\n  \"hljs-symbol\": {\n    \"color\": \"#48b685\"\n  },\n  \"hljs-bullet\": {\n    \"color\": \"#48b685\"\n  },\n  \"hljs-addition\": {\n    \"color\": \"#48b685\"\n  },\n  \"hljs-keyword\": {\n    \"color\": \"#815ba4\"\n  },\n  \"hljs-selector-tag\": {\n    \"color\": \"#815ba4\"\n  },\n  \"hljs\": {\n    \"display\": \"block\",\n    \"overflowX\": \"auto\",\n    \"background\": \"#e7e9db\",\n    \"color\": \"#4f424c\",\n    \"padding\": \"0.5em\"\n  },\n  \"hljs-emphasis\": {\n    \"fontStyle\": \"italic\"\n  },\n  \"hljs-strong\": {\n    \"fontWeight\": \"bold\"\n  }\n};","/*\nLanguage: Lasso\nAuthor: Eric Knibbe \nDescription: Lasso is a language and server platform for database-driven web applications. This definition handles Lasso 9 syntax and LassoScript for Lasso 8.6 and earlier.\nWebsite: http://www.lassosoft.com/What-Is-Lasso\n*/\n\nfunction lasso(hljs) {\n  const LASSO_IDENT_RE = '[a-zA-Z_][\\\\w.]*';\n  const LASSO_ANGLE_RE = '<\\\\?(lasso(script)?|=)';\n  const LASSO_CLOSE_RE = '\\\\]|\\\\?>';\n  const LASSO_KEYWORDS = {\n    $pattern: LASSO_IDENT_RE + '|&[lg]t;',\n    literal:\n      'true false none minimal full all void and or not ' +\n      'bw nbw ew new cn ncn lt lte gt gte eq neq rx nrx ft',\n    built_in:\n      'array date decimal duration integer map pair string tag xml null ' +\n      'boolean bytes keyword list locale queue set stack staticarray ' +\n      'local var variable global data self inherited currentcapture givenblock',\n    keyword:\n      'cache database_names database_schemanames database_tablenames ' +\n      'define_tag define_type email_batch encode_set html_comment handle ' +\n      'handle_error header if inline iterate ljax_target link ' +\n      'link_currentaction link_currentgroup link_currentrecord link_detail ' +\n      'link_firstgroup link_firstrecord link_lastgroup link_lastrecord ' +\n      'link_nextgroup link_nextrecord link_prevgroup link_prevrecord log ' +\n      'loop namespace_using output_none portal private protect records ' +\n      'referer referrer repeating resultset rows search_args ' +\n      'search_arguments select sort_args sort_arguments thread_atomic ' +\n      'value_list while abort case else fail_if fail_ifnot fail if_empty ' +\n      'if_false if_null if_true loop_abort loop_continue loop_count params ' +\n      'params_up return return_value run_children soap_definetag ' +\n      'soap_lastrequest soap_lastresponse tag_name ascending average by ' +\n      'define descending do equals frozen group handle_failure import in ' +\n      'into join let match max min on order parent protected provide public ' +\n      'require returnhome skip split_thread sum take thread to trait type ' +\n      'where with yield yieldhome'\n  };\n  const HTML_COMMENT = hljs.COMMENT(\n    '',\n    {\n      relevance: 0\n    }\n  );\n  const LASSO_NOPROCESS = {\n    className: 'meta',\n    begin: '\\\\[noprocess\\\\]',\n    starts: {\n      end: '\\\\[/noprocess\\\\]',\n      returnEnd: true,\n      contains: [HTML_COMMENT]\n    }\n  };\n  const LASSO_START = {\n    className: 'meta',\n    begin: '\\\\[/noprocess|' + LASSO_ANGLE_RE\n  };\n  const LASSO_DATAMEMBER = {\n    className: 'symbol',\n    begin: '\\'' + LASSO_IDENT_RE + '\\''\n  };\n  const LASSO_CODE = [\n    hljs.C_LINE_COMMENT_MODE,\n    hljs.C_BLOCK_COMMENT_MODE,\n    hljs.inherit(hljs.C_NUMBER_MODE, {\n      begin: hljs.C_NUMBER_RE + '|(-?infinity|NaN)\\\\b'\n    }),\n    hljs.inherit(hljs.APOS_STRING_MODE, {\n      illegal: null\n    }),\n    hljs.inherit(hljs.QUOTE_STRING_MODE, {\n      illegal: null\n    }),\n    {\n      className: 'string',\n      begin: '`',\n      end: '`'\n    },\n    { // variables\n      variants: [\n        {\n          begin: '[#$]' + LASSO_IDENT_RE\n        },\n        {\n          begin: '#',\n          end: '\\\\d+',\n          illegal: '\\\\W'\n        }\n      ]\n    },\n    {\n      className: 'type',\n      begin: '::\\\\s*',\n      end: LASSO_IDENT_RE,\n      illegal: '\\\\W'\n    },\n    {\n      className: 'params',\n      variants: [\n        {\n          begin: '-(?!infinity)' + LASSO_IDENT_RE,\n          relevance: 0\n        },\n        {\n          begin: '(\\\\.\\\\.\\\\.)'\n        }\n      ]\n    },\n    {\n      begin: /(->|\\.)\\s*/,\n      relevance: 0,\n      contains: [LASSO_DATAMEMBER]\n    },\n    {\n      className: 'class',\n      beginKeywords: 'define',\n      returnEnd: true,\n      end: '\\\\(|=>',\n      contains: [\n        hljs.inherit(hljs.TITLE_MODE, {\n          begin: LASSO_IDENT_RE + '(=(?!>))?|[-+*/%](?!>)'\n        })\n      ]\n    }\n  ];\n  return {\n    name: 'Lasso',\n    aliases: [\n      'ls',\n      'lassoscript'\n    ],\n    case_insensitive: true,\n    keywords: LASSO_KEYWORDS,\n    contains: [\n      {\n        className: 'meta',\n        begin: LASSO_CLOSE_RE,\n        relevance: 0,\n        starts: { // markup\n          end: '\\\\[|' + LASSO_ANGLE_RE,\n          returnEnd: true,\n          relevance: 0,\n          contains: [HTML_COMMENT]\n        }\n      },\n      LASSO_NOPROCESS,\n      LASSO_START,\n      {\n        className: 'meta',\n        begin: '\\\\[no_square_brackets',\n        starts: {\n          end: '\\\\[/no_square_brackets\\\\]', // not implemented in the language\n          keywords: LASSO_KEYWORDS,\n          contains: [\n            {\n              className: 'meta',\n              begin: LASSO_CLOSE_RE,\n              relevance: 0,\n              starts: {\n                end: '\\\\[noprocess\\\\]|' + LASSO_ANGLE_RE,\n                returnEnd: true,\n                contains: [HTML_COMMENT]\n              }\n            },\n            LASSO_NOPROCESS,\n            LASSO_START\n          ].concat(LASSO_CODE)\n        }\n      },\n      {\n        className: 'meta',\n        begin: '\\\\[',\n        relevance: 0\n      },\n      {\n        className: 'meta',\n        begin: '^#!',\n        end: 'lasso9$',\n        relevance: 10\n      }\n    ].concat(LASSO_CODE)\n  };\n}\n\nmodule.exports = lasso;\n","/**\n * @param {string} value\n * @returns {RegExp}\n * */\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction source(re) {\n  if (!re) return null;\n  if (typeof re === \"string\") return re;\n\n  return re.source;\n}\n\n/**\n * @param {...(RegExp | string) } args\n * @returns {string}\n */\nfunction concat(...args) {\n  const joined = args.map((x) => source(x)).join(\"\");\n  return joined;\n}\n\n/*\nLanguage: Augmented Backus-Naur Form\nAuthor: Alex McKibben \nWebsite: https://tools.ietf.org/html/rfc5234\nAudit: 2020\n*/\n\n/** @type LanguageFn */\nfunction abnf(hljs) {\n  const regexes = {\n    ruleDeclaration: /^[a-zA-Z][a-zA-Z0-9-]*/,\n    unexpectedChars: /[!@#$^&',?+~`|:]/\n  };\n\n  const keywords = [\n    \"ALPHA\",\n    \"BIT\",\n    \"CHAR\",\n    \"CR\",\n    \"CRLF\",\n    \"CTL\",\n    \"DIGIT\",\n    \"DQUOTE\",\n    \"HEXDIG\",\n    \"HTAB\",\n    \"LF\",\n    \"LWSP\",\n    \"OCTET\",\n    \"SP\",\n    \"VCHAR\",\n    \"WSP\"\n  ];\n\n  const commentMode = hljs.COMMENT(/;/, /$/);\n\n  const terminalBinaryMode = {\n    className: \"symbol\",\n    begin: /%b[0-1]+(-[0-1]+|(\\.[0-1]+)+){0,1}/\n  };\n\n  const terminalDecimalMode = {\n    className: \"symbol\",\n    begin: /%d[0-9]+(-[0-9]+|(\\.[0-9]+)+){0,1}/\n  };\n\n  const terminalHexadecimalMode = {\n    className: \"symbol\",\n    begin: /%x[0-9A-F]+(-[0-9A-F]+|(\\.[0-9A-F]+)+){0,1}/\n  };\n\n  const caseSensitivityIndicatorMode = {\n    className: \"symbol\",\n    begin: /%[si]/\n  };\n\n  const ruleDeclarationMode = {\n    className: \"attribute\",\n    begin: concat(regexes.ruleDeclaration, /(?=\\s*=)/)\n  };\n\n  return {\n    name: 'Augmented Backus-Naur Form',\n    illegal: regexes.unexpectedChars,\n    keywords: keywords,\n    contains: [\n      ruleDeclarationMode,\n      commentMode,\n      terminalBinaryMode,\n      terminalDecimalMode,\n      terminalHexadecimalMode,\n      caseSensitivityIndicatorMode,\n      hljs.QUOTE_STRING_MODE,\n      hljs.NUMBER_MODE\n    ]\n  };\n}\n\nmodule.exports = abnf;\n","/**\n * @param {string} value\n * @returns {RegExp}\n * */\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction source(re) {\n  if (!re) return null;\n  if (typeof re === \"string\") return re;\n\n  return re.source;\n}\n\n/**\n * @param {...(RegExp | string) } args\n * @returns {string}\n */\nfunction concat(...args) {\n  const joined = args.map((x) => source(x)).join(\"\");\n  return joined;\n}\n\n/*\nLanguage: AspectJ\nAuthor: Hakan Ozler \nWebsite: https://www.eclipse.org/aspectj/\nDescription: Syntax Highlighting for the AspectJ Language which is a general-purpose aspect-oriented extension to the Java programming language.\nAudit: 2020\n*/\n\n/** @type LanguageFn */\nfunction aspectj(hljs) {\n  const KEYWORDS =\n    'false synchronized int abstract float private char boolean static null if const ' +\n    'for true while long throw strictfp finally protected import native final return void ' +\n    'enum else extends implements break transient new catch instanceof byte super volatile case ' +\n    'assert short package default double public try this switch continue throws privileged ' +\n    'aspectOf adviceexecution proceed cflowbelow cflow initialization preinitialization ' +\n    'staticinitialization withincode target within execution getWithinTypeName handler ' +\n    'thisJoinPoint thisJoinPointStaticPart thisEnclosingJoinPointStaticPart declare parents ' +\n    'warning error soft precedence thisAspectInstance';\n  const SHORTKEYS = 'get set args call';\n\n  return {\n    name: 'AspectJ',\n    keywords: KEYWORDS,\n    illegal: /<\\/|#/,\n    contains: [\n      hljs.COMMENT(\n        /\\/\\*\\*/,\n        /\\*\\//,\n        {\n          relevance: 0,\n          contains: [\n            {\n              // eat up @'s in emails to prevent them to be recognized as doctags\n              begin: /\\w+@/,\n              relevance: 0\n            },\n            {\n              className: 'doctag',\n              begin: /@[A-Za-z]+/\n            }\n          ]\n        }\n      ),\n      hljs.C_LINE_COMMENT_MODE,\n      hljs.C_BLOCK_COMMENT_MODE,\n      hljs.APOS_STRING_MODE,\n      hljs.QUOTE_STRING_MODE,\n      {\n        className: 'class',\n        beginKeywords: 'aspect',\n        end: /[{;=]/,\n        excludeEnd: true,\n        illegal: /[:;\"\\[\\]]/,\n        contains: [\n          {\n            beginKeywords: 'extends implements pertypewithin perthis pertarget percflowbelow percflow issingleton'\n          },\n          hljs.UNDERSCORE_TITLE_MODE,\n          {\n            begin: /\\([^\\)]*/,\n            end: /[)]+/,\n            keywords: KEYWORDS + ' ' + SHORTKEYS,\n            excludeEnd: false\n          }\n        ]\n      },\n      {\n        className: 'class',\n        beginKeywords: 'class interface',\n        end: /[{;=]/,\n        excludeEnd: true,\n        relevance: 0,\n        keywords: 'class interface',\n        illegal: /[:\"\\[\\]]/,\n        contains: [\n          {\n            beginKeywords: 'extends implements'\n          },\n          hljs.UNDERSCORE_TITLE_MODE\n        ]\n      },\n      {\n        // AspectJ Constructs\n        beginKeywords: 'pointcut after before around throwing returning',\n        end: /[)]/,\n        excludeEnd: false,\n        illegal: /[\"\\[\\]]/,\n        contains: [\n          {\n            begin: concat(hljs.UNDERSCORE_IDENT_RE, /\\s*\\(/),\n            returnBegin: true,\n            contains: [ hljs.UNDERSCORE_TITLE_MODE ]\n          }\n        ]\n      },\n      {\n        begin: /[:]/,\n        returnBegin: true,\n        end: /[{;]/,\n        relevance: 0,\n        excludeEnd: false,\n        keywords: KEYWORDS,\n        illegal: /[\"\\[\\]]/,\n        contains: [\n          {\n            begin: concat(hljs.UNDERSCORE_IDENT_RE, /\\s*\\(/),\n            keywords: KEYWORDS + ' ' + SHORTKEYS,\n            relevance: 0\n          },\n          hljs.QUOTE_STRING_MODE\n        ]\n      },\n      {\n        // this prevents 'new Name(...), or throw ...' from being recognized as a function definition\n        beginKeywords: 'new throw',\n        relevance: 0\n      },\n      {\n        // the function class is a bit different for AspectJ compared to the Java language\n        className: 'function',\n        begin: /\\w+ +\\w+(\\.\\w+)?\\s*\\([^\\)]*\\)\\s*((throws)[\\w\\s,]+)?[\\{;]/,\n        returnBegin: true,\n        end: /[{;=]/,\n        keywords: KEYWORDS,\n        excludeEnd: true,\n        contains: [\n          {\n            begin: concat(hljs.UNDERSCORE_IDENT_RE, /\\s*\\(/),\n            returnBegin: true,\n            relevance: 0,\n            contains: [ hljs.UNDERSCORE_TITLE_MODE ]\n          },\n          {\n            className: 'params',\n            begin: /\\(/,\n            end: /\\)/,\n            relevance: 0,\n            keywords: KEYWORDS,\n            contains: [\n              hljs.APOS_STRING_MODE,\n              hljs.QUOTE_STRING_MODE,\n              hljs.C_NUMBER_MODE,\n              hljs.C_BLOCK_COMMENT_MODE\n            ]\n          },\n          hljs.C_LINE_COMMENT_MODE,\n          hljs.C_BLOCK_COMMENT_MODE\n        ]\n      },\n      hljs.C_NUMBER_MODE,\n      {\n        // annotation is also used in this language\n        className: 'meta',\n        begin: /@[A-Za-z]+/\n      }\n    ]\n  };\n}\n\nmodule.exports = aspectj;\n","/*\nLanguage: Scilab\nAuthor: Sylvestre Ledru \nOrigin: matlab.js\nDescription: Scilab is a port from Matlab\nWebsite: https://www.scilab.org\nCategory: scientific\n*/\n\nfunction scilab(hljs) {\n  const COMMON_CONTAINS = [\n    hljs.C_NUMBER_MODE,\n    {\n      className: 'string',\n      begin: '\\'|\\\"',\n      end: '\\'|\\\"',\n      contains: [ hljs.BACKSLASH_ESCAPE,\n        {\n          begin: '\\'\\''\n        } ]\n    }\n  ];\n\n  return {\n    name: 'Scilab',\n    aliases: [ 'sci' ],\n    keywords: {\n      $pattern: /%?\\w+/,\n      keyword: 'abort break case clear catch continue do elseif else endfunction end for function ' +\n        'global if pause return resume select try then while',\n      literal:\n        '%f %F %t %T %pi %eps %inf %nan %e %i %z %s',\n      built_in: // Scilab has more than 2000 functions. Just list the most commons\n       'abs and acos asin atan ceil cd chdir clearglobal cosh cos cumprod deff disp error ' +\n       'exec execstr exists exp eye gettext floor fprintf fread fsolve imag isdef isempty ' +\n       'isinfisnan isvector lasterror length load linspace list listfiles log10 log2 log ' +\n       'max min msprintf mclose mopen ones or pathconvert poly printf prod pwd rand real ' +\n       'round sinh sin size gsort sprintf sqrt strcat strcmps tring sum system tanh tan ' +\n       'type typename warning zeros matrix'\n    },\n    illegal: '(\"|#|/\\\\*|\\\\s+/\\\\w+)',\n    contains: [\n      {\n        className: 'function',\n        beginKeywords: 'function',\n        end: '$',\n        contains: [\n          hljs.UNDERSCORE_TITLE_MODE,\n          {\n            className: 'params',\n            begin: '\\\\(',\n            end: '\\\\)'\n          }\n        ]\n      },\n      // seems to be a guard against [ident]' or [ident].\n      // perhaps to prevent attributes from flagging as keywords?\n      {\n        begin: '[a-zA-Z_][a-zA-Z_0-9]*[\\\\.\\']+',\n        relevance: 0\n      },\n      {\n        begin: '\\\\[',\n        end: '\\\\][\\\\.\\']*',\n        relevance: 0,\n        contains: COMMON_CONTAINS\n      },\n      hljs.COMMENT('//', '$')\n    ].concat(COMMON_CONTAINS)\n  };\n}\n\nmodule.exports = scilab;\n","/**\n * @param {string} value\n * @returns {RegExp}\n * */\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction source(re) {\n  if (!re) return null;\n  if (typeof re === \"string\") return re;\n\n  return re.source;\n}\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction lookahead(re) {\n  return concat('(?=', re, ')');\n}\n\n/**\n * @param {...(RegExp | string) } args\n * @returns {string}\n */\nfunction concat(...args) {\n  const joined = args.map((x) => source(x)).join(\"\");\n  return joined;\n}\n\n/**\n * Any of the passed expresssions may match\n *\n * Creates a huge this | this | that | that match\n * @param {(RegExp | string)[] } args\n * @returns {string}\n */\nfunction either(...args) {\n  const joined = '(' + args.map((x) => source(x)).join(\"|\") + \")\";\n  return joined;\n}\n\n/*\nLanguage: TOML, also INI\nDescription: TOML aims to be a minimal configuration file format that's easy to read due to obvious semantics.\nContributors: Guillaume Gomez \nCategory: common, config\nWebsite: https://github.com/toml-lang/toml\n*/\n\nfunction ini(hljs) {\n  const NUMBERS = {\n    className: 'number',\n    relevance: 0,\n    variants: [\n      {\n        begin: /([+-]+)?[\\d]+_[\\d_]+/\n      },\n      {\n        begin: hljs.NUMBER_RE\n      }\n    ]\n  };\n  const COMMENTS = hljs.COMMENT();\n  COMMENTS.variants = [\n    {\n      begin: /;/,\n      end: /$/\n    },\n    {\n      begin: /#/,\n      end: /$/\n    }\n  ];\n  const VARIABLES = {\n    className: 'variable',\n    variants: [\n      {\n        begin: /\\$[\\w\\d\"][\\w\\d_]*/\n      },\n      {\n        begin: /\\$\\{(.*?)\\}/\n      }\n    ]\n  };\n  const LITERALS = {\n    className: 'literal',\n    begin: /\\bon|off|true|false|yes|no\\b/\n  };\n  const STRINGS = {\n    className: \"string\",\n    contains: [hljs.BACKSLASH_ESCAPE],\n    variants: [\n      {\n        begin: \"'''\",\n        end: \"'''\",\n        relevance: 10\n      },\n      {\n        begin: '\"\"\"',\n        end: '\"\"\"',\n        relevance: 10\n      },\n      {\n        begin: '\"',\n        end: '\"'\n      },\n      {\n        begin: \"'\",\n        end: \"'\"\n      }\n    ]\n  };\n  const ARRAY = {\n    begin: /\\[/,\n    end: /\\]/,\n    contains: [\n      COMMENTS,\n      LITERALS,\n      VARIABLES,\n      STRINGS,\n      NUMBERS,\n      'self'\n    ],\n    relevance: 0\n  };\n\n  const BARE_KEY = /[A-Za-z0-9_-]+/;\n  const QUOTED_KEY_DOUBLE_QUOTE = /\"(\\\\\"|[^\"])*\"/;\n  const QUOTED_KEY_SINGLE_QUOTE = /'[^']*'/;\n  const ANY_KEY = either(\n    BARE_KEY, QUOTED_KEY_DOUBLE_QUOTE, QUOTED_KEY_SINGLE_QUOTE\n  );\n  const DOTTED_KEY = concat(\n    ANY_KEY, '(\\\\s*\\\\.\\\\s*', ANY_KEY, ')*',\n    lookahead(/\\s*=\\s*[^#\\s]/)\n  );\n\n  return {\n    name: 'TOML, also INI',\n    aliases: ['toml'],\n    case_insensitive: true,\n    illegal: /\\S/,\n    contains: [\n      COMMENTS,\n      {\n        className: 'section',\n        begin: /\\[+/,\n        end: /\\]+/\n      },\n      {\n        begin: DOTTED_KEY,\n        className: 'attr',\n        starts: {\n          end: /$/,\n          contains: [\n            COMMENTS,\n            ARRAY,\n            LITERALS,\n            VARIABLES,\n            STRINGS,\n            NUMBERS\n          ]\n        }\n      }\n    ]\n  };\n}\n\nmodule.exports = ini;\n","/**\n * @param {string} value\n * @returns {RegExp}\n * */\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction source(re) {\n  if (!re) return null;\n  if (typeof re === \"string\") return re;\n\n  return re.source;\n}\n\n/**\n * @param {...(RegExp | string) } args\n * @returns {string}\n */\nfunction concat(...args) {\n  const joined = args.map((x) => source(x)).join(\"\");\n  return joined;\n}\n\n/*\nLanguage: ActionScript\nAuthor: Alexander Myadzel \nCategory: scripting\nAudit: 2020\n*/\n\n/** @type LanguageFn */\nfunction actionscript(hljs) {\n  const IDENT_RE = /[a-zA-Z_$][a-zA-Z0-9_$]*/;\n  const IDENT_FUNC_RETURN_TYPE_RE = /([*]|[a-zA-Z_$][a-zA-Z0-9_$]*)/;\n\n  const AS3_REST_ARG_MODE = {\n    className: 'rest_arg',\n    begin: /[.]{3}/,\n    end: IDENT_RE,\n    relevance: 10\n  };\n\n  return {\n    name: 'ActionScript',\n    aliases: [ 'as' ],\n    keywords: {\n      keyword: 'as break case catch class const continue default delete do dynamic each ' +\n        'else extends final finally for function get if implements import in include ' +\n        'instanceof interface internal is namespace native new override package private ' +\n        'protected public return set static super switch this throw try typeof use var void ' +\n        'while with',\n      literal: 'true false null undefined'\n    },\n    contains: [\n      hljs.APOS_STRING_MODE,\n      hljs.QUOTE_STRING_MODE,\n      hljs.C_LINE_COMMENT_MODE,\n      hljs.C_BLOCK_COMMENT_MODE,\n      hljs.C_NUMBER_MODE,\n      {\n        className: 'class',\n        beginKeywords: 'package',\n        end: /\\{/,\n        contains: [ hljs.TITLE_MODE ]\n      },\n      {\n        className: 'class',\n        beginKeywords: 'class interface',\n        end: /\\{/,\n        excludeEnd: true,\n        contains: [\n          { beginKeywords: 'extends implements' },\n          hljs.TITLE_MODE\n        ]\n      },\n      {\n        className: 'meta',\n        beginKeywords: 'import include',\n        end: /;/,\n        keywords: { 'meta-keyword': 'import include' }\n      },\n      {\n        className: 'function',\n        beginKeywords: 'function',\n        end: /[{;]/,\n        excludeEnd: true,\n        illegal: /\\S/,\n        contains: [\n          hljs.TITLE_MODE,\n          {\n            className: 'params',\n            begin: /\\(/,\n            end: /\\)/,\n            contains: [\n              hljs.APOS_STRING_MODE,\n              hljs.QUOTE_STRING_MODE,\n              hljs.C_LINE_COMMENT_MODE,\n              hljs.C_BLOCK_COMMENT_MODE,\n              AS3_REST_ARG_MODE\n            ]\n          },\n          { begin: concat(/:\\s*/, IDENT_FUNC_RETURN_TYPE_RE) }\n        ]\n      },\n      hljs.METHOD_GUARD\n    ],\n    illegal: /#/\n  };\n}\n\nmodule.exports = actionscript;\n","/*\n Language: JBoss CLI\n Author: Raphaël Parrëe \n Description: language definition jboss cli\n Website: https://docs.jboss.org/author/display/WFLY/Command+Line+Interface\n Category: config\n */\n\nfunction jbossCli(hljs) {\n  const PARAM = {\n    begin: /[\\w-]+ *=/,\n    returnBegin: true,\n    relevance: 0,\n    contains: [\n      {\n        className: 'attr',\n        begin: /[\\w-]+/\n      }\n    ]\n  };\n  const PARAMSBLOCK = {\n    className: 'params',\n    begin: /\\(/,\n    end: /\\)/,\n    contains: [PARAM],\n    relevance: 0\n  };\n  const OPERATION = {\n    className: 'function',\n    begin: /:[\\w\\-.]+/,\n    relevance: 0\n  };\n  const PATH = {\n    className: 'string',\n    begin: /\\B([\\/.])[\\w\\-.\\/=]+/\n  };\n  const COMMAND_PARAMS = {\n    className: 'params',\n    begin: /--[\\w\\-=\\/]+/\n  };\n  return {\n    name: 'JBoss CLI',\n    aliases: ['wildfly-cli'],\n    keywords: {\n      $pattern: '[a-z\\-]+',\n      keyword: 'alias batch cd clear command connect connection-factory connection-info data-source deploy ' +\n      'deployment-info deployment-overlay echo echo-dmr help history if jdbc-driver-info jms-queue|20 jms-topic|20 ls ' +\n      'patch pwd quit read-attribute read-operation reload rollout-plan run-batch set shutdown try unalias ' +\n      'undeploy unset version xa-data-source', // module\n      literal: 'true false'\n    },\n    contains: [\n      hljs.HASH_COMMENT_MODE,\n      hljs.QUOTE_STRING_MODE,\n      COMMAND_PARAMS,\n      OPERATION,\n      PATH,\n      PARAMSBLOCK\n    ]\n  };\n}\n\nmodule.exports = jbossCli;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports[\"default\"] = void 0;\nvar _default = exports[\"default\"] = {\n  \"hljs-comment\": {\n    \"color\": \"#d6baad\"\n  },\n  \"hljs-quote\": {\n    \"color\": \"#d6baad\"\n  },\n  \"hljs-variable\": {\n    \"color\": \"#dc3958\"\n  },\n  \"hljs-template-variable\": {\n    \"color\": \"#dc3958\"\n  },\n  \"hljs-tag\": {\n    \"color\": \"#dc3958\"\n  },\n  \"hljs-name\": {\n    \"color\": \"#dc3958\"\n  },\n  \"hljs-selector-id\": {\n    \"color\": \"#dc3958\"\n  },\n  \"hljs-selector-class\": {\n    \"color\": \"#dc3958\"\n  },\n  \"hljs-regexp\": {\n    \"color\": \"#dc3958\"\n  },\n  \"hljs-meta\": {\n    \"color\": \"#dc3958\"\n  },\n  \"hljs-number\": {\n    \"color\": \"#f79a32\"\n  },\n  \"hljs-built_in\": {\n    \"color\": \"#f79a32\"\n  },\n  \"hljs-builtin-name\": {\n    \"color\": \"#f79a32\"\n  },\n  \"hljs-literal\": {\n    \"color\": \"#f79a32\"\n  },\n  \"hljs-type\": {\n    \"color\": \"#f79a32\"\n  },\n  \"hljs-params\": {\n    \"color\": \"#f79a32\"\n  },\n  \"hljs-deletion\": {\n    \"color\": \"#f79a32\"\n  },\n  \"hljs-link\": {\n    \"color\": \"#f79a32\"\n  },\n  \"hljs-title\": {\n    \"color\": \"#f06431\"\n  },\n  \"hljs-section\": {\n    \"color\": \"#f06431\"\n  },\n  \"hljs-attribute\": {\n    \"color\": \"#f06431\"\n  },\n  \"hljs-string\": {\n    \"color\": \"#889b4a\"\n  },\n  \"hljs-symbol\": {\n    \"color\": \"#889b4a\"\n  },\n  \"hljs-bullet\": {\n    \"color\": \"#889b4a\"\n  },\n  \"hljs-addition\": {\n    \"color\": \"#889b4a\"\n  },\n  \"hljs-keyword\": {\n    \"color\": \"#98676a\"\n  },\n  \"hljs-selector-tag\": {\n    \"color\": \"#98676a\"\n  },\n  \"hljs-function\": {\n    \"color\": \"#98676a\"\n  },\n  \"hljs\": {\n    \"display\": \"block\",\n    \"overflowX\": \"auto\",\n    \"background\": \"#221a0f\",\n    \"color\": \"#d3af86\",\n    \"padding\": \"0.5em\"\n  },\n  \"hljs-emphasis\": {\n    \"fontStyle\": \"italic\"\n  },\n  \"hljs-strong\": {\n    \"fontWeight\": \"bold\"\n  }\n};","/*\nLanguage: Verilog\nAuthor: Jon Evans \nContributors: Boone Severson \nDescription: Verilog is a hardware description language used in electronic design automation to describe digital and mixed-signal systems. This highlighter supports Verilog and SystemVerilog through IEEE 1800-2012.\nWebsite: http://www.verilog.com\n*/\n\nfunction verilog(hljs) {\n  const SV_KEYWORDS = {\n    $pattern: /[\\w\\$]+/,\n    keyword:\n      'accept_on alias always always_comb always_ff always_latch and assert assign ' +\n      'assume automatic before begin bind bins binsof bit break buf|0 bufif0 bufif1 ' +\n      'byte case casex casez cell chandle checker class clocking cmos config const ' +\n      'constraint context continue cover covergroup coverpoint cross deassign default ' +\n      'defparam design disable dist do edge else end endcase endchecker endclass ' +\n      'endclocking endconfig endfunction endgenerate endgroup endinterface endmodule ' +\n      'endpackage endprimitive endprogram endproperty endspecify endsequence endtable ' +\n      'endtask enum event eventually expect export extends extern final first_match for ' +\n      'force foreach forever fork forkjoin function generate|5 genvar global highz0 highz1 ' +\n      'if iff ifnone ignore_bins illegal_bins implements implies import incdir include ' +\n      'initial inout input inside instance int integer interconnect interface intersect ' +\n      'join join_any join_none large let liblist library local localparam logic longint ' +\n      'macromodule matches medium modport module nand negedge nettype new nexttime nmos ' +\n      'nor noshowcancelled not notif0 notif1 or output package packed parameter pmos ' +\n      'posedge primitive priority program property protected pull0 pull1 pulldown pullup ' +\n      'pulsestyle_ondetect pulsestyle_onevent pure rand randc randcase randsequence rcmos ' +\n      'real realtime ref reg reject_on release repeat restrict return rnmos rpmos rtran ' +\n      'rtranif0 rtranif1 s_always s_eventually s_nexttime s_until s_until_with scalared ' +\n      'sequence shortint shortreal showcancelled signed small soft solve specify specparam ' +\n      'static string strong strong0 strong1 struct super supply0 supply1 sync_accept_on ' +\n      'sync_reject_on table tagged task this throughout time timeprecision timeunit tran ' +\n      'tranif0 tranif1 tri tri0 tri1 triand trior trireg type typedef union unique unique0 ' +\n      'unsigned until until_with untyped use uwire var vectored virtual void wait wait_order ' +\n      'wand weak weak0 weak1 while wildcard wire with within wor xnor xor',\n    literal:\n      'null',\n    built_in:\n      '$finish $stop $exit $fatal $error $warning $info $realtime $time $printtimescale ' +\n      '$bitstoreal $bitstoshortreal $itor $signed $cast $bits $stime $timeformat ' +\n      '$realtobits $shortrealtobits $rtoi $unsigned $asserton $assertkill $assertpasson ' +\n      '$assertfailon $assertnonvacuouson $assertoff $assertcontrol $assertpassoff ' +\n      '$assertfailoff $assertvacuousoff $isunbounded $sampled $fell $changed $past_gclk ' +\n      '$fell_gclk $changed_gclk $rising_gclk $steady_gclk $coverage_control ' +\n      '$coverage_get $coverage_save $set_coverage_db_name $rose $stable $past ' +\n      '$rose_gclk $stable_gclk $future_gclk $falling_gclk $changing_gclk $display ' +\n      '$coverage_get_max $coverage_merge $get_coverage $load_coverage_db $typename ' +\n      '$unpacked_dimensions $left $low $increment $clog2 $ln $log10 $exp $sqrt $pow ' +\n      '$floor $ceil $sin $cos $tan $countbits $onehot $isunknown $fatal $warning ' +\n      '$dimensions $right $high $size $asin $acos $atan $atan2 $hypot $sinh $cosh ' +\n      '$tanh $asinh $acosh $atanh $countones $onehot0 $error $info $random ' +\n      '$dist_chi_square $dist_erlang $dist_exponential $dist_normal $dist_poisson ' +\n      '$dist_t $dist_uniform $q_initialize $q_remove $q_exam $async$and$array ' +\n      '$async$nand$array $async$or$array $async$nor$array $sync$and$array ' +\n      '$sync$nand$array $sync$or$array $sync$nor$array $q_add $q_full $psprintf ' +\n      '$async$and$plane $async$nand$plane $async$or$plane $async$nor$plane ' +\n      '$sync$and$plane $sync$nand$plane $sync$or$plane $sync$nor$plane $system ' +\n      '$display $displayb $displayh $displayo $strobe $strobeb $strobeh $strobeo ' +\n      '$write $readmemb $readmemh $writememh $value$plusargs ' +\n      '$dumpvars $dumpon $dumplimit $dumpports $dumpportson $dumpportslimit ' +\n      '$writeb $writeh $writeo $monitor $monitorb $monitorh $monitoro $writememb ' +\n      '$dumpfile $dumpoff $dumpall $dumpflush $dumpportsoff $dumpportsall ' +\n      '$dumpportsflush $fclose $fdisplay $fdisplayb $fdisplayh $fdisplayo ' +\n      '$fstrobe $fstrobeb $fstrobeh $fstrobeo $swrite $swriteb $swriteh ' +\n      '$swriteo $fscanf $fread $fseek $fflush $feof $fopen $fwrite $fwriteb ' +\n      '$fwriteh $fwriteo $fmonitor $fmonitorb $fmonitorh $fmonitoro $sformat ' +\n      '$sformatf $fgetc $ungetc $fgets $sscanf $rewind $ftell $ferror'\n  };\n\n  return {\n    name: 'Verilog',\n    aliases: [\n      'v',\n      'sv',\n      'svh'\n    ],\n    case_insensitive: false,\n    keywords: SV_KEYWORDS,\n    contains: [\n      hljs.C_BLOCK_COMMENT_MODE,\n      hljs.C_LINE_COMMENT_MODE,\n      hljs.QUOTE_STRING_MODE,\n      {\n        className: 'number',\n        contains: [ hljs.BACKSLASH_ESCAPE ],\n        variants: [\n          {\n            begin: '\\\\b((\\\\d+\\'(b|h|o|d|B|H|O|D))[0-9xzXZa-fA-F_]+)'\n          },\n          {\n            begin: '\\\\B((\\'(b|h|o|d|B|H|O|D))[0-9xzXZa-fA-F_]+)'\n          },\n          {\n            begin: '\\\\b([0-9_])+',\n            relevance: 0\n          }\n        ]\n      },\n      /* parameters to instances */\n      {\n        className: 'variable',\n        variants: [\n          {\n            begin: '#\\\\((?!parameter).+\\\\)'\n          },\n          {\n            begin: '\\\\.\\\\w+',\n            relevance: 0\n          }\n        ]\n      },\n      {\n        className: 'meta',\n        begin: '`',\n        end: '$',\n        keywords: {\n          'meta-keyword':\n            'define __FILE__ ' +\n            '__LINE__ begin_keywords celldefine default_nettype define ' +\n            'else elsif end_keywords endcelldefine endif ifdef ifndef ' +\n            'include line nounconnected_drive pragma resetall timescale ' +\n            'unconnected_drive undef undefineall'\n        },\n        relevance: 0\n      }\n    ]\n  };\n}\n\nmodule.exports = verilog;\n","/*\nLanguage: Smali\nAuthor: Dennis Titze \nDescription: Basic Smali highlighting\nWebsite: https://github.com/JesusFreke/smali\n*/\n\nfunction smali(hljs) {\n  const smali_instr_low_prio = [\n    'add',\n    'and',\n    'cmp',\n    'cmpg',\n    'cmpl',\n    'const',\n    'div',\n    'double',\n    'float',\n    'goto',\n    'if',\n    'int',\n    'long',\n    'move',\n    'mul',\n    'neg',\n    'new',\n    'nop',\n    'not',\n    'or',\n    'rem',\n    'return',\n    'shl',\n    'shr',\n    'sput',\n    'sub',\n    'throw',\n    'ushr',\n    'xor'\n  ];\n  const smali_instr_high_prio = [\n    'aget',\n    'aput',\n    'array',\n    'check',\n    'execute',\n    'fill',\n    'filled',\n    'goto/16',\n    'goto/32',\n    'iget',\n    'instance',\n    'invoke',\n    'iput',\n    'monitor',\n    'packed',\n    'sget',\n    'sparse'\n  ];\n  const smali_keywords = [\n    'transient',\n    'constructor',\n    'abstract',\n    'final',\n    'synthetic',\n    'public',\n    'private',\n    'protected',\n    'static',\n    'bridge',\n    'system'\n  ];\n  return {\n    name: 'Smali',\n    contains: [\n      {\n        className: 'string',\n        begin: '\"',\n        end: '\"',\n        relevance: 0\n      },\n      hljs.COMMENT(\n        '#',\n        '$',\n        {\n          relevance: 0\n        }\n      ),\n      {\n        className: 'keyword',\n        variants: [\n          {\n            begin: '\\\\s*\\\\.end\\\\s[a-zA-Z0-9]*'\n          },\n          {\n            begin: '^[ ]*\\\\.[a-zA-Z]*',\n            relevance: 0\n          },\n          {\n            begin: '\\\\s:[a-zA-Z_0-9]*',\n            relevance: 0\n          },\n          {\n            begin: '\\\\s(' + smali_keywords.join('|') + ')'\n          }\n        ]\n      },\n      {\n        className: 'built_in',\n        variants: [\n          {\n            begin: '\\\\s(' + smali_instr_low_prio.join('|') + ')\\\\s'\n          },\n          {\n            begin: '\\\\s(' + smali_instr_low_prio.join('|') + ')((-|/)[a-zA-Z0-9]+)+\\\\s',\n            relevance: 10\n          },\n          {\n            begin: '\\\\s(' + smali_instr_high_prio.join('|') + ')((-|/)[a-zA-Z0-9]+)*\\\\s',\n            relevance: 10\n          }\n        ]\n      },\n      {\n        className: 'class',\n        begin: 'L[^\\(;:\\n]*;',\n        relevance: 0\n      },\n      {\n        begin: '[vp][0-9]+'\n      }\n    ]\n  };\n}\n\nmodule.exports = smali;\n","/*\nLanguage: LSL (Linden Scripting Language)\nDescription: The Linden Scripting Language is used in Second Life by Linden Labs.\nAuthor: Builder's Brewery \nWebsite: http://wiki.secondlife.com/wiki/LSL_Portal\nCategory: scripting\n*/\n\nfunction lsl(hljs) {\n\n    var LSL_STRING_ESCAPE_CHARS = {\n        className: 'subst',\n        begin: /\\\\[tn\"\\\\]/\n    };\n\n    var LSL_STRINGS = {\n        className: 'string',\n        begin: '\"',\n        end: '\"',\n        contains: [\n            LSL_STRING_ESCAPE_CHARS\n        ]\n    };\n\n    var LSL_NUMBERS = {\n        className: 'number',\n        relevance:0,\n        begin: hljs.C_NUMBER_RE\n    };\n\n    var LSL_CONSTANTS = {\n        className: 'literal',\n        variants: [\n            {\n                begin: '\\\\b(PI|TWO_PI|PI_BY_TWO|DEG_TO_RAD|RAD_TO_DEG|SQRT2)\\\\b'\n            },\n            {\n                begin: '\\\\b(XP_ERROR_(EXPERIENCES_DISABLED|EXPERIENCE_(DISABLED|SUSPENDED)|INVALID_(EXPERIENCE|PARAMETERS)|KEY_NOT_FOUND|MATURITY_EXCEEDED|NONE|NOT_(FOUND|PERMITTED(_LAND)?)|NO_EXPERIENCE|QUOTA_EXCEEDED|RETRY_UPDATE|STORAGE_EXCEPTION|STORE_DISABLED|THROTTLED|UNKNOWN_ERROR)|JSON_APPEND|STATUS_(PHYSICS|ROTATE_[XYZ]|PHANTOM|SANDBOX|BLOCK_GRAB(_OBJECT)?|(DIE|RETURN)_AT_EDGE|CAST_SHADOWS|OK|MALFORMED_PARAMS|TYPE_MISMATCH|BOUNDS_ERROR|NOT_(FOUND|SUPPORTED)|INTERNAL_ERROR|WHITELIST_FAILED)|AGENT(_(BY_(LEGACY_|USER)NAME|FLYING|ATTACHMENTS|SCRIPTED|MOUSELOOK|SITTING|ON_OBJECT|AWAY|WALKING|IN_AIR|TYPING|CROUCHING|BUSY|ALWAYS_RUN|AUTOPILOT|LIST_(PARCEL(_OWNER)?|REGION)))?|CAMERA_(PITCH|DISTANCE|BEHINDNESS_(ANGLE|LAG)|(FOCUS|POSITION)(_(THRESHOLD|LOCKED|LAG))?|FOCUS_OFFSET|ACTIVE)|ANIM_ON|LOOP|REVERSE|PING_PONG|SMOOTH|ROTATE|SCALE|ALL_SIDES|LINK_(ROOT|SET|ALL_(OTHERS|CHILDREN)|THIS)|ACTIVE|PASS(IVE|_(ALWAYS|IF_NOT_HANDLED|NEVER))|SCRIPTED|CONTROL_(FWD|BACK|(ROT_)?(LEFT|RIGHT)|UP|DOWN|(ML_)?LBUTTON)|PERMISSION_(RETURN_OBJECTS|DEBIT|OVERRIDE_ANIMATIONS|SILENT_ESTATE_MANAGEMENT|TAKE_CONTROLS|TRIGGER_ANIMATION|ATTACH|CHANGE_LINKS|(CONTROL|TRACK)_CAMERA|TELEPORT)|INVENTORY_(TEXTURE|SOUND|OBJECT|SCRIPT|LANDMARK|CLOTHING|NOTECARD|BODYPART|ANIMATION|GESTURE|ALL|NONE)|CHANGED_(INVENTORY|COLOR|SHAPE|SCALE|TEXTURE|LINK|ALLOWED_DROP|OWNER|REGION(_START)?|TELEPORT|MEDIA)|OBJECT_(CLICK_ACTION|HOVER_HEIGHT|LAST_OWNER_ID|(PHYSICS|SERVER|STREAMING)_COST|UNKNOWN_DETAIL|CHARACTER_TIME|PHANTOM|PHYSICS|TEMP_(ATTACHED|ON_REZ)|NAME|DESC|POS|PRIM_(COUNT|EQUIVALENCE)|RETURN_(PARCEL(_OWNER)?|REGION)|REZZER_KEY|ROO?T|VELOCITY|OMEGA|OWNER|GROUP(_TAG)?|CREATOR|ATTACHED_(POINT|SLOTS_AVAILABLE)|RENDER_WEIGHT|(BODY_SHAPE|PATHFINDING)_TYPE|(RUNNING|TOTAL)_SCRIPT_COUNT|TOTAL_INVENTORY_COUNT|SCRIPT_(MEMORY|TIME))|TYPE_(INTEGER|FLOAT|STRING|KEY|VECTOR|ROTATION|INVALID)|(DEBUG|PUBLIC)_CHANNEL|ATTACH_(AVATAR_CENTER|CHEST|HEAD|BACK|PELVIS|MOUTH|CHIN|NECK|NOSE|BELLY|[LR](SHOULDER|HAND|FOOT|EAR|EYE|[UL](ARM|LEG)|HIP)|(LEFT|RIGHT)_PEC|HUD_(CENTER_[12]|TOP_(RIGHT|CENTER|LEFT)|BOTTOM(_(RIGHT|LEFT))?)|[LR]HAND_RING1|TAIL_(BASE|TIP)|[LR]WING|FACE_(JAW|[LR]EAR|[LR]EYE|TOUNGE)|GROIN|HIND_[LR]FOOT)|LAND_(LEVEL|RAISE|LOWER|SMOOTH|NOISE|REVERT)|DATA_(ONLINE|NAME|BORN|SIM_(POS|STATUS|RATING)|PAYINFO)|PAYMENT_INFO_(ON_FILE|USED)|REMOTE_DATA_(CHANNEL|REQUEST|REPLY)|PSYS_(PART_(BF_(ZERO|ONE(_MINUS_(DEST_COLOR|SOURCE_(ALPHA|COLOR)))?|DEST_COLOR|SOURCE_(ALPHA|COLOR))|BLEND_FUNC_(DEST|SOURCE)|FLAGS|(START|END)_(COLOR|ALPHA|SCALE|GLOW)|MAX_AGE|(RIBBON|WIND|INTERP_(COLOR|SCALE)|BOUNCE|FOLLOW_(SRC|VELOCITY)|TARGET_(POS|LINEAR)|EMISSIVE)_MASK)|SRC_(MAX_AGE|PATTERN|ANGLE_(BEGIN|END)|BURST_(RATE|PART_COUNT|RADIUS|SPEED_(MIN|MAX))|ACCEL|TEXTURE|TARGET_KEY|OMEGA|PATTERN_(DROP|EXPLODE|ANGLE(_CONE(_EMPTY)?)?)))|VEHICLE_(REFERENCE_FRAME|TYPE_(NONE|SLED|CAR|BOAT|AIRPLANE|BALLOON)|(LINEAR|ANGULAR)_(FRICTION_TIMESCALE|MOTOR_DIRECTION)|LINEAR_MOTOR_OFFSET|HOVER_(HEIGHT|EFFICIENCY|TIMESCALE)|BUOYANCY|(LINEAR|ANGULAR)_(DEFLECTION_(EFFICIENCY|TIMESCALE)|MOTOR_(DECAY_)?TIMESCALE)|VERTICAL_ATTRACTION_(EFFICIENCY|TIMESCALE)|BANKING_(EFFICIENCY|MIX|TIMESCALE)|FLAG_(NO_DEFLECTION_UP|LIMIT_(ROLL_ONLY|MOTOR_UP)|HOVER_((WATER|TERRAIN|UP)_ONLY|GLOBAL_HEIGHT)|MOUSELOOK_(STEER|BANK)|CAMERA_DECOUPLED))|PRIM_(ALLOW_UNSIT|ALPHA_MODE(_(BLEND|EMISSIVE|MASK|NONE))?|NORMAL|SPECULAR|TYPE(_(BOX|CYLINDER|PRISM|SPHERE|TORUS|TUBE|RING|SCULPT))?|HOLE_(DEFAULT|CIRCLE|SQUARE|TRIANGLE)|MATERIAL(_(STONE|METAL|GLASS|WOOD|FLESH|PLASTIC|RUBBER))?|SHINY_(NONE|LOW|MEDIUM|HIGH)|BUMP_(NONE|BRIGHT|DARK|WOOD|BARK|BRICKS|CHECKER|CONCRETE|TILE|STONE|DISKS|GRAVEL|BLOBS|SIDING|LARGETILE|STUCCO|SUCTION|WEAVE)|TEXGEN_(DEFAULT|PLANAR)|SCRIPTED_SIT_ONLY|SCULPT_(TYPE_(SPHERE|TORUS|PLANE|CYLINDER|MASK)|FLAG_(MIRROR|INVERT))|PHYSICS(_(SHAPE_(CONVEX|NONE|PRIM|TYPE)))?|(POS|ROT)_LOCAL|SLICE|TEXT|FLEXIBLE|POINT_LIGHT|TEMP_ON_REZ|PHANTOM|POSITION|SIT_TARGET|SIZE|ROTATION|TEXTURE|NAME|OMEGA|DESC|LINK_TARGET|COLOR|BUMP_SHINY|FULLBRIGHT|TEXGEN|GLOW|MEDIA_(ALT_IMAGE_ENABLE|CONTROLS|(CURRENT|HOME)_URL|AUTO_(LOOP|PLAY|SCALE|ZOOM)|FIRST_CLICK_INTERACT|(WIDTH|HEIGHT)_PIXELS|WHITELIST(_ENABLE)?|PERMS_(INTERACT|CONTROL)|PARAM_MAX|CONTROLS_(STANDARD|MINI)|PERM_(NONE|OWNER|GROUP|ANYONE)|MAX_(URL_LENGTH|WHITELIST_(SIZE|COUNT)|(WIDTH|HEIGHT)_PIXELS)))|MASK_(BASE|OWNER|GROUP|EVERYONE|NEXT)|PERM_(TRANSFER|MODIFY|COPY|MOVE|ALL)|PARCEL_(MEDIA_COMMAND_(STOP|PAUSE|PLAY|LOOP|TEXTURE|URL|TIME|AGENT|UNLOAD|AUTO_ALIGN|TYPE|SIZE|DESC|LOOP_SET)|FLAG_(ALLOW_(FLY|(GROUP_)?SCRIPTS|LANDMARK|TERRAFORM|DAMAGE|CREATE_(GROUP_)?OBJECTS)|USE_(ACCESS_(GROUP|LIST)|BAN_LIST|LAND_PASS_LIST)|LOCAL_SOUND_ONLY|RESTRICT_PUSHOBJECT|ALLOW_(GROUP|ALL)_OBJECT_ENTRY)|COUNT_(TOTAL|OWNER|GROUP|OTHER|SELECTED|TEMP)|DETAILS_(NAME|DESC|OWNER|GROUP|AREA|ID|SEE_AVATARS))|LIST_STAT_(MAX|MIN|MEAN|MEDIAN|STD_DEV|SUM(_SQUARES)?|NUM_COUNT|GEOMETRIC_MEAN|RANGE)|PAY_(HIDE|DEFAULT)|REGION_FLAG_(ALLOW_DAMAGE|FIXED_SUN|BLOCK_TERRAFORM|SANDBOX|DISABLE_(COLLISIONS|PHYSICS)|BLOCK_FLY|ALLOW_DIRECT_TELEPORT|RESTRICT_PUSHOBJECT)|HTTP_(METHOD|MIMETYPE|BODY_(MAXLENGTH|TRUNCATED)|CUSTOM_HEADER|PRAGMA_NO_CACHE|VERBOSE_THROTTLE|VERIFY_CERT)|SIT_(INVALID_(AGENT|LINK_OBJECT)|NO(T_EXPERIENCE|_(ACCESS|EXPERIENCE_PERMISSION|SIT_TARGET)))|STRING_(TRIM(_(HEAD|TAIL))?)|CLICK_ACTION_(NONE|TOUCH|SIT|BUY|PAY|OPEN(_MEDIA)?|PLAY|ZOOM)|TOUCH_INVALID_FACE|PROFILE_(NONE|SCRIPT_MEMORY)|RC_(DATA_FLAGS|DETECT_PHANTOM|GET_(LINK_NUM|NORMAL|ROOT_KEY)|MAX_HITS|REJECT_(TYPES|AGENTS|(NON)?PHYSICAL|LAND))|RCERR_(CAST_TIME_EXCEEDED|SIM_PERF_LOW|UNKNOWN)|ESTATE_ACCESS_(ALLOWED_(AGENT|GROUP)_(ADD|REMOVE)|BANNED_AGENT_(ADD|REMOVE))|DENSITY|FRICTION|RESTITUTION|GRAVITY_MULTIPLIER|KFM_(COMMAND|CMD_(PLAY|STOP|PAUSE)|MODE|FORWARD|LOOP|PING_PONG|REVERSE|DATA|ROTATION|TRANSLATION)|ERR_(GENERIC|PARCEL_PERMISSIONS|MALFORMED_PARAMS|RUNTIME_PERMISSIONS|THROTTLED)|CHARACTER_(CMD_((SMOOTH_)?STOP|JUMP)|DESIRED_(TURN_)?SPEED|RADIUS|STAY_WITHIN_PARCEL|LENGTH|ORIENTATION|ACCOUNT_FOR_SKIPPED_FRAMES|AVOIDANCE_MODE|TYPE(_([ABCD]|NONE))?|MAX_(DECEL|TURN_RADIUS|(ACCEL|SPEED)))|PURSUIT_(OFFSET|FUZZ_FACTOR|GOAL_TOLERANCE|INTERCEPT)|REQUIRE_LINE_OF_SIGHT|FORCE_DIRECT_PATH|VERTICAL|HORIZONTAL|AVOID_(CHARACTERS|DYNAMIC_OBSTACLES|NONE)|PU_(EVADE_(HIDDEN|SPOTTED)|FAILURE_(DYNAMIC_PATHFINDING_DISABLED|INVALID_(GOAL|START)|NO_(NAVMESH|VALID_DESTINATION)|OTHER|TARGET_GONE|(PARCEL_)?UNREACHABLE)|(GOAL|SLOWDOWN_DISTANCE)_REACHED)|TRAVERSAL_TYPE(_(FAST|NONE|SLOW))?|CONTENT_TYPE_(ATOM|FORM|HTML|JSON|LLSD|RSS|TEXT|XHTML|XML)|GCNP_(RADIUS|STATIC)|(PATROL|WANDER)_PAUSE_AT_WAYPOINTS|OPT_(AVATAR|CHARACTER|EXCLUSION_VOLUME|LEGACY_LINKSET|MATERIAL_VOLUME|OTHER|STATIC_OBSTACLE|WALKABLE)|SIM_STAT_PCT_CHARS_STEPPED)\\\\b'\n            },\n            {\n                begin: '\\\\b(FALSE|TRUE)\\\\b'\n            },\n            {\n                begin: '\\\\b(ZERO_ROTATION)\\\\b'\n            },\n            {\n                begin: '\\\\b(EOF|JSON_(ARRAY|DELETE|FALSE|INVALID|NULL|NUMBER|OBJECT|STRING|TRUE)|NULL_KEY|TEXTURE_(BLANK|DEFAULT|MEDIA|PLYWOOD|TRANSPARENT)|URL_REQUEST_(GRANTED|DENIED))\\\\b'\n            },\n            {\n                begin: '\\\\b(ZERO_VECTOR|TOUCH_INVALID_(TEXCOORD|VECTOR))\\\\b'\n            }\n        ]\n    };\n\n    var LSL_FUNCTIONS = {\n        className: 'built_in',\n        begin: '\\\\b(ll(AgentInExperience|(Create|DataSize|Delete|KeyCount|Keys|Read|Update)KeyValue|GetExperience(Details|ErrorMessage)|ReturnObjectsBy(ID|Owner)|Json(2List|[GS]etValue|ValueType)|Sin|Cos|Tan|Atan2|Sqrt|Pow|Abs|Fabs|Frand|Floor|Ceil|Round|Vec(Mag|Norm|Dist)|Rot(Between|2(Euler|Fwd|Left|Up))|(Euler|Axes)2Rot|Whisper|(Region|Owner)?Say|Shout|Listen(Control|Remove)?|Sensor(Repeat|Remove)?|Detected(Name|Key|Owner|Type|Pos|Vel|Grab|Rot|Group|LinkNumber)|Die|Ground|Wind|([GS]et)(AnimationOverride|MemoryLimit|PrimMediaParams|ParcelMusicURL|Object(Desc|Name)|PhysicsMaterial|Status|Scale|Color|Alpha|Texture|Pos|Rot|Force|Torque)|ResetAnimationOverride|(Scale|Offset|Rotate)Texture|(Rot)?Target(Remove)?|(Stop)?MoveToTarget|Apply(Rotational)?Impulse|Set(KeyframedMotion|ContentType|RegionPos|(Angular)?Velocity|Buoyancy|HoverHeight|ForceAndTorque|TimerEvent|ScriptState|Damage|TextureAnim|Sound(Queueing|Radius)|Vehicle(Type|(Float|Vector|Rotation)Param)|(Touch|Sit)?Text|Camera(Eye|At)Offset|PrimitiveParams|ClickAction|Link(Alpha|Color|PrimitiveParams(Fast)?|Texture(Anim)?|Camera|Media)|RemoteScriptAccessPin|PayPrice|LocalRot)|ScaleByFactor|Get((Max|Min)ScaleFactor|ClosestNavPoint|StaticPath|SimStats|Env|PrimitiveParams|Link(PrimitiveParams|Number(OfSides)?|Key|Name|Media)|HTTPHeader|FreeURLs|Object(Details|PermMask|PrimCount)|Parcel(MaxPrims|Details|Prim(Count|Owners))|Attached(List)?|(SPMax|Free|Used)Memory|Region(Name|TimeDilation|FPS|Corner|AgentCount)|Root(Position|Rotation)|UnixTime|(Parcel|Region)Flags|(Wall|GMT)clock|SimulatorHostname|BoundingBox|GeometricCenter|Creator|NumberOf(Prims|NotecardLines|Sides)|Animation(List)?|(Camera|Local)(Pos|Rot)|Vel|Accel|Omega|Time(stamp|OfDay)|(Object|CenterOf)?Mass|MassMKS|Energy|Owner|(Owner)?Key|SunDirection|Texture(Offset|Scale|Rot)|Inventory(Number|Name|Key|Type|Creator|PermMask)|Permissions(Key)?|StartParameter|List(Length|EntryType)|Date|Agent(Size|Info|Language|List)|LandOwnerAt|NotecardLine|Script(Name|State))|(Get|Reset|GetAndReset)Time|PlaySound(Slave)?|LoopSound(Master|Slave)?|(Trigger|Stop|Preload)Sound|((Get|Delete)Sub|Insert)String|To(Upper|Lower)|Give(InventoryList|Money)|RezObject|(Stop)?LookAt|Sleep|CollisionFilter|(Take|Release)Controls|DetachFromAvatar|AttachToAvatar(Temp)?|InstantMessage|(GetNext)?Email|StopHover|MinEventDelay|RotLookAt|String(Length|Trim)|(Start|Stop)Animation|TargetOmega|Request(Experience)?Permissions|(Create|Break)Link|BreakAllLinks|(Give|Remove)Inventory|Water|PassTouches|Request(Agent|Inventory)Data|TeleportAgent(Home|GlobalCoords)?|ModifyLand|CollisionSound|ResetScript|MessageLinked|PushObject|PassCollisions|AxisAngle2Rot|Rot2(Axis|Angle)|A(cos|sin)|AngleBetween|AllowInventoryDrop|SubStringIndex|List2(CSV|Integer|Json|Float|String|Key|Vector|Rot|List(Strided)?)|DeleteSubList|List(Statistics|Sort|Randomize|(Insert|Find|Replace)List)|EdgeOfWorld|AdjustSoundVolume|Key2Name|TriggerSoundLimited|EjectFromLand|(CSV|ParseString)2List|OverMyLand|SameGroup|UnSit|Ground(Slope|Normal|Contour)|GroundRepel|(Set|Remove)VehicleFlags|SitOnLink|(AvatarOn)?(Link)?SitTarget|Script(Danger|Profiler)|Dialog|VolumeDetect|ResetOtherScript|RemoteLoadScriptPin|(Open|Close)RemoteDataChannel|SendRemoteData|RemoteDataReply|(Integer|String)ToBase64|XorBase64|Log(10)?|Base64To(String|Integer)|ParseStringKeepNulls|RezAtRoot|RequestSimulatorData|ForceMouselook|(Load|Release|(E|Une)scape)URL|ParcelMedia(CommandList|Query)|ModPow|MapDestination|(RemoveFrom|AddTo|Reset)Land(Pass|Ban)List|(Set|Clear)CameraParams|HTTP(Request|Response)|TextBox|DetectedTouch(UV|Face|Pos|(N|Bin)ormal|ST)|(MD5|SHA1|DumpList2)String|Request(Secure)?URL|Clear(Prim|Link)Media|(Link)?ParticleSystem|(Get|Request)(Username|DisplayName)|RegionSayTo|CastRay|GenerateKey|TransferLindenDollars|ManageEstateAccess|(Create|Delete)Character|ExecCharacterCmd|Evade|FleeFrom|NavigateTo|PatrolPoints|Pursue|UpdateCharacter|WanderWithin))\\\\b'\n    };\n\n    return {\n        name: 'LSL (Linden Scripting Language)',\n        illegal: ':',\n        contains: [\n            LSL_STRINGS,\n            {\n                className: 'comment',\n                variants: [\n                    hljs.COMMENT('//', '$'),\n                    hljs.COMMENT('/\\\\*', '\\\\*/')\n                ],\n                relevance: 0\n            },\n            LSL_NUMBERS,\n            {\n                className: 'section',\n                variants: [\n                    {\n                        begin: '\\\\b(state|default)\\\\b'\n                    },\n                    {\n                        begin: '\\\\b(state_(entry|exit)|touch(_(start|end))?|(land_)?collision(_(start|end))?|timer|listen|(no_)?sensor|control|(not_)?at_(rot_)?target|money|email|experience_permissions(_denied)?|run_time_permissions|changed|attach|dataserver|moving_(start|end)|link_message|(on|object)_rez|remote_data|http_re(sponse|quest)|path_update|transaction_result)\\\\b'\n                    }\n                ]\n            },\n            LSL_FUNCTIONS,\n            LSL_CONSTANTS,\n            {\n                className: 'type',\n                begin: '\\\\b(integer|float|string|key|vector|quaternion|rotation|list)\\\\b'\n            }\n        ]\n    };\n}\n\nmodule.exports = lsl;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports[\"default\"] = void 0;\nvar _default = exports[\"default\"] = {\n  \"hljs-comment\": {\n    \"color\": \"#989498\"\n  },\n  \"hljs-quote\": {\n    \"color\": \"#989498\"\n  },\n  \"hljs-variable\": {\n    \"color\": \"#dd464c\"\n  },\n  \"hljs-template-variable\": {\n    \"color\": \"#dd464c\"\n  },\n  \"hljs-attribute\": {\n    \"color\": \"#dd464c\"\n  },\n  \"hljs-tag\": {\n    \"color\": \"#dd464c\"\n  },\n  \"hljs-name\": {\n    \"color\": \"#dd464c\"\n  },\n  \"hljs-selector-id\": {\n    \"color\": \"#dd464c\"\n  },\n  \"hljs-selector-class\": {\n    \"color\": \"#dd464c\"\n  },\n  \"hljs-regexp\": {\n    \"color\": \"#dd464c\"\n  },\n  \"hljs-link\": {\n    \"color\": \"#dd464c\"\n  },\n  \"hljs-deletion\": {\n    \"color\": \"#dd464c\"\n  },\n  \"hljs-number\": {\n    \"color\": \"#fd8b19\"\n  },\n  \"hljs-built_in\": {\n    \"color\": \"#fd8b19\"\n  },\n  \"hljs-builtin-name\": {\n    \"color\": \"#fd8b19\"\n  },\n  \"hljs-literal\": {\n    \"color\": \"#fd8b19\"\n  },\n  \"hljs-type\": {\n    \"color\": \"#fd8b19\"\n  },\n  \"hljs-params\": {\n    \"color\": \"#fd8b19\"\n  },\n  \"hljs-class .hljs-title\": {\n    \"color\": \"#fdcc59\"\n  },\n  \"hljs-string\": {\n    \"color\": \"#8fc13e\"\n  },\n  \"hljs-symbol\": {\n    \"color\": \"#8fc13e\"\n  },\n  \"hljs-bullet\": {\n    \"color\": \"#8fc13e\"\n  },\n  \"hljs-addition\": {\n    \"color\": \"#8fc13e\"\n  },\n  \"hljs-meta\": {\n    \"color\": \"#149b93\"\n  },\n  \"hljs-function\": {\n    \"color\": \"#1290bf\"\n  },\n  \"hljs-section\": {\n    \"color\": \"#1290bf\"\n  },\n  \"hljs-title\": {\n    \"color\": \"#1290bf\"\n  },\n  \"hljs-keyword\": {\n    \"color\": \"#c85e7c\"\n  },\n  \"hljs-selector-tag\": {\n    \"color\": \"#c85e7c\"\n  },\n  \"hljs\": {\n    \"display\": \"block\",\n    \"overflowX\": \"auto\",\n    \"background\": \"#322931\",\n    \"color\": \"#b9b5b8\",\n    \"padding\": \"0.5em\"\n  },\n  \"hljs-emphasis\": {\n    \"fontStyle\": \"italic\"\n  },\n  \"hljs-strong\": {\n    \"fontWeight\": \"bold\"\n  }\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports[\"default\"] = void 0;\nvar _default = exports[\"default\"] = {\n  \"hljs-comment\": {\n    \"color\": \"#687d68\"\n  },\n  \"hljs-quote\": {\n    \"color\": \"#687d68\"\n  },\n  \"hljs-variable\": {\n    \"color\": \"#e6193c\"\n  },\n  \"hljs-template-variable\": {\n    \"color\": \"#e6193c\"\n  },\n  \"hljs-attribute\": {\n    \"color\": \"#e6193c\"\n  },\n  \"hljs-tag\": {\n    \"color\": \"#e6193c\"\n  },\n  \"hljs-name\": {\n    \"color\": \"#e6193c\"\n  },\n  \"hljs-regexp\": {\n    \"color\": \"#e6193c\"\n  },\n  \"hljs-link\": {\n    \"color\": \"#e6193c\"\n  },\n  \"hljs-selector-id\": {\n    \"color\": \"#e6193c\"\n  },\n  \"hljs-selector-class\": {\n    \"color\": \"#e6193c\"\n  },\n  \"hljs-number\": {\n    \"color\": \"#87711d\"\n  },\n  \"hljs-meta\": {\n    \"color\": \"#87711d\"\n  },\n  \"hljs-built_in\": {\n    \"color\": \"#87711d\"\n  },\n  \"hljs-builtin-name\": {\n    \"color\": \"#87711d\"\n  },\n  \"hljs-literal\": {\n    \"color\": \"#87711d\"\n  },\n  \"hljs-type\": {\n    \"color\": \"#87711d\"\n  },\n  \"hljs-params\": {\n    \"color\": \"#87711d\"\n  },\n  \"hljs-string\": {\n    \"color\": \"#29a329\"\n  },\n  \"hljs-symbol\": {\n    \"color\": \"#29a329\"\n  },\n  \"hljs-bullet\": {\n    \"color\": \"#29a329\"\n  },\n  \"hljs-title\": {\n    \"color\": \"#3d62f5\"\n  },\n  \"hljs-section\": {\n    \"color\": \"#3d62f5\"\n  },\n  \"hljs-keyword\": {\n    \"color\": \"#ad2bee\"\n  },\n  \"hljs-selector-tag\": {\n    \"color\": \"#ad2bee\"\n  },\n  \"hljs\": {\n    \"display\": \"block\",\n    \"overflowX\": \"auto\",\n    \"background\": \"#f4fbf4\",\n    \"color\": \"#5e6e5e\",\n    \"padding\": \"0.5em\"\n  },\n  \"hljs-emphasis\": {\n    \"fontStyle\": \"italic\"\n  },\n  \"hljs-strong\": {\n    \"fontWeight\": \"bold\"\n  }\n};","/*\n Language: G-code (ISO 6983)\n Contributors: Adam Joseph Cook \n Description: G-code syntax highlighter for Fanuc and other common CNC machine tool controls.\n Website: https://www.sis.se/api/document/preview/911952/\n */\n\nfunction gcode(hljs) {\n  const GCODE_IDENT_RE = '[A-Z_][A-Z0-9_.]*';\n  const GCODE_CLOSE_RE = '%';\n  const GCODE_KEYWORDS = {\n    $pattern: GCODE_IDENT_RE,\n    keyword: 'IF DO WHILE ENDWHILE CALL ENDIF SUB ENDSUB GOTO REPEAT ENDREPEAT ' +\n      'EQ LT GT NE GE LE OR XOR'\n  };\n  const GCODE_START = {\n    className: 'meta',\n    begin: '([O])([0-9]+)'\n  };\n  const NUMBER = hljs.inherit(hljs.C_NUMBER_MODE, {\n    begin: '([-+]?((\\\\.\\\\d+)|(\\\\d+)(\\\\.\\\\d*)?))|' + hljs.C_NUMBER_RE\n  });\n  const GCODE_CODE = [\n    hljs.C_LINE_COMMENT_MODE,\n    hljs.C_BLOCK_COMMENT_MODE,\n    hljs.COMMENT(/\\(/, /\\)/),\n    NUMBER,\n    hljs.inherit(hljs.APOS_STRING_MODE, {\n      illegal: null\n    }),\n    hljs.inherit(hljs.QUOTE_STRING_MODE, {\n      illegal: null\n    }),\n    {\n      className: 'name',\n      begin: '([G])([0-9]+\\\\.?[0-9]?)'\n    },\n    {\n      className: 'name',\n      begin: '([M])([0-9]+\\\\.?[0-9]?)'\n    },\n    {\n      className: 'attr',\n      begin: '(VC|VS|#)',\n      end: '(\\\\d+)'\n    },\n    {\n      className: 'attr',\n      begin: '(VZOFX|VZOFY|VZOFZ)'\n    },\n    {\n      className: 'built_in',\n      begin: '(ATAN|ABS|ACOS|ASIN|SIN|COS|EXP|FIX|FUP|ROUND|LN|TAN)(\\\\[)',\n      contains: [\n        NUMBER\n      ],\n      end: '\\\\]'\n    },\n    {\n      className: 'symbol',\n      variants: [\n        {\n          begin: 'N',\n          end: '\\\\d+',\n          illegal: '\\\\W'\n        }\n      ]\n    }\n  ];\n\n  return {\n    name: 'G-code (ISO 6983)',\n    aliases: ['nc'],\n    // Some implementations (CNC controls) of G-code are interoperable with uppercase and lowercase letters seamlessly.\n    // However, most prefer all uppercase and uppercase is customary.\n    case_insensitive: true,\n    keywords: GCODE_KEYWORDS,\n    contains: [\n      {\n        className: 'meta',\n        begin: GCODE_CLOSE_RE\n      },\n      GCODE_START\n    ].concat(GCODE_CODE)\n  };\n}\n\nmodule.exports = gcode;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports[\"default\"] = void 0;\nvar _default = exports[\"default\"] = {\n  \"hljs\": {\n    \"display\": \"block\",\n    \"overflowX\": \"auto\",\n    \"padding\": \"0.5em\",\n    \"background\": \"#474949\",\n    \"color\": \"#d1d9e1\"\n  },\n  \"hljs-comment\": {\n    \"color\": \"#969896\",\n    \"fontStyle\": \"italic\"\n  },\n  \"hljs-quote\": {\n    \"color\": \"#969896\",\n    \"fontStyle\": \"italic\"\n  },\n  \"hljs-keyword\": {\n    \"color\": \"#cc99cc\"\n  },\n  \"hljs-selector-tag\": {\n    \"color\": \"#cc99cc\"\n  },\n  \"hljs-literal\": {\n    \"color\": \"#cc99cc\"\n  },\n  \"hljs-type\": {\n    \"color\": \"#cc99cc\"\n  },\n  \"hljs-addition\": {\n    \"color\": \"#cc99cc\"\n  },\n  \"hljs-number\": {\n    \"color\": \"#f99157\"\n  },\n  \"hljs-selector-attr\": {\n    \"color\": \"#f99157\"\n  },\n  \"hljs-selector-pseudo\": {\n    \"color\": \"#f99157\"\n  },\n  \"hljs-string\": {\n    \"color\": \"#8abeb7\"\n  },\n  \"hljs-doctag\": {\n    \"color\": \"#8abeb7\"\n  },\n  \"hljs-regexp\": {\n    \"color\": \"#8abeb7\"\n  },\n  \"hljs-title\": {\n    \"color\": \"#b5bd68\"\n  },\n  \"hljs-name\": {\n    \"color\": \"#b5bd68\",\n    \"fontWeight\": \"bold\"\n  },\n  \"hljs-section\": {\n    \"color\": \"#b5bd68\",\n    \"fontWeight\": \"bold\"\n  },\n  \"hljs-built_in\": {\n    \"color\": \"#b5bd68\"\n  },\n  \"hljs-variable\": {\n    \"color\": \"#ffcc66\"\n  },\n  \"hljs-template-variable\": {\n    \"color\": \"#ffcc66\"\n  },\n  \"hljs-selector-id\": {\n    \"color\": \"#ffcc66\"\n  },\n  \"hljs-class .hljs-title\": {\n    \"color\": \"#ffcc66\"\n  },\n  \"hljs-strong\": {\n    \"fontWeight\": \"bold\"\n  },\n  \"hljs-symbol\": {\n    \"color\": \"#f99157\"\n  },\n  \"hljs-bullet\": {\n    \"color\": \"#f99157\"\n  },\n  \"hljs-subst\": {\n    \"color\": \"#f99157\"\n  },\n  \"hljs-meta\": {\n    \"color\": \"#f99157\"\n  },\n  \"hljs-link\": {\n    \"color\": \"#f99157\"\n  },\n  \"hljs-deletion\": {\n    \"color\": \"#dc322f\"\n  },\n  \"hljs-formula\": {\n    \"background\": \"#eee8d5\"\n  },\n  \"hljs-attr\": {\n    \"color\": \"#81a2be\"\n  },\n  \"hljs-attribute\": {\n    \"color\": \"#81a2be\"\n  },\n  \"hljs-emphasis\": {\n    \"fontStyle\": \"italic\"\n  }\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports[\"default\"] = void 0;\nvar _default = exports[\"default\"] = {\n  \"hljs\": {\n    \"display\": \"block\",\n    \"overflowX\": \"auto\",\n    \"padding\": \"0.5em\",\n    \"background\": \"#333\",\n    \"color\": \"#fff\"\n  },\n  \"xml .hljs-meta\": {\n    \"fontWeight\": \"bold\",\n    \"fontStyle\": \"italic\",\n    \"color\": \"#69f\"\n  },\n  \"hljs-comment\": {\n    \"fontStyle\": \"italic\",\n    \"color\": \"#9c6\"\n  },\n  \"hljs-quote\": {\n    \"fontStyle\": \"italic\",\n    \"color\": \"#9c6\"\n  },\n  \"hljs-name\": {\n    \"color\": \"#a7a\",\n    \"fontWeight\": \"bold\"\n  },\n  \"hljs-keyword\": {\n    \"color\": \"#a7a\"\n  },\n  \"hljs-attr\": {\n    \"fontWeight\": \"bold\",\n    \"color\": \"#fff\"\n  },\n  \"hljs-string\": {\n    \"fontWeight\": \"normal\",\n    \"color\": \"#bce\"\n  },\n  \"hljs-variable\": {\n    \"color\": \"#588\"\n  },\n  \"hljs-template-variable\": {\n    \"color\": \"#588\"\n  },\n  \"hljs-code\": {\n    \"color\": \"#bce\"\n  },\n  \"hljs-meta-string\": {\n    \"color\": \"#bce\"\n  },\n  \"hljs-number\": {\n    \"color\": \"#bce\"\n  },\n  \"hljs-regexp\": {\n    \"color\": \"#bce\"\n  },\n  \"hljs-link\": {\n    \"color\": \"#bce\"\n  },\n  \"hljs-title\": {\n    \"color\": \"#d40\"\n  },\n  \"hljs-symbol\": {\n    \"color\": \"#d40\"\n  },\n  \"hljs-bullet\": {\n    \"color\": \"#d40\"\n  },\n  \"hljs-built_in\": {\n    \"color\": \"#d40\"\n  },\n  \"hljs-builtin-name\": {\n    \"color\": \"#d40\"\n  },\n  \"hljs-section\": {\n    \"color\": \"#a85\"\n  },\n  \"hljs-meta\": {\n    \"color\": \"#a85\"\n  },\n  \"hljs-class .hljs-title\": {\n    \"color\": \"#96c\"\n  },\n  \"hljs-type\": {\n    \"color\": \"#96c\"\n  },\n  \"hljs-function .hljs-title\": {\n    \"color\": \"#fff\"\n  },\n  \"hljs-subst\": {\n    \"color\": \"#fff\"\n  },\n  \"hljs-formula\": {\n    \"backgroundColor\": \"#eee\",\n    \"fontStyle\": \"italic\"\n  },\n  \"hljs-addition\": {\n    \"backgroundColor\": \"#797\"\n  },\n  \"hljs-deletion\": {\n    \"backgroundColor\": \"#c99\"\n  },\n  \"hljs-selector-id\": {\n    \"color\": \"#964\"\n  },\n  \"hljs-selector-class\": {\n    \"color\": \"#964\"\n  },\n  \"hljs-doctag\": {\n    \"fontWeight\": \"bold\"\n  },\n  \"hljs-strong\": {\n    \"fontWeight\": \"bold\"\n  },\n  \"hljs-emphasis\": {\n    \"fontStyle\": \"italic\"\n  }\n};","/*\nLanguage: PostgreSQL and PL/pgSQL\nAuthor: Egor Rogov (e.rogov@postgrespro.ru)\nWebsite: https://www.postgresql.org/docs/11/sql.html\nDescription:\n    This language incorporates both PostgreSQL SQL dialect and PL/pgSQL language.\n    It is based on PostgreSQL version 11. Some notes:\n    - Text in double-dollar-strings is _always_ interpreted as some programming code. Text\n      in ordinary quotes is _never_ interpreted that way and highlighted just as a string.\n    - There are quite a bit \"special cases\". That's because many keywords are not strictly\n      they are keywords in some contexts and ordinary identifiers in others. Only some\n      of such cases are handled; you still can get some of your identifiers highlighted\n      wrong way.\n    - Function names deliberately are not highlighted. There is no way to tell function\n      call from other constructs, hence we can't highlight _all_ function names. And\n      some names highlighted while others not looks ugly.\n*/\n\nfunction pgsql(hljs) {\n  const COMMENT_MODE = hljs.COMMENT('--', '$');\n  const UNQUOTED_IDENT = '[a-zA-Z_][a-zA-Z_0-9$]*';\n  const DOLLAR_STRING = '\\\\$([a-zA-Z_]?|[a-zA-Z_][a-zA-Z_0-9]*)\\\\$';\n  const LABEL = '<<\\\\s*' + UNQUOTED_IDENT + '\\\\s*>>';\n\n  const SQL_KW =\n    // https://www.postgresql.org/docs/11/static/sql-keywords-appendix.html\n    // https://www.postgresql.org/docs/11/static/sql-commands.html\n    // SQL commands (starting words)\n    'ABORT ALTER ANALYZE BEGIN CALL CHECKPOINT|10 CLOSE CLUSTER COMMENT COMMIT COPY CREATE DEALLOCATE DECLARE ' +\n    'DELETE DISCARD DO DROP END EXECUTE EXPLAIN FETCH GRANT IMPORT INSERT LISTEN LOAD LOCK MOVE NOTIFY ' +\n    'PREPARE REASSIGN|10 REFRESH REINDEX RELEASE RESET REVOKE ROLLBACK SAVEPOINT SECURITY SELECT SET SHOW ' +\n    'START TRUNCATE UNLISTEN|10 UPDATE VACUUM|10 VALUES ' +\n    // SQL commands (others)\n    'AGGREGATE COLLATION CONVERSION|10 DATABASE DEFAULT PRIVILEGES DOMAIN TRIGGER EXTENSION FOREIGN ' +\n    'WRAPPER|10 TABLE FUNCTION GROUP LANGUAGE LARGE OBJECT MATERIALIZED VIEW OPERATOR CLASS ' +\n    'FAMILY POLICY PUBLICATION|10 ROLE RULE SCHEMA SEQUENCE SERVER STATISTICS SUBSCRIPTION SYSTEM ' +\n    'TABLESPACE CONFIGURATION DICTIONARY PARSER TEMPLATE TYPE USER MAPPING PREPARED ACCESS ' +\n    'METHOD CAST AS TRANSFORM TRANSACTION OWNED TO INTO SESSION AUTHORIZATION ' +\n    'INDEX PROCEDURE ASSERTION ' +\n    // additional reserved key words\n    'ALL ANALYSE AND ANY ARRAY ASC ASYMMETRIC|10 BOTH CASE CHECK ' +\n    'COLLATE COLUMN CONCURRENTLY|10 CONSTRAINT CROSS ' +\n    'DEFERRABLE RANGE ' +\n    'DESC DISTINCT ELSE EXCEPT FOR FREEZE|10 FROM FULL HAVING ' +\n    'ILIKE IN INITIALLY INNER INTERSECT IS ISNULL JOIN LATERAL LEADING LIKE LIMIT ' +\n    'NATURAL NOT NOTNULL NULL OFFSET ON ONLY OR ORDER OUTER OVERLAPS PLACING PRIMARY ' +\n    'REFERENCES RETURNING SIMILAR SOME SYMMETRIC TABLESAMPLE THEN ' +\n    'TRAILING UNION UNIQUE USING VARIADIC|10 VERBOSE WHEN WHERE WINDOW WITH ' +\n    // some of non-reserved (which are used in clauses or as PL/pgSQL keyword)\n    'BY RETURNS INOUT OUT SETOF|10 IF STRICT CURRENT CONTINUE OWNER LOCATION OVER PARTITION WITHIN ' +\n    'BETWEEN ESCAPE EXTERNAL INVOKER DEFINER WORK RENAME VERSION CONNECTION CONNECT ' +\n    'TABLES TEMP TEMPORARY FUNCTIONS SEQUENCES TYPES SCHEMAS OPTION CASCADE RESTRICT ADD ADMIN ' +\n    'EXISTS VALID VALIDATE ENABLE DISABLE REPLICA|10 ALWAYS PASSING COLUMNS PATH ' +\n    'REF VALUE OVERRIDING IMMUTABLE STABLE VOLATILE BEFORE AFTER EACH ROW PROCEDURAL ' +\n    'ROUTINE NO HANDLER VALIDATOR OPTIONS STORAGE OIDS|10 WITHOUT INHERIT DEPENDS CALLED ' +\n    'INPUT LEAKPROOF|10 COST ROWS NOWAIT SEARCH UNTIL ENCRYPTED|10 PASSWORD CONFLICT|10 ' +\n    'INSTEAD INHERITS CHARACTERISTICS WRITE CURSOR ALSO STATEMENT SHARE EXCLUSIVE INLINE ' +\n    'ISOLATION REPEATABLE READ COMMITTED SERIALIZABLE UNCOMMITTED LOCAL GLOBAL SQL PROCEDURES ' +\n    'RECURSIVE SNAPSHOT ROLLUP CUBE TRUSTED|10 INCLUDE FOLLOWING PRECEDING UNBOUNDED RANGE GROUPS ' +\n    'UNENCRYPTED|10 SYSID FORMAT DELIMITER HEADER QUOTE ENCODING FILTER OFF ' +\n    // some parameters of VACUUM/ANALYZE/EXPLAIN\n    'FORCE_QUOTE FORCE_NOT_NULL FORCE_NULL COSTS BUFFERS TIMING SUMMARY DISABLE_PAGE_SKIPPING ' +\n    //\n    'RESTART CYCLE GENERATED IDENTITY DEFERRED IMMEDIATE LEVEL LOGGED UNLOGGED ' +\n    'OF NOTHING NONE EXCLUDE ATTRIBUTE ' +\n    // from GRANT (not keywords actually)\n    'USAGE ROUTINES ' +\n    // actually literals, but look better this way (due to IS TRUE, IS FALSE, ISNULL etc)\n    'TRUE FALSE NAN INFINITY ';\n\n  const ROLE_ATTRS = // only those not in keywrods already\n    'SUPERUSER NOSUPERUSER CREATEDB NOCREATEDB CREATEROLE NOCREATEROLE INHERIT NOINHERIT ' +\n    'LOGIN NOLOGIN REPLICATION NOREPLICATION BYPASSRLS NOBYPASSRLS ';\n\n  const PLPGSQL_KW =\n    'ALIAS BEGIN CONSTANT DECLARE END EXCEPTION RETURN PERFORM|10 RAISE GET DIAGNOSTICS ' +\n    'STACKED|10 FOREACH LOOP ELSIF EXIT WHILE REVERSE SLICE DEBUG LOG INFO NOTICE WARNING ASSERT ' +\n    'OPEN ';\n\n  const TYPES =\n    // https://www.postgresql.org/docs/11/static/datatype.html\n    'BIGINT INT8 BIGSERIAL SERIAL8 BIT VARYING VARBIT BOOLEAN BOOL BOX BYTEA CHARACTER CHAR VARCHAR ' +\n    'CIDR CIRCLE DATE DOUBLE PRECISION FLOAT8 FLOAT INET INTEGER INT INT4 INTERVAL JSON JSONB LINE LSEG|10 ' +\n    'MACADDR MACADDR8 MONEY NUMERIC DEC DECIMAL PATH POINT POLYGON REAL FLOAT4 SMALLINT INT2 ' +\n    'SMALLSERIAL|10 SERIAL2|10 SERIAL|10 SERIAL4|10 TEXT TIME ZONE TIMETZ|10 TIMESTAMP TIMESTAMPTZ|10 TSQUERY|10 TSVECTOR|10 ' +\n    'TXID_SNAPSHOT|10 UUID XML NATIONAL NCHAR ' +\n    'INT4RANGE|10 INT8RANGE|10 NUMRANGE|10 TSRANGE|10 TSTZRANGE|10 DATERANGE|10 ' +\n    // pseudotypes\n    'ANYELEMENT ANYARRAY ANYNONARRAY ANYENUM ANYRANGE CSTRING INTERNAL ' +\n    'RECORD PG_DDL_COMMAND VOID UNKNOWN OPAQUE REFCURSOR ' +\n    // spec. type\n    'NAME ' +\n    // OID-types\n    'OID REGPROC|10 REGPROCEDURE|10 REGOPER|10 REGOPERATOR|10 REGCLASS|10 REGTYPE|10 REGROLE|10 ' +\n    'REGNAMESPACE|10 REGCONFIG|10 REGDICTIONARY|10 ';// +\n\n  const TYPES_RE =\n    TYPES.trim()\n      .split(' ')\n      .map(function(val) { return val.split('|')[0]; })\n      .join('|');\n\n  const SQL_BI =\n    'CURRENT_TIME CURRENT_TIMESTAMP CURRENT_USER CURRENT_CATALOG|10 CURRENT_DATE LOCALTIME LOCALTIMESTAMP ' +\n    'CURRENT_ROLE|10 CURRENT_SCHEMA|10 SESSION_USER PUBLIC ';\n\n  const PLPGSQL_BI =\n    'FOUND NEW OLD TG_NAME|10 TG_WHEN|10 TG_LEVEL|10 TG_OP|10 TG_RELID|10 TG_RELNAME|10 ' +\n    'TG_TABLE_NAME|10 TG_TABLE_SCHEMA|10 TG_NARGS|10 TG_ARGV|10 TG_EVENT|10 TG_TAG|10 ' +\n    // get diagnostics\n    'ROW_COUNT RESULT_OID|10 PG_CONTEXT|10 RETURNED_SQLSTATE COLUMN_NAME CONSTRAINT_NAME ' +\n    'PG_DATATYPE_NAME|10 MESSAGE_TEXT TABLE_NAME SCHEMA_NAME PG_EXCEPTION_DETAIL|10 ' +\n    'PG_EXCEPTION_HINT|10 PG_EXCEPTION_CONTEXT|10 ';\n\n  const PLPGSQL_EXCEPTIONS =\n    // exceptions https://www.postgresql.org/docs/current/static/errcodes-appendix.html\n    'SQLSTATE SQLERRM|10 ' +\n    'SUCCESSFUL_COMPLETION WARNING DYNAMIC_RESULT_SETS_RETURNED IMPLICIT_ZERO_BIT_PADDING ' +\n    'NULL_VALUE_ELIMINATED_IN_SET_FUNCTION PRIVILEGE_NOT_GRANTED PRIVILEGE_NOT_REVOKED ' +\n    'STRING_DATA_RIGHT_TRUNCATION DEPRECATED_FEATURE NO_DATA NO_ADDITIONAL_DYNAMIC_RESULT_SETS_RETURNED ' +\n    'SQL_STATEMENT_NOT_YET_COMPLETE CONNECTION_EXCEPTION CONNECTION_DOES_NOT_EXIST CONNECTION_FAILURE ' +\n    'SQLCLIENT_UNABLE_TO_ESTABLISH_SQLCONNECTION SQLSERVER_REJECTED_ESTABLISHMENT_OF_SQLCONNECTION ' +\n    'TRANSACTION_RESOLUTION_UNKNOWN PROTOCOL_VIOLATION TRIGGERED_ACTION_EXCEPTION FEATURE_NOT_SUPPORTED ' +\n    'INVALID_TRANSACTION_INITIATION LOCATOR_EXCEPTION INVALID_LOCATOR_SPECIFICATION INVALID_GRANTOR ' +\n    'INVALID_GRANT_OPERATION INVALID_ROLE_SPECIFICATION DIAGNOSTICS_EXCEPTION ' +\n    'STACKED_DIAGNOSTICS_ACCESSED_WITHOUT_ACTIVE_HANDLER CASE_NOT_FOUND CARDINALITY_VIOLATION ' +\n    'DATA_EXCEPTION ARRAY_SUBSCRIPT_ERROR CHARACTER_NOT_IN_REPERTOIRE DATETIME_FIELD_OVERFLOW ' +\n    'DIVISION_BY_ZERO ERROR_IN_ASSIGNMENT ESCAPE_CHARACTER_CONFLICT INDICATOR_OVERFLOW ' +\n    'INTERVAL_FIELD_OVERFLOW INVALID_ARGUMENT_FOR_LOGARITHM INVALID_ARGUMENT_FOR_NTILE_FUNCTION ' +\n    'INVALID_ARGUMENT_FOR_NTH_VALUE_FUNCTION INVALID_ARGUMENT_FOR_POWER_FUNCTION ' +\n    'INVALID_ARGUMENT_FOR_WIDTH_BUCKET_FUNCTION INVALID_CHARACTER_VALUE_FOR_CAST ' +\n    'INVALID_DATETIME_FORMAT INVALID_ESCAPE_CHARACTER INVALID_ESCAPE_OCTET INVALID_ESCAPE_SEQUENCE ' +\n    'NONSTANDARD_USE_OF_ESCAPE_CHARACTER INVALID_INDICATOR_PARAMETER_VALUE INVALID_PARAMETER_VALUE ' +\n    'INVALID_REGULAR_EXPRESSION INVALID_ROW_COUNT_IN_LIMIT_CLAUSE ' +\n    'INVALID_ROW_COUNT_IN_RESULT_OFFSET_CLAUSE INVALID_TABLESAMPLE_ARGUMENT INVALID_TABLESAMPLE_REPEAT ' +\n    'INVALID_TIME_ZONE_DISPLACEMENT_VALUE INVALID_USE_OF_ESCAPE_CHARACTER MOST_SPECIFIC_TYPE_MISMATCH ' +\n    'NULL_VALUE_NOT_ALLOWED NULL_VALUE_NO_INDICATOR_PARAMETER NUMERIC_VALUE_OUT_OF_RANGE ' +\n    'SEQUENCE_GENERATOR_LIMIT_EXCEEDED STRING_DATA_LENGTH_MISMATCH STRING_DATA_RIGHT_TRUNCATION ' +\n    'SUBSTRING_ERROR TRIM_ERROR UNTERMINATED_C_STRING ZERO_LENGTH_CHARACTER_STRING ' +\n    'FLOATING_POINT_EXCEPTION INVALID_TEXT_REPRESENTATION INVALID_BINARY_REPRESENTATION ' +\n    'BAD_COPY_FILE_FORMAT UNTRANSLATABLE_CHARACTER NOT_AN_XML_DOCUMENT INVALID_XML_DOCUMENT ' +\n    'INVALID_XML_CONTENT INVALID_XML_COMMENT INVALID_XML_PROCESSING_INSTRUCTION ' +\n    'INTEGRITY_CONSTRAINT_VIOLATION RESTRICT_VIOLATION NOT_NULL_VIOLATION FOREIGN_KEY_VIOLATION ' +\n    'UNIQUE_VIOLATION CHECK_VIOLATION EXCLUSION_VIOLATION INVALID_CURSOR_STATE ' +\n    'INVALID_TRANSACTION_STATE ACTIVE_SQL_TRANSACTION BRANCH_TRANSACTION_ALREADY_ACTIVE ' +\n    'HELD_CURSOR_REQUIRES_SAME_ISOLATION_LEVEL INAPPROPRIATE_ACCESS_MODE_FOR_BRANCH_TRANSACTION ' +\n    'INAPPROPRIATE_ISOLATION_LEVEL_FOR_BRANCH_TRANSACTION ' +\n    'NO_ACTIVE_SQL_TRANSACTION_FOR_BRANCH_TRANSACTION READ_ONLY_SQL_TRANSACTION ' +\n    'SCHEMA_AND_DATA_STATEMENT_MIXING_NOT_SUPPORTED NO_ACTIVE_SQL_TRANSACTION ' +\n    'IN_FAILED_SQL_TRANSACTION IDLE_IN_TRANSACTION_SESSION_TIMEOUT INVALID_SQL_STATEMENT_NAME ' +\n    'TRIGGERED_DATA_CHANGE_VIOLATION INVALID_AUTHORIZATION_SPECIFICATION INVALID_PASSWORD ' +\n    'DEPENDENT_PRIVILEGE_DESCRIPTORS_STILL_EXIST DEPENDENT_OBJECTS_STILL_EXIST ' +\n    'INVALID_TRANSACTION_TERMINATION SQL_ROUTINE_EXCEPTION FUNCTION_EXECUTED_NO_RETURN_STATEMENT ' +\n    'MODIFYING_SQL_DATA_NOT_PERMITTED PROHIBITED_SQL_STATEMENT_ATTEMPTED ' +\n    'READING_SQL_DATA_NOT_PERMITTED INVALID_CURSOR_NAME EXTERNAL_ROUTINE_EXCEPTION ' +\n    'CONTAINING_SQL_NOT_PERMITTED MODIFYING_SQL_DATA_NOT_PERMITTED ' +\n    'PROHIBITED_SQL_STATEMENT_ATTEMPTED READING_SQL_DATA_NOT_PERMITTED ' +\n    'EXTERNAL_ROUTINE_INVOCATION_EXCEPTION INVALID_SQLSTATE_RETURNED NULL_VALUE_NOT_ALLOWED ' +\n    'TRIGGER_PROTOCOL_VIOLATED SRF_PROTOCOL_VIOLATED EVENT_TRIGGER_PROTOCOL_VIOLATED ' +\n    'SAVEPOINT_EXCEPTION INVALID_SAVEPOINT_SPECIFICATION INVALID_CATALOG_NAME ' +\n    'INVALID_SCHEMA_NAME TRANSACTION_ROLLBACK TRANSACTION_INTEGRITY_CONSTRAINT_VIOLATION ' +\n    'SERIALIZATION_FAILURE STATEMENT_COMPLETION_UNKNOWN DEADLOCK_DETECTED ' +\n    'SYNTAX_ERROR_OR_ACCESS_RULE_VIOLATION SYNTAX_ERROR INSUFFICIENT_PRIVILEGE CANNOT_COERCE ' +\n    'GROUPING_ERROR WINDOWING_ERROR INVALID_RECURSION INVALID_FOREIGN_KEY INVALID_NAME ' +\n    'NAME_TOO_LONG RESERVED_NAME DATATYPE_MISMATCH INDETERMINATE_DATATYPE COLLATION_MISMATCH ' +\n    'INDETERMINATE_COLLATION WRONG_OBJECT_TYPE GENERATED_ALWAYS UNDEFINED_COLUMN ' +\n    'UNDEFINED_FUNCTION UNDEFINED_TABLE UNDEFINED_PARAMETER UNDEFINED_OBJECT ' +\n    'DUPLICATE_COLUMN DUPLICATE_CURSOR DUPLICATE_DATABASE DUPLICATE_FUNCTION ' +\n    'DUPLICATE_PREPARED_STATEMENT DUPLICATE_SCHEMA DUPLICATE_TABLE DUPLICATE_ALIAS ' +\n    'DUPLICATE_OBJECT AMBIGUOUS_COLUMN AMBIGUOUS_FUNCTION AMBIGUOUS_PARAMETER AMBIGUOUS_ALIAS ' +\n    'INVALID_COLUMN_REFERENCE INVALID_COLUMN_DEFINITION INVALID_CURSOR_DEFINITION ' +\n    'INVALID_DATABASE_DEFINITION INVALID_FUNCTION_DEFINITION ' +\n    'INVALID_PREPARED_STATEMENT_DEFINITION INVALID_SCHEMA_DEFINITION INVALID_TABLE_DEFINITION ' +\n    'INVALID_OBJECT_DEFINITION WITH_CHECK_OPTION_VIOLATION INSUFFICIENT_RESOURCES DISK_FULL ' +\n    'OUT_OF_MEMORY TOO_MANY_CONNECTIONS CONFIGURATION_LIMIT_EXCEEDED PROGRAM_LIMIT_EXCEEDED ' +\n    'STATEMENT_TOO_COMPLEX TOO_MANY_COLUMNS TOO_MANY_ARGUMENTS OBJECT_NOT_IN_PREREQUISITE_STATE ' +\n    'OBJECT_IN_USE CANT_CHANGE_RUNTIME_PARAM LOCK_NOT_AVAILABLE OPERATOR_INTERVENTION ' +\n    'QUERY_CANCELED ADMIN_SHUTDOWN CRASH_SHUTDOWN CANNOT_CONNECT_NOW DATABASE_DROPPED ' +\n    'SYSTEM_ERROR IO_ERROR UNDEFINED_FILE DUPLICATE_FILE SNAPSHOT_TOO_OLD CONFIG_FILE_ERROR ' +\n    'LOCK_FILE_EXISTS FDW_ERROR FDW_COLUMN_NAME_NOT_FOUND FDW_DYNAMIC_PARAMETER_VALUE_NEEDED ' +\n    'FDW_FUNCTION_SEQUENCE_ERROR FDW_INCONSISTENT_DESCRIPTOR_INFORMATION ' +\n    'FDW_INVALID_ATTRIBUTE_VALUE FDW_INVALID_COLUMN_NAME FDW_INVALID_COLUMN_NUMBER ' +\n    'FDW_INVALID_DATA_TYPE FDW_INVALID_DATA_TYPE_DESCRIPTORS ' +\n    'FDW_INVALID_DESCRIPTOR_FIELD_IDENTIFIER FDW_INVALID_HANDLE FDW_INVALID_OPTION_INDEX ' +\n    'FDW_INVALID_OPTION_NAME FDW_INVALID_STRING_LENGTH_OR_BUFFER_LENGTH ' +\n    'FDW_INVALID_STRING_FORMAT FDW_INVALID_USE_OF_NULL_POINTER FDW_TOO_MANY_HANDLES ' +\n    'FDW_OUT_OF_MEMORY FDW_NO_SCHEMAS FDW_OPTION_NAME_NOT_FOUND FDW_REPLY_HANDLE ' +\n    'FDW_SCHEMA_NOT_FOUND FDW_TABLE_NOT_FOUND FDW_UNABLE_TO_CREATE_EXECUTION ' +\n    'FDW_UNABLE_TO_CREATE_REPLY FDW_UNABLE_TO_ESTABLISH_CONNECTION PLPGSQL_ERROR ' +\n    'RAISE_EXCEPTION NO_DATA_FOUND TOO_MANY_ROWS ASSERT_FAILURE INTERNAL_ERROR DATA_CORRUPTED ' +\n    'INDEX_CORRUPTED ';\n\n  const FUNCTIONS =\n    // https://www.postgresql.org/docs/11/static/functions-aggregate.html\n    'ARRAY_AGG AVG BIT_AND BIT_OR BOOL_AND BOOL_OR COUNT EVERY JSON_AGG JSONB_AGG JSON_OBJECT_AGG ' +\n    'JSONB_OBJECT_AGG MAX MIN MODE STRING_AGG SUM XMLAGG ' +\n    'CORR COVAR_POP COVAR_SAMP REGR_AVGX REGR_AVGY REGR_COUNT REGR_INTERCEPT REGR_R2 REGR_SLOPE ' +\n    'REGR_SXX REGR_SXY REGR_SYY STDDEV STDDEV_POP STDDEV_SAMP VARIANCE VAR_POP VAR_SAMP ' +\n    'PERCENTILE_CONT PERCENTILE_DISC ' +\n    // https://www.postgresql.org/docs/11/static/functions-window.html\n    'ROW_NUMBER RANK DENSE_RANK PERCENT_RANK CUME_DIST NTILE LAG LEAD FIRST_VALUE LAST_VALUE NTH_VALUE ' +\n    // https://www.postgresql.org/docs/11/static/functions-comparison.html\n    'NUM_NONNULLS NUM_NULLS ' +\n    // https://www.postgresql.org/docs/11/static/functions-math.html\n    'ABS CBRT CEIL CEILING DEGREES DIV EXP FLOOR LN LOG MOD PI POWER RADIANS ROUND SCALE SIGN SQRT ' +\n    'TRUNC WIDTH_BUCKET ' +\n    'RANDOM SETSEED ' +\n    'ACOS ACOSD ASIN ASIND ATAN ATAND ATAN2 ATAN2D COS COSD COT COTD SIN SIND TAN TAND ' +\n    // https://www.postgresql.org/docs/11/static/functions-string.html\n    'BIT_LENGTH CHAR_LENGTH CHARACTER_LENGTH LOWER OCTET_LENGTH OVERLAY POSITION SUBSTRING TREAT TRIM UPPER ' +\n    'ASCII BTRIM CHR CONCAT CONCAT_WS CONVERT CONVERT_FROM CONVERT_TO DECODE ENCODE INITCAP ' +\n    'LEFT LENGTH LPAD LTRIM MD5 PARSE_IDENT PG_CLIENT_ENCODING QUOTE_IDENT|10 QUOTE_LITERAL|10 ' +\n    'QUOTE_NULLABLE|10 REGEXP_MATCH REGEXP_MATCHES REGEXP_REPLACE REGEXP_SPLIT_TO_ARRAY ' +\n    'REGEXP_SPLIT_TO_TABLE REPEAT REPLACE REVERSE RIGHT RPAD RTRIM SPLIT_PART STRPOS SUBSTR ' +\n    'TO_ASCII TO_HEX TRANSLATE ' +\n    // https://www.postgresql.org/docs/11/static/functions-binarystring.html\n    'OCTET_LENGTH GET_BIT GET_BYTE SET_BIT SET_BYTE ' +\n    // https://www.postgresql.org/docs/11/static/functions-formatting.html\n    'TO_CHAR TO_DATE TO_NUMBER TO_TIMESTAMP ' +\n    // https://www.postgresql.org/docs/11/static/functions-datetime.html\n    'AGE CLOCK_TIMESTAMP|10 DATE_PART DATE_TRUNC ISFINITE JUSTIFY_DAYS JUSTIFY_HOURS JUSTIFY_INTERVAL ' +\n    'MAKE_DATE MAKE_INTERVAL|10 MAKE_TIME MAKE_TIMESTAMP|10 MAKE_TIMESTAMPTZ|10 NOW STATEMENT_TIMESTAMP|10 ' +\n    'TIMEOFDAY TRANSACTION_TIMESTAMP|10 ' +\n    // https://www.postgresql.org/docs/11/static/functions-enum.html\n    'ENUM_FIRST ENUM_LAST ENUM_RANGE ' +\n    // https://www.postgresql.org/docs/11/static/functions-geometry.html\n    'AREA CENTER DIAMETER HEIGHT ISCLOSED ISOPEN NPOINTS PCLOSE POPEN RADIUS WIDTH ' +\n    'BOX BOUND_BOX CIRCLE LINE LSEG PATH POLYGON ' +\n    // https://www.postgresql.org/docs/11/static/functions-net.html\n    'ABBREV BROADCAST HOST HOSTMASK MASKLEN NETMASK NETWORK SET_MASKLEN TEXT INET_SAME_FAMILY ' +\n    'INET_MERGE MACADDR8_SET7BIT ' +\n    // https://www.postgresql.org/docs/11/static/functions-textsearch.html\n    'ARRAY_TO_TSVECTOR GET_CURRENT_TS_CONFIG NUMNODE PLAINTO_TSQUERY PHRASETO_TSQUERY WEBSEARCH_TO_TSQUERY ' +\n    'QUERYTREE SETWEIGHT STRIP TO_TSQUERY TO_TSVECTOR JSON_TO_TSVECTOR JSONB_TO_TSVECTOR TS_DELETE ' +\n    'TS_FILTER TS_HEADLINE TS_RANK TS_RANK_CD TS_REWRITE TSQUERY_PHRASE TSVECTOR_TO_ARRAY ' +\n    'TSVECTOR_UPDATE_TRIGGER TSVECTOR_UPDATE_TRIGGER_COLUMN ' +\n    // https://www.postgresql.org/docs/11/static/functions-xml.html\n    'XMLCOMMENT XMLCONCAT XMLELEMENT XMLFOREST XMLPI XMLROOT ' +\n    'XMLEXISTS XML_IS_WELL_FORMED XML_IS_WELL_FORMED_DOCUMENT XML_IS_WELL_FORMED_CONTENT ' +\n    'XPATH XPATH_EXISTS XMLTABLE XMLNAMESPACES ' +\n    'TABLE_TO_XML TABLE_TO_XMLSCHEMA TABLE_TO_XML_AND_XMLSCHEMA ' +\n    'QUERY_TO_XML QUERY_TO_XMLSCHEMA QUERY_TO_XML_AND_XMLSCHEMA ' +\n    'CURSOR_TO_XML CURSOR_TO_XMLSCHEMA ' +\n    'SCHEMA_TO_XML SCHEMA_TO_XMLSCHEMA SCHEMA_TO_XML_AND_XMLSCHEMA ' +\n    'DATABASE_TO_XML DATABASE_TO_XMLSCHEMA DATABASE_TO_XML_AND_XMLSCHEMA ' +\n    'XMLATTRIBUTES ' +\n    // https://www.postgresql.org/docs/11/static/functions-json.html\n    'TO_JSON TO_JSONB ARRAY_TO_JSON ROW_TO_JSON JSON_BUILD_ARRAY JSONB_BUILD_ARRAY JSON_BUILD_OBJECT ' +\n    'JSONB_BUILD_OBJECT JSON_OBJECT JSONB_OBJECT JSON_ARRAY_LENGTH JSONB_ARRAY_LENGTH JSON_EACH ' +\n    'JSONB_EACH JSON_EACH_TEXT JSONB_EACH_TEXT JSON_EXTRACT_PATH JSONB_EXTRACT_PATH ' +\n    'JSON_OBJECT_KEYS JSONB_OBJECT_KEYS JSON_POPULATE_RECORD JSONB_POPULATE_RECORD JSON_POPULATE_RECORDSET ' +\n    'JSONB_POPULATE_RECORDSET JSON_ARRAY_ELEMENTS JSONB_ARRAY_ELEMENTS JSON_ARRAY_ELEMENTS_TEXT ' +\n    'JSONB_ARRAY_ELEMENTS_TEXT JSON_TYPEOF JSONB_TYPEOF JSON_TO_RECORD JSONB_TO_RECORD JSON_TO_RECORDSET ' +\n    'JSONB_TO_RECORDSET JSON_STRIP_NULLS JSONB_STRIP_NULLS JSONB_SET JSONB_INSERT JSONB_PRETTY ' +\n    // https://www.postgresql.org/docs/11/static/functions-sequence.html\n    'CURRVAL LASTVAL NEXTVAL SETVAL ' +\n    // https://www.postgresql.org/docs/11/static/functions-conditional.html\n    'COALESCE NULLIF GREATEST LEAST ' +\n    // https://www.postgresql.org/docs/11/static/functions-array.html\n    'ARRAY_APPEND ARRAY_CAT ARRAY_NDIMS ARRAY_DIMS ARRAY_FILL ARRAY_LENGTH ARRAY_LOWER ARRAY_POSITION ' +\n    'ARRAY_POSITIONS ARRAY_PREPEND ARRAY_REMOVE ARRAY_REPLACE ARRAY_TO_STRING ARRAY_UPPER CARDINALITY ' +\n    'STRING_TO_ARRAY UNNEST ' +\n    // https://www.postgresql.org/docs/11/static/functions-range.html\n    'ISEMPTY LOWER_INC UPPER_INC LOWER_INF UPPER_INF RANGE_MERGE ' +\n    // https://www.postgresql.org/docs/11/static/functions-srf.html\n    'GENERATE_SERIES GENERATE_SUBSCRIPTS ' +\n    // https://www.postgresql.org/docs/11/static/functions-info.html\n    'CURRENT_DATABASE CURRENT_QUERY CURRENT_SCHEMA|10 CURRENT_SCHEMAS|10 INET_CLIENT_ADDR INET_CLIENT_PORT ' +\n    'INET_SERVER_ADDR INET_SERVER_PORT ROW_SECURITY_ACTIVE FORMAT_TYPE ' +\n    'TO_REGCLASS TO_REGPROC TO_REGPROCEDURE TO_REGOPER TO_REGOPERATOR TO_REGTYPE TO_REGNAMESPACE TO_REGROLE ' +\n    'COL_DESCRIPTION OBJ_DESCRIPTION SHOBJ_DESCRIPTION ' +\n    'TXID_CURRENT TXID_CURRENT_IF_ASSIGNED TXID_CURRENT_SNAPSHOT TXID_SNAPSHOT_XIP TXID_SNAPSHOT_XMAX ' +\n    'TXID_SNAPSHOT_XMIN TXID_VISIBLE_IN_SNAPSHOT TXID_STATUS ' +\n    // https://www.postgresql.org/docs/11/static/functions-admin.html\n    'CURRENT_SETTING SET_CONFIG BRIN_SUMMARIZE_NEW_VALUES BRIN_SUMMARIZE_RANGE BRIN_DESUMMARIZE_RANGE ' +\n    'GIN_CLEAN_PENDING_LIST ' +\n    // https://www.postgresql.org/docs/11/static/functions-trigger.html\n    'SUPPRESS_REDUNDANT_UPDATES_TRIGGER ' +\n    // ihttps://www.postgresql.org/docs/devel/static/lo-funcs.html\n    'LO_FROM_BYTEA LO_PUT LO_GET LO_CREAT LO_CREATE LO_UNLINK LO_IMPORT LO_EXPORT LOREAD LOWRITE ' +\n    //\n    'GROUPING CAST ';\n\n  const FUNCTIONS_RE =\n      FUNCTIONS.trim()\n        .split(' ')\n        .map(function(val) { return val.split('|')[0]; })\n        .join('|');\n\n  return {\n    name: 'PostgreSQL',\n    aliases: [\n      'postgres',\n      'postgresql'\n    ],\n    case_insensitive: true,\n    keywords: {\n      keyword:\n            SQL_KW + PLPGSQL_KW + ROLE_ATTRS,\n      built_in:\n            SQL_BI + PLPGSQL_BI + PLPGSQL_EXCEPTIONS\n    },\n    // Forbid some cunstructs from other languages to improve autodetect. In fact\n    // \"[a-z]:\" is legal (as part of array slice), but improbabal.\n    illegal: /:==|\\W\\s*\\(\\*|(^|\\s)\\$[a-z]|\\{\\{|[a-z]:\\s*$|\\.\\.\\.|TO:|DO:/,\n    contains: [\n      // special handling of some words, which are reserved only in some contexts\n      {\n        className: 'keyword',\n        variants: [\n          {\n            begin: /\\bTEXT\\s*SEARCH\\b/\n          },\n          {\n            begin: /\\b(PRIMARY|FOREIGN|FOR(\\s+NO)?)\\s+KEY\\b/\n          },\n          {\n            begin: /\\bPARALLEL\\s+(UNSAFE|RESTRICTED|SAFE)\\b/\n          },\n          {\n            begin: /\\bSTORAGE\\s+(PLAIN|EXTERNAL|EXTENDED|MAIN)\\b/\n          },\n          {\n            begin: /\\bMATCH\\s+(FULL|PARTIAL|SIMPLE)\\b/\n          },\n          {\n            begin: /\\bNULLS\\s+(FIRST|LAST)\\b/\n          },\n          {\n            begin: /\\bEVENT\\s+TRIGGER\\b/\n          },\n          {\n            begin: /\\b(MAPPING|OR)\\s+REPLACE\\b/\n          },\n          {\n            begin: /\\b(FROM|TO)\\s+(PROGRAM|STDIN|STDOUT)\\b/\n          },\n          {\n            begin: /\\b(SHARE|EXCLUSIVE)\\s+MODE\\b/\n          },\n          {\n            begin: /\\b(LEFT|RIGHT)\\s+(OUTER\\s+)?JOIN\\b/\n          },\n          {\n            begin: /\\b(FETCH|MOVE)\\s+(NEXT|PRIOR|FIRST|LAST|ABSOLUTE|RELATIVE|FORWARD|BACKWARD)\\b/\n          },\n          {\n            begin: /\\bPRESERVE\\s+ROWS\\b/\n          },\n          {\n            begin: /\\bDISCARD\\s+PLANS\\b/\n          },\n          {\n            begin: /\\bREFERENCING\\s+(OLD|NEW)\\b/\n          },\n          {\n            begin: /\\bSKIP\\s+LOCKED\\b/\n          },\n          {\n            begin: /\\bGROUPING\\s+SETS\\b/\n          },\n          {\n            begin: /\\b(BINARY|INSENSITIVE|SCROLL|NO\\s+SCROLL)\\s+(CURSOR|FOR)\\b/\n          },\n          {\n            begin: /\\b(WITH|WITHOUT)\\s+HOLD\\b/\n          },\n          {\n            begin: /\\bWITH\\s+(CASCADED|LOCAL)\\s+CHECK\\s+OPTION\\b/\n          },\n          {\n            begin: /\\bEXCLUDE\\s+(TIES|NO\\s+OTHERS)\\b/\n          },\n          {\n            begin: /\\bFORMAT\\s+(TEXT|XML|JSON|YAML)\\b/\n          },\n          {\n            begin: /\\bSET\\s+((SESSION|LOCAL)\\s+)?NAMES\\b/\n          },\n          {\n            begin: /\\bIS\\s+(NOT\\s+)?UNKNOWN\\b/\n          },\n          {\n            begin: /\\bSECURITY\\s+LABEL\\b/\n          },\n          {\n            begin: /\\bSTANDALONE\\s+(YES|NO|NO\\s+VALUE)\\b/\n          },\n          {\n            begin: /\\bWITH\\s+(NO\\s+)?DATA\\b/\n          },\n          {\n            begin: /\\b(FOREIGN|SET)\\s+DATA\\b/\n          },\n          {\n            begin: /\\bSET\\s+(CATALOG|CONSTRAINTS)\\b/\n          },\n          {\n            begin: /\\b(WITH|FOR)\\s+ORDINALITY\\b/\n          },\n          {\n            begin: /\\bIS\\s+(NOT\\s+)?DOCUMENT\\b/\n          },\n          {\n            begin: /\\bXML\\s+OPTION\\s+(DOCUMENT|CONTENT)\\b/\n          },\n          {\n            begin: /\\b(STRIP|PRESERVE)\\s+WHITESPACE\\b/\n          },\n          {\n            begin: /\\bNO\\s+(ACTION|MAXVALUE|MINVALUE)\\b/\n          },\n          {\n            begin: /\\bPARTITION\\s+BY\\s+(RANGE|LIST|HASH)\\b/\n          },\n          {\n            begin: /\\bAT\\s+TIME\\s+ZONE\\b/\n          },\n          {\n            begin: /\\bGRANTED\\s+BY\\b/\n          },\n          {\n            begin: /\\bRETURN\\s+(QUERY|NEXT)\\b/\n          },\n          {\n            begin: /\\b(ATTACH|DETACH)\\s+PARTITION\\b/\n          },\n          {\n            begin: /\\bFORCE\\s+ROW\\s+LEVEL\\s+SECURITY\\b/\n          },\n          {\n            begin: /\\b(INCLUDING|EXCLUDING)\\s+(COMMENTS|CONSTRAINTS|DEFAULTS|IDENTITY|INDEXES|STATISTICS|STORAGE|ALL)\\b/\n          },\n          {\n            begin: /\\bAS\\s+(ASSIGNMENT|IMPLICIT|PERMISSIVE|RESTRICTIVE|ENUM|RANGE)\\b/\n          }\n        ]\n      },\n      // functions named as keywords, followed by '('\n      {\n        begin: /\\b(FORMAT|FAMILY|VERSION)\\s*\\(/\n        // keywords: { built_in: 'FORMAT FAMILY VERSION' }\n      },\n      // INCLUDE ( ... ) in index_parameters in CREATE TABLE\n      {\n        begin: /\\bINCLUDE\\s*\\(/,\n        keywords: 'INCLUDE'\n      },\n      // not highlight RANGE if not in frame_clause (not 100% correct, but seems satisfactory)\n      {\n        begin: /\\bRANGE(?!\\s*(BETWEEN|UNBOUNDED|CURRENT|[-0-9]+))/\n      },\n      // disable highlighting in commands CREATE AGGREGATE/COLLATION/DATABASE/OPERTOR/TEXT SEARCH .../TYPE\n      // and in PL/pgSQL RAISE ... USING\n      {\n        begin: /\\b(VERSION|OWNER|TEMPLATE|TABLESPACE|CONNECTION\\s+LIMIT|PROCEDURE|RESTRICT|JOIN|PARSER|COPY|START|END|COLLATION|INPUT|ANALYZE|STORAGE|LIKE|DEFAULT|DELIMITER|ENCODING|COLUMN|CONSTRAINT|TABLE|SCHEMA)\\s*=/\n      },\n      // PG_smth; HAS_some_PRIVILEGE\n      {\n        // className: 'built_in',\n        begin: /\\b(PG_\\w+?|HAS_[A-Z_]+_PRIVILEGE)\\b/,\n        relevance: 10\n      },\n      // extract\n      {\n        begin: /\\bEXTRACT\\s*\\(/,\n        end: /\\bFROM\\b/,\n        returnEnd: true,\n        keywords: {\n          // built_in: 'EXTRACT',\n          type: 'CENTURY DAY DECADE DOW DOY EPOCH HOUR ISODOW ISOYEAR MICROSECONDS ' +\n                        'MILLENNIUM MILLISECONDS MINUTE MONTH QUARTER SECOND TIMEZONE TIMEZONE_HOUR ' +\n                        'TIMEZONE_MINUTE WEEK YEAR'\n        }\n      },\n      // xmlelement, xmlpi - special NAME\n      {\n        begin: /\\b(XMLELEMENT|XMLPI)\\s*\\(\\s*NAME/,\n        keywords: {\n          // built_in: 'XMLELEMENT XMLPI',\n          keyword: 'NAME'\n        }\n      },\n      // xmlparse, xmlserialize\n      {\n        begin: /\\b(XMLPARSE|XMLSERIALIZE)\\s*\\(\\s*(DOCUMENT|CONTENT)/,\n        keywords: {\n          // built_in: 'XMLPARSE XMLSERIALIZE',\n          keyword: 'DOCUMENT CONTENT'\n        }\n      },\n      // Sequences. We actually skip everything between CACHE|INCREMENT|MAXVALUE|MINVALUE and\n      // nearest following numeric constant. Without with trick we find a lot of \"keywords\"\n      // in 'avrasm' autodetection test...\n      {\n        beginKeywords: 'CACHE INCREMENT MAXVALUE MINVALUE',\n        end: hljs.C_NUMBER_RE,\n        returnEnd: true,\n        keywords: 'BY CACHE INCREMENT MAXVALUE MINVALUE'\n      },\n      // WITH|WITHOUT TIME ZONE as part of datatype\n      {\n        className: 'type',\n        begin: /\\b(WITH|WITHOUT)\\s+TIME\\s+ZONE\\b/\n      },\n      // INTERVAL optional fields\n      {\n        className: 'type',\n        begin: /\\bINTERVAL\\s+(YEAR|MONTH|DAY|HOUR|MINUTE|SECOND)(\\s+TO\\s+(MONTH|HOUR|MINUTE|SECOND))?\\b/\n      },\n      // Pseudo-types which allowed only as return type\n      {\n        begin: /\\bRETURNS\\s+(LANGUAGE_HANDLER|TRIGGER|EVENT_TRIGGER|FDW_HANDLER|INDEX_AM_HANDLER|TSM_HANDLER)\\b/,\n        keywords: {\n          keyword: 'RETURNS',\n          type: 'LANGUAGE_HANDLER TRIGGER EVENT_TRIGGER FDW_HANDLER INDEX_AM_HANDLER TSM_HANDLER'\n        }\n      },\n      // Known functions - only when followed by '('\n      {\n        begin: '\\\\b(' + FUNCTIONS_RE + ')\\\\s*\\\\('\n        // keywords: { built_in: FUNCTIONS }\n      },\n      // Types\n      {\n        begin: '\\\\.(' + TYPES_RE + ')\\\\b' // prevent highlight as type, say, 'oid' in 'pgclass.oid'\n      },\n      {\n        begin: '\\\\b(' + TYPES_RE + ')\\\\s+PATH\\\\b', // in XMLTABLE\n        keywords: {\n          keyword: 'PATH', // hopefully no one would use PATH type in XMLTABLE...\n          type: TYPES.replace('PATH ', '')\n        }\n      },\n      {\n        className: 'type',\n        begin: '\\\\b(' + TYPES_RE + ')\\\\b'\n      },\n      // Strings, see https://www.postgresql.org/docs/11/static/sql-syntax-lexical.html#SQL-SYNTAX-CONSTANTS\n      {\n        className: 'string',\n        begin: '\\'',\n        end: '\\'',\n        contains: [\n          {\n            begin: '\\'\\''\n          }\n        ]\n      },\n      {\n        className: 'string',\n        begin: '(e|E|u&|U&)\\'',\n        end: '\\'',\n        contains: [\n          {\n            begin: '\\\\\\\\.'\n          }\n        ],\n        relevance: 10\n      },\n      hljs.END_SAME_AS_BEGIN({\n        begin: DOLLAR_STRING,\n        end: DOLLAR_STRING,\n        contains: [\n          {\n            // actually we want them all except SQL; listed are those with known implementations\n            // and XML + JSON just in case\n            subLanguage: [\n              'pgsql',\n              'perl',\n              'python',\n              'tcl',\n              'r',\n              'lua',\n              'java',\n              'php',\n              'ruby',\n              'bash',\n              'scheme',\n              'xml',\n              'json'\n            ],\n            endsWithParent: true\n          }\n        ]\n      }),\n      // identifiers in quotes\n      {\n        begin: '\"',\n        end: '\"',\n        contains: [\n          {\n            begin: '\"\"'\n          }\n        ]\n      },\n      // numbers\n      hljs.C_NUMBER_MODE,\n      // comments\n      hljs.C_BLOCK_COMMENT_MODE,\n      COMMENT_MODE,\n      // PL/pgSQL staff\n      // %ROWTYPE, %TYPE, $n\n      {\n        className: 'meta',\n        variants: [\n          { // %TYPE, %ROWTYPE\n            begin: '%(ROW)?TYPE',\n            relevance: 10\n          },\n          { // $n\n            begin: '\\\\$\\\\d+'\n          },\n          { // #compiler option\n            begin: '^#\\\\w',\n            end: '$'\n          }\n        ]\n      },\n      // <>\n      {\n        className: 'symbol',\n        begin: LABEL,\n        relevance: 10\n      }\n    ]\n  };\n}\n\nmodule.exports = pgsql;\n","/**\n * @param {string} value\n * @returns {RegExp}\n * */\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction source(re) {\n  if (!re) return null;\n  if (typeof re === \"string\") return re;\n\n  return re.source;\n}\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction anyNumberOfTimes(re) {\n  return concat('(', re, ')*');\n}\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction optional(re) {\n  return concat('(', re, ')?');\n}\n\n/**\n * @param {...(RegExp | string) } args\n * @returns {string}\n */\nfunction concat(...args) {\n  const joined = args.map((x) => source(x)).join(\"\");\n  return joined;\n}\n\n/**\n * Any of the passed expresssions may match\n *\n * Creates a huge this | this | that | that match\n * @param {(RegExp | string)[] } args\n * @returns {string}\n */\nfunction either(...args) {\n  const joined = '(' + args.map((x) => source(x)).join(\"|\") + \")\";\n  return joined;\n}\n\n/*\nLanguage: Handlebars\nRequires: xml.js\nAuthor: Robin Ward \nDescription: Matcher for Handlebars as well as EmberJS additions.\nWebsite: https://handlebarsjs.com\nCategory: template\n*/\n\nfunction handlebars(hljs) {\n  const BUILT_INS = {\n    'builtin-name': [\n      'action',\n      'bindattr',\n      'collection',\n      'component',\n      'concat',\n      'debugger',\n      'each',\n      'each-in',\n      'get',\n      'hash',\n      'if',\n      'in',\n      'input',\n      'link-to',\n      'loc',\n      'log',\n      'lookup',\n      'mut',\n      'outlet',\n      'partial',\n      'query-params',\n      'render',\n      'template',\n      'textarea',\n      'unbound',\n      'unless',\n      'view',\n      'with',\n      'yield'\n    ]\n  };\n\n  const LITERALS = {\n    literal: [\n      'true',\n      'false',\n      'undefined',\n      'null'\n    ]\n  };\n\n  // as defined in https://handlebarsjs.com/guide/expressions.html#literal-segments\n  // this regex matches literal segments like ' abc ' or [ abc ] as well as helpers and paths\n  // like a/b, ./abc/cde, and abc.bcd\n\n  const DOUBLE_QUOTED_ID_REGEX = /\"\"|\"[^\"]+\"/;\n  const SINGLE_QUOTED_ID_REGEX = /''|'[^']+'/;\n  const BRACKET_QUOTED_ID_REGEX = /\\[\\]|\\[[^\\]]+\\]/;\n  const PLAIN_ID_REGEX = /[^\\s!\"#%&'()*+,.\\/;<=>@\\[\\\\\\]^`{|}~]+/;\n  const PATH_DELIMITER_REGEX = /(\\.|\\/)/;\n  const ANY_ID = either(\n    DOUBLE_QUOTED_ID_REGEX,\n    SINGLE_QUOTED_ID_REGEX,\n    BRACKET_QUOTED_ID_REGEX,\n    PLAIN_ID_REGEX\n    );\n\n  const IDENTIFIER_REGEX = concat(\n    optional(/\\.|\\.\\/|\\//), // relative or absolute path\n    ANY_ID,\n    anyNumberOfTimes(concat(\n      PATH_DELIMITER_REGEX,\n      ANY_ID\n    ))\n  );\n\n  // identifier followed by a equal-sign (without the equal sign)\n  const HASH_PARAM_REGEX = concat(\n    '(',\n    BRACKET_QUOTED_ID_REGEX, '|',\n    PLAIN_ID_REGEX,\n    ')(?==)'\n  );\n\n  const HELPER_NAME_OR_PATH_EXPRESSION = {\n    begin: IDENTIFIER_REGEX,\n    lexemes: /[\\w.\\/]+/\n  };\n\n  const HELPER_PARAMETER = hljs.inherit(HELPER_NAME_OR_PATH_EXPRESSION, {\n    keywords: LITERALS\n  });\n\n  const SUB_EXPRESSION = {\n    begin: /\\(/,\n    end: /\\)/\n    // the \"contains\" is added below when all necessary sub-modes are defined\n  };\n\n  const HASH = {\n    // fka \"attribute-assignment\", parameters of the form 'key=value'\n    className: 'attr',\n    begin: HASH_PARAM_REGEX,\n    relevance: 0,\n    starts: {\n      begin: /=/,\n      end: /=/,\n      starts: {\n        contains: [\n          hljs.NUMBER_MODE,\n          hljs.QUOTE_STRING_MODE,\n          hljs.APOS_STRING_MODE,\n          HELPER_PARAMETER,\n          SUB_EXPRESSION\n        ]\n      }\n    }\n  };\n\n  const BLOCK_PARAMS = {\n    // parameters of the form '{{#with x as | y |}}...{{/with}}'\n    begin: /as\\s+\\|/,\n    keywords: {\n      keyword: 'as'\n    },\n    end: /\\|/,\n    contains: [\n      {\n        // define sub-mode in order to prevent highlighting of block-parameter named \"as\"\n        begin: /\\w+/\n      }\n    ]\n  };\n\n  const HELPER_PARAMETERS = {\n    contains: [\n      hljs.NUMBER_MODE,\n      hljs.QUOTE_STRING_MODE,\n      hljs.APOS_STRING_MODE,\n      BLOCK_PARAMS,\n      HASH,\n      HELPER_PARAMETER,\n      SUB_EXPRESSION\n    ],\n    returnEnd: true\n    // the property \"end\" is defined through inheritance when the mode is used. If depends\n    // on the surrounding mode, but \"endsWithParent\" does not work here (i.e. it includes the\n    // end-token of the surrounding mode)\n  };\n\n  const SUB_EXPRESSION_CONTENTS = hljs.inherit(HELPER_NAME_OR_PATH_EXPRESSION, {\n    className: 'name',\n    keywords: BUILT_INS,\n    starts: hljs.inherit(HELPER_PARAMETERS, {\n      end: /\\)/\n    })\n  });\n\n  SUB_EXPRESSION.contains = [SUB_EXPRESSION_CONTENTS];\n\n  const OPENING_BLOCK_MUSTACHE_CONTENTS = hljs.inherit(HELPER_NAME_OR_PATH_EXPRESSION, {\n    keywords: BUILT_INS,\n    className: 'name',\n    starts: hljs.inherit(HELPER_PARAMETERS, {\n      end: /\\}\\}/\n    })\n  });\n\n  const CLOSING_BLOCK_MUSTACHE_CONTENTS = hljs.inherit(HELPER_NAME_OR_PATH_EXPRESSION, {\n    keywords: BUILT_INS,\n    className: 'name'\n  });\n\n  const BASIC_MUSTACHE_CONTENTS = hljs.inherit(HELPER_NAME_OR_PATH_EXPRESSION, {\n    className: 'name',\n    keywords: BUILT_INS,\n    starts: hljs.inherit(HELPER_PARAMETERS, {\n      end: /\\}\\}/\n    })\n  });\n\n  const ESCAPE_MUSTACHE_WITH_PRECEEDING_BACKSLASH = {\n    begin: /\\\\\\{\\{/,\n    skip: true\n  };\n  const PREVENT_ESCAPE_WITH_ANOTHER_PRECEEDING_BACKSLASH = {\n    begin: /\\\\\\\\(?=\\{\\{)/,\n    skip: true\n  };\n\n  return {\n    name: 'Handlebars',\n    aliases: [\n      'hbs',\n      'html.hbs',\n      'html.handlebars',\n      'htmlbars'\n    ],\n    case_insensitive: true,\n    subLanguage: 'xml',\n    contains: [\n      ESCAPE_MUSTACHE_WITH_PRECEEDING_BACKSLASH,\n      PREVENT_ESCAPE_WITH_ANOTHER_PRECEEDING_BACKSLASH,\n      hljs.COMMENT(/\\{\\{!--/, /--\\}\\}/),\n      hljs.COMMENT(/\\{\\{!/, /\\}\\}/),\n      {\n        // open raw block \"{{{{raw}}}} content not evaluated {{{{/raw}}}}\"\n        className: 'template-tag',\n        begin: /\\{\\{\\{\\{(?!\\/)/,\n        end: /\\}\\}\\}\\}/,\n        contains: [OPENING_BLOCK_MUSTACHE_CONTENTS],\n        starts: {\n          end: /\\{\\{\\{\\{\\//,\n          returnEnd: true,\n          subLanguage: 'xml'\n        }\n      },\n      {\n        // close raw block\n        className: 'template-tag',\n        begin: /\\{\\{\\{\\{\\//,\n        end: /\\}\\}\\}\\}/,\n        contains: [CLOSING_BLOCK_MUSTACHE_CONTENTS]\n      },\n      {\n        // open block statement\n        className: 'template-tag',\n        begin: /\\{\\{#/,\n        end: /\\}\\}/,\n        contains: [OPENING_BLOCK_MUSTACHE_CONTENTS]\n      },\n      {\n        className: 'template-tag',\n        begin: /\\{\\{(?=else\\}\\})/,\n        end: /\\}\\}/,\n        keywords: 'else'\n      },\n      {\n        className: 'template-tag',\n        begin: /\\{\\{(?=else if)/,\n        end: /\\}\\}/,\n        keywords: 'else if'\n      },\n      {\n        // closing block statement\n        className: 'template-tag',\n        begin: /\\{\\{\\//,\n        end: /\\}\\}/,\n        contains: [CLOSING_BLOCK_MUSTACHE_CONTENTS]\n      },\n      {\n        // template variable or helper-call that is NOT html-escaped\n        className: 'template-variable',\n        begin: /\\{\\{\\{/,\n        end: /\\}\\}\\}/,\n        contains: [BASIC_MUSTACHE_CONTENTS]\n      },\n      {\n        // template variable or helper-call that is html-escaped\n        className: 'template-variable',\n        begin: /\\{\\{/,\n        end: /\\}\\}/,\n        contains: [BASIC_MUSTACHE_CONTENTS]\n      }\n    ]\n  };\n}\n\n/*\n Language: HTMLBars (legacy)\n Requires: xml.js\n Description: Matcher for Handlebars as well as EmberJS additions.\n Website: https://github.com/tildeio/htmlbars\n Category: template\n */\n\nfunction htmlbars(hljs) {\n  const definition = handlebars(hljs);\n\n  definition.name = \"HTMLbars\";\n\n  // HACK: This lets handlebars do the auto-detection if it's been loaded (by\n  // default the build script will load in alphabetical order) and if not (perhaps\n  // an install is only using `htmlbars`, not `handlebars`) then this will still\n  // allow HTMLBars to participate in the auto-detection\n\n  // worse case someone will have HTMLbars and handlebars competing for the same\n  // content and will need to change their setup to only require handlebars, but\n  // I don't consider this a breaking change\n  if (hljs.getLanguage(\"handlebars\")) {\n    definition.disableAutodetect = true;\n  }\n\n  return definition;\n}\n\nmodule.exports = htmlbars;\n","/**\n * @license React\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';var aa=require(\"react\"),ca=require(\"scheduler\");function p(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;cb}return!1}function v(a,b,c,d,e,f,g){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f;this.removeEmptyString=g}var z={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){z[a]=new v(a,0,!1,a,null,!1,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];z[b]=new v(b,1,!1,a[1],null,!1,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){z[a]=new v(a,2,!1,a.toLowerCase(),null,!1,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){z[a]=new v(a,2,!1,a,null,!1,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){z[a]=new v(a,3,!1,a.toLowerCase(),null,!1,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){z[a]=new v(a,3,!0,a,null,!1,!1)});[\"capture\",\"download\"].forEach(function(a){z[a]=new v(a,4,!1,a,null,!1,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){z[a]=new v(a,6,!1,a,null,!1,!1)});[\"rowSpan\",\"start\"].forEach(function(a){z[a]=new v(a,5,!1,a.toLowerCase(),null,!1,!1)});var ra=/[\\-:]([a-z])/g;function sa(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(ra,\nsa);z[b]=new v(b,1,!1,a,null,!1,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1,!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1,!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!1,!1)});\nz.xlinkHref=new v(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!0,!0)});\nfunction ta(a,b,c,d){var e=z.hasOwnProperty(b)?z[b]:null;if(null!==e?0!==e.type:d||!(2h||e[g]!==f[h]){var k=\"\\n\"+e[g].replace(\" at new \",\" at \");a.displayName&&k.includes(\"\")&&(k=k.replace(\"\",a.displayName));return k}while(1<=g&&0<=h)}break}}}finally{Na=!1,Error.prepareStackTrace=c}return(a=a?a.displayName||a.name:\"\")?Ma(a):\"\"}\nfunction Pa(a){switch(a.tag){case 5:return Ma(a.type);case 16:return Ma(\"Lazy\");case 13:return Ma(\"Suspense\");case 19:return Ma(\"SuspenseList\");case 0:case 2:case 15:return a=Oa(a.type,!1),a;case 11:return a=Oa(a.type.render,!1),a;case 1:return a=Oa(a.type,!0),a;default:return\"\"}}\nfunction Qa(a){if(null==a)return null;if(\"function\"===typeof a)return a.displayName||a.name||null;if(\"string\"===typeof a)return a;switch(a){case ya:return\"Fragment\";case wa:return\"Portal\";case Aa:return\"Profiler\";case za:return\"StrictMode\";case Ea:return\"Suspense\";case Fa:return\"SuspenseList\"}if(\"object\"===typeof a)switch(a.$$typeof){case Ca:return(a.displayName||\"Context\")+\".Consumer\";case Ba:return(a._context.displayName||\"Context\")+\".Provider\";case Da:var b=a.render;a=a.displayName;a||(a=b.displayName||\nb.name||\"\",a=\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");return a;case Ga:return b=a.displayName||null,null!==b?b:Qa(a.type)||\"Memo\";case Ha:b=a._payload;a=a._init;try{return Qa(a(b))}catch(c){}}return null}\nfunction Ra(a){var b=a.type;switch(a.tag){case 24:return\"Cache\";case 9:return(b.displayName||\"Context\")+\".Consumer\";case 10:return(b._context.displayName||\"Context\")+\".Provider\";case 18:return\"DehydratedFragment\";case 11:return a=b.render,a=a.displayName||a.name||\"\",b.displayName||(\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");case 7:return\"Fragment\";case 5:return b;case 4:return\"Portal\";case 3:return\"Root\";case 6:return\"Text\";case 16:return Qa(b);case 8:return b===za?\"StrictMode\":\"Mode\";case 22:return\"Offscreen\";\ncase 12:return\"Profiler\";case 21:return\"Scope\";case 13:return\"Suspense\";case 19:return\"SuspenseList\";case 25:return\"TracingMarker\";case 1:case 0:case 17:case 2:case 14:case 15:if(\"function\"===typeof b)return b.displayName||b.name||null;if(\"string\"===typeof b)return b}return null}function Sa(a){switch(typeof a){case \"boolean\":case \"number\":case \"string\":case \"undefined\":return a;case \"object\":return a;default:return\"\"}}\nfunction Ta(a){var b=a.type;return(a=a.nodeName)&&\"input\"===a.toLowerCase()&&(\"checkbox\"===b||\"radio\"===b)}\nfunction Ua(a){var b=Ta(a)?\"checked\":\"value\",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=\"\"+a[b];if(!a.hasOwnProperty(b)&&\"undefined\"!==typeof c&&\"function\"===typeof c.get&&\"function\"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=\"\"+a;f.call(this,a)}});Object.defineProperty(a,b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=\"\"+a},stopTracking:function(){a._valueTracker=\nnull;delete a[b]}}}}function Va(a){a._valueTracker||(a._valueTracker=Ua(a))}function Wa(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d=\"\";a&&(d=Ta(a)?a.checked?\"true\":\"false\":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}function Xa(a){a=a||(\"undefined\"!==typeof document?document:void 0);if(\"undefined\"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}\nfunction Ya(a,b){var c=b.checked;return A({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})}function Za(a,b){var c=null==b.defaultValue?\"\":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=Sa(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:\"checkbox\"===b.type||\"radio\"===b.type?null!=b.checked:null!=b.value}}function ab(a,b){b=b.checked;null!=b&&ta(a,\"checked\",b,!1)}\nfunction bb(a,b){ab(a,b);var c=Sa(b.value),d=b.type;if(null!=c)if(\"number\"===d){if(0===c&&\"\"===a.value||a.value!=c)a.value=\"\"+c}else a.value!==\"\"+c&&(a.value=\"\"+c);else if(\"submit\"===d||\"reset\"===d){a.removeAttribute(\"value\");return}b.hasOwnProperty(\"value\")?cb(a,b.type,c):b.hasOwnProperty(\"defaultValue\")&&cb(a,b.type,Sa(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}\nfunction db(a,b,c){if(b.hasOwnProperty(\"value\")||b.hasOwnProperty(\"defaultValue\")){var d=b.type;if(!(\"submit\"!==d&&\"reset\"!==d||void 0!==b.value&&null!==b.value))return;b=\"\"+a._wrapperState.initialValue;c||b===a.value||(a.value=b);a.defaultValue=b}c=a.name;\"\"!==c&&(a.name=\"\");a.defaultChecked=!!a._wrapperState.initialChecked;\"\"!==c&&(a.name=c)}\nfunction cb(a,b,c){if(\"number\"!==b||Xa(a.ownerDocument)!==a)null==c?a.defaultValue=\"\"+a._wrapperState.initialValue:a.defaultValue!==\"\"+c&&(a.defaultValue=\"\"+c)}var eb=Array.isArray;\nfunction fb(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e\"+b.valueOf().toString()+\"\";for(b=mb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction ob(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}\nvar pb={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,\nzoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},qb=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(pb).forEach(function(a){qb.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);pb[b]=pb[a]})});function rb(a,b,c){return null==b||\"boolean\"===typeof b||\"\"===b?\"\":c||\"number\"!==typeof b||0===b||pb.hasOwnProperty(a)&&pb[a]?(\"\"+b).trim():b+\"px\"}\nfunction sb(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\"),e=rb(c,b[c],d);\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var tb=A({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});\nfunction ub(a,b){if(b){if(tb[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML))throw Error(p(137,a));if(null!=b.dangerouslySetInnerHTML){if(null!=b.children)throw Error(p(60));if(\"object\"!==typeof b.dangerouslySetInnerHTML||!(\"__html\"in b.dangerouslySetInnerHTML))throw Error(p(61));}if(null!=b.style&&\"object\"!==typeof b.style)throw Error(p(62));}}\nfunction vb(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){case \"annotation-xml\":case \"color-profile\":case \"font-face\":case \"font-face-src\":case \"font-face-uri\":case \"font-face-format\":case \"font-face-name\":case \"missing-glyph\":return!1;default:return!0}}var wb=null;function xb(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a}var yb=null,zb=null,Ab=null;\nfunction Bb(a){if(a=Cb(a)){if(\"function\"!==typeof yb)throw Error(p(280));var b=a.stateNode;b&&(b=Db(b),yb(a.stateNode,a.type,b))}}function Eb(a){zb?Ab?Ab.push(a):Ab=[a]:zb=a}function Fb(){if(zb){var a=zb,b=Ab;Ab=zb=null;Bb(a);if(b)for(a=0;a>>=0;return 0===a?32:31-(pc(a)/qc|0)|0}var rc=64,sc=4194304;\nfunction tc(a){switch(a&-a){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return a&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return a&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;\ndefault:return a}}function uc(a,b){var c=a.pendingLanes;if(0===c)return 0;var d=0,e=a.suspendedLanes,f=a.pingedLanes,g=c&268435455;if(0!==g){var h=g&~e;0!==h?d=tc(h):(f&=g,0!==f&&(d=tc(f)))}else g=c&~e,0!==g?d=tc(g):0!==f&&(d=tc(f));if(0===d)return 0;if(0!==b&&b!==d&&0===(b&e)&&(e=d&-d,f=b&-b,e>=f||16===e&&0!==(f&4194240)))return b;0!==(d&4)&&(d|=c&16);b=a.entangledLanes;if(0!==b)for(a=a.entanglements,b&=d;0c;c++)b.push(a);return b}\nfunction Ac(a,b,c){a.pendingLanes|=b;536870912!==b&&(a.suspendedLanes=0,a.pingedLanes=0);a=a.eventTimes;b=31-oc(b);a[b]=c}function Bc(a,b){var c=a.pendingLanes&~b;a.pendingLanes=b;a.suspendedLanes=0;a.pingedLanes=0;a.expiredLanes&=b;a.mutableReadLanes&=b;a.entangledLanes&=b;b=a.entanglements;var d=a.eventTimes;for(a=a.expirationTimes;0=be),ee=String.fromCharCode(32),fe=!1;\nfunction ge(a,b){switch(a){case \"keyup\":return-1!==$d.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"focusout\":return!0;default:return!1}}function he(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var ie=!1;function je(a,b){switch(a){case \"compositionend\":return he(b);case \"keypress\":if(32!==b.which)return null;fe=!0;return ee;case \"textInput\":return a=b.data,a===ee&&fe?null:a;default:return null}}\nfunction ke(a,b){if(ie)return\"compositionend\"===a||!ae&&ge(a,b)?(a=nd(),md=ld=kd=null,ie=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=Je(c)}}function Le(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?Le(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}\nfunction Me(){for(var a=window,b=Xa();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=Xa(a.document)}return b}function Ne(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}\nfunction Oe(a){var b=Me(),c=a.focusedElem,d=a.selectionRange;if(b!==c&&c&&c.ownerDocument&&Le(c.ownerDocument.documentElement,c)){if(null!==d&&Ne(c))if(b=d.start,a=d.end,void 0===a&&(a=b),\"selectionStart\"in c)c.selectionStart=b,c.selectionEnd=Math.min(a,c.value.length);else if(a=(b=c.ownerDocument||document)&&b.defaultView||window,a.getSelection){a=a.getSelection();var e=c.textContent.length,f=Math.min(d.start,e);d=void 0===d.end?f:Math.min(d.end,e);!a.extend&&f>d&&(e=d,d=f,f=e);e=Ke(c,f);var g=Ke(c,\nd);e&&g&&(1!==a.rangeCount||a.anchorNode!==e.node||a.anchorOffset!==e.offset||a.focusNode!==g.node||a.focusOffset!==g.offset)&&(b=b.createRange(),b.setStart(e.node,e.offset),a.removeAllRanges(),f>d?(a.addRange(b),a.extend(g.node,g.offset)):(b.setEnd(g.node,g.offset),a.addRange(b)))}b=[];for(a=c;a=a.parentNode;)1===a.nodeType&&b.push({element:a,left:a.scrollLeft,top:a.scrollTop});\"function\"===typeof c.focus&&c.focus();for(c=0;c=document.documentMode,Qe=null,Re=null,Se=null,Te=!1;\nfunction Ue(a,b,c){var d=c.window===c?c.document:9===c.nodeType?c:c.ownerDocument;Te||null==Qe||Qe!==Xa(d)||(d=Qe,\"selectionStart\"in d&&Ne(d)?d={start:d.selectionStart,end:d.selectionEnd}:(d=(d.ownerDocument&&d.ownerDocument.defaultView||window).getSelection(),d={anchorNode:d.anchorNode,anchorOffset:d.anchorOffset,focusNode:d.focusNode,focusOffset:d.focusOffset}),Se&&Ie(Se,d)||(Se=d,d=oe(Re,\"onSelect\"),0Tf||(a.current=Sf[Tf],Sf[Tf]=null,Tf--)}function G(a,b){Tf++;Sf[Tf]=a.current;a.current=b}var Vf={},H=Uf(Vf),Wf=Uf(!1),Xf=Vf;function Yf(a,b){var c=a.type.contextTypes;if(!c)return Vf;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}\nfunction Zf(a){a=a.childContextTypes;return null!==a&&void 0!==a}function $f(){E(Wf);E(H)}function ag(a,b,c){if(H.current!==Vf)throw Error(p(168));G(H,b);G(Wf,c)}function bg(a,b,c){var d=a.stateNode;b=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in b))throw Error(p(108,Ra(a)||\"Unknown\",e));return A({},c,d)}\nfunction cg(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Vf;Xf=H.current;G(H,a);G(Wf,Wf.current);return!0}function dg(a,b,c){var d=a.stateNode;if(!d)throw Error(p(169));c?(a=bg(a,b,Xf),d.__reactInternalMemoizedMergedChildContext=a,E(Wf),E(H),G(H,a)):E(Wf);G(Wf,c)}var eg=null,fg=!1,gg=!1;function hg(a){null===eg?eg=[a]:eg.push(a)}function ig(a){fg=!0;hg(a)}\nfunction jg(){if(!gg&&null!==eg){gg=!0;var a=0,b=C;try{var c=eg;for(C=1;a>=g;e-=g;rg=1<<32-oc(b)+e|c<w?(x=u,u=null):x=u.sibling;var n=r(e,u,h[w],k);if(null===n){null===u&&(u=x);break}a&&u&&null===n.alternate&&b(e,u);g=f(n,g,w);null===m?l=n:m.sibling=n;m=n;u=x}if(w===h.length)return c(e,u),I&&tg(e,w),l;if(null===u){for(;ww?(x=m,m=null):x=m.sibling;var t=r(e,m,n.value,k);if(null===t){null===m&&(m=x);break}a&&m&&null===t.alternate&&b(e,m);g=f(t,g,w);null===u?l=t:u.sibling=t;u=t;m=x}if(n.done)return c(e,\nm),I&&tg(e,w),l;if(null===m){for(;!n.done;w++,n=h.next())n=q(e,n.value,k),null!==n&&(g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);I&&tg(e,w);return l}for(m=d(e,m);!n.done;w++,n=h.next())n=y(m,e,w,n.value,k),null!==n&&(a&&null!==n.alternate&&m.delete(null===n.key?w:n.key),g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);a&&m.forEach(function(a){return b(e,a)});I&&tg(e,w);return l}function J(a,d,f,h){\"object\"===typeof f&&null!==f&&f.type===ya&&null===f.key&&(f=f.props.children);if(\"object\"===typeof f&&null!==f){switch(f.$$typeof){case va:a:{for(var k=\nf.key,l=d;null!==l;){if(l.key===k){k=f.type;if(k===ya){if(7===l.tag){c(a,l.sibling);d=e(l,f.props.children);d.return=a;a=d;break a}}else if(l.elementType===k||\"object\"===typeof k&&null!==k&&k.$$typeof===Ha&&Ng(k)===l.type){c(a,l.sibling);d=e(l,f.props);d.ref=Lg(a,l,f);d.return=a;a=d;break a}c(a,l);break}else b(a,l);l=l.sibling}f.type===ya?(d=Tg(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=Rg(f.type,f.key,f.props,null,a.mode,h),h.ref=Lg(a,d,f),h.return=a,a=h)}return g(a);case wa:a:{for(l=f.key;null!==\nd;){if(d.key===l)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=Sg(f,a.mode,h);d.return=a;a=d}return g(a);case Ha:return l=f._init,J(a,d,l(f._payload),h)}if(eb(f))return n(a,d,f,h);if(Ka(f))return t(a,d,f,h);Mg(a,f)}return\"string\"===typeof f&&\"\"!==f||\"number\"===typeof f?(f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):\n(c(a,d),d=Qg(f,a.mode,h),d.return=a,a=d),g(a)):c(a,d)}return J}var Ug=Og(!0),Vg=Og(!1),Wg=Uf(null),Xg=null,Yg=null,Zg=null;function $g(){Zg=Yg=Xg=null}function ah(a){var b=Wg.current;E(Wg);a._currentValue=b}function bh(a,b,c){for(;null!==a;){var d=a.alternate;(a.childLanes&b)!==b?(a.childLanes|=b,null!==d&&(d.childLanes|=b)):null!==d&&(d.childLanes&b)!==b&&(d.childLanes|=b);if(a===c)break;a=a.return}}\nfunction ch(a,b){Xg=a;Zg=Yg=null;a=a.dependencies;null!==a&&null!==a.firstContext&&(0!==(a.lanes&b)&&(dh=!0),a.firstContext=null)}function eh(a){var b=a._currentValue;if(Zg!==a)if(a={context:a,memoizedValue:b,next:null},null===Yg){if(null===Xg)throw Error(p(308));Yg=a;Xg.dependencies={lanes:0,firstContext:a}}else Yg=Yg.next=a;return b}var fh=null;function gh(a){null===fh?fh=[a]:fh.push(a)}\nfunction hh(a,b,c,d){var e=b.interleaved;null===e?(c.next=c,gh(b)):(c.next=e.next,e.next=c);b.interleaved=c;return ih(a,d)}function ih(a,b){a.lanes|=b;var c=a.alternate;null!==c&&(c.lanes|=b);c=a;for(a=a.return;null!==a;)a.childLanes|=b,c=a.alternate,null!==c&&(c.childLanes|=b),c=a,a=a.return;return 3===c.tag?c.stateNode:null}var jh=!1;function kh(a){a.updateQueue={baseState:a.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}\nfunction lh(a,b){a=a.updateQueue;b.updateQueue===a&&(b.updateQueue={baseState:a.baseState,firstBaseUpdate:a.firstBaseUpdate,lastBaseUpdate:a.lastBaseUpdate,shared:a.shared,effects:a.effects})}function mh(a,b){return{eventTime:a,lane:b,tag:0,payload:null,callback:null,next:null}}\nfunction nh(a,b,c){var d=a.updateQueue;if(null===d)return null;d=d.shared;if(0!==(K&2)){var e=d.pending;null===e?b.next=b:(b.next=e.next,e.next=b);d.pending=b;return ih(a,c)}e=d.interleaved;null===e?(b.next=b,gh(d)):(b.next=e.next,e.next=b);d.interleaved=b;return ih(a,c)}function oh(a,b,c){b=b.updateQueue;if(null!==b&&(b=b.shared,0!==(c&4194240))){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nfunction ph(a,b){var c=a.updateQueue,d=a.alternate;if(null!==d&&(d=d.updateQueue,c===d)){var e=null,f=null;c=c.firstBaseUpdate;if(null!==c){do{var g={eventTime:c.eventTime,lane:c.lane,tag:c.tag,payload:c.payload,callback:c.callback,next:null};null===f?e=f=g:f=f.next=g;c=c.next}while(null!==c);null===f?e=f=b:f=f.next=b}else e=f=b;c={baseState:d.baseState,firstBaseUpdate:e,lastBaseUpdate:f,shared:d.shared,effects:d.effects};a.updateQueue=c;return}a=c.lastBaseUpdate;null===a?c.firstBaseUpdate=b:a.next=\nb;c.lastBaseUpdate=b}\nfunction qh(a,b,c,d){var e=a.updateQueue;jh=!1;var f=e.firstBaseUpdate,g=e.lastBaseUpdate,h=e.shared.pending;if(null!==h){e.shared.pending=null;var k=h,l=k.next;k.next=null;null===g?f=l:g.next=l;g=k;var m=a.alternate;null!==m&&(m=m.updateQueue,h=m.lastBaseUpdate,h!==g&&(null===h?m.firstBaseUpdate=l:h.next=l,m.lastBaseUpdate=k))}if(null!==f){var q=e.baseState;g=0;m=l=k=null;h=f;do{var r=h.lane,y=h.eventTime;if((d&r)===r){null!==m&&(m=m.next={eventTime:y,lane:0,tag:h.tag,payload:h.payload,callback:h.callback,\nnext:null});a:{var n=a,t=h;r=b;y=c;switch(t.tag){case 1:n=t.payload;if(\"function\"===typeof n){q=n.call(y,q,r);break a}q=n;break a;case 3:n.flags=n.flags&-65537|128;case 0:n=t.payload;r=\"function\"===typeof n?n.call(y,q,r):n;if(null===r||void 0===r)break a;q=A({},q,r);break a;case 2:jh=!0}}null!==h.callback&&0!==h.lane&&(a.flags|=64,r=e.effects,null===r?e.effects=[h]:r.push(h))}else y={eventTime:y,lane:r,tag:h.tag,payload:h.payload,callback:h.callback,next:null},null===m?(l=m=y,k=q):m=m.next=y,g|=r;\nh=h.next;if(null===h)if(h=e.shared.pending,null===h)break;else r=h,h=r.next,r.next=null,e.lastBaseUpdate=r,e.shared.pending=null}while(1);null===m&&(k=q);e.baseState=k;e.firstBaseUpdate=l;e.lastBaseUpdate=m;b=e.shared.interleaved;if(null!==b){e=b;do g|=e.lane,e=e.next;while(e!==b)}else null===f&&(e.shared.lanes=0);rh|=g;a.lanes=g;a.memoizedState=q}}\nfunction sh(a,b,c){a=b.effects;b.effects=null;if(null!==a)for(b=0;bc?c:4;a(!0);var d=Gh.transition;Gh.transition={};try{a(!1),b()}finally{C=c,Gh.transition=d}}function wi(){return Uh().memoizedState}\nfunction xi(a,b,c){var d=yi(a);c={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(zi(a))Ai(b,c);else if(c=hh(a,b,c,d),null!==c){var e=R();gi(c,a,d,e);Bi(c,b,d)}}\nfunction ii(a,b,c){var d=yi(a),e={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(zi(a))Ai(b,e);else{var f=a.alternate;if(0===a.lanes&&(null===f||0===f.lanes)&&(f=b.lastRenderedReducer,null!==f))try{var g=b.lastRenderedState,h=f(g,c);e.hasEagerState=!0;e.eagerState=h;if(He(h,g)){var k=b.interleaved;null===k?(e.next=e,gh(b)):(e.next=k.next,k.next=e);b.interleaved=e;return}}catch(l){}finally{}c=hh(a,b,e,d);null!==c&&(e=R(),gi(c,a,d,e),Bi(c,b,d))}}\nfunction zi(a){var b=a.alternate;return a===M||null!==b&&b===M}function Ai(a,b){Jh=Ih=!0;var c=a.pending;null===c?b.next=b:(b.next=c.next,c.next=b);a.pending=b}function Bi(a,b,c){if(0!==(c&4194240)){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nvar Rh={readContext:eh,useCallback:P,useContext:P,useEffect:P,useImperativeHandle:P,useInsertionEffect:P,useLayoutEffect:P,useMemo:P,useReducer:P,useRef:P,useState:P,useDebugValue:P,useDeferredValue:P,useTransition:P,useMutableSource:P,useSyncExternalStore:P,useId:P,unstable_isNewReconciler:!1},Oh={readContext:eh,useCallback:function(a,b){Th().memoizedState=[a,void 0===b?null:b];return a},useContext:eh,useEffect:mi,useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return ki(4194308,\n4,pi.bind(null,b,a),c)},useLayoutEffect:function(a,b){return ki(4194308,4,a,b)},useInsertionEffect:function(a,b){return ki(4,2,a,b)},useMemo:function(a,b){var c=Th();b=void 0===b?null:b;a=a();c.memoizedState=[a,b];return a},useReducer:function(a,b,c){var d=Th();b=void 0!==c?c(b):b;d.memoizedState=d.baseState=b;a={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:a,lastRenderedState:b};d.queue=a;a=a.dispatch=xi.bind(null,M,a);return[d.memoizedState,a]},useRef:function(a){var b=\nTh();a={current:a};return b.memoizedState=a},useState:hi,useDebugValue:ri,useDeferredValue:function(a){return Th().memoizedState=a},useTransition:function(){var a=hi(!1),b=a[0];a=vi.bind(null,a[1]);Th().memoizedState=a;return[b,a]},useMutableSource:function(){},useSyncExternalStore:function(a,b,c){var d=M,e=Th();if(I){if(void 0===c)throw Error(p(407));c=c()}else{c=b();if(null===Q)throw Error(p(349));0!==(Hh&30)||di(d,b,c)}e.memoizedState=c;var f={value:c,getSnapshot:b};e.queue=f;mi(ai.bind(null,d,\nf,a),[a]);d.flags|=2048;bi(9,ci.bind(null,d,f,c,b),void 0,null);return c},useId:function(){var a=Th(),b=Q.identifierPrefix;if(I){var c=sg;var d=rg;c=(d&~(1<<32-oc(d)-1)).toString(32)+c;b=\":\"+b+\"R\"+c;c=Kh++;0\\x3c/script>\",a=a.removeChild(a.firstChild)):\n\"string\"===typeof d.is?a=g.createElement(c,{is:d.is}):(a=g.createElement(c),\"select\"===c&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,c);a[Of]=b;a[Pf]=d;zj(a,b,!1,!1);b.stateNode=a;a:{g=vb(c,d);switch(c){case \"dialog\":D(\"cancel\",a);D(\"close\",a);e=d;break;case \"iframe\":case \"object\":case \"embed\":D(\"load\",a);e=d;break;case \"video\":case \"audio\":for(e=0;eGj&&(b.flags|=128,d=!0,Dj(f,!1),b.lanes=4194304)}else{if(!d)if(a=Ch(g),null!==a){if(b.flags|=128,d=!0,c=a.updateQueue,null!==c&&(b.updateQueue=c,b.flags|=4),Dj(f,!0),null===f.tail&&\"hidden\"===f.tailMode&&!g.alternate&&!I)return S(b),null}else 2*B()-f.renderingStartTime>Gj&&1073741824!==c&&(b.flags|=128,d=!0,Dj(f,!1),b.lanes=4194304);f.isBackwards?(g.sibling=b.child,b.child=g):(c=f.last,null!==c?c.sibling=g:b.child=g,f.last=g)}if(null!==f.tail)return b=f.tail,f.rendering=\nb,f.tail=b.sibling,f.renderingStartTime=B(),b.sibling=null,c=L.current,G(L,d?c&1|2:c&1),b;S(b);return null;case 22:case 23:return Hj(),d=null!==b.memoizedState,null!==a&&null!==a.memoizedState!==d&&(b.flags|=8192),d&&0!==(b.mode&1)?0!==(fj&1073741824)&&(S(b),b.subtreeFlags&6&&(b.flags|=8192)):S(b),null;case 24:return null;case 25:return null}throw Error(p(156,b.tag));}\nfunction Ij(a,b){wg(b);switch(b.tag){case 1:return Zf(b.type)&&$f(),a=b.flags,a&65536?(b.flags=a&-65537|128,b):null;case 3:return zh(),E(Wf),E(H),Eh(),a=b.flags,0!==(a&65536)&&0===(a&128)?(b.flags=a&-65537|128,b):null;case 5:return Bh(b),null;case 13:E(L);a=b.memoizedState;if(null!==a&&null!==a.dehydrated){if(null===b.alternate)throw Error(p(340));Ig()}a=b.flags;return a&65536?(b.flags=a&-65537|128,b):null;case 19:return E(L),null;case 4:return zh(),null;case 10:return ah(b.type._context),null;case 22:case 23:return Hj(),\nnull;case 24:return null;default:return null}}var Jj=!1,U=!1,Kj=\"function\"===typeof WeakSet?WeakSet:Set,V=null;function Lj(a,b){var c=a.ref;if(null!==c)if(\"function\"===typeof c)try{c(null)}catch(d){W(a,b,d)}else c.current=null}function Mj(a,b,c){try{c()}catch(d){W(a,b,d)}}var Nj=!1;\nfunction Oj(a,b){Cf=dd;a=Me();if(Ne(a)){if(\"selectionStart\"in a)var c={start:a.selectionStart,end:a.selectionEnd};else a:{c=(c=a.ownerDocument)&&c.defaultView||window;var d=c.getSelection&&c.getSelection();if(d&&0!==d.rangeCount){c=d.anchorNode;var e=d.anchorOffset,f=d.focusNode;d=d.focusOffset;try{c.nodeType,f.nodeType}catch(F){c=null;break a}var g=0,h=-1,k=-1,l=0,m=0,q=a,r=null;b:for(;;){for(var y;;){q!==c||0!==e&&3!==q.nodeType||(h=g+e);q!==f||0!==d&&3!==q.nodeType||(k=g+d);3===q.nodeType&&(g+=\nq.nodeValue.length);if(null===(y=q.firstChild))break;r=q;q=y}for(;;){if(q===a)break b;r===c&&++l===e&&(h=g);r===f&&++m===d&&(k=g);if(null!==(y=q.nextSibling))break;q=r;r=q.parentNode}q=y}c=-1===h||-1===k?null:{start:h,end:k}}else c=null}c=c||{start:0,end:0}}else c=null;Df={focusedElem:a,selectionRange:c};dd=!1;for(V=b;null!==V;)if(b=V,a=b.child,0!==(b.subtreeFlags&1028)&&null!==a)a.return=b,V=a;else for(;null!==V;){b=V;try{var n=b.alternate;if(0!==(b.flags&1024))switch(b.tag){case 0:case 11:case 15:break;\ncase 1:if(null!==n){var t=n.memoizedProps,J=n.memoizedState,x=b.stateNode,w=x.getSnapshotBeforeUpdate(b.elementType===b.type?t:Ci(b.type,t),J);x.__reactInternalSnapshotBeforeUpdate=w}break;case 3:var u=b.stateNode.containerInfo;1===u.nodeType?u.textContent=\"\":9===u.nodeType&&u.documentElement&&u.removeChild(u.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(p(163));}}catch(F){W(b,b.return,F)}a=b.sibling;if(null!==a){a.return=b.return;V=a;break}V=b.return}n=Nj;Nj=!1;return n}\nfunction Pj(a,b,c){var d=b.updateQueue;d=null!==d?d.lastEffect:null;if(null!==d){var e=d=d.next;do{if((e.tag&a)===a){var f=e.destroy;e.destroy=void 0;void 0!==f&&Mj(b,c,f)}e=e.next}while(e!==d)}}function Qj(a,b){b=b.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){var c=b=b.next;do{if((c.tag&a)===a){var d=c.create;c.destroy=d()}c=c.next}while(c!==b)}}function Rj(a){var b=a.ref;if(null!==b){var c=a.stateNode;switch(a.tag){case 5:a=c;break;default:a=c}\"function\"===typeof b?b(a):b.current=a}}\nfunction Sj(a){var b=a.alternate;null!==b&&(a.alternate=null,Sj(b));a.child=null;a.deletions=null;a.sibling=null;5===a.tag&&(b=a.stateNode,null!==b&&(delete b[Of],delete b[Pf],delete b[of],delete b[Qf],delete b[Rf]));a.stateNode=null;a.return=null;a.dependencies=null;a.memoizedProps=null;a.memoizedState=null;a.pendingProps=null;a.stateNode=null;a.updateQueue=null}function Tj(a){return 5===a.tag||3===a.tag||4===a.tag}\nfunction Uj(a){a:for(;;){for(;null===a.sibling;){if(null===a.return||Tj(a.return))return null;a=a.return}a.sibling.return=a.return;for(a=a.sibling;5!==a.tag&&6!==a.tag&&18!==a.tag;){if(a.flags&2)continue a;if(null===a.child||4===a.tag)continue a;else a.child.return=a,a=a.child}if(!(a.flags&2))return a.stateNode}}\nfunction Vj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?8===c.nodeType?c.parentNode.insertBefore(a,b):c.insertBefore(a,b):(8===c.nodeType?(b=c.parentNode,b.insertBefore(a,c)):(b=c,b.appendChild(a)),c=c._reactRootContainer,null!==c&&void 0!==c||null!==b.onclick||(b.onclick=Bf));else if(4!==d&&(a=a.child,null!==a))for(Vj(a,b,c),a=a.sibling;null!==a;)Vj(a,b,c),a=a.sibling}\nfunction Wj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?c.insertBefore(a,b):c.appendChild(a);else if(4!==d&&(a=a.child,null!==a))for(Wj(a,b,c),a=a.sibling;null!==a;)Wj(a,b,c),a=a.sibling}var X=null,Xj=!1;function Yj(a,b,c){for(c=c.child;null!==c;)Zj(a,b,c),c=c.sibling}\nfunction Zj(a,b,c){if(lc&&\"function\"===typeof lc.onCommitFiberUnmount)try{lc.onCommitFiberUnmount(kc,c)}catch(h){}switch(c.tag){case 5:U||Lj(c,b);case 6:var d=X,e=Xj;X=null;Yj(a,b,c);X=d;Xj=e;null!==X&&(Xj?(a=X,c=c.stateNode,8===a.nodeType?a.parentNode.removeChild(c):a.removeChild(c)):X.removeChild(c.stateNode));break;case 18:null!==X&&(Xj?(a=X,c=c.stateNode,8===a.nodeType?Kf(a.parentNode,c):1===a.nodeType&&Kf(a,c),bd(a)):Kf(X,c.stateNode));break;case 4:d=X;e=Xj;X=c.stateNode.containerInfo;Xj=!0;\nYj(a,b,c);X=d;Xj=e;break;case 0:case 11:case 14:case 15:if(!U&&(d=c.updateQueue,null!==d&&(d=d.lastEffect,null!==d))){e=d=d.next;do{var f=e,g=f.destroy;f=f.tag;void 0!==g&&(0!==(f&2)?Mj(c,b,g):0!==(f&4)&&Mj(c,b,g));e=e.next}while(e!==d)}Yj(a,b,c);break;case 1:if(!U&&(Lj(c,b),d=c.stateNode,\"function\"===typeof d.componentWillUnmount))try{d.props=c.memoizedProps,d.state=c.memoizedState,d.componentWillUnmount()}catch(h){W(c,b,h)}Yj(a,b,c);break;case 21:Yj(a,b,c);break;case 22:c.mode&1?(U=(d=U)||null!==\nc.memoizedState,Yj(a,b,c),U=d):Yj(a,b,c);break;default:Yj(a,b,c)}}function ak(a){var b=a.updateQueue;if(null!==b){a.updateQueue=null;var c=a.stateNode;null===c&&(c=a.stateNode=new Kj);b.forEach(function(b){var d=bk.bind(null,a,b);c.has(b)||(c.add(b),b.then(d,d))})}}\nfunction ck(a,b){var c=b.deletions;if(null!==c)for(var d=0;de&&(e=g);d&=~f}d=e;d=B()-d;d=(120>d?120:480>d?480:1080>d?1080:1920>d?1920:3E3>d?3E3:4320>d?4320:1960*lk(d/1960))-d;if(10a?16:a;if(null===wk)var d=!1;else{a=wk;wk=null;xk=0;if(0!==(K&6))throw Error(p(331));var e=K;K|=4;for(V=a.current;null!==V;){var f=V,g=f.child;if(0!==(V.flags&16)){var h=f.deletions;if(null!==h){for(var k=0;kB()-fk?Kk(a,0):rk|=c);Dk(a,b)}function Yk(a,b){0===b&&(0===(a.mode&1)?b=1:(b=sc,sc<<=1,0===(sc&130023424)&&(sc=4194304)));var c=R();a=ih(a,b);null!==a&&(Ac(a,b,c),Dk(a,c))}function uj(a){var b=a.memoizedState,c=0;null!==b&&(c=b.retryLane);Yk(a,c)}\nfunction bk(a,b){var c=0;switch(a.tag){case 13:var d=a.stateNode;var e=a.memoizedState;null!==e&&(c=e.retryLane);break;case 19:d=a.stateNode;break;default:throw Error(p(314));}null!==d&&d.delete(b);Yk(a,c)}var Vk;\nVk=function(a,b,c){if(null!==a)if(a.memoizedProps!==b.pendingProps||Wf.current)dh=!0;else{if(0===(a.lanes&c)&&0===(b.flags&128))return dh=!1,yj(a,b,c);dh=0!==(a.flags&131072)?!0:!1}else dh=!1,I&&0!==(b.flags&1048576)&&ug(b,ng,b.index);b.lanes=0;switch(b.tag){case 2:var d=b.type;ij(a,b);a=b.pendingProps;var e=Yf(b,H.current);ch(b,c);e=Nh(null,b,d,a,e,c);var f=Sh();b.flags|=1;\"object\"===typeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof?(b.tag=1,b.memoizedState=null,b.updateQueue=\nnull,Zf(d)?(f=!0,cg(b)):f=!1,b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null,kh(b),e.updater=Ei,b.stateNode=e,e._reactInternals=b,Ii(b,d,a,c),b=jj(null,b,d,!0,f,c)):(b.tag=0,I&&f&&vg(b),Xi(null,b,e,c),b=b.child);return b;case 16:d=b.elementType;a:{ij(a,b);a=b.pendingProps;e=d._init;d=e(d._payload);b.type=d;e=b.tag=Zk(d);a=Ci(d,a);switch(e){case 0:b=cj(null,b,d,a,c);break a;case 1:b=hj(null,b,d,a,c);break a;case 11:b=Yi(null,b,d,a,c);break a;case 14:b=$i(null,b,d,Ci(d.type,a),c);break a}throw Error(p(306,\nd,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),cj(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),hj(a,b,d,e,c);case 3:a:{kj(b);if(null===a)throw Error(p(387));d=b.pendingProps;f=b.memoizedState;e=f.element;lh(a,b);qh(b,d,null,c);var g=b.memoizedState;d=g.element;if(f.isDehydrated)if(f={element:d,isDehydrated:!1,cache:g.cache,pendingSuspenseBoundaries:g.pendingSuspenseBoundaries,transitions:g.transitions},b.updateQueue.baseState=\nf,b.memoizedState=f,b.flags&256){e=Ji(Error(p(423)),b);b=lj(a,b,d,c,e);break a}else if(d!==e){e=Ji(Error(p(424)),b);b=lj(a,b,d,c,e);break a}else for(yg=Lf(b.stateNode.containerInfo.firstChild),xg=b,I=!0,zg=null,c=Vg(b,null,d,c),b.child=c;c;)c.flags=c.flags&-3|4096,c=c.sibling;else{Ig();if(d===e){b=Zi(a,b,c);break a}Xi(a,b,d,c)}b=b.child}return b;case 5:return Ah(b),null===a&&Eg(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:null,g=e.children,Ef(d,e)?g=null:null!==f&&Ef(d,f)&&(b.flags|=32),\ngj(a,b),Xi(a,b,g,c),b.child;case 6:return null===a&&Eg(b),null;case 13:return oj(a,b,c);case 4:return yh(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=Ug(b,null,d,c):Xi(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),Yi(a,b,d,e,c);case 7:return Xi(a,b,b.pendingProps,c),b.child;case 8:return Xi(a,b,b.pendingProps.children,c),b.child;case 12:return Xi(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;f=b.memoizedProps;\ng=e.value;G(Wg,d._currentValue);d._currentValue=g;if(null!==f)if(He(f.value,g)){if(f.children===e.children&&!Wf.current){b=Zi(a,b,c);break a}}else for(f=b.child,null!==f&&(f.return=b);null!==f;){var h=f.dependencies;if(null!==h){g=f.child;for(var k=h.firstContext;null!==k;){if(k.context===d){if(1===f.tag){k=mh(-1,c&-c);k.tag=2;var l=f.updateQueue;if(null!==l){l=l.shared;var m=l.pending;null===m?k.next=k:(k.next=m.next,m.next=k);l.pending=k}}f.lanes|=c;k=f.alternate;null!==k&&(k.lanes|=c);bh(f.return,\nc,b);h.lanes|=c;break}k=k.next}}else if(10===f.tag)g=f.type===b.type?null:f.child;else if(18===f.tag){g=f.return;if(null===g)throw Error(p(341));g.lanes|=c;h=g.alternate;null!==h&&(h.lanes|=c);bh(g,c,b);g=f.sibling}else g=f.child;if(null!==g)g.return=f;else for(g=f;null!==g;){if(g===b){g=null;break}f=g.sibling;if(null!==f){f.return=g.return;g=f;break}g=g.return}f=g}Xi(a,b,e.children,c);b=b.child}return b;case 9:return e=b.type,d=b.pendingProps.children,ch(b,c),e=eh(e),d=d(e),b.flags|=1,Xi(a,b,d,c),\nb.child;case 14:return d=b.type,e=Ci(d,b.pendingProps),e=Ci(d.type,e),$i(a,b,d,e,c);case 15:return bj(a,b,b.type,b.pendingProps,c);case 17:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),ij(a,b),b.tag=1,Zf(d)?(a=!0,cg(b)):a=!1,ch(b,c),Gi(b,d,e),Ii(b,d,e,c),jj(null,b,d,!0,a,c);case 19:return xj(a,b,c);case 22:return dj(a,b,c)}throw Error(p(156,b.tag));};function Fk(a,b){return ac(a,b)}\nfunction $k(a,b,c,d){this.tag=a;this.key=c;this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null;this.index=0;this.ref=null;this.pendingProps=b;this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null;this.mode=d;this.subtreeFlags=this.flags=0;this.deletions=null;this.childLanes=this.lanes=0;this.alternate=null}function Bg(a,b,c,d){return new $k(a,b,c,d)}function aj(a){a=a.prototype;return!(!a||!a.isReactComponent)}\nfunction Zk(a){if(\"function\"===typeof a)return aj(a)?1:0;if(void 0!==a&&null!==a){a=a.$$typeof;if(a===Da)return 11;if(a===Ga)return 14}return 2}\nfunction Pg(a,b){var c=a.alternate;null===c?(c=Bg(a.tag,b,a.key,a.mode),c.elementType=a.elementType,c.type=a.type,c.stateNode=a.stateNode,c.alternate=a,a.alternate=c):(c.pendingProps=b,c.type=a.type,c.flags=0,c.subtreeFlags=0,c.deletions=null);c.flags=a.flags&14680064;c.childLanes=a.childLanes;c.lanes=a.lanes;c.child=a.child;c.memoizedProps=a.memoizedProps;c.memoizedState=a.memoizedState;c.updateQueue=a.updateQueue;b=a.dependencies;c.dependencies=null===b?null:{lanes:b.lanes,firstContext:b.firstContext};\nc.sibling=a.sibling;c.index=a.index;c.ref=a.ref;return c}\nfunction Rg(a,b,c,d,e,f){var g=2;d=a;if(\"function\"===typeof a)aj(a)&&(g=1);else if(\"string\"===typeof a)g=5;else a:switch(a){case ya:return Tg(c.children,e,f,b);case za:g=8;e|=8;break;case Aa:return a=Bg(12,c,b,e|2),a.elementType=Aa,a.lanes=f,a;case Ea:return a=Bg(13,c,b,e),a.elementType=Ea,a.lanes=f,a;case Fa:return a=Bg(19,c,b,e),a.elementType=Fa,a.lanes=f,a;case Ia:return pj(c,e,f,b);default:if(\"object\"===typeof a&&null!==a)switch(a.$$typeof){case Ba:g=10;break a;case Ca:g=9;break a;case Da:g=11;\nbreak a;case Ga:g=14;break a;case Ha:g=16;d=null;break a}throw Error(p(130,null==a?a:typeof a,\"\"));}b=Bg(g,c,b,e);b.elementType=a;b.type=d;b.lanes=f;return b}function Tg(a,b,c,d){a=Bg(7,a,d,b);a.lanes=c;return a}function pj(a,b,c,d){a=Bg(22,a,d,b);a.elementType=Ia;a.lanes=c;a.stateNode={isHidden:!1};return a}function Qg(a,b,c){a=Bg(6,a,null,b);a.lanes=c;return a}\nfunction Sg(a,b,c){b=Bg(4,null!==a.children?a.children:[],a.key,b);b.lanes=c;b.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation};return b}\nfunction al(a,b,c,d,e){this.tag=b;this.containerInfo=a;this.finishedWork=this.pingCache=this.current=this.pendingChildren=null;this.timeoutHandle=-1;this.callbackNode=this.pendingContext=this.context=null;this.callbackPriority=0;this.eventTimes=zc(0);this.expirationTimes=zc(-1);this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0;this.entanglements=zc(0);this.identifierPrefix=d;this.onRecoverableError=e;this.mutableSourceEagerHydrationData=\nnull}function bl(a,b,c,d,e,f,g,h,k){a=new al(a,b,c,h,k);1===b?(b=1,!0===f&&(b|=8)):b=0;f=Bg(3,null,null,b);a.current=f;f.stateNode=a;f.memoizedState={element:d,isDehydrated:c,cache:null,transitions:null,pendingSuspenseBoundaries:null};kh(f);return a}function cl(a,b,c){var d=3\nCategory: common\nAudit: 2020\n*/\n\n/** @type LanguageFn */\nfunction shell(hljs) {\n  return {\n    name: 'Shell Session',\n    aliases: [ 'console' ],\n    contains: [\n      {\n        className: 'meta',\n        // We cannot add \\s (spaces) in the regular expression otherwise it will be too broad and produce unexpected result.\n        // For instance, in the following example, it would match \"echo /path/to/home >\" as a prompt:\n        // echo /path/to/home > t.exe\n        begin: /^\\s{0,3}[/~\\w\\d[\\]()@-]*[>%$#]/,\n        starts: {\n          end: /[^\\\\](?=\\s*$)/,\n          subLanguage: 'bash'\n        }\n      }\n    ]\n  };\n}\n\nmodule.exports = shell;\n","/*\n Language: Flix\n Category: functional\n Author: Magnus Madsen \n Website: https://flix.dev/\n */\n\n /** @type LanguageFn */\nfunction flix(hljs) {\n  const CHAR = {\n    className: 'string',\n    begin: /'(.|\\\\[xXuU][a-zA-Z0-9]+)'/\n  };\n\n  const STRING = {\n    className: 'string',\n    variants: [{\n      begin: '\"',\n      end: '\"'\n    }]\n  };\n\n  const NAME = {\n    className: 'title',\n    relevance: 0,\n    begin: /[^0-9\\n\\t \"'(),.`{}\\[\\]:;][^\\n\\t \"'(),.`{}\\[\\]:;]+|[^0-9\\n\\t \"'(),.`{}\\[\\]:;=]/\n  };\n\n  const METHOD = {\n    className: 'function',\n    beginKeywords: 'def',\n    end: /[:={\\[(\\n;]/,\n    excludeEnd: true,\n    contains: [NAME]\n  };\n\n  return {\n    name: 'Flix',\n    keywords: {\n      literal: 'true false',\n      keyword: 'case class def else enum if impl import in lat rel index let match namespace switch type yield with'\n    },\n    contains: [\n      hljs.C_LINE_COMMENT_MODE,\n      hljs.C_BLOCK_COMMENT_MODE,\n      CHAR,\n      STRING,\n      METHOD,\n      hljs.C_NUMBER_MODE\n    ]\n  };\n}\n\nmodule.exports = flix;\n","/*\nLanguage: Caché Object Script\nAuthor: Nikita Savchenko \nCategory: enterprise, scripting\nWebsite: https://cedocs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls\n*/\n\n/** @type LanguageFn */\nfunction cos(hljs) {\n  const STRINGS = {\n    className: 'string',\n    variants: [{\n      begin: '\"',\n      end: '\"',\n      contains: [{ // escaped\n        begin: \"\\\"\\\"\",\n        relevance: 0\n      }]\n    }]\n  };\n\n  const NUMBERS = {\n    className: \"number\",\n    begin: \"\\\\b(\\\\d+(\\\\.\\\\d*)?|\\\\.\\\\d+)\",\n    relevance: 0\n  };\n\n  const COS_KEYWORDS =\n    'property parameter class classmethod clientmethod extends as break ' +\n    'catch close continue do d|0 else elseif for goto halt hang h|0 if job ' +\n    'j|0 kill k|0 lock l|0 merge new open quit q|0 read r|0 return set s|0 ' +\n    'tcommit throw trollback try tstart use view while write w|0 xecute x|0 ' +\n    'zkill znspace zn ztrap zwrite zw zzdump zzwrite print zbreak zinsert ' +\n    'zload zprint zremove zsave zzprint mv mvcall mvcrt mvdim mvprint zquit ' +\n    'zsync ascii';\n\n  // registered function - no need in them due to all functions are highlighted,\n  // but I'll just leave this here.\n\n  // \"$bit\", \"$bitcount\",\n  // \"$bitfind\", \"$bitlogic\", \"$case\", \"$char\", \"$classmethod\", \"$classname\",\n  // \"$compile\", \"$data\", \"$decimal\", \"$double\", \"$extract\", \"$factor\",\n  // \"$find\", \"$fnumber\", \"$get\", \"$increment\", \"$inumber\", \"$isobject\",\n  // \"$isvaliddouble\", \"$isvalidnum\", \"$justify\", \"$length\", \"$list\",\n  // \"$listbuild\", \"$listdata\", \"$listfind\", \"$listfromstring\", \"$listget\",\n  // \"$listlength\", \"$listnext\", \"$listsame\", \"$listtostring\", \"$listvalid\",\n  // \"$locate\", \"$match\", \"$method\", \"$name\", \"$nconvert\", \"$next\",\n  // \"$normalize\", \"$now\", \"$number\", \"$order\", \"$parameter\", \"$piece\",\n  // \"$prefetchoff\", \"$prefetchon\", \"$property\", \"$qlength\", \"$qsubscript\",\n  // \"$query\", \"$random\", \"$replace\", \"$reverse\", \"$sconvert\", \"$select\",\n  // \"$sortbegin\", \"$sortend\", \"$stack\", \"$text\", \"$translate\", \"$view\",\n  // \"$wascii\", \"$wchar\", \"$wextract\", \"$wfind\", \"$wiswide\", \"$wlength\",\n  // \"$wreverse\", \"$xecute\", \"$zabs\", \"$zarccos\", \"$zarcsin\", \"$zarctan\",\n  // \"$zcos\", \"$zcot\", \"$zcsc\", \"$zdate\", \"$zdateh\", \"$zdatetime\",\n  // \"$zdatetimeh\", \"$zexp\", \"$zhex\", \"$zln\", \"$zlog\", \"$zpower\", \"$zsec\",\n  // \"$zsin\", \"$zsqr\", \"$ztan\", \"$ztime\", \"$ztimeh\", \"$zboolean\",\n  // \"$zconvert\", \"$zcrc\", \"$zcyc\", \"$zdascii\", \"$zdchar\", \"$zf\",\n  // \"$ziswide\", \"$zlascii\", \"$zlchar\", \"$zname\", \"$zposition\", \"$zqascii\",\n  // \"$zqchar\", \"$zsearch\", \"$zseek\", \"$zstrip\", \"$zwascii\", \"$zwchar\",\n  // \"$zwidth\", \"$zwpack\", \"$zwbpack\", \"$zwunpack\", \"$zwbunpack\", \"$zzenkaku\",\n  // \"$change\", \"$mv\", \"$mvat\", \"$mvfmt\", \"$mvfmts\", \"$mviconv\",\n  // \"$mviconvs\", \"$mvinmat\", \"$mvlover\", \"$mvoconv\", \"$mvoconvs\", \"$mvraise\",\n  // \"$mvtrans\", \"$mvv\", \"$mvname\", \"$zbitand\", \"$zbitcount\", \"$zbitfind\",\n  // \"$zbitget\", \"$zbitlen\", \"$zbitnot\", \"$zbitor\", \"$zbitset\", \"$zbitstr\",\n  // \"$zbitxor\", \"$zincrement\", \"$znext\", \"$zorder\", \"$zprevious\", \"$zsort\",\n  // \"device\", \"$ecode\", \"$estack\", \"$etrap\", \"$halt\", \"$horolog\",\n  // \"$io\", \"$job\", \"$key\", \"$namespace\", \"$principal\", \"$quit\", \"$roles\",\n  // \"$storage\", \"$system\", \"$test\", \"$this\", \"$tlevel\", \"$username\",\n  // \"$x\", \"$y\", \"$za\", \"$zb\", \"$zchild\", \"$zeof\", \"$zeos\", \"$zerror\",\n  // \"$zhorolog\", \"$zio\", \"$zjob\", \"$zmode\", \"$znspace\", \"$zparent\", \"$zpi\",\n  // \"$zpos\", \"$zreference\", \"$zstorage\", \"$ztimestamp\", \"$ztimezone\",\n  // \"$ztrap\", \"$zversion\"\n\n  return {\n    name: 'Caché Object Script',\n    case_insensitive: true,\n    aliases: [\n      \"cls\"\n    ],\n    keywords: COS_KEYWORDS,\n    contains: [\n      NUMBERS,\n      STRINGS,\n      hljs.C_LINE_COMMENT_MODE,\n      hljs.C_BLOCK_COMMENT_MODE,\n      {\n        className: \"comment\",\n        begin: /;/,\n        end: \"$\",\n        relevance: 0\n      },\n      { // Functions and user-defined functions: write $ztime(60*60*3), $$myFunc(10), $$^Val(1)\n        className: \"built_in\",\n        begin: /(?:\\$\\$?|\\.\\.)\\^?[a-zA-Z]+/\n      },\n      { // Macro command: quit $$$OK\n        className: \"built_in\",\n        begin: /\\$\\$\\$[a-zA-Z]+/\n      },\n      { // Special (global) variables: write %request.Content; Built-in classes: %Library.Integer\n        className: \"built_in\",\n        begin: /%[a-z]+(?:\\.[a-z]+)*/\n      },\n      { // Global variable: set ^globalName = 12 write ^globalName\n        className: \"symbol\",\n        begin: /\\^%?[a-zA-Z][\\w]*/\n      },\n      { // Some control constructions: do ##class(Package.ClassName).Method(), ##super()\n        className: \"keyword\",\n        begin: /##class|##super|#define|#dim/\n      },\n      // sub-languages: are not fully supported by hljs by 11/15/2015\n      // left for the future implementation.\n      {\n        begin: /&sql\\(/,\n        end: /\\)/,\n        excludeBegin: true,\n        excludeEnd: true,\n        subLanguage: \"sql\"\n      },\n      {\n        begin: /&(js|jscript|javascript)/,\n        excludeBegin: true,\n        excludeEnd: true,\n        subLanguage: \"javascript\"\n      },\n      {\n        // this brakes first and last tag, but this is the only way to embed a valid html\n        begin: /&html<\\s*\\s*>/,\n        subLanguage: \"xml\"\n      }\n    ]\n  };\n}\n\nmodule.exports = cos;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports[\"default\"] = void 0;\nvar _default = exports[\"default\"] = {\n  \"hljs\": {\n    \"display\": \"block\",\n    \"overflowX\": \"auto\",\n    \"padding\": \"0.5em\",\n    \"background\": \"#282828\",\n    \"color\": \"#ebdbb2\"\n  },\n  \"hljs-subst\": {\n    \"color\": \"#ebdbb2\"\n  },\n  \"hljs-deletion\": {\n    \"color\": \"#fb4934\"\n  },\n  \"hljs-formula\": {\n    \"color\": \"#fb4934\"\n  },\n  \"hljs-keyword\": {\n    \"color\": \"#fb4934\"\n  },\n  \"hljs-link\": {\n    \"color\": \"#fb4934\"\n  },\n  \"hljs-selector-tag\": {\n    \"color\": \"#fb4934\"\n  },\n  \"hljs-built_in\": {\n    \"color\": \"#83a598\"\n  },\n  \"hljs-emphasis\": {\n    \"color\": \"#83a598\",\n    \"fontStyle\": \"italic\"\n  },\n  \"hljs-name\": {\n    \"color\": \"#83a598\"\n  },\n  \"hljs-quote\": {\n    \"color\": \"#83a598\"\n  },\n  \"hljs-strong\": {\n    \"color\": \"#83a598\",\n    \"fontWeight\": \"bold\"\n  },\n  \"hljs-title\": {\n    \"color\": \"#83a598\"\n  },\n  \"hljs-variable\": {\n    \"color\": \"#83a598\"\n  },\n  \"hljs-attr\": {\n    \"color\": \"#fabd2f\"\n  },\n  \"hljs-params\": {\n    \"color\": \"#fabd2f\"\n  },\n  \"hljs-template-tag\": {\n    \"color\": \"#fabd2f\"\n  },\n  \"hljs-type\": {\n    \"color\": \"#fabd2f\"\n  },\n  \"hljs-builtin-name\": {\n    \"color\": \"#8f3f71\"\n  },\n  \"hljs-doctag\": {\n    \"color\": \"#8f3f71\"\n  },\n  \"hljs-literal\": {\n    \"color\": \"#d3869b\"\n  },\n  \"hljs-number\": {\n    \"color\": \"#d3869b\"\n  },\n  \"hljs-code\": {\n    \"color\": \"#fe8019\"\n  },\n  \"hljs-meta\": {\n    \"color\": \"#fe8019\"\n  },\n  \"hljs-regexp\": {\n    \"color\": \"#fe8019\"\n  },\n  \"hljs-selector-id\": {\n    \"color\": \"#fe8019\"\n  },\n  \"hljs-template-variable\": {\n    \"color\": \"#fe8019\"\n  },\n  \"hljs-addition\": {\n    \"color\": \"#b8bb26\"\n  },\n  \"hljs-meta-string\": {\n    \"color\": \"#b8bb26\"\n  },\n  \"hljs-section\": {\n    \"color\": \"#b8bb26\",\n    \"fontWeight\": \"bold\"\n  },\n  \"hljs-selector-attr\": {\n    \"color\": \"#b8bb26\"\n  },\n  \"hljs-selector-class\": {\n    \"color\": \"#b8bb26\"\n  },\n  \"hljs-string\": {\n    \"color\": \"#b8bb26\"\n  },\n  \"hljs-symbol\": {\n    \"color\": \"#b8bb26\"\n  },\n  \"hljs-attribute\": {\n    \"color\": \"#8ec07c\"\n  },\n  \"hljs-bullet\": {\n    \"color\": \"#8ec07c\"\n  },\n  \"hljs-class\": {\n    \"color\": \"#8ec07c\"\n  },\n  \"hljs-function\": {\n    \"color\": \"#8ec07c\"\n  },\n  \"hljs-function .hljs-keyword\": {\n    \"color\": \"#8ec07c\"\n  },\n  \"hljs-meta-keyword\": {\n    \"color\": \"#8ec07c\"\n  },\n  \"hljs-selector-pseudo\": {\n    \"color\": \"#8ec07c\"\n  },\n  \"hljs-tag\": {\n    \"color\": \"#8ec07c\",\n    \"fontWeight\": \"bold\"\n  },\n  \"hljs-comment\": {\n    \"color\": \"#928374\",\n    \"fontStyle\": \"italic\"\n  },\n  \"hljs-link_label\": {\n    \"color\": \"#d3869b\"\n  }\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports[\"default\"] = void 0;\nvar _default = exports[\"default\"] = {\n  \"hljs-comment\": {\n    \"color\": \"#a57a4c\"\n  },\n  \"hljs-quote\": {\n    \"color\": \"#a57a4c\"\n  },\n  \"hljs-variable\": {\n    \"color\": \"#dc3958\"\n  },\n  \"hljs-template-variable\": {\n    \"color\": \"#dc3958\"\n  },\n  \"hljs-tag\": {\n    \"color\": \"#dc3958\"\n  },\n  \"hljs-name\": {\n    \"color\": \"#dc3958\"\n  },\n  \"hljs-selector-id\": {\n    \"color\": \"#dc3958\"\n  },\n  \"hljs-selector-class\": {\n    \"color\": \"#dc3958\"\n  },\n  \"hljs-regexp\": {\n    \"color\": \"#dc3958\"\n  },\n  \"hljs-meta\": {\n    \"color\": \"#dc3958\"\n  },\n  \"hljs-number\": {\n    \"color\": \"#f79a32\"\n  },\n  \"hljs-built_in\": {\n    \"color\": \"#f79a32\"\n  },\n  \"hljs-builtin-name\": {\n    \"color\": \"#f79a32\"\n  },\n  \"hljs-literal\": {\n    \"color\": \"#f79a32\"\n  },\n  \"hljs-type\": {\n    \"color\": \"#f79a32\"\n  },\n  \"hljs-params\": {\n    \"color\": \"#f79a32\"\n  },\n  \"hljs-deletion\": {\n    \"color\": \"#f79a32\"\n  },\n  \"hljs-link\": {\n    \"color\": \"#f79a32\"\n  },\n  \"hljs-title\": {\n    \"color\": \"#f06431\"\n  },\n  \"hljs-section\": {\n    \"color\": \"#f06431\"\n  },\n  \"hljs-attribute\": {\n    \"color\": \"#f06431\"\n  },\n  \"hljs-string\": {\n    \"color\": \"#889b4a\"\n  },\n  \"hljs-symbol\": {\n    \"color\": \"#889b4a\"\n  },\n  \"hljs-bullet\": {\n    \"color\": \"#889b4a\"\n  },\n  \"hljs-addition\": {\n    \"color\": \"#889b4a\"\n  },\n  \"hljs-keyword\": {\n    \"color\": \"#98676a\"\n  },\n  \"hljs-selector-tag\": {\n    \"color\": \"#98676a\"\n  },\n  \"hljs-function\": {\n    \"color\": \"#98676a\"\n  },\n  \"hljs\": {\n    \"display\": \"block\",\n    \"overflowX\": \"auto\",\n    \"background\": \"#fbebd4\",\n    \"color\": \"#84613d\",\n    \"padding\": \"0.5em\"\n  },\n  \"hljs-emphasis\": {\n    \"fontStyle\": \"italic\"\n  },\n  \"hljs-strong\": {\n    \"fontWeight\": \"bold\"\n  }\n};","/*\nLanguage: Awk\nAuthor: Matthew Daly \nWebsite: https://www.gnu.org/software/gawk/manual/gawk.html\nDescription: language definition for Awk scripts\n*/\n\n/** @type LanguageFn */\nfunction awk(hljs) {\n  const VARIABLE = {\n    className: 'variable',\n    variants: [\n      {\n        begin: /\\$[\\w\\d#@][\\w\\d_]*/\n      },\n      {\n        begin: /\\$\\{(.*?)\\}/\n      }\n    ]\n  };\n  const KEYWORDS = 'BEGIN END if else while do for in break continue delete next nextfile function func exit|10';\n  const STRING = {\n    className: 'string',\n    contains: [hljs.BACKSLASH_ESCAPE],\n    variants: [\n      {\n        begin: /(u|b)?r?'''/,\n        end: /'''/,\n        relevance: 10\n      },\n      {\n        begin: /(u|b)?r?\"\"\"/,\n        end: /\"\"\"/,\n        relevance: 10\n      },\n      {\n        begin: /(u|r|ur)'/,\n        end: /'/,\n        relevance: 10\n      },\n      {\n        begin: /(u|r|ur)\"/,\n        end: /\"/,\n        relevance: 10\n      },\n      {\n        begin: /(b|br)'/,\n        end: /'/\n      },\n      {\n        begin: /(b|br)\"/,\n        end: /\"/\n      },\n      hljs.APOS_STRING_MODE,\n      hljs.QUOTE_STRING_MODE\n    ]\n  };\n  return {\n    name: 'Awk',\n    keywords: {\n      keyword: KEYWORDS\n    },\n    contains: [\n      VARIABLE,\n      STRING,\n      hljs.REGEXP_MODE,\n      hljs.HASH_COMMENT_MODE,\n      hljs.NUMBER_MODE\n    ]\n  };\n}\n\nmodule.exports = awk;\n","/*\nLanguage: Roboconf\nAuthor: Vincent Zurczak \nDescription: Syntax highlighting for Roboconf's DSL\nWebsite: http://roboconf.net\nCategory: config\n*/\n\nfunction roboconf(hljs) {\n  const IDENTIFIER = '[a-zA-Z-_][^\\\\n{]+\\\\{';\n\n  const PROPERTY = {\n    className: 'attribute',\n    begin: /[a-zA-Z-_]+/,\n    end: /\\s*:/,\n    excludeEnd: true,\n    starts: {\n      end: ';',\n      relevance: 0,\n      contains: [\n        {\n          className: 'variable',\n          begin: /\\.[a-zA-Z-_]+/\n        },\n        {\n          className: 'keyword',\n          begin: /\\(optional\\)/\n        }\n      ]\n    }\n  };\n\n  return {\n    name: 'Roboconf',\n    aliases: [\n      'graph',\n      'instances'\n    ],\n    case_insensitive: true,\n    keywords: 'import',\n    contains: [\n      // Facet sections\n      {\n        begin: '^facet ' + IDENTIFIER,\n        end: /\\}/,\n        keywords: 'facet',\n        contains: [\n          PROPERTY,\n          hljs.HASH_COMMENT_MODE\n        ]\n      },\n\n      // Instance sections\n      {\n        begin: '^\\\\s*instance of ' + IDENTIFIER,\n        end: /\\}/,\n        keywords: 'name count channels instance-data instance-state instance of',\n        illegal: /\\S/,\n        contains: [\n          'self',\n          PROPERTY,\n          hljs.HASH_COMMENT_MODE\n        ]\n      },\n\n      // Component sections\n      {\n        begin: '^' + IDENTIFIER,\n        end: /\\}/,\n        contains: [\n          PROPERTY,\n          hljs.HASH_COMMENT_MODE\n        ]\n      },\n\n      // Comments\n      hljs.HASH_COMMENT_MODE\n    ]\n  };\n}\n\nmodule.exports = roboconf;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports[\"default\"] = void 0;\nvar _default = exports[\"default\"] = {\n  \"hljs\": {\n    \"display\": \"block\",\n    \"overflowX\": \"auto\",\n    \"padding\": \"0.5em\",\n    \"background\": \"#fff\",\n    \"color\": \"#000\"\n  },\n  \"xml .hljs-meta\": {\n    \"fontWeight\": \"bold\",\n    \"fontStyle\": \"italic\",\n    \"color\": \"#48b\"\n  },\n  \"hljs-comment\": {\n    \"fontStyle\": \"italic\",\n    \"color\": \"#070\"\n  },\n  \"hljs-quote\": {\n    \"fontStyle\": \"italic\",\n    \"color\": \"#070\"\n  },\n  \"hljs-name\": {\n    \"color\": \"#808\",\n    \"fontWeight\": \"bold\"\n  },\n  \"hljs-keyword\": {\n    \"color\": \"#808\"\n  },\n  \"hljs-attr\": {\n    \"fontWeight\": \"bold\",\n    \"color\": \"#000\"\n  },\n  \"hljs-string\": {\n    \"fontWeight\": \"normal\",\n    \"color\": \"#00f\"\n  },\n  \"hljs-variable\": {\n    \"color\": \"#477\"\n  },\n  \"hljs-template-variable\": {\n    \"color\": \"#477\"\n  },\n  \"hljs-code\": {\n    \"color\": \"#00f\"\n  },\n  \"hljs-meta-string\": {\n    \"color\": \"#00f\"\n  },\n  \"hljs-number\": {\n    \"color\": \"#00f\"\n  },\n  \"hljs-regexp\": {\n    \"color\": \"#00f\"\n  },\n  \"hljs-link\": {\n    \"color\": \"#00f\"\n  },\n  \"hljs-title\": {\n    \"color\": \"#f40\"\n  },\n  \"hljs-symbol\": {\n    \"color\": \"#f40\"\n  },\n  \"hljs-bullet\": {\n    \"color\": \"#f40\"\n  },\n  \"hljs-built_in\": {\n    \"color\": \"#f40\"\n  },\n  \"hljs-builtin-name\": {\n    \"color\": \"#f40\"\n  },\n  \"hljs-section\": {\n    \"color\": \"#642\"\n  },\n  \"hljs-meta\": {\n    \"color\": \"#642\"\n  },\n  \"hljs-class .hljs-title\": {\n    \"color\": \"#639\"\n  },\n  \"hljs-type\": {\n    \"color\": \"#639\"\n  },\n  \"hljs-function .hljs-title\": {\n    \"color\": \"#000\"\n  },\n  \"hljs-subst\": {\n    \"color\": \"#000\"\n  },\n  \"hljs-formula\": {\n    \"backgroundColor\": \"#eee\",\n    \"fontStyle\": \"italic\"\n  },\n  \"hljs-addition\": {\n    \"backgroundColor\": \"#beb\"\n  },\n  \"hljs-deletion\": {\n    \"backgroundColor\": \"#fbb\"\n  },\n  \"hljs-selector-id\": {\n    \"color\": \"#964\"\n  },\n  \"hljs-selector-class\": {\n    \"color\": \"#964\"\n  },\n  \"hljs-doctag\": {\n    \"fontWeight\": \"bold\"\n  },\n  \"hljs-strong\": {\n    \"fontWeight\": \"bold\"\n  },\n  \"hljs-emphasis\": {\n    \"fontStyle\": \"italic\"\n  }\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports[\"default\"] = void 0;\nvar _default = exports[\"default\"] = {\n  \"hljs\": {\n    \"display\": \"block\",\n    \"overflowX\": \"auto\",\n    \"padding\": \"0.5em\",\n    \"background\": \"#eaeef3\",\n    \"color\": \"#00193a\"\n  },\n  \"hljs-keyword\": {\n    \"fontWeight\": \"bold\"\n  },\n  \"hljs-selector-tag\": {\n    \"fontWeight\": \"bold\"\n  },\n  \"hljs-title\": {\n    \"fontWeight\": \"bold\",\n    \"color\": \"#0048ab\"\n  },\n  \"hljs-section\": {\n    \"fontWeight\": \"bold\",\n    \"color\": \"#0048ab\"\n  },\n  \"hljs-doctag\": {\n    \"fontWeight\": \"bold\"\n  },\n  \"hljs-name\": {\n    \"fontWeight\": \"bold\",\n    \"color\": \"#0048ab\"\n  },\n  \"hljs-strong\": {\n    \"fontWeight\": \"bold\"\n  },\n  \"hljs-comment\": {\n    \"color\": \"#738191\"\n  },\n  \"hljs-string\": {\n    \"color\": \"#0048ab\"\n  },\n  \"hljs-built_in\": {\n    \"color\": \"#0048ab\"\n  },\n  \"hljs-literal\": {\n    \"color\": \"#0048ab\"\n  },\n  \"hljs-type\": {\n    \"color\": \"#0048ab\"\n  },\n  \"hljs-addition\": {\n    \"color\": \"#0048ab\"\n  },\n  \"hljs-tag\": {\n    \"color\": \"#0048ab\"\n  },\n  \"hljs-quote\": {\n    \"color\": \"#0048ab\"\n  },\n  \"hljs-selector-id\": {\n    \"color\": \"#0048ab\"\n  },\n  \"hljs-selector-class\": {\n    \"color\": \"#0048ab\"\n  },\n  \"hljs-meta\": {\n    \"color\": \"#4c81c9\"\n  },\n  \"hljs-subst\": {\n    \"color\": \"#4c81c9\"\n  },\n  \"hljs-symbol\": {\n    \"color\": \"#4c81c9\"\n  },\n  \"hljs-regexp\": {\n    \"color\": \"#4c81c9\"\n  },\n  \"hljs-attribute\": {\n    \"color\": \"#4c81c9\"\n  },\n  \"hljs-deletion\": {\n    \"color\": \"#4c81c9\"\n  },\n  \"hljs-variable\": {\n    \"color\": \"#4c81c9\"\n  },\n  \"hljs-template-variable\": {\n    \"color\": \"#4c81c9\"\n  },\n  \"hljs-link\": {\n    \"color\": \"#4c81c9\"\n  },\n  \"hljs-bullet\": {\n    \"color\": \"#4c81c9\"\n  },\n  \"hljs-emphasis\": {\n    \"fontStyle\": \"italic\"\n  }\n};","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports[\"default\"] = void 0;\nvar _default = exports[\"default\"] = {\n  \"hljs-comment\": {\n    \"color\": \"#65737e\"\n  },\n  \"hljs-quote\": {\n    \"color\": \"#65737e\"\n  },\n  \"hljs-variable\": {\n    \"color\": \"#bf616a\"\n  },\n  \"hljs-template-variable\": {\n    \"color\": \"#bf616a\"\n  },\n  \"hljs-tag\": {\n    \"color\": \"#bf616a\"\n  },\n  \"hljs-name\": {\n    \"color\": \"#bf616a\"\n  },\n  \"hljs-selector-id\": {\n    \"color\": \"#bf616a\"\n  },\n  \"hljs-selector-class\": {\n    \"color\": \"#bf616a\"\n  },\n  \"hljs-regexp\": {\n    \"color\": \"#bf616a\"\n  },\n  \"hljs-deletion\": {\n    \"color\": \"#bf616a\"\n  },\n  \"hljs-number\": {\n    \"color\": \"#d08770\"\n  },\n  \"hljs-built_in\": {\n    \"color\": \"#d08770\"\n  },\n  \"hljs-builtin-name\": {\n    \"color\": \"#d08770\"\n  },\n  \"hljs-literal\": {\n    \"color\": \"#d08770\"\n  },\n  \"hljs-type\": {\n    \"color\": \"#d08770\"\n  },\n  \"hljs-params\": {\n    \"color\": \"#d08770\"\n  },\n  \"hljs-meta\": {\n    \"color\": \"#d08770\"\n  },\n  \"hljs-link\": {\n    \"color\": \"#d08770\"\n  },\n  \"hljs-attribute\": {\n    \"color\": \"#ebcb8b\"\n  },\n  \"hljs-string\": {\n    \"color\": \"#a3be8c\"\n  },\n  \"hljs-symbol\": {\n    \"color\": \"#a3be8c\"\n  },\n  \"hljs-bullet\": {\n    \"color\": \"#a3be8c\"\n  },\n  \"hljs-addition\": {\n    \"color\": \"#a3be8c\"\n  },\n  \"hljs-title\": {\n    \"color\": \"#8fa1b3\"\n  },\n  \"hljs-section\": {\n    \"color\": \"#8fa1b3\"\n  },\n  \"hljs-keyword\": {\n    \"color\": \"#b48ead\"\n  },\n  \"hljs-selector-tag\": {\n    \"color\": \"#b48ead\"\n  },\n  \"hljs\": {\n    \"display\": \"block\",\n    \"overflowX\": \"auto\",\n    \"background\": \"#2b303b\",\n    \"color\": \"#c0c5ce\",\n    \"padding\": \"0.5em\"\n  },\n  \"hljs-emphasis\": {\n    \"fontStyle\": \"italic\"\n  },\n  \"hljs-strong\": {\n    \"fontWeight\": \"bold\"\n  }\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports[\"default\"] = void 0;\nvar _default = exports[\"default\"] = {\n  \"hljs\": {\n    \"display\": \"block\",\n    \"overflowX\": \"auto\",\n    \"padding\": \"0.5em\",\n    \"background\": \"#282b2e\",\n    \"color\": \"#e0e2e4\"\n  },\n  \"hljs-keyword\": {\n    \"color\": \"#93c763\",\n    \"fontWeight\": \"bold\"\n  },\n  \"hljs-selector-tag\": {\n    \"color\": \"#93c763\",\n    \"fontWeight\": \"bold\"\n  },\n  \"hljs-literal\": {\n    \"color\": \"#93c763\",\n    \"fontWeight\": \"bold\"\n  },\n  \"hljs-selector-id\": {\n    \"color\": \"#93c763\"\n  },\n  \"hljs-number\": {\n    \"color\": \"#ffcd22\"\n  },\n  \"hljs-attribute\": {\n    \"color\": \"#668bb0\"\n  },\n  \"hljs-code\": {\n    \"color\": \"white\"\n  },\n  \"hljs-class .hljs-title\": {\n    \"color\": \"white\"\n  },\n  \"hljs-section\": {\n    \"color\": \"white\",\n    \"fontWeight\": \"bold\"\n  },\n  \"hljs-regexp\": {\n    \"color\": \"#d39745\"\n  },\n  \"hljs-link\": {\n    \"color\": \"#d39745\"\n  },\n  \"hljs-meta\": {\n    \"color\": \"#557182\"\n  },\n  \"hljs-tag\": {\n    \"color\": \"#8cbbad\"\n  },\n  \"hljs-name\": {\n    \"color\": \"#8cbbad\",\n    \"fontWeight\": \"bold\"\n  },\n  \"hljs-bullet\": {\n    \"color\": \"#8cbbad\"\n  },\n  \"hljs-subst\": {\n    \"color\": \"#8cbbad\"\n  },\n  \"hljs-emphasis\": {\n    \"color\": \"#8cbbad\"\n  },\n  \"hljs-type\": {\n    \"color\": \"#8cbbad\",\n    \"fontWeight\": \"bold\"\n  },\n  \"hljs-built_in\": {\n    \"color\": \"#8cbbad\"\n  },\n  \"hljs-selector-attr\": {\n    \"color\": \"#8cbbad\"\n  },\n  \"hljs-selector-pseudo\": {\n    \"color\": \"#8cbbad\"\n  },\n  \"hljs-addition\": {\n    \"color\": \"#8cbbad\"\n  },\n  \"hljs-variable\": {\n    \"color\": \"#8cbbad\"\n  },\n  \"hljs-template-tag\": {\n    \"color\": \"#8cbbad\"\n  },\n  \"hljs-template-variable\": {\n    \"color\": \"#8cbbad\"\n  },\n  \"hljs-string\": {\n    \"color\": \"#ec7600\"\n  },\n  \"hljs-symbol\": {\n    \"color\": \"#ec7600\"\n  },\n  \"hljs-comment\": {\n    \"color\": \"#818e96\"\n  },\n  \"hljs-quote\": {\n    \"color\": \"#818e96\"\n  },\n  \"hljs-deletion\": {\n    \"color\": \"#818e96\"\n  },\n  \"hljs-selector-class\": {\n    \"color\": \"#A082BD\"\n  },\n  \"hljs-doctag\": {\n    \"fontWeight\": \"bold\"\n  },\n  \"hljs-title\": {\n    \"fontWeight\": \"bold\"\n  },\n  \"hljs-strong\": {\n    \"fontWeight\": \"bold\"\n  }\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports[\"default\"] = void 0;\nvar _default = exports[\"default\"] = {\n  \"hljs\": {\n    \"display\": \"block\",\n    \"overflowX\": \"auto\",\n    \"padding\": \"0.5em\",\n    \"backgroundColor\": \"#f4f4f4\",\n    \"color\": \"black\"\n  },\n  \"hljs-subst\": {\n    \"color\": \"black\"\n  },\n  \"hljs-string\": {\n    \"color\": \"#050\"\n  },\n  \"hljs-title\": {\n    \"color\": \"navy\",\n    \"fontWeight\": \"bold\"\n  },\n  \"hljs-symbol\": {\n    \"color\": \"#050\"\n  },\n  \"hljs-bullet\": {\n    \"color\": \"#050\"\n  },\n  \"hljs-attribute\": {\n    \"color\": \"#050\"\n  },\n  \"hljs-addition\": {\n    \"color\": \"#050\"\n  },\n  \"hljs-variable\": {\n    \"color\": \"#050\"\n  },\n  \"hljs-template-tag\": {\n    \"color\": \"#050\"\n  },\n  \"hljs-template-variable\": {\n    \"color\": \"#050\"\n  },\n  \"hljs-comment\": {\n    \"color\": \"#777\"\n  },\n  \"hljs-quote\": {\n    \"color\": \"#777\"\n  },\n  \"hljs-number\": {\n    \"color\": \"#800\"\n  },\n  \"hljs-regexp\": {\n    \"color\": \"#800\"\n  },\n  \"hljs-literal\": {\n    \"color\": \"#800\"\n  },\n  \"hljs-type\": {\n    \"color\": \"#800\"\n  },\n  \"hljs-link\": {\n    \"color\": \"#800\"\n  },\n  \"hljs-deletion\": {\n    \"color\": \"#00e\"\n  },\n  \"hljs-meta\": {\n    \"color\": \"#00e\"\n  },\n  \"hljs-keyword\": {\n    \"fontWeight\": \"bold\",\n    \"color\": \"navy\"\n  },\n  \"hljs-selector-tag\": {\n    \"fontWeight\": \"bold\",\n    \"color\": \"navy\"\n  },\n  \"hljs-doctag\": {\n    \"fontWeight\": \"bold\",\n    \"color\": \"navy\"\n  },\n  \"hljs-section\": {\n    \"fontWeight\": \"bold\",\n    \"color\": \"navy\"\n  },\n  \"hljs-built_in\": {\n    \"fontWeight\": \"bold\",\n    \"color\": \"navy\"\n  },\n  \"hljs-tag\": {\n    \"fontWeight\": \"bold\",\n    \"color\": \"navy\"\n  },\n  \"hljs-name\": {\n    \"fontWeight\": \"bold\",\n    \"color\": \"navy\"\n  },\n  \"hljs-emphasis\": {\n    \"fontStyle\": \"italic\"\n  },\n  \"hljs-strong\": {\n    \"fontWeight\": \"bold\"\n  }\n};","/*\nLanguage: Lisp\nDescription: Generic lisp syntax\nAuthor: Vasily Polovnyov \nCategory: lisp\n*/\n\nfunction lisp(hljs) {\n  var LISP_IDENT_RE = '[a-zA-Z_\\\\-+\\\\*\\\\/<=>&#][a-zA-Z0-9_\\\\-+*\\\\/<=>&#!]*';\n  var MEC_RE = '\\\\|[^]*?\\\\|';\n  var LISP_SIMPLE_NUMBER_RE = '(-|\\\\+)?\\\\d+(\\\\.\\\\d+|\\\\/\\\\d+)?((d|e|f|l|s|D|E|F|L|S)(\\\\+|-)?\\\\d+)?';\n  var LITERAL = {\n    className: 'literal',\n    begin: '\\\\b(t{1}|nil)\\\\b'\n  };\n  var NUMBER = {\n    className: 'number',\n    variants: [\n      {begin: LISP_SIMPLE_NUMBER_RE, relevance: 0},\n      {begin: '#(b|B)[0-1]+(/[0-1]+)?'},\n      {begin: '#(o|O)[0-7]+(/[0-7]+)?'},\n      {begin: '#(x|X)[0-9a-fA-F]+(/[0-9a-fA-F]+)?'},\n      {begin: '#(c|C)\\\\(' + LISP_SIMPLE_NUMBER_RE + ' +' + LISP_SIMPLE_NUMBER_RE, end: '\\\\)'}\n    ]\n  };\n  var STRING = hljs.inherit(hljs.QUOTE_STRING_MODE, {illegal: null});\n  var COMMENT = hljs.COMMENT(\n    ';', '$',\n    {\n      relevance: 0\n    }\n  );\n  var VARIABLE = {\n    begin: '\\\\*', end: '\\\\*'\n  };\n  var KEYWORD = {\n    className: 'symbol',\n    begin: '[:&]' + LISP_IDENT_RE\n  };\n  var IDENT = {\n    begin: LISP_IDENT_RE,\n    relevance: 0\n  };\n  var MEC = {\n    begin: MEC_RE\n  };\n  var QUOTED_LIST = {\n    begin: '\\\\(', end: '\\\\)',\n    contains: ['self', LITERAL, STRING, NUMBER, IDENT]\n  };\n  var QUOTED = {\n    contains: [NUMBER, STRING, VARIABLE, KEYWORD, QUOTED_LIST, IDENT],\n    variants: [\n      {\n        begin: '[\\'`]\\\\(', end: '\\\\)'\n      },\n      {\n        begin: '\\\\(quote ', end: '\\\\)',\n        keywords: {name: 'quote'}\n      },\n      {\n        begin: '\\'' + MEC_RE\n      }\n    ]\n  };\n  var QUOTED_ATOM = {\n    variants: [\n      {begin: '\\'' + LISP_IDENT_RE},\n      {begin: '#\\'' + LISP_IDENT_RE + '(::' + LISP_IDENT_RE + ')*'}\n    ]\n  };\n  var LIST = {\n    begin: '\\\\(\\\\s*', end: '\\\\)'\n  };\n  var BODY = {\n    endsWithParent: true,\n    relevance: 0\n  };\n  LIST.contains = [\n    {\n      className: 'name',\n      variants: [\n        {\n          begin: LISP_IDENT_RE,\n          relevance: 0,\n        },\n        {begin: MEC_RE}\n      ]\n    },\n    BODY\n  ];\n  BODY.contains = [QUOTED, QUOTED_ATOM, LIST, LITERAL, NUMBER, STRING, COMMENT, VARIABLE, KEYWORD, MEC, IDENT];\n\n  return {\n    name: 'Lisp',\n    illegal: /\\S/,\n    contains: [\n      NUMBER,\n      hljs.SHEBANG(),\n      LITERAL,\n      STRING,\n      COMMENT,\n      QUOTED,\n      QUOTED_ATOM,\n      LIST,\n      IDENT\n    ]\n  };\n}\n\nmodule.exports = lisp;\n","/*\nLanguage: F#\nAuthor: Jonas Follesø \nContributors: Troy Kershaw , Henrik Feldt \nWebsite: https://docs.microsoft.com/en-us/dotnet/fsharp/\nCategory: functional\n*/\n\n/** @type LanguageFn */\nfunction fsharp(hljs) {\n  const TYPEPARAM = {\n    begin: '<',\n    end: '>',\n    contains: [\n      hljs.inherit(hljs.TITLE_MODE, {\n        begin: /'[a-zA-Z0-9_]+/\n      })\n    ]\n  };\n\n  return {\n    name: 'F#',\n    aliases: ['fs'],\n    keywords:\n      'abstract and as assert base begin class default delegate do done ' +\n      'downcast downto elif else end exception extern false finally for ' +\n      'fun function global if in inherit inline interface internal lazy let ' +\n      'match member module mutable namespace new null of open or ' +\n      'override private public rec return sig static struct then to ' +\n      'true try type upcast use val void when while with yield',\n    illegal: /\\/\\*/,\n    contains: [\n      {\n        // monad builder keywords (matches before non-bang kws)\n        className: 'keyword',\n        begin: /\\b(yield|return|let|do)!/\n      },\n      {\n        className: 'string',\n        begin: '@\"',\n        end: '\"',\n        contains: [\n          {\n            begin: '\"\"'\n          }\n        ]\n      },\n      {\n        className: 'string',\n        begin: '\"\"\"',\n        end: '\"\"\"'\n      },\n      hljs.COMMENT('\\\\(\\\\*(\\\\s)', '\\\\*\\\\)', {\n        contains: [\"self\"]\n      }),\n      {\n        className: 'class',\n        beginKeywords: 'type',\n        end: '\\\\(|=|$',\n        excludeEnd: true,\n        contains: [\n          hljs.UNDERSCORE_TITLE_MODE,\n          TYPEPARAM\n        ]\n      },\n      {\n        className: 'meta',\n        begin: '\\\\[<',\n        end: '>\\\\]',\n        relevance: 10\n      },\n      {\n        className: 'symbol',\n        begin: '\\\\B(\\'[A-Za-z])\\\\b',\n        contains: [hljs.BACKSLASH_ESCAPE]\n      },\n      hljs.C_LINE_COMMENT_MODE,\n      hljs.inherit(hljs.QUOTE_STRING_MODE, {\n        illegal: null\n      }),\n      hljs.C_NUMBER_MODE\n    ]\n  };\n}\n\nmodule.exports = fsharp;\n","/*\nLanguage: Oracle Rules Language\nAuthor: Jason Jacobson \nDescription: The Oracle Utilities Rules Language is used to program the Oracle Utilities Applications acquired from LODESTAR Corporation.  The products include Billing Component, LPSS, Pricing Component etc. through version 1.6.1.\nWebsite: https://docs.oracle.com/cd/E17904_01/dev.1111/e10227/rlref.htm\nCategory: enterprise\n*/\n\nfunction ruleslanguage(hljs) {\n  return {\n    name: 'Oracle Rules Language',\n    keywords: {\n      keyword:\n        'BILL_PERIOD BILL_START BILL_STOP RS_EFFECTIVE_START RS_EFFECTIVE_STOP RS_JURIS_CODE RS_OPCO_CODE ' +\n        'INTDADDATTRIBUTE|5 INTDADDVMSG|5 INTDBLOCKOP|5 INTDBLOCKOPNA|5 INTDCLOSE|5 INTDCOUNT|5 ' +\n        'INTDCOUNTSTATUSCODE|5 INTDCREATEMASK|5 INTDCREATEDAYMASK|5 INTDCREATEFACTORMASK|5 ' +\n        'INTDCREATEHANDLE|5 INTDCREATEOVERRIDEDAYMASK|5 INTDCREATEOVERRIDEMASK|5 ' +\n        'INTDCREATESTATUSCODEMASK|5 INTDCREATETOUPERIOD|5 INTDDELETE|5 INTDDIPTEST|5 INTDEXPORT|5 ' +\n        'INTDGETERRORCODE|5 INTDGETERRORMESSAGE|5 INTDISEQUAL|5 INTDJOIN|5 INTDLOAD|5 INTDLOADACTUALCUT|5 ' +\n        'INTDLOADDATES|5 INTDLOADHIST|5 INTDLOADLIST|5 INTDLOADLISTDATES|5 INTDLOADLISTENERGY|5 ' +\n        'INTDLOADLISTHIST|5 INTDLOADRELATEDCHANNEL|5 INTDLOADSP|5 INTDLOADSTAGING|5 INTDLOADUOM|5 ' +\n        'INTDLOADUOMDATES|5 INTDLOADUOMHIST|5 INTDLOADVERSION|5 INTDOPEN|5 INTDREADFIRST|5 INTDREADNEXT|5 ' +\n        'INTDRECCOUNT|5 INTDRELEASE|5 INTDREPLACE|5 INTDROLLAVG|5 INTDROLLPEAK|5 INTDSCALAROP|5 INTDSCALE|5 ' +\n        'INTDSETATTRIBUTE|5 INTDSETDSTPARTICIPANT|5 INTDSETSTRING|5 INTDSETVALUE|5 INTDSETVALUESTATUS|5 ' +\n        'INTDSHIFTSTARTTIME|5 INTDSMOOTH|5 INTDSORT|5 INTDSPIKETEST|5 INTDSUBSET|5 INTDTOU|5 ' +\n        'INTDTOURELEASE|5 INTDTOUVALUE|5 INTDUPDATESTATS|5 INTDVALUE|5 STDEV INTDDELETEEX|5 ' +\n        'INTDLOADEXACTUAL|5 INTDLOADEXCUT|5 INTDLOADEXDATES|5 INTDLOADEX|5 INTDLOADEXRELATEDCHANNEL|5 ' +\n        'INTDSAVEEX|5 MVLOAD|5 MVLOADACCT|5 MVLOADACCTDATES|5 MVLOADACCTHIST|5 MVLOADDATES|5 MVLOADHIST|5 ' +\n        'MVLOADLIST|5 MVLOADLISTDATES|5 MVLOADLISTHIST|5 IF FOR NEXT DONE SELECT END CALL ABORT CLEAR CHANNEL FACTOR LIST NUMBER ' +\n        'OVERRIDE SET WEEK DISTRIBUTIONNODE ELSE WHEN THEN OTHERWISE IENUM CSV INCLUDE LEAVE RIDER SAVE DELETE ' +\n        'NOVALUE SECTION WARN SAVE_UPDATE DETERMINANT LABEL REPORT REVENUE EACH ' +\n        'IN FROM TOTAL CHARGE BLOCK AND OR CSV_FILE RATE_CODE AUXILIARY_DEMAND ' +\n        'UIDACCOUNT RS BILL_PERIOD_SELECT HOURS_PER_MONTH INTD_ERROR_STOP SEASON_SCHEDULE_NAME ' +\n        'ACCOUNTFACTOR ARRAYUPPERBOUND CALLSTOREDPROC GETADOCONNECTION GETCONNECT GETDATASOURCE ' +\n        'GETQUALIFIER GETUSERID HASVALUE LISTCOUNT LISTOP LISTUPDATE LISTVALUE PRORATEFACTOR RSPRORATE ' +\n        'SETBINPATH SETDBMONITOR WQ_OPEN BILLINGHOURS DATE DATEFROMFLOAT DATETIMEFROMSTRING ' +\n        'DATETIMETOSTRING DATETOFLOAT DAY DAYDIFF DAYNAME DBDATETIME HOUR MINUTE MONTH MONTHDIFF ' +\n        'MONTHHOURS MONTHNAME ROUNDDATE SAMEWEEKDAYLASTYEAR SECOND WEEKDAY WEEKDIFF YEAR YEARDAY ' +\n        'YEARSTR COMPSUM HISTCOUNT HISTMAX HISTMIN HISTMINNZ HISTVALUE MAXNRANGE MAXRANGE MINRANGE ' +\n        'COMPIKVA COMPKVA COMPKVARFROMKQKW COMPLF IDATTR FLAG LF2KW LF2KWH MAXKW POWERFACTOR ' +\n        'READING2USAGE AVGSEASON MAXSEASON MONTHLYMERGE SEASONVALUE SUMSEASON ACCTREADDATES ' +\n        'ACCTTABLELOAD CONFIGADD CONFIGGET CREATEOBJECT CREATEREPORT EMAILCLIENT EXPBLKMDMUSAGE ' +\n        'EXPMDMUSAGE EXPORT_USAGE FACTORINEFFECT GETUSERSPECIFIEDSTOP INEFFECT ISHOLIDAY RUNRATE ' +\n        'SAVE_PROFILE SETREPORTTITLE USEREXIT WATFORRUNRATE TO TABLE ACOS ASIN ATAN ATAN2 BITAND CEIL ' +\n        'COS COSECANT COSH COTANGENT DIVQUOT DIVREM EXP FABS FLOOR FMOD FREPM FREXPN LOG LOG10 MAX MAXN ' +\n        'MIN MINNZ MODF POW ROUND ROUND2VALUE ROUNDINT SECANT SIN SINH SQROOT TAN TANH FLOAT2STRING ' +\n        'FLOAT2STRINGNC INSTR LEFT LEN LTRIM MID RIGHT RTRIM STRING STRINGNC TOLOWER TOUPPER TRIM ' +\n        'NUMDAYS READ_DATE STAGING',\n      built_in:\n        'IDENTIFIER OPTIONS XML_ELEMENT XML_OP XML_ELEMENT_OF DOMDOCCREATE DOMDOCLOADFILE DOMDOCLOADXML ' +\n        'DOMDOCSAVEFILE DOMDOCGETROOT DOMDOCADDPI DOMNODEGETNAME DOMNODEGETTYPE DOMNODEGETVALUE DOMNODEGETCHILDCT ' +\n        'DOMNODEGETFIRSTCHILD DOMNODEGETSIBLING DOMNODECREATECHILDELEMENT DOMNODESETATTRIBUTE ' +\n        'DOMNODEGETCHILDELEMENTCT DOMNODEGETFIRSTCHILDELEMENT DOMNODEGETSIBLINGELEMENT DOMNODEGETATTRIBUTECT ' +\n        'DOMNODEGETATTRIBUTEI DOMNODEGETATTRIBUTEBYNAME DOMNODEGETBYNAME'\n    },\n    contains: [\n      hljs.C_LINE_COMMENT_MODE,\n      hljs.C_BLOCK_COMMENT_MODE,\n      hljs.APOS_STRING_MODE,\n      hljs.QUOTE_STRING_MODE,\n      hljs.C_NUMBER_MODE,\n      {\n        className: 'literal',\n        variants: [\n          { // looks like #-comment\n            begin: '#\\\\s+',\n            relevance: 0\n          },\n          {\n            begin: '#[a-zA-Z .]+'\n          }\n        ]\n      }\n    ]\n  };\n}\n\nmodule.exports = ruleslanguage;\n","/*\nLanguage: Hy\nDescription: Hy is a wonderful dialect of Lisp that’s embedded in Python.\nAuthor: Sergey Sobko \nWebsite: http://docs.hylang.org/en/stable/\nCategory: lisp\n*/\n\nfunction hy(hljs) {\n  var SYMBOLSTART = 'a-zA-Z_\\\\-!.?+*=<>&#\\'';\n  var SYMBOL_RE = '[' + SYMBOLSTART + '][' + SYMBOLSTART + '0-9/;:]*';\n  var keywords = {\n    $pattern: SYMBOL_RE,\n    'builtin-name':\n      // keywords\n      '!= % %= & &= * ** **= *= *map ' +\n      '+ += , --build-class-- --import-- -= . / // //= ' +\n      '/= < << <<= <= = > >= >> >>= ' +\n      '@ @= ^ ^= abs accumulate all and any ap-compose ' +\n      'ap-dotimes ap-each ap-each-while ap-filter ap-first ap-if ap-last ap-map ap-map-when ap-pipe ' +\n      'ap-reduce ap-reject apply as-> ascii assert assoc bin break butlast ' +\n      'callable calling-module-name car case cdr chain chr coll? combinations compile ' +\n      'compress cond cons cons? continue count curry cut cycle dec ' +\n      'def default-method defclass defmacro defmacro-alias defmacro/g! defmain defmethod defmulti defn ' +\n      'defn-alias defnc defnr defreader defseq del delattr delete-route dict-comp dir ' +\n      'disassemble dispatch-reader-macro distinct divmod do doto drop drop-last drop-while empty? ' +\n      'end-sequence eval eval-and-compile eval-when-compile even? every? except exec filter first ' +\n      'flatten float? fn fnc fnr for for* format fraction genexpr ' +\n      'gensym get getattr global globals group-by hasattr hash hex id ' +\n      'identity if if* if-not if-python2 import in inc input instance? ' +\n      'integer integer-char? integer? interleave interpose is is-coll is-cons is-empty is-even ' +\n      'is-every is-float is-instance is-integer is-integer-char is-iterable is-iterator is-keyword is-neg is-none ' +\n      'is-not is-numeric is-odd is-pos is-string is-symbol is-zero isinstance islice issubclass ' +\n      'iter iterable? iterate iterator? keyword keyword? lambda last len let ' +\n      'lif lif-not list* list-comp locals loop macro-error macroexpand macroexpand-1 macroexpand-all ' +\n      'map max merge-with method-decorator min multi-decorator multicombinations name neg? next ' +\n      'none? nonlocal not not-in not? nth numeric? oct odd? open ' +\n      'or ord partition permutations pos? post-route postwalk pow prewalk print ' +\n      'product profile/calls profile/cpu put-route quasiquote quote raise range read read-str ' +\n      'recursive-replace reduce remove repeat repeatedly repr require rest round route ' +\n      'route-with-methods rwm second seq set-comp setattr setv some sorted string ' +\n      'string? sum switch symbol? take take-nth take-while tee try unless ' +\n      'unquote unquote-splicing vars walk when while with with* with-decorator with-gensyms ' +\n      'xi xor yield yield-from zero? zip zip-longest | |= ~'\n   };\n\n  var SIMPLE_NUMBER_RE = '[-+]?\\\\d+(\\\\.\\\\d+)?';\n\n  var SYMBOL = {\n    begin: SYMBOL_RE,\n    relevance: 0\n  };\n  var NUMBER = {\n    className: 'number', begin: SIMPLE_NUMBER_RE,\n    relevance: 0\n  };\n  var STRING = hljs.inherit(hljs.QUOTE_STRING_MODE, {illegal: null});\n  var COMMENT = hljs.COMMENT(\n    ';',\n    '$',\n    {\n      relevance: 0\n    }\n  );\n  var LITERAL = {\n    className: 'literal',\n    begin: /\\b([Tt]rue|[Ff]alse|nil|None)\\b/\n  };\n  var COLLECTION = {\n    begin: '[\\\\[\\\\{]', end: '[\\\\]\\\\}]'\n  };\n  var HINT = {\n    className: 'comment',\n    begin: '\\\\^' + SYMBOL_RE\n  };\n  var HINT_COL = hljs.COMMENT('\\\\^\\\\{', '\\\\}');\n  var KEY = {\n    className: 'symbol',\n    begin: '[:]{1,2}' + SYMBOL_RE\n  };\n  var LIST = {\n    begin: '\\\\(', end: '\\\\)'\n  };\n  var BODY = {\n    endsWithParent: true,\n    relevance: 0\n  };\n  var NAME = {\n    className: 'name',\n    relevance: 0,\n    keywords: keywords,\n    begin: SYMBOL_RE,\n    starts: BODY\n  };\n  var DEFAULT_CONTAINS = [LIST, STRING, HINT, HINT_COL, COMMENT, KEY, COLLECTION, NUMBER, LITERAL, SYMBOL];\n\n  LIST.contains = [hljs.COMMENT('comment', ''), NAME, BODY];\n  BODY.contains = DEFAULT_CONTAINS;\n  COLLECTION.contains = DEFAULT_CONTAINS;\n\n  return {\n    name: 'Hy',\n    aliases: ['hylang'],\n    illegal: /\\S/,\n    contains: [hljs.SHEBANG(), LIST, STRING, HINT, HINT_COL, COMMENT, KEY, COLLECTION, NUMBER, LITERAL]\n  };\n}\n\nmodule.exports = hy;\n","/**\n * @param {string} value\n * @returns {RegExp}\n * */\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction source(re) {\n  if (!re) return null;\n  if (typeof re === \"string\") return re;\n\n  return re.source;\n}\n\n/**\n * @param {...(RegExp | string) } args\n * @returns {string}\n */\nfunction concat(...args) {\n  const joined = args.map((x) => source(x)).join(\"\");\n  return joined;\n}\n\n/*\nLanguage: QML\nRequires: javascript.js, xml.js\nAuthor: John Foster \nDescription: Syntax highlighting for the Qt Quick QML scripting language, based mostly off\n             the JavaScript parser.\nWebsite: https://doc.qt.io/qt-5/qmlapplications.html\nCategory: scripting\n*/\n\nfunction qml(hljs) {\n  const KEYWORDS = {\n    keyword:\n      'in of on if for while finally var new function do return void else break catch ' +\n      'instanceof with throw case default try this switch continue typeof delete ' +\n      'let yield const export super debugger as async await import',\n    literal:\n      'true false null undefined NaN Infinity',\n    built_in:\n      'eval isFinite isNaN parseFloat parseInt decodeURI decodeURIComponent ' +\n      'encodeURI encodeURIComponent escape unescape Object Function Boolean Error ' +\n      'EvalError InternalError RangeError ReferenceError StopIteration SyntaxError ' +\n      'TypeError URIError Number Math Date String RegExp Array Float32Array ' +\n      'Float64Array Int16Array Int32Array Int8Array Uint16Array Uint32Array ' +\n      'Uint8Array Uint8ClampedArray ArrayBuffer DataView JSON Intl arguments require ' +\n      'module console window document Symbol Set Map WeakSet WeakMap Proxy Reflect ' +\n      'Behavior bool color coordinate date double enumeration font geocircle georectangle ' +\n      'geoshape int list matrix4x4 parent point quaternion real rect ' +\n      'size string url variant vector2d vector3d vector4d ' +\n      'Promise'\n  };\n\n  const QML_IDENT_RE = '[a-zA-Z_][a-zA-Z0-9\\\\._]*';\n\n  // Isolate property statements. Ends at a :, =, ;, ,, a comment or end of line.\n  // Use property class.\n  const PROPERTY = {\n    className: 'keyword',\n    begin: '\\\\bproperty\\\\b',\n    starts: {\n      className: 'string',\n      end: '(:|=|;|,|//|/\\\\*|$)',\n      returnEnd: true\n    }\n  };\n\n  // Isolate signal statements. Ends at a ) a comment or end of line.\n  // Use property class.\n  const SIGNAL = {\n    className: 'keyword',\n    begin: '\\\\bsignal\\\\b',\n    starts: {\n      className: 'string',\n      end: '(\\\\(|:|=|;|,|//|/\\\\*|$)',\n      returnEnd: true\n    }\n  };\n\n  // id: is special in QML. When we see id: we want to mark the id: as attribute and\n  // emphasize the token following.\n  const ID_ID = {\n    className: 'attribute',\n    begin: '\\\\bid\\\\s*:',\n    starts: {\n      className: 'string',\n      end: QML_IDENT_RE,\n      returnEnd: false\n    }\n  };\n\n  // Find QML object attribute. An attribute is a QML identifier followed by :.\n  // Unfortunately it's hard to know where it ends, as it may contain scalars,\n  // objects, object definitions, or javascript. The true end is either when the parent\n  // ends or the next attribute is detected.\n  const QML_ATTRIBUTE = {\n    begin: QML_IDENT_RE + '\\\\s*:',\n    returnBegin: true,\n    contains: [\n      {\n        className: 'attribute',\n        begin: QML_IDENT_RE,\n        end: '\\\\s*:',\n        excludeEnd: true,\n        relevance: 0\n      }\n    ],\n    relevance: 0\n  };\n\n  // Find QML object. A QML object is a QML identifier followed by { and ends at the matching }.\n  // All we really care about is finding IDENT followed by { and just mark up the IDENT and ignore the {.\n  const QML_OBJECT = {\n    begin: concat(QML_IDENT_RE, /\\s*\\{/),\n    end: /\\{/,\n    returnBegin: true,\n    relevance: 0,\n    contains: [\n      hljs.inherit(hljs.TITLE_MODE, {\n        begin: QML_IDENT_RE\n      })\n    ]\n  };\n\n  return {\n    name: 'QML',\n    aliases: [ 'qt' ],\n    case_insensitive: false,\n    keywords: KEYWORDS,\n    contains: [\n      {\n        className: 'meta',\n        begin: /^\\s*['\"]use (strict|asm)['\"]/\n      },\n      hljs.APOS_STRING_MODE,\n      hljs.QUOTE_STRING_MODE,\n      { // template string\n        className: 'string',\n        begin: '`',\n        end: '`',\n        contains: [\n          hljs.BACKSLASH_ESCAPE,\n          {\n            className: 'subst',\n            begin: '\\\\$\\\\{',\n            end: '\\\\}'\n          }\n        ]\n      },\n      hljs.C_LINE_COMMENT_MODE,\n      hljs.C_BLOCK_COMMENT_MODE,\n      {\n        className: 'number',\n        variants: [\n          {\n            begin: '\\\\b(0[bB][01]+)'\n          },\n          {\n            begin: '\\\\b(0[oO][0-7]+)'\n          },\n          {\n            begin: hljs.C_NUMBER_RE\n          }\n        ],\n        relevance: 0\n      },\n      { // \"value\" container\n        begin: '(' + hljs.RE_STARTERS_RE + '|\\\\b(case|return|throw)\\\\b)\\\\s*',\n        keywords: 'return throw case',\n        contains: [\n          hljs.C_LINE_COMMENT_MODE,\n          hljs.C_BLOCK_COMMENT_MODE,\n          hljs.REGEXP_MODE,\n          { // E4X / JSX\n            begin: /\\s*[);\\]]/,\n            relevance: 0,\n            subLanguage: 'xml'\n          }\n        ],\n        relevance: 0\n      },\n      SIGNAL,\n      PROPERTY,\n      {\n        className: 'function',\n        beginKeywords: 'function',\n        end: /\\{/,\n        excludeEnd: true,\n        contains: [\n          hljs.inherit(hljs.TITLE_MODE, {\n            begin: /[A-Za-z$_][0-9A-Za-z$_]*/\n          }),\n          {\n            className: 'params',\n            begin: /\\(/,\n            end: /\\)/,\n            excludeBegin: true,\n            excludeEnd: true,\n            contains: [\n              hljs.C_LINE_COMMENT_MODE,\n              hljs.C_BLOCK_COMMENT_MODE\n            ]\n          }\n        ],\n        illegal: /\\[|%/\n      },\n      {\n        // hack: prevents detection of keywords after dots\n        begin: '\\\\.' + hljs.IDENT_RE,\n        relevance: 0\n      },\n      ID_ID,\n      QML_ATTRIBUTE,\n      QML_OBJECT\n    ],\n    illegal: /#/\n  };\n}\n\nmodule.exports = qml;\n","/*\nLanguage: Python profiler\nDescription: Python profiler results\nAuthor: Brian Beck \n*/\n\nfunction profile(hljs) {\n  return {\n    name: 'Python profiler',\n    contains: [\n      hljs.C_NUMBER_MODE,\n      {\n        begin: '[a-zA-Z_][\\\\da-zA-Z_]+\\\\.[\\\\da-zA-Z_]{1,3}',\n        end: ':',\n        excludeEnd: true\n      },\n      {\n        begin: '(ncalls|tottime|cumtime)',\n        end: '$',\n        keywords: 'ncalls tottime|10 cumtime|10 filename',\n        relevance: 10\n      },\n      {\n        begin: 'function calls',\n        end: '$',\n        contains: [ hljs.C_NUMBER_MODE ],\n        relevance: 10\n      },\n      hljs.APOS_STRING_MODE,\n      hljs.QUOTE_STRING_MODE,\n      {\n        className: 'string',\n        begin: '\\\\(',\n        end: '\\\\)$',\n        excludeBegin: true,\n        excludeEnd: true,\n        relevance: 0\n      }\n    ]\n  };\n}\n\nmodule.exports = profile;\n","/*\nLanguage: AutoHotkey\nAuthor: Seongwon Lee \nDescription: AutoHotkey language definition\nCategory: scripting\n*/\n\n/** @type LanguageFn */\nfunction autohotkey(hljs) {\n  const BACKTICK_ESCAPE = {\n    begin: '`[\\\\s\\\\S]'\n  };\n\n  return {\n    name: 'AutoHotkey',\n    case_insensitive: true,\n    aliases: ['ahk'],\n    keywords: {\n      keyword: 'Break Continue Critical Exit ExitApp Gosub Goto New OnExit Pause return SetBatchLines SetTimer Suspend Thread Throw Until ahk_id ahk_class ahk_pid ahk_exe ahk_group',\n      literal: 'true false NOT AND OR',\n      built_in: 'ComSpec Clipboard ClipboardAll ErrorLevel'\n    },\n    contains: [\n      BACKTICK_ESCAPE,\n      hljs.inherit(hljs.QUOTE_STRING_MODE, {\n        contains: [BACKTICK_ESCAPE]\n      }),\n      hljs.COMMENT(';', '$', {\n        relevance: 0\n      }),\n      hljs.C_BLOCK_COMMENT_MODE,\n      {\n        className: 'number',\n        begin: hljs.NUMBER_RE,\n        relevance: 0\n      },\n      {\n        // subst would be the most accurate however fails the point of\n        // highlighting. variable is comparably the most accurate that actually\n        // has some effect\n        className: 'variable',\n        begin: '%[a-zA-Z0-9#_$@]+%'\n      },\n      {\n        className: 'built_in',\n        begin: '^\\\\s*\\\\w+\\\\s*(,|%)'\n        // I don't really know if this is totally relevant\n      },\n      {\n        // symbol would be most accurate however is highlighted just like\n        // built_in and that makes up a lot of AutoHotkey code meaning that it\n        // would fail to highlight anything\n        className: 'title',\n        variants: [\n          {\n            begin: '^[^\\\\n\";]+::(?!=)'\n          },\n          {\n            begin: '^[^\\\\n\";]+:(?!=)',\n            // zero relevance as it catches a lot of things\n            // followed by a single ':' in many languages\n            relevance: 0\n          }\n        ]\n      },\n      {\n        className: 'meta',\n        begin: '^\\\\s*#\\\\w+',\n        end: '$',\n        relevance: 0\n      },\n      {\n        className: 'built_in',\n        begin: 'A_[a-zA-Z0-9]+'\n      },\n      {\n        // consecutive commas, not for highlighting but just for relevance\n        begin: ',\\\\s*,'\n      }\n    ]\n  };\n}\n\nmodule.exports = autohotkey;\n","const SYSTEM_SYMBOLS = [\n  \"AASTriangle\",\n  \"AbelianGroup\",\n  \"Abort\",\n  \"AbortKernels\",\n  \"AbortProtect\",\n  \"AbortScheduledTask\",\n  \"Above\",\n  \"Abs\",\n  \"AbsArg\",\n  \"AbsArgPlot\",\n  \"Absolute\",\n  \"AbsoluteCorrelation\",\n  \"AbsoluteCorrelationFunction\",\n  \"AbsoluteCurrentValue\",\n  \"AbsoluteDashing\",\n  \"AbsoluteFileName\",\n  \"AbsoluteOptions\",\n  \"AbsolutePointSize\",\n  \"AbsoluteThickness\",\n  \"AbsoluteTime\",\n  \"AbsoluteTiming\",\n  \"AcceptanceThreshold\",\n  \"AccountingForm\",\n  \"Accumulate\",\n  \"Accuracy\",\n  \"AccuracyGoal\",\n  \"ActionDelay\",\n  \"ActionMenu\",\n  \"ActionMenuBox\",\n  \"ActionMenuBoxOptions\",\n  \"Activate\",\n  \"Active\",\n  \"ActiveClassification\",\n  \"ActiveClassificationObject\",\n  \"ActiveItem\",\n  \"ActivePrediction\",\n  \"ActivePredictionObject\",\n  \"ActiveStyle\",\n  \"AcyclicGraphQ\",\n  \"AddOnHelpPath\",\n  \"AddSides\",\n  \"AddTo\",\n  \"AddToSearchIndex\",\n  \"AddUsers\",\n  \"AdjacencyGraph\",\n  \"AdjacencyList\",\n  \"AdjacencyMatrix\",\n  \"AdjacentMeshCells\",\n  \"AdjustmentBox\",\n  \"AdjustmentBoxOptions\",\n  \"AdjustTimeSeriesForecast\",\n  \"AdministrativeDivisionData\",\n  \"AffineHalfSpace\",\n  \"AffineSpace\",\n  \"AffineStateSpaceModel\",\n  \"AffineTransform\",\n  \"After\",\n  \"AggregatedEntityClass\",\n  \"AggregationLayer\",\n  \"AircraftData\",\n  \"AirportData\",\n  \"AirPressureData\",\n  \"AirTemperatureData\",\n  \"AiryAi\",\n  \"AiryAiPrime\",\n  \"AiryAiZero\",\n  \"AiryBi\",\n  \"AiryBiPrime\",\n  \"AiryBiZero\",\n  \"AlgebraicIntegerQ\",\n  \"AlgebraicNumber\",\n  \"AlgebraicNumberDenominator\",\n  \"AlgebraicNumberNorm\",\n  \"AlgebraicNumberPolynomial\",\n  \"AlgebraicNumberTrace\",\n  \"AlgebraicRules\",\n  \"AlgebraicRulesData\",\n  \"Algebraics\",\n  \"AlgebraicUnitQ\",\n  \"Alignment\",\n  \"AlignmentMarker\",\n  \"AlignmentPoint\",\n  \"All\",\n  \"AllowAdultContent\",\n  \"AllowedCloudExtraParameters\",\n  \"AllowedCloudParameterExtensions\",\n  \"AllowedDimensions\",\n  \"AllowedFrequencyRange\",\n  \"AllowedHeads\",\n  \"AllowGroupClose\",\n  \"AllowIncomplete\",\n  \"AllowInlineCells\",\n  \"AllowKernelInitialization\",\n  \"AllowLooseGrammar\",\n  \"AllowReverseGroupClose\",\n  \"AllowScriptLevelChange\",\n  \"AllowVersionUpdate\",\n  \"AllTrue\",\n  \"Alphabet\",\n  \"AlphabeticOrder\",\n  \"AlphabeticSort\",\n  \"AlphaChannel\",\n  \"AlternateImage\",\n  \"AlternatingFactorial\",\n  \"AlternatingGroup\",\n  \"AlternativeHypothesis\",\n  \"Alternatives\",\n  \"AltitudeMethod\",\n  \"AmbientLight\",\n  \"AmbiguityFunction\",\n  \"AmbiguityList\",\n  \"Analytic\",\n  \"AnatomyData\",\n  \"AnatomyForm\",\n  \"AnatomyPlot3D\",\n  \"AnatomySkinStyle\",\n  \"AnatomyStyling\",\n  \"AnchoredSearch\",\n  \"And\",\n  \"AndersonDarlingTest\",\n  \"AngerJ\",\n  \"AngleBisector\",\n  \"AngleBracket\",\n  \"AnglePath\",\n  \"AnglePath3D\",\n  \"AngleVector\",\n  \"AngularGauge\",\n  \"Animate\",\n  \"AnimationCycleOffset\",\n  \"AnimationCycleRepetitions\",\n  \"AnimationDirection\",\n  \"AnimationDisplayTime\",\n  \"AnimationRate\",\n  \"AnimationRepetitions\",\n  \"AnimationRunning\",\n  \"AnimationRunTime\",\n  \"AnimationTimeIndex\",\n  \"Animator\",\n  \"AnimatorBox\",\n  \"AnimatorBoxOptions\",\n  \"AnimatorElements\",\n  \"Annotate\",\n  \"Annotation\",\n  \"AnnotationDelete\",\n  \"AnnotationKeys\",\n  \"AnnotationRules\",\n  \"AnnotationValue\",\n  \"Annuity\",\n  \"AnnuityDue\",\n  \"Annulus\",\n  \"AnomalyDetection\",\n  \"AnomalyDetector\",\n  \"AnomalyDetectorFunction\",\n  \"Anonymous\",\n  \"Antialiasing\",\n  \"AntihermitianMatrixQ\",\n  \"Antisymmetric\",\n  \"AntisymmetricMatrixQ\",\n  \"Antonyms\",\n  \"AnyOrder\",\n  \"AnySubset\",\n  \"AnyTrue\",\n  \"Apart\",\n  \"ApartSquareFree\",\n  \"APIFunction\",\n  \"Appearance\",\n  \"AppearanceElements\",\n  \"AppearanceRules\",\n  \"AppellF1\",\n  \"Append\",\n  \"AppendCheck\",\n  \"AppendLayer\",\n  \"AppendTo\",\n  \"Apply\",\n  \"ApplySides\",\n  \"ArcCos\",\n  \"ArcCosh\",\n  \"ArcCot\",\n  \"ArcCoth\",\n  \"ArcCsc\",\n  \"ArcCsch\",\n  \"ArcCurvature\",\n  \"ARCHProcess\",\n  \"ArcLength\",\n  \"ArcSec\",\n  \"ArcSech\",\n  \"ArcSin\",\n  \"ArcSinDistribution\",\n  \"ArcSinh\",\n  \"ArcTan\",\n  \"ArcTanh\",\n  \"Area\",\n  \"Arg\",\n  \"ArgMax\",\n  \"ArgMin\",\n  \"ArgumentCountQ\",\n  \"ARIMAProcess\",\n  \"ArithmeticGeometricMean\",\n  \"ARMAProcess\",\n  \"Around\",\n  \"AroundReplace\",\n  \"ARProcess\",\n  \"Array\",\n  \"ArrayComponents\",\n  \"ArrayDepth\",\n  \"ArrayFilter\",\n  \"ArrayFlatten\",\n  \"ArrayMesh\",\n  \"ArrayPad\",\n  \"ArrayPlot\",\n  \"ArrayQ\",\n  \"ArrayResample\",\n  \"ArrayReshape\",\n  \"ArrayRules\",\n  \"Arrays\",\n  \"Arrow\",\n  \"Arrow3DBox\",\n  \"ArrowBox\",\n  \"Arrowheads\",\n  \"ASATriangle\",\n  \"Ask\",\n  \"AskAppend\",\n  \"AskConfirm\",\n  \"AskDisplay\",\n  \"AskedQ\",\n  \"AskedValue\",\n  \"AskFunction\",\n  \"AskState\",\n  \"AskTemplateDisplay\",\n  \"AspectRatio\",\n  \"AspectRatioFixed\",\n  \"Assert\",\n  \"AssociateTo\",\n  \"Association\",\n  \"AssociationFormat\",\n  \"AssociationMap\",\n  \"AssociationQ\",\n  \"AssociationThread\",\n  \"AssumeDeterministic\",\n  \"Assuming\",\n  \"Assumptions\",\n  \"AstronomicalData\",\n  \"Asymptotic\",\n  \"AsymptoticDSolveValue\",\n  \"AsymptoticEqual\",\n  \"AsymptoticEquivalent\",\n  \"AsymptoticGreater\",\n  \"AsymptoticGreaterEqual\",\n  \"AsymptoticIntegrate\",\n  \"AsymptoticLess\",\n  \"AsymptoticLessEqual\",\n  \"AsymptoticOutputTracker\",\n  \"AsymptoticProduct\",\n  \"AsymptoticRSolveValue\",\n  \"AsymptoticSolve\",\n  \"AsymptoticSum\",\n  \"Asynchronous\",\n  \"AsynchronousTaskObject\",\n  \"AsynchronousTasks\",\n  \"Atom\",\n  \"AtomCoordinates\",\n  \"AtomCount\",\n  \"AtomDiagramCoordinates\",\n  \"AtomList\",\n  \"AtomQ\",\n  \"AttentionLayer\",\n  \"Attributes\",\n  \"Audio\",\n  \"AudioAmplify\",\n  \"AudioAnnotate\",\n  \"AudioAnnotationLookup\",\n  \"AudioBlockMap\",\n  \"AudioCapture\",\n  \"AudioChannelAssignment\",\n  \"AudioChannelCombine\",\n  \"AudioChannelMix\",\n  \"AudioChannels\",\n  \"AudioChannelSeparate\",\n  \"AudioData\",\n  \"AudioDelay\",\n  \"AudioDelete\",\n  \"AudioDevice\",\n  \"AudioDistance\",\n  \"AudioEncoding\",\n  \"AudioFade\",\n  \"AudioFrequencyShift\",\n  \"AudioGenerator\",\n  \"AudioIdentify\",\n  \"AudioInputDevice\",\n  \"AudioInsert\",\n  \"AudioInstanceQ\",\n  \"AudioIntervals\",\n  \"AudioJoin\",\n  \"AudioLabel\",\n  \"AudioLength\",\n  \"AudioLocalMeasurements\",\n  \"AudioLooping\",\n  \"AudioLoudness\",\n  \"AudioMeasurements\",\n  \"AudioNormalize\",\n  \"AudioOutputDevice\",\n  \"AudioOverlay\",\n  \"AudioPad\",\n  \"AudioPan\",\n  \"AudioPartition\",\n  \"AudioPause\",\n  \"AudioPitchShift\",\n  \"AudioPlay\",\n  \"AudioPlot\",\n  \"AudioQ\",\n  \"AudioRecord\",\n  \"AudioReplace\",\n  \"AudioResample\",\n  \"AudioReverb\",\n  \"AudioReverse\",\n  \"AudioSampleRate\",\n  \"AudioSpectralMap\",\n  \"AudioSpectralTransformation\",\n  \"AudioSplit\",\n  \"AudioStop\",\n  \"AudioStream\",\n  \"AudioStreams\",\n  \"AudioTimeStretch\",\n  \"AudioTracks\",\n  \"AudioTrim\",\n  \"AudioType\",\n  \"AugmentedPolyhedron\",\n  \"AugmentedSymmetricPolynomial\",\n  \"Authenticate\",\n  \"Authentication\",\n  \"AuthenticationDialog\",\n  \"AutoAction\",\n  \"Autocomplete\",\n  \"AutocompletionFunction\",\n  \"AutoCopy\",\n  \"AutocorrelationTest\",\n  \"AutoDelete\",\n  \"AutoEvaluateEvents\",\n  \"AutoGeneratedPackage\",\n  \"AutoIndent\",\n  \"AutoIndentSpacings\",\n  \"AutoItalicWords\",\n  \"AutoloadPath\",\n  \"AutoMatch\",\n  \"Automatic\",\n  \"AutomaticImageSize\",\n  \"AutoMultiplicationSymbol\",\n  \"AutoNumberFormatting\",\n  \"AutoOpenNotebooks\",\n  \"AutoOpenPalettes\",\n  \"AutoQuoteCharacters\",\n  \"AutoRefreshed\",\n  \"AutoRemove\",\n  \"AutorunSequencing\",\n  \"AutoScaling\",\n  \"AutoScroll\",\n  \"AutoSpacing\",\n  \"AutoStyleOptions\",\n  \"AutoStyleWords\",\n  \"AutoSubmitting\",\n  \"Axes\",\n  \"AxesEdge\",\n  \"AxesLabel\",\n  \"AxesOrigin\",\n  \"AxesStyle\",\n  \"AxiomaticTheory\",\n  \"Axis\",\n  \"BabyMonsterGroupB\",\n  \"Back\",\n  \"Background\",\n  \"BackgroundAppearance\",\n  \"BackgroundTasksSettings\",\n  \"Backslash\",\n  \"Backsubstitution\",\n  \"Backward\",\n  \"Ball\",\n  \"Band\",\n  \"BandpassFilter\",\n  \"BandstopFilter\",\n  \"BarabasiAlbertGraphDistribution\",\n  \"BarChart\",\n  \"BarChart3D\",\n  \"BarcodeImage\",\n  \"BarcodeRecognize\",\n  \"BaringhausHenzeTest\",\n  \"BarLegend\",\n  \"BarlowProschanImportance\",\n  \"BarnesG\",\n  \"BarOrigin\",\n  \"BarSpacing\",\n  \"BartlettHannWindow\",\n  \"BartlettWindow\",\n  \"BaseDecode\",\n  \"BaseEncode\",\n  \"BaseForm\",\n  \"Baseline\",\n  \"BaselinePosition\",\n  \"BaseStyle\",\n  \"BasicRecurrentLayer\",\n  \"BatchNormalizationLayer\",\n  \"BatchSize\",\n  \"BatesDistribution\",\n  \"BattleLemarieWavelet\",\n  \"BayesianMaximization\",\n  \"BayesianMaximizationObject\",\n  \"BayesianMinimization\",\n  \"BayesianMinimizationObject\",\n  \"Because\",\n  \"BeckmannDistribution\",\n  \"Beep\",\n  \"Before\",\n  \"Begin\",\n  \"BeginDialogPacket\",\n  \"BeginFrontEndInteractionPacket\",\n  \"BeginPackage\",\n  \"BellB\",\n  \"BellY\",\n  \"Below\",\n  \"BenfordDistribution\",\n  \"BeniniDistribution\",\n  \"BenktanderGibratDistribution\",\n  \"BenktanderWeibullDistribution\",\n  \"BernoulliB\",\n  \"BernoulliDistribution\",\n  \"BernoulliGraphDistribution\",\n  \"BernoulliProcess\",\n  \"BernsteinBasis\",\n  \"BesselFilterModel\",\n  \"BesselI\",\n  \"BesselJ\",\n  \"BesselJZero\",\n  \"BesselK\",\n  \"BesselY\",\n  \"BesselYZero\",\n  \"Beta\",\n  \"BetaBinomialDistribution\",\n  \"BetaDistribution\",\n  \"BetaNegativeBinomialDistribution\",\n  \"BetaPrimeDistribution\",\n  \"BetaRegularized\",\n  \"Between\",\n  \"BetweennessCentrality\",\n  \"BeveledPolyhedron\",\n  \"BezierCurve\",\n  \"BezierCurve3DBox\",\n  \"BezierCurve3DBoxOptions\",\n  \"BezierCurveBox\",\n  \"BezierCurveBoxOptions\",\n  \"BezierFunction\",\n  \"BilateralFilter\",\n  \"Binarize\",\n  \"BinaryDeserialize\",\n  \"BinaryDistance\",\n  \"BinaryFormat\",\n  \"BinaryImageQ\",\n  \"BinaryRead\",\n  \"BinaryReadList\",\n  \"BinarySerialize\",\n  \"BinaryWrite\",\n  \"BinCounts\",\n  \"BinLists\",\n  \"Binomial\",\n  \"BinomialDistribution\",\n  \"BinomialProcess\",\n  \"BinormalDistribution\",\n  \"BiorthogonalSplineWavelet\",\n  \"BipartiteGraphQ\",\n  \"BiquadraticFilterModel\",\n  \"BirnbaumImportance\",\n  \"BirnbaumSaundersDistribution\",\n  \"BitAnd\",\n  \"BitClear\",\n  \"BitGet\",\n  \"BitLength\",\n  \"BitNot\",\n  \"BitOr\",\n  \"BitSet\",\n  \"BitShiftLeft\",\n  \"BitShiftRight\",\n  \"BitXor\",\n  \"BiweightLocation\",\n  \"BiweightMidvariance\",\n  \"Black\",\n  \"BlackmanHarrisWindow\",\n  \"BlackmanNuttallWindow\",\n  \"BlackmanWindow\",\n  \"Blank\",\n  \"BlankForm\",\n  \"BlankNullSequence\",\n  \"BlankSequence\",\n  \"Blend\",\n  \"Block\",\n  \"BlockchainAddressData\",\n  \"BlockchainBase\",\n  \"BlockchainBlockData\",\n  \"BlockchainContractValue\",\n  \"BlockchainData\",\n  \"BlockchainGet\",\n  \"BlockchainKeyEncode\",\n  \"BlockchainPut\",\n  \"BlockchainTokenData\",\n  \"BlockchainTransaction\",\n  \"BlockchainTransactionData\",\n  \"BlockchainTransactionSign\",\n  \"BlockchainTransactionSubmit\",\n  \"BlockMap\",\n  \"BlockRandom\",\n  \"BlomqvistBeta\",\n  \"BlomqvistBetaTest\",\n  \"Blue\",\n  \"Blur\",\n  \"BodePlot\",\n  \"BohmanWindow\",\n  \"Bold\",\n  \"Bond\",\n  \"BondCount\",\n  \"BondList\",\n  \"BondQ\",\n  \"Bookmarks\",\n  \"Boole\",\n  \"BooleanConsecutiveFunction\",\n  \"BooleanConvert\",\n  \"BooleanCountingFunction\",\n  \"BooleanFunction\",\n  \"BooleanGraph\",\n  \"BooleanMaxterms\",\n  \"BooleanMinimize\",\n  \"BooleanMinterms\",\n  \"BooleanQ\",\n  \"BooleanRegion\",\n  \"Booleans\",\n  \"BooleanStrings\",\n  \"BooleanTable\",\n  \"BooleanVariables\",\n  \"BorderDimensions\",\n  \"BorelTannerDistribution\",\n  \"Bottom\",\n  \"BottomHatTransform\",\n  \"BoundaryDiscretizeGraphics\",\n  \"BoundaryDiscretizeRegion\",\n  \"BoundaryMesh\",\n  \"BoundaryMeshRegion\",\n  \"BoundaryMeshRegionQ\",\n  \"BoundaryStyle\",\n  \"BoundedRegionQ\",\n  \"BoundingRegion\",\n  \"Bounds\",\n  \"Box\",\n  \"BoxBaselineShift\",\n  \"BoxData\",\n  \"BoxDimensions\",\n  \"Boxed\",\n  \"Boxes\",\n  \"BoxForm\",\n  \"BoxFormFormatTypes\",\n  \"BoxFrame\",\n  \"BoxID\",\n  \"BoxMargins\",\n  \"BoxMatrix\",\n  \"BoxObject\",\n  \"BoxRatios\",\n  \"BoxRotation\",\n  \"BoxRotationPoint\",\n  \"BoxStyle\",\n  \"BoxWhiskerChart\",\n  \"Bra\",\n  \"BracketingBar\",\n  \"BraKet\",\n  \"BrayCurtisDistance\",\n  \"BreadthFirstScan\",\n  \"Break\",\n  \"BridgeData\",\n  \"BrightnessEqualize\",\n  \"BroadcastStationData\",\n  \"Brown\",\n  \"BrownForsytheTest\",\n  \"BrownianBridgeProcess\",\n  \"BrowserCategory\",\n  \"BSplineBasis\",\n  \"BSplineCurve\",\n  \"BSplineCurve3DBox\",\n  \"BSplineCurve3DBoxOptions\",\n  \"BSplineCurveBox\",\n  \"BSplineCurveBoxOptions\",\n  \"BSplineFunction\",\n  \"BSplineSurface\",\n  \"BSplineSurface3DBox\",\n  \"BSplineSurface3DBoxOptions\",\n  \"BubbleChart\",\n  \"BubbleChart3D\",\n  \"BubbleScale\",\n  \"BubbleSizes\",\n  \"BuildingData\",\n  \"BulletGauge\",\n  \"BusinessDayQ\",\n  \"ButterflyGraph\",\n  \"ButterworthFilterModel\",\n  \"Button\",\n  \"ButtonBar\",\n  \"ButtonBox\",\n  \"ButtonBoxOptions\",\n  \"ButtonCell\",\n  \"ButtonContents\",\n  \"ButtonData\",\n  \"ButtonEvaluator\",\n  \"ButtonExpandable\",\n  \"ButtonFrame\",\n  \"ButtonFunction\",\n  \"ButtonMargins\",\n  \"ButtonMinHeight\",\n  \"ButtonNote\",\n  \"ButtonNotebook\",\n  \"ButtonSource\",\n  \"ButtonStyle\",\n  \"ButtonStyleMenuListing\",\n  \"Byte\",\n  \"ByteArray\",\n  \"ByteArrayFormat\",\n  \"ByteArrayQ\",\n  \"ByteArrayToString\",\n  \"ByteCount\",\n  \"ByteOrdering\",\n  \"C\",\n  \"CachedValue\",\n  \"CacheGraphics\",\n  \"CachePersistence\",\n  \"CalendarConvert\",\n  \"CalendarData\",\n  \"CalendarType\",\n  \"Callout\",\n  \"CalloutMarker\",\n  \"CalloutStyle\",\n  \"CallPacket\",\n  \"CanberraDistance\",\n  \"Cancel\",\n  \"CancelButton\",\n  \"CandlestickChart\",\n  \"CanonicalGraph\",\n  \"CanonicalizePolygon\",\n  \"CanonicalizePolyhedron\",\n  \"CanonicalName\",\n  \"CanonicalWarpingCorrespondence\",\n  \"CanonicalWarpingDistance\",\n  \"CantorMesh\",\n  \"CantorStaircase\",\n  \"Cap\",\n  \"CapForm\",\n  \"CapitalDifferentialD\",\n  \"Capitalize\",\n  \"CapsuleShape\",\n  \"CaptureRunning\",\n  \"CardinalBSplineBasis\",\n  \"CarlemanLinearize\",\n  \"CarmichaelLambda\",\n  \"CaseOrdering\",\n  \"Cases\",\n  \"CaseSensitive\",\n  \"Cashflow\",\n  \"Casoratian\",\n  \"Catalan\",\n  \"CatalanNumber\",\n  \"Catch\",\n  \"CategoricalDistribution\",\n  \"Catenate\",\n  \"CatenateLayer\",\n  \"CauchyDistribution\",\n  \"CauchyWindow\",\n  \"CayleyGraph\",\n  \"CDF\",\n  \"CDFDeploy\",\n  \"CDFInformation\",\n  \"CDFWavelet\",\n  \"Ceiling\",\n  \"CelestialSystem\",\n  \"Cell\",\n  \"CellAutoOverwrite\",\n  \"CellBaseline\",\n  \"CellBoundingBox\",\n  \"CellBracketOptions\",\n  \"CellChangeTimes\",\n  \"CellContents\",\n  \"CellContext\",\n  \"CellDingbat\",\n  \"CellDynamicExpression\",\n  \"CellEditDuplicate\",\n  \"CellElementsBoundingBox\",\n  \"CellElementSpacings\",\n  \"CellEpilog\",\n  \"CellEvaluationDuplicate\",\n  \"CellEvaluationFunction\",\n  \"CellEvaluationLanguage\",\n  \"CellEventActions\",\n  \"CellFrame\",\n  \"CellFrameColor\",\n  \"CellFrameLabelMargins\",\n  \"CellFrameLabels\",\n  \"CellFrameMargins\",\n  \"CellGroup\",\n  \"CellGroupData\",\n  \"CellGrouping\",\n  \"CellGroupingRules\",\n  \"CellHorizontalScrolling\",\n  \"CellID\",\n  \"CellLabel\",\n  \"CellLabelAutoDelete\",\n  \"CellLabelMargins\",\n  \"CellLabelPositioning\",\n  \"CellLabelStyle\",\n  \"CellLabelTemplate\",\n  \"CellMargins\",\n  \"CellObject\",\n  \"CellOpen\",\n  \"CellPrint\",\n  \"CellProlog\",\n  \"Cells\",\n  \"CellSize\",\n  \"CellStyle\",\n  \"CellTags\",\n  \"CellularAutomaton\",\n  \"CensoredDistribution\",\n  \"Censoring\",\n  \"Center\",\n  \"CenterArray\",\n  \"CenterDot\",\n  \"CentralFeature\",\n  \"CentralMoment\",\n  \"CentralMomentGeneratingFunction\",\n  \"Cepstrogram\",\n  \"CepstrogramArray\",\n  \"CepstrumArray\",\n  \"CForm\",\n  \"ChampernowneNumber\",\n  \"ChangeOptions\",\n  \"ChannelBase\",\n  \"ChannelBrokerAction\",\n  \"ChannelDatabin\",\n  \"ChannelHistoryLength\",\n  \"ChannelListen\",\n  \"ChannelListener\",\n  \"ChannelListeners\",\n  \"ChannelListenerWait\",\n  \"ChannelObject\",\n  \"ChannelPreSendFunction\",\n  \"ChannelReceiverFunction\",\n  \"ChannelSend\",\n  \"ChannelSubscribers\",\n  \"ChanVeseBinarize\",\n  \"Character\",\n  \"CharacterCounts\",\n  \"CharacterEncoding\",\n  \"CharacterEncodingsPath\",\n  \"CharacteristicFunction\",\n  \"CharacteristicPolynomial\",\n  \"CharacterName\",\n  \"CharacterNormalize\",\n  \"CharacterRange\",\n  \"Characters\",\n  \"ChartBaseStyle\",\n  \"ChartElementData\",\n  \"ChartElementDataFunction\",\n  \"ChartElementFunction\",\n  \"ChartElements\",\n  \"ChartLabels\",\n  \"ChartLayout\",\n  \"ChartLegends\",\n  \"ChartStyle\",\n  \"Chebyshev1FilterModel\",\n  \"Chebyshev2FilterModel\",\n  \"ChebyshevDistance\",\n  \"ChebyshevT\",\n  \"ChebyshevU\",\n  \"Check\",\n  \"CheckAbort\",\n  \"CheckAll\",\n  \"Checkbox\",\n  \"CheckboxBar\",\n  \"CheckboxBox\",\n  \"CheckboxBoxOptions\",\n  \"ChemicalData\",\n  \"ChessboardDistance\",\n  \"ChiDistribution\",\n  \"ChineseRemainder\",\n  \"ChiSquareDistribution\",\n  \"ChoiceButtons\",\n  \"ChoiceDialog\",\n  \"CholeskyDecomposition\",\n  \"Chop\",\n  \"ChromaticityPlot\",\n  \"ChromaticityPlot3D\",\n  \"ChromaticPolynomial\",\n  \"Circle\",\n  \"CircleBox\",\n  \"CircleDot\",\n  \"CircleMinus\",\n  \"CirclePlus\",\n  \"CirclePoints\",\n  \"CircleThrough\",\n  \"CircleTimes\",\n  \"CirculantGraph\",\n  \"CircularOrthogonalMatrixDistribution\",\n  \"CircularQuaternionMatrixDistribution\",\n  \"CircularRealMatrixDistribution\",\n  \"CircularSymplecticMatrixDistribution\",\n  \"CircularUnitaryMatrixDistribution\",\n  \"Circumsphere\",\n  \"CityData\",\n  \"ClassifierFunction\",\n  \"ClassifierInformation\",\n  \"ClassifierMeasurements\",\n  \"ClassifierMeasurementsObject\",\n  \"Classify\",\n  \"ClassPriors\",\n  \"Clear\",\n  \"ClearAll\",\n  \"ClearAttributes\",\n  \"ClearCookies\",\n  \"ClearPermissions\",\n  \"ClearSystemCache\",\n  \"ClebschGordan\",\n  \"ClickPane\",\n  \"Clip\",\n  \"ClipboardNotebook\",\n  \"ClipFill\",\n  \"ClippingStyle\",\n  \"ClipPlanes\",\n  \"ClipPlanesStyle\",\n  \"ClipRange\",\n  \"Clock\",\n  \"ClockGauge\",\n  \"ClockwiseContourIntegral\",\n  \"Close\",\n  \"Closed\",\n  \"CloseKernels\",\n  \"ClosenessCentrality\",\n  \"Closing\",\n  \"ClosingAutoSave\",\n  \"ClosingEvent\",\n  \"ClosingSaveDialog\",\n  \"CloudAccountData\",\n  \"CloudBase\",\n  \"CloudConnect\",\n  \"CloudConnections\",\n  \"CloudDeploy\",\n  \"CloudDirectory\",\n  \"CloudDisconnect\",\n  \"CloudEvaluate\",\n  \"CloudExport\",\n  \"CloudExpression\",\n  \"CloudExpressions\",\n  \"CloudFunction\",\n  \"CloudGet\",\n  \"CloudImport\",\n  \"CloudLoggingData\",\n  \"CloudObject\",\n  \"CloudObjectInformation\",\n  \"CloudObjectInformationData\",\n  \"CloudObjectNameFormat\",\n  \"CloudObjects\",\n  \"CloudObjectURLType\",\n  \"CloudPublish\",\n  \"CloudPut\",\n  \"CloudRenderingMethod\",\n  \"CloudSave\",\n  \"CloudShare\",\n  \"CloudSubmit\",\n  \"CloudSymbol\",\n  \"CloudUnshare\",\n  \"CloudUserID\",\n  \"ClusterClassify\",\n  \"ClusterDissimilarityFunction\",\n  \"ClusteringComponents\",\n  \"ClusteringTree\",\n  \"CMYKColor\",\n  \"Coarse\",\n  \"CodeAssistOptions\",\n  \"Coefficient\",\n  \"CoefficientArrays\",\n  \"CoefficientDomain\",\n  \"CoefficientList\",\n  \"CoefficientRules\",\n  \"CoifletWavelet\",\n  \"Collect\",\n  \"Colon\",\n  \"ColonForm\",\n  \"ColorBalance\",\n  \"ColorCombine\",\n  \"ColorConvert\",\n  \"ColorCoverage\",\n  \"ColorData\",\n  \"ColorDataFunction\",\n  \"ColorDetect\",\n  \"ColorDistance\",\n  \"ColorFunction\",\n  \"ColorFunctionScaling\",\n  \"Colorize\",\n  \"ColorNegate\",\n  \"ColorOutput\",\n  \"ColorProfileData\",\n  \"ColorQ\",\n  \"ColorQuantize\",\n  \"ColorReplace\",\n  \"ColorRules\",\n  \"ColorSelectorSettings\",\n  \"ColorSeparate\",\n  \"ColorSetter\",\n  \"ColorSetterBox\",\n  \"ColorSetterBoxOptions\",\n  \"ColorSlider\",\n  \"ColorsNear\",\n  \"ColorSpace\",\n  \"ColorToneMapping\",\n  \"Column\",\n  \"ColumnAlignments\",\n  \"ColumnBackgrounds\",\n  \"ColumnForm\",\n  \"ColumnLines\",\n  \"ColumnsEqual\",\n  \"ColumnSpacings\",\n  \"ColumnWidths\",\n  \"CombinedEntityClass\",\n  \"CombinerFunction\",\n  \"CometData\",\n  \"CommonDefaultFormatTypes\",\n  \"Commonest\",\n  \"CommonestFilter\",\n  \"CommonName\",\n  \"CommonUnits\",\n  \"CommunityBoundaryStyle\",\n  \"CommunityGraphPlot\",\n  \"CommunityLabels\",\n  \"CommunityRegionStyle\",\n  \"CompanyData\",\n  \"CompatibleUnitQ\",\n  \"CompilationOptions\",\n  \"CompilationTarget\",\n  \"Compile\",\n  \"Compiled\",\n  \"CompiledCodeFunction\",\n  \"CompiledFunction\",\n  \"CompilerOptions\",\n  \"Complement\",\n  \"ComplementedEntityClass\",\n  \"CompleteGraph\",\n  \"CompleteGraphQ\",\n  \"CompleteKaryTree\",\n  \"CompletionsListPacket\",\n  \"Complex\",\n  \"ComplexContourPlot\",\n  \"Complexes\",\n  \"ComplexExpand\",\n  \"ComplexInfinity\",\n  \"ComplexityFunction\",\n  \"ComplexListPlot\",\n  \"ComplexPlot\",\n  \"ComplexPlot3D\",\n  \"ComplexRegionPlot\",\n  \"ComplexStreamPlot\",\n  \"ComplexVectorPlot\",\n  \"ComponentMeasurements\",\n  \"ComponentwiseContextMenu\",\n  \"Compose\",\n  \"ComposeList\",\n  \"ComposeSeries\",\n  \"CompositeQ\",\n  \"Composition\",\n  \"CompoundElement\",\n  \"CompoundExpression\",\n  \"CompoundPoissonDistribution\",\n  \"CompoundPoissonProcess\",\n  \"CompoundRenewalProcess\",\n  \"Compress\",\n  \"CompressedData\",\n  \"CompressionLevel\",\n  \"ComputeUncertainty\",\n  \"Condition\",\n  \"ConditionalExpression\",\n  \"Conditioned\",\n  \"Cone\",\n  \"ConeBox\",\n  \"ConfidenceLevel\",\n  \"ConfidenceRange\",\n  \"ConfidenceTransform\",\n  \"ConfigurationPath\",\n  \"ConformAudio\",\n  \"ConformImages\",\n  \"Congruent\",\n  \"ConicHullRegion\",\n  \"ConicHullRegion3DBox\",\n  \"ConicHullRegionBox\",\n  \"ConicOptimization\",\n  \"Conjugate\",\n  \"ConjugateTranspose\",\n  \"Conjunction\",\n  \"Connect\",\n  \"ConnectedComponents\",\n  \"ConnectedGraphComponents\",\n  \"ConnectedGraphQ\",\n  \"ConnectedMeshComponents\",\n  \"ConnectedMoleculeComponents\",\n  \"ConnectedMoleculeQ\",\n  \"ConnectionSettings\",\n  \"ConnectLibraryCallbackFunction\",\n  \"ConnectSystemModelComponents\",\n  \"ConnesWindow\",\n  \"ConoverTest\",\n  \"ConsoleMessage\",\n  \"ConsoleMessagePacket\",\n  \"Constant\",\n  \"ConstantArray\",\n  \"ConstantArrayLayer\",\n  \"ConstantImage\",\n  \"ConstantPlusLayer\",\n  \"ConstantRegionQ\",\n  \"Constants\",\n  \"ConstantTimesLayer\",\n  \"ConstellationData\",\n  \"ConstrainedMax\",\n  \"ConstrainedMin\",\n  \"Construct\",\n  \"Containing\",\n  \"ContainsAll\",\n  \"ContainsAny\",\n  \"ContainsExactly\",\n  \"ContainsNone\",\n  \"ContainsOnly\",\n  \"ContentFieldOptions\",\n  \"ContentLocationFunction\",\n  \"ContentObject\",\n  \"ContentPadding\",\n  \"ContentsBoundingBox\",\n  \"ContentSelectable\",\n  \"ContentSize\",\n  \"Context\",\n  \"ContextMenu\",\n  \"Contexts\",\n  \"ContextToFileName\",\n  \"Continuation\",\n  \"Continue\",\n  \"ContinuedFraction\",\n  \"ContinuedFractionK\",\n  \"ContinuousAction\",\n  \"ContinuousMarkovProcess\",\n  \"ContinuousTask\",\n  \"ContinuousTimeModelQ\",\n  \"ContinuousWaveletData\",\n  \"ContinuousWaveletTransform\",\n  \"ContourDetect\",\n  \"ContourGraphics\",\n  \"ContourIntegral\",\n  \"ContourLabels\",\n  \"ContourLines\",\n  \"ContourPlot\",\n  \"ContourPlot3D\",\n  \"Contours\",\n  \"ContourShading\",\n  \"ContourSmoothing\",\n  \"ContourStyle\",\n  \"ContraharmonicMean\",\n  \"ContrastiveLossLayer\",\n  \"Control\",\n  \"ControlActive\",\n  \"ControlAlignment\",\n  \"ControlGroupContentsBox\",\n  \"ControllabilityGramian\",\n  \"ControllabilityMatrix\",\n  \"ControllableDecomposition\",\n  \"ControllableModelQ\",\n  \"ControllerDuration\",\n  \"ControllerInformation\",\n  \"ControllerInformationData\",\n  \"ControllerLinking\",\n  \"ControllerManipulate\",\n  \"ControllerMethod\",\n  \"ControllerPath\",\n  \"ControllerState\",\n  \"ControlPlacement\",\n  \"ControlsRendering\",\n  \"ControlType\",\n  \"Convergents\",\n  \"ConversionOptions\",\n  \"ConversionRules\",\n  \"ConvertToBitmapPacket\",\n  \"ConvertToPostScript\",\n  \"ConvertToPostScriptPacket\",\n  \"ConvexHullMesh\",\n  \"ConvexPolygonQ\",\n  \"ConvexPolyhedronQ\",\n  \"ConvolutionLayer\",\n  \"Convolve\",\n  \"ConwayGroupCo1\",\n  \"ConwayGroupCo2\",\n  \"ConwayGroupCo3\",\n  \"CookieFunction\",\n  \"Cookies\",\n  \"CoordinateBoundingBox\",\n  \"CoordinateBoundingBoxArray\",\n  \"CoordinateBounds\",\n  \"CoordinateBoundsArray\",\n  \"CoordinateChartData\",\n  \"CoordinatesToolOptions\",\n  \"CoordinateTransform\",\n  \"CoordinateTransformData\",\n  \"CoprimeQ\",\n  \"Coproduct\",\n  \"CopulaDistribution\",\n  \"Copyable\",\n  \"CopyDatabin\",\n  \"CopyDirectory\",\n  \"CopyFile\",\n  \"CopyTag\",\n  \"CopyToClipboard\",\n  \"CornerFilter\",\n  \"CornerNeighbors\",\n  \"Correlation\",\n  \"CorrelationDistance\",\n  \"CorrelationFunction\",\n  \"CorrelationTest\",\n  \"Cos\",\n  \"Cosh\",\n  \"CoshIntegral\",\n  \"CosineDistance\",\n  \"CosineWindow\",\n  \"CosIntegral\",\n  \"Cot\",\n  \"Coth\",\n  \"Count\",\n  \"CountDistinct\",\n  \"CountDistinctBy\",\n  \"CounterAssignments\",\n  \"CounterBox\",\n  \"CounterBoxOptions\",\n  \"CounterClockwiseContourIntegral\",\n  \"CounterEvaluator\",\n  \"CounterFunction\",\n  \"CounterIncrements\",\n  \"CounterStyle\",\n  \"CounterStyleMenuListing\",\n  \"CountRoots\",\n  \"CountryData\",\n  \"Counts\",\n  \"CountsBy\",\n  \"Covariance\",\n  \"CovarianceEstimatorFunction\",\n  \"CovarianceFunction\",\n  \"CoxianDistribution\",\n  \"CoxIngersollRossProcess\",\n  \"CoxModel\",\n  \"CoxModelFit\",\n  \"CramerVonMisesTest\",\n  \"CreateArchive\",\n  \"CreateCellID\",\n  \"CreateChannel\",\n  \"CreateCloudExpression\",\n  \"CreateDatabin\",\n  \"CreateDataStructure\",\n  \"CreateDataSystemModel\",\n  \"CreateDialog\",\n  \"CreateDirectory\",\n  \"CreateDocument\",\n  \"CreateFile\",\n  \"CreateIntermediateDirectories\",\n  \"CreateManagedLibraryExpression\",\n  \"CreateNotebook\",\n  \"CreatePacletArchive\",\n  \"CreatePalette\",\n  \"CreatePalettePacket\",\n  \"CreatePermissionsGroup\",\n  \"CreateScheduledTask\",\n  \"CreateSearchIndex\",\n  \"CreateSystemModel\",\n  \"CreateTemporary\",\n  \"CreateUUID\",\n  \"CreateWindow\",\n  \"CriterionFunction\",\n  \"CriticalityFailureImportance\",\n  \"CriticalitySuccessImportance\",\n  \"CriticalSection\",\n  \"Cross\",\n  \"CrossEntropyLossLayer\",\n  \"CrossingCount\",\n  \"CrossingDetect\",\n  \"CrossingPolygon\",\n  \"CrossMatrix\",\n  \"Csc\",\n  \"Csch\",\n  \"CTCLossLayer\",\n  \"Cube\",\n  \"CubeRoot\",\n  \"Cubics\",\n  \"Cuboid\",\n  \"CuboidBox\",\n  \"Cumulant\",\n  \"CumulantGeneratingFunction\",\n  \"Cup\",\n  \"CupCap\",\n  \"Curl\",\n  \"CurlyDoubleQuote\",\n  \"CurlyQuote\",\n  \"CurrencyConvert\",\n  \"CurrentDate\",\n  \"CurrentImage\",\n  \"CurrentlySpeakingPacket\",\n  \"CurrentNotebookImage\",\n  \"CurrentScreenImage\",\n  \"CurrentValue\",\n  \"Curry\",\n  \"CurryApplied\",\n  \"CurvatureFlowFilter\",\n  \"CurveClosed\",\n  \"Cyan\",\n  \"CycleGraph\",\n  \"CycleIndexPolynomial\",\n  \"Cycles\",\n  \"CyclicGroup\",\n  \"Cyclotomic\",\n  \"Cylinder\",\n  \"CylinderBox\",\n  \"CylindricalDecomposition\",\n  \"D\",\n  \"DagumDistribution\",\n  \"DamData\",\n  \"DamerauLevenshteinDistance\",\n  \"DampingFactor\",\n  \"Darker\",\n  \"Dashed\",\n  \"Dashing\",\n  \"DatabaseConnect\",\n  \"DatabaseDisconnect\",\n  \"DatabaseReference\",\n  \"Databin\",\n  \"DatabinAdd\",\n  \"DatabinRemove\",\n  \"Databins\",\n  \"DatabinUpload\",\n  \"DataCompression\",\n  \"DataDistribution\",\n  \"DataRange\",\n  \"DataReversed\",\n  \"Dataset\",\n  \"DatasetDisplayPanel\",\n  \"DataStructure\",\n  \"DataStructureQ\",\n  \"Date\",\n  \"DateBounds\",\n  \"Dated\",\n  \"DateDelimiters\",\n  \"DateDifference\",\n  \"DatedUnit\",\n  \"DateFormat\",\n  \"DateFunction\",\n  \"DateHistogram\",\n  \"DateInterval\",\n  \"DateList\",\n  \"DateListLogPlot\",\n  \"DateListPlot\",\n  \"DateListStepPlot\",\n  \"DateObject\",\n  \"DateObjectQ\",\n  \"DateOverlapsQ\",\n  \"DatePattern\",\n  \"DatePlus\",\n  \"DateRange\",\n  \"DateReduction\",\n  \"DateString\",\n  \"DateTicksFormat\",\n  \"DateValue\",\n  \"DateWithinQ\",\n  \"DaubechiesWavelet\",\n  \"DavisDistribution\",\n  \"DawsonF\",\n  \"DayCount\",\n  \"DayCountConvention\",\n  \"DayHemisphere\",\n  \"DaylightQ\",\n  \"DayMatchQ\",\n  \"DayName\",\n  \"DayNightTerminator\",\n  \"DayPlus\",\n  \"DayRange\",\n  \"DayRound\",\n  \"DeBruijnGraph\",\n  \"DeBruijnSequence\",\n  \"Debug\",\n  \"DebugTag\",\n  \"Decapitalize\",\n  \"Decimal\",\n  \"DecimalForm\",\n  \"DeclareKnownSymbols\",\n  \"DeclarePackage\",\n  \"Decompose\",\n  \"DeconvolutionLayer\",\n  \"Decrement\",\n  \"Decrypt\",\n  \"DecryptFile\",\n  \"DedekindEta\",\n  \"DeepSpaceProbeData\",\n  \"Default\",\n  \"DefaultAxesStyle\",\n  \"DefaultBaseStyle\",\n  \"DefaultBoxStyle\",\n  \"DefaultButton\",\n  \"DefaultColor\",\n  \"DefaultControlPlacement\",\n  \"DefaultDuplicateCellStyle\",\n  \"DefaultDuration\",\n  \"DefaultElement\",\n  \"DefaultFaceGridsStyle\",\n  \"DefaultFieldHintStyle\",\n  \"DefaultFont\",\n  \"DefaultFontProperties\",\n  \"DefaultFormatType\",\n  \"DefaultFormatTypeForStyle\",\n  \"DefaultFrameStyle\",\n  \"DefaultFrameTicksStyle\",\n  \"DefaultGridLinesStyle\",\n  \"DefaultInlineFormatType\",\n  \"DefaultInputFormatType\",\n  \"DefaultLabelStyle\",\n  \"DefaultMenuStyle\",\n  \"DefaultNaturalLanguage\",\n  \"DefaultNewCellStyle\",\n  \"DefaultNewInlineCellStyle\",\n  \"DefaultNotebook\",\n  \"DefaultOptions\",\n  \"DefaultOutputFormatType\",\n  \"DefaultPrintPrecision\",\n  \"DefaultStyle\",\n  \"DefaultStyleDefinitions\",\n  \"DefaultTextFormatType\",\n  \"DefaultTextInlineFormatType\",\n  \"DefaultTicksStyle\",\n  \"DefaultTooltipStyle\",\n  \"DefaultValue\",\n  \"DefaultValues\",\n  \"Defer\",\n  \"DefineExternal\",\n  \"DefineInputStreamMethod\",\n  \"DefineOutputStreamMethod\",\n  \"DefineResourceFunction\",\n  \"Definition\",\n  \"Degree\",\n  \"DegreeCentrality\",\n  \"DegreeGraphDistribution\",\n  \"DegreeLexicographic\",\n  \"DegreeReverseLexicographic\",\n  \"DEigensystem\",\n  \"DEigenvalues\",\n  \"Deinitialization\",\n  \"Del\",\n  \"DelaunayMesh\",\n  \"Delayed\",\n  \"Deletable\",\n  \"Delete\",\n  \"DeleteAnomalies\",\n  \"DeleteBorderComponents\",\n  \"DeleteCases\",\n  \"DeleteChannel\",\n  \"DeleteCloudExpression\",\n  \"DeleteContents\",\n  \"DeleteDirectory\",\n  \"DeleteDuplicates\",\n  \"DeleteDuplicatesBy\",\n  \"DeleteFile\",\n  \"DeleteMissing\",\n  \"DeleteObject\",\n  \"DeletePermissionsKey\",\n  \"DeleteSearchIndex\",\n  \"DeleteSmallComponents\",\n  \"DeleteStopwords\",\n  \"DeleteWithContents\",\n  \"DeletionWarning\",\n  \"DelimitedArray\",\n  \"DelimitedSequence\",\n  \"Delimiter\",\n  \"DelimiterFlashTime\",\n  \"DelimiterMatching\",\n  \"Delimiters\",\n  \"DeliveryFunction\",\n  \"Dendrogram\",\n  \"Denominator\",\n  \"DensityGraphics\",\n  \"DensityHistogram\",\n  \"DensityPlot\",\n  \"DensityPlot3D\",\n  \"DependentVariables\",\n  \"Deploy\",\n  \"Deployed\",\n  \"Depth\",\n  \"DepthFirstScan\",\n  \"Derivative\",\n  \"DerivativeFilter\",\n  \"DerivedKey\",\n  \"DescriptorStateSpace\",\n  \"DesignMatrix\",\n  \"DestroyAfterEvaluation\",\n  \"Det\",\n  \"DeviceClose\",\n  \"DeviceConfigure\",\n  \"DeviceExecute\",\n  \"DeviceExecuteAsynchronous\",\n  \"DeviceObject\",\n  \"DeviceOpen\",\n  \"DeviceOpenQ\",\n  \"DeviceRead\",\n  \"DeviceReadBuffer\",\n  \"DeviceReadLatest\",\n  \"DeviceReadList\",\n  \"DeviceReadTimeSeries\",\n  \"Devices\",\n  \"DeviceStreams\",\n  \"DeviceWrite\",\n  \"DeviceWriteBuffer\",\n  \"DGaussianWavelet\",\n  \"DiacriticalPositioning\",\n  \"Diagonal\",\n  \"DiagonalizableMatrixQ\",\n  \"DiagonalMatrix\",\n  \"DiagonalMatrixQ\",\n  \"Dialog\",\n  \"DialogIndent\",\n  \"DialogInput\",\n  \"DialogLevel\",\n  \"DialogNotebook\",\n  \"DialogProlog\",\n  \"DialogReturn\",\n  \"DialogSymbols\",\n  \"Diamond\",\n  \"DiamondMatrix\",\n  \"DiceDissimilarity\",\n  \"DictionaryLookup\",\n  \"DictionaryWordQ\",\n  \"DifferenceDelta\",\n  \"DifferenceOrder\",\n  \"DifferenceQuotient\",\n  \"DifferenceRoot\",\n  \"DifferenceRootReduce\",\n  \"Differences\",\n  \"DifferentialD\",\n  \"DifferentialRoot\",\n  \"DifferentialRootReduce\",\n  \"DifferentiatorFilter\",\n  \"DigitalSignature\",\n  \"DigitBlock\",\n  \"DigitBlockMinimum\",\n  \"DigitCharacter\",\n  \"DigitCount\",\n  \"DigitQ\",\n  \"DihedralAngle\",\n  \"DihedralGroup\",\n  \"Dilation\",\n  \"DimensionalCombinations\",\n  \"DimensionalMeshComponents\",\n  \"DimensionReduce\",\n  \"DimensionReducerFunction\",\n  \"DimensionReduction\",\n  \"Dimensions\",\n  \"DiracComb\",\n  \"DiracDelta\",\n  \"DirectedEdge\",\n  \"DirectedEdges\",\n  \"DirectedGraph\",\n  \"DirectedGraphQ\",\n  \"DirectedInfinity\",\n  \"Direction\",\n  \"Directive\",\n  \"Directory\",\n  \"DirectoryName\",\n  \"DirectoryQ\",\n  \"DirectoryStack\",\n  \"DirichletBeta\",\n  \"DirichletCharacter\",\n  \"DirichletCondition\",\n  \"DirichletConvolve\",\n  \"DirichletDistribution\",\n  \"DirichletEta\",\n  \"DirichletL\",\n  \"DirichletLambda\",\n  \"DirichletTransform\",\n  \"DirichletWindow\",\n  \"DisableConsolePrintPacket\",\n  \"DisableFormatting\",\n  \"DiscreteAsymptotic\",\n  \"DiscreteChirpZTransform\",\n  \"DiscreteConvolve\",\n  \"DiscreteDelta\",\n  \"DiscreteHadamardTransform\",\n  \"DiscreteIndicator\",\n  \"DiscreteLimit\",\n  \"DiscreteLQEstimatorGains\",\n  \"DiscreteLQRegulatorGains\",\n  \"DiscreteLyapunovSolve\",\n  \"DiscreteMarkovProcess\",\n  \"DiscreteMaxLimit\",\n  \"DiscreteMinLimit\",\n  \"DiscretePlot\",\n  \"DiscretePlot3D\",\n  \"DiscreteRatio\",\n  \"DiscreteRiccatiSolve\",\n  \"DiscreteShift\",\n  \"DiscreteTimeModelQ\",\n  \"DiscreteUniformDistribution\",\n  \"DiscreteVariables\",\n  \"DiscreteWaveletData\",\n  \"DiscreteWaveletPacketTransform\",\n  \"DiscreteWaveletTransform\",\n  \"DiscretizeGraphics\",\n  \"DiscretizeRegion\",\n  \"Discriminant\",\n  \"DisjointQ\",\n  \"Disjunction\",\n  \"Disk\",\n  \"DiskBox\",\n  \"DiskMatrix\",\n  \"DiskSegment\",\n  \"Dispatch\",\n  \"DispatchQ\",\n  \"DispersionEstimatorFunction\",\n  \"Display\",\n  \"DisplayAllSteps\",\n  \"DisplayEndPacket\",\n  \"DisplayFlushImagePacket\",\n  \"DisplayForm\",\n  \"DisplayFunction\",\n  \"DisplayPacket\",\n  \"DisplayRules\",\n  \"DisplaySetSizePacket\",\n  \"DisplayString\",\n  \"DisplayTemporary\",\n  \"DisplayWith\",\n  \"DisplayWithRef\",\n  \"DisplayWithVariable\",\n  \"DistanceFunction\",\n  \"DistanceMatrix\",\n  \"DistanceTransform\",\n  \"Distribute\",\n  \"Distributed\",\n  \"DistributedContexts\",\n  \"DistributeDefinitions\",\n  \"DistributionChart\",\n  \"DistributionDomain\",\n  \"DistributionFitTest\",\n  \"DistributionParameterAssumptions\",\n  \"DistributionParameterQ\",\n  \"Dithering\",\n  \"Div\",\n  \"Divergence\",\n  \"Divide\",\n  \"DivideBy\",\n  \"Dividers\",\n  \"DivideSides\",\n  \"Divisible\",\n  \"Divisors\",\n  \"DivisorSigma\",\n  \"DivisorSum\",\n  \"DMSList\",\n  \"DMSString\",\n  \"Do\",\n  \"DockedCells\",\n  \"DocumentGenerator\",\n  \"DocumentGeneratorInformation\",\n  \"DocumentGeneratorInformationData\",\n  \"DocumentGenerators\",\n  \"DocumentNotebook\",\n  \"DocumentWeightingRules\",\n  \"Dodecahedron\",\n  \"DomainRegistrationInformation\",\n  \"DominantColors\",\n  \"DOSTextFormat\",\n  \"Dot\",\n  \"DotDashed\",\n  \"DotEqual\",\n  \"DotLayer\",\n  \"DotPlusLayer\",\n  \"Dotted\",\n  \"DoubleBracketingBar\",\n  \"DoubleContourIntegral\",\n  \"DoubleDownArrow\",\n  \"DoubleLeftArrow\",\n  \"DoubleLeftRightArrow\",\n  \"DoubleLeftTee\",\n  \"DoubleLongLeftArrow\",\n  \"DoubleLongLeftRightArrow\",\n  \"DoubleLongRightArrow\",\n  \"DoubleRightArrow\",\n  \"DoubleRightTee\",\n  \"DoubleUpArrow\",\n  \"DoubleUpDownArrow\",\n  \"DoubleVerticalBar\",\n  \"DoublyInfinite\",\n  \"Down\",\n  \"DownArrow\",\n  \"DownArrowBar\",\n  \"DownArrowUpArrow\",\n  \"DownLeftRightVector\",\n  \"DownLeftTeeVector\",\n  \"DownLeftVector\",\n  \"DownLeftVectorBar\",\n  \"DownRightTeeVector\",\n  \"DownRightVector\",\n  \"DownRightVectorBar\",\n  \"Downsample\",\n  \"DownTee\",\n  \"DownTeeArrow\",\n  \"DownValues\",\n  \"DragAndDrop\",\n  \"DrawEdges\",\n  \"DrawFrontFaces\",\n  \"DrawHighlighted\",\n  \"Drop\",\n  \"DropoutLayer\",\n  \"DSolve\",\n  \"DSolveValue\",\n  \"Dt\",\n  \"DualLinearProgramming\",\n  \"DualPolyhedron\",\n  \"DualSystemsModel\",\n  \"DumpGet\",\n  \"DumpSave\",\n  \"DuplicateFreeQ\",\n  \"Duration\",\n  \"Dynamic\",\n  \"DynamicBox\",\n  \"DynamicBoxOptions\",\n  \"DynamicEvaluationTimeout\",\n  \"DynamicGeoGraphics\",\n  \"DynamicImage\",\n  \"DynamicLocation\",\n  \"DynamicModule\",\n  \"DynamicModuleBox\",\n  \"DynamicModuleBoxOptions\",\n  \"DynamicModuleParent\",\n  \"DynamicModuleValues\",\n  \"DynamicName\",\n  \"DynamicNamespace\",\n  \"DynamicReference\",\n  \"DynamicSetting\",\n  \"DynamicUpdating\",\n  \"DynamicWrapper\",\n  \"DynamicWrapperBox\",\n  \"DynamicWrapperBoxOptions\",\n  \"E\",\n  \"EarthImpactData\",\n  \"EarthquakeData\",\n  \"EccentricityCentrality\",\n  \"Echo\",\n  \"EchoFunction\",\n  \"EclipseType\",\n  \"EdgeAdd\",\n  \"EdgeBetweennessCentrality\",\n  \"EdgeCapacity\",\n  \"EdgeCapForm\",\n  \"EdgeColor\",\n  \"EdgeConnectivity\",\n  \"EdgeContract\",\n  \"EdgeCost\",\n  \"EdgeCount\",\n  \"EdgeCoverQ\",\n  \"EdgeCycleMatrix\",\n  \"EdgeDashing\",\n  \"EdgeDelete\",\n  \"EdgeDetect\",\n  \"EdgeForm\",\n  \"EdgeIndex\",\n  \"EdgeJoinForm\",\n  \"EdgeLabeling\",\n  \"EdgeLabels\",\n  \"EdgeLabelStyle\",\n  \"EdgeList\",\n  \"EdgeOpacity\",\n  \"EdgeQ\",\n  \"EdgeRenderingFunction\",\n  \"EdgeRules\",\n  \"EdgeShapeFunction\",\n  \"EdgeStyle\",\n  \"EdgeTaggedGraph\",\n  \"EdgeTaggedGraphQ\",\n  \"EdgeTags\",\n  \"EdgeThickness\",\n  \"EdgeWeight\",\n  \"EdgeWeightedGraphQ\",\n  \"Editable\",\n  \"EditButtonSettings\",\n  \"EditCellTagsSettings\",\n  \"EditDistance\",\n  \"EffectiveInterest\",\n  \"Eigensystem\",\n  \"Eigenvalues\",\n  \"EigenvectorCentrality\",\n  \"Eigenvectors\",\n  \"Element\",\n  \"ElementData\",\n  \"ElementwiseLayer\",\n  \"ElidedForms\",\n  \"Eliminate\",\n  \"EliminationOrder\",\n  \"Ellipsoid\",\n  \"EllipticE\",\n  \"EllipticExp\",\n  \"EllipticExpPrime\",\n  \"EllipticF\",\n  \"EllipticFilterModel\",\n  \"EllipticK\",\n  \"EllipticLog\",\n  \"EllipticNomeQ\",\n  \"EllipticPi\",\n  \"EllipticReducedHalfPeriods\",\n  \"EllipticTheta\",\n  \"EllipticThetaPrime\",\n  \"EmbedCode\",\n  \"EmbeddedHTML\",\n  \"EmbeddedService\",\n  \"EmbeddingLayer\",\n  \"EmbeddingObject\",\n  \"EmitSound\",\n  \"EmphasizeSyntaxErrors\",\n  \"EmpiricalDistribution\",\n  \"Empty\",\n  \"EmptyGraphQ\",\n  \"EmptyRegion\",\n  \"EnableConsolePrintPacket\",\n  \"Enabled\",\n  \"Encode\",\n  \"Encrypt\",\n  \"EncryptedObject\",\n  \"EncryptFile\",\n  \"End\",\n  \"EndAdd\",\n  \"EndDialogPacket\",\n  \"EndFrontEndInteractionPacket\",\n  \"EndOfBuffer\",\n  \"EndOfFile\",\n  \"EndOfLine\",\n  \"EndOfString\",\n  \"EndPackage\",\n  \"EngineEnvironment\",\n  \"EngineeringForm\",\n  \"Enter\",\n  \"EnterExpressionPacket\",\n  \"EnterTextPacket\",\n  \"Entity\",\n  \"EntityClass\",\n  \"EntityClassList\",\n  \"EntityCopies\",\n  \"EntityFunction\",\n  \"EntityGroup\",\n  \"EntityInstance\",\n  \"EntityList\",\n  \"EntityPrefetch\",\n  \"EntityProperties\",\n  \"EntityProperty\",\n  \"EntityPropertyClass\",\n  \"EntityRegister\",\n  \"EntityStore\",\n  \"EntityStores\",\n  \"EntityTypeName\",\n  \"EntityUnregister\",\n  \"EntityValue\",\n  \"Entropy\",\n  \"EntropyFilter\",\n  \"Environment\",\n  \"Epilog\",\n  \"EpilogFunction\",\n  \"Equal\",\n  \"EqualColumns\",\n  \"EqualRows\",\n  \"EqualTilde\",\n  \"EqualTo\",\n  \"EquatedTo\",\n  \"Equilibrium\",\n  \"EquirippleFilterKernel\",\n  \"Equivalent\",\n  \"Erf\",\n  \"Erfc\",\n  \"Erfi\",\n  \"ErlangB\",\n  \"ErlangC\",\n  \"ErlangDistribution\",\n  \"Erosion\",\n  \"ErrorBox\",\n  \"ErrorBoxOptions\",\n  \"ErrorNorm\",\n  \"ErrorPacket\",\n  \"ErrorsDialogSettings\",\n  \"EscapeRadius\",\n  \"EstimatedBackground\",\n  \"EstimatedDistribution\",\n  \"EstimatedProcess\",\n  \"EstimatorGains\",\n  \"EstimatorRegulator\",\n  \"EuclideanDistance\",\n  \"EulerAngles\",\n  \"EulerCharacteristic\",\n  \"EulerE\",\n  \"EulerGamma\",\n  \"EulerianGraphQ\",\n  \"EulerMatrix\",\n  \"EulerPhi\",\n  \"Evaluatable\",\n  \"Evaluate\",\n  \"Evaluated\",\n  \"EvaluatePacket\",\n  \"EvaluateScheduledTask\",\n  \"EvaluationBox\",\n  \"EvaluationCell\",\n  \"EvaluationCompletionAction\",\n  \"EvaluationData\",\n  \"EvaluationElements\",\n  \"EvaluationEnvironment\",\n  \"EvaluationMode\",\n  \"EvaluationMonitor\",\n  \"EvaluationNotebook\",\n  \"EvaluationObject\",\n  \"EvaluationOrder\",\n  \"Evaluator\",\n  \"EvaluatorNames\",\n  \"EvenQ\",\n  \"EventData\",\n  \"EventEvaluator\",\n  \"EventHandler\",\n  \"EventHandlerTag\",\n  \"EventLabels\",\n  \"EventSeries\",\n  \"ExactBlackmanWindow\",\n  \"ExactNumberQ\",\n  \"ExactRootIsolation\",\n  \"ExampleData\",\n  \"Except\",\n  \"ExcludedForms\",\n  \"ExcludedLines\",\n  \"ExcludedPhysicalQuantities\",\n  \"ExcludePods\",\n  \"Exclusions\",\n  \"ExclusionsStyle\",\n  \"Exists\",\n  \"Exit\",\n  \"ExitDialog\",\n  \"ExoplanetData\",\n  \"Exp\",\n  \"Expand\",\n  \"ExpandAll\",\n  \"ExpandDenominator\",\n  \"ExpandFileName\",\n  \"ExpandNumerator\",\n  \"Expectation\",\n  \"ExpectationE\",\n  \"ExpectedValue\",\n  \"ExpGammaDistribution\",\n  \"ExpIntegralE\",\n  \"ExpIntegralEi\",\n  \"ExpirationDate\",\n  \"Exponent\",\n  \"ExponentFunction\",\n  \"ExponentialDistribution\",\n  \"ExponentialFamily\",\n  \"ExponentialGeneratingFunction\",\n  \"ExponentialMovingAverage\",\n  \"ExponentialPowerDistribution\",\n  \"ExponentPosition\",\n  \"ExponentStep\",\n  \"Export\",\n  \"ExportAutoReplacements\",\n  \"ExportByteArray\",\n  \"ExportForm\",\n  \"ExportPacket\",\n  \"ExportString\",\n  \"Expression\",\n  \"ExpressionCell\",\n  \"ExpressionGraph\",\n  \"ExpressionPacket\",\n  \"ExpressionUUID\",\n  \"ExpToTrig\",\n  \"ExtendedEntityClass\",\n  \"ExtendedGCD\",\n  \"Extension\",\n  \"ExtentElementFunction\",\n  \"ExtentMarkers\",\n  \"ExtentSize\",\n  \"ExternalBundle\",\n  \"ExternalCall\",\n  \"ExternalDataCharacterEncoding\",\n  \"ExternalEvaluate\",\n  \"ExternalFunction\",\n  \"ExternalFunctionName\",\n  \"ExternalIdentifier\",\n  \"ExternalObject\",\n  \"ExternalOptions\",\n  \"ExternalSessionObject\",\n  \"ExternalSessions\",\n  \"ExternalStorageBase\",\n  \"ExternalStorageDownload\",\n  \"ExternalStorageGet\",\n  \"ExternalStorageObject\",\n  \"ExternalStoragePut\",\n  \"ExternalStorageUpload\",\n  \"ExternalTypeSignature\",\n  \"ExternalValue\",\n  \"Extract\",\n  \"ExtractArchive\",\n  \"ExtractLayer\",\n  \"ExtractPacletArchive\",\n  \"ExtremeValueDistribution\",\n  \"FaceAlign\",\n  \"FaceForm\",\n  \"FaceGrids\",\n  \"FaceGridsStyle\",\n  \"FacialFeatures\",\n  \"Factor\",\n  \"FactorComplete\",\n  \"Factorial\",\n  \"Factorial2\",\n  \"FactorialMoment\",\n  \"FactorialMomentGeneratingFunction\",\n  \"FactorialPower\",\n  \"FactorInteger\",\n  \"FactorList\",\n  \"FactorSquareFree\",\n  \"FactorSquareFreeList\",\n  \"FactorTerms\",\n  \"FactorTermsList\",\n  \"Fail\",\n  \"Failure\",\n  \"FailureAction\",\n  \"FailureDistribution\",\n  \"FailureQ\",\n  \"False\",\n  \"FareySequence\",\n  \"FARIMAProcess\",\n  \"FeatureDistance\",\n  \"FeatureExtract\",\n  \"FeatureExtraction\",\n  \"FeatureExtractor\",\n  \"FeatureExtractorFunction\",\n  \"FeatureNames\",\n  \"FeatureNearest\",\n  \"FeatureSpacePlot\",\n  \"FeatureSpacePlot3D\",\n  \"FeatureTypes\",\n  \"FEDisableConsolePrintPacket\",\n  \"FeedbackLinearize\",\n  \"FeedbackSector\",\n  \"FeedbackSectorStyle\",\n  \"FeedbackType\",\n  \"FEEnableConsolePrintPacket\",\n  \"FetalGrowthData\",\n  \"Fibonacci\",\n  \"Fibonorial\",\n  \"FieldCompletionFunction\",\n  \"FieldHint\",\n  \"FieldHintStyle\",\n  \"FieldMasked\",\n  \"FieldSize\",\n  \"File\",\n  \"FileBaseName\",\n  \"FileByteCount\",\n  \"FileConvert\",\n  \"FileDate\",\n  \"FileExistsQ\",\n  \"FileExtension\",\n  \"FileFormat\",\n  \"FileHandler\",\n  \"FileHash\",\n  \"FileInformation\",\n  \"FileName\",\n  \"FileNameDepth\",\n  \"FileNameDialogSettings\",\n  \"FileNameDrop\",\n  \"FileNameForms\",\n  \"FileNameJoin\",\n  \"FileNames\",\n  \"FileNameSetter\",\n  \"FileNameSplit\",\n  \"FileNameTake\",\n  \"FilePrint\",\n  \"FileSize\",\n  \"FileSystemMap\",\n  \"FileSystemScan\",\n  \"FileTemplate\",\n  \"FileTemplateApply\",\n  \"FileType\",\n  \"FilledCurve\",\n  \"FilledCurveBox\",\n  \"FilledCurveBoxOptions\",\n  \"Filling\",\n  \"FillingStyle\",\n  \"FillingTransform\",\n  \"FilteredEntityClass\",\n  \"FilterRules\",\n  \"FinancialBond\",\n  \"FinancialData\",\n  \"FinancialDerivative\",\n  \"FinancialIndicator\",\n  \"Find\",\n  \"FindAnomalies\",\n  \"FindArgMax\",\n  \"FindArgMin\",\n  \"FindChannels\",\n  \"FindClique\",\n  \"FindClusters\",\n  \"FindCookies\",\n  \"FindCurvePath\",\n  \"FindCycle\",\n  \"FindDevices\",\n  \"FindDistribution\",\n  \"FindDistributionParameters\",\n  \"FindDivisions\",\n  \"FindEdgeCover\",\n  \"FindEdgeCut\",\n  \"FindEdgeIndependentPaths\",\n  \"FindEquationalProof\",\n  \"FindEulerianCycle\",\n  \"FindExternalEvaluators\",\n  \"FindFaces\",\n  \"FindFile\",\n  \"FindFit\",\n  \"FindFormula\",\n  \"FindFundamentalCycles\",\n  \"FindGeneratingFunction\",\n  \"FindGeoLocation\",\n  \"FindGeometricConjectures\",\n  \"FindGeometricTransform\",\n  \"FindGraphCommunities\",\n  \"FindGraphIsomorphism\",\n  \"FindGraphPartition\",\n  \"FindHamiltonianCycle\",\n  \"FindHamiltonianPath\",\n  \"FindHiddenMarkovStates\",\n  \"FindImageText\",\n  \"FindIndependentEdgeSet\",\n  \"FindIndependentVertexSet\",\n  \"FindInstance\",\n  \"FindIntegerNullVector\",\n  \"FindKClan\",\n  \"FindKClique\",\n  \"FindKClub\",\n  \"FindKPlex\",\n  \"FindLibrary\",\n  \"FindLinearRecurrence\",\n  \"FindList\",\n  \"FindMatchingColor\",\n  \"FindMaximum\",\n  \"FindMaximumCut\",\n  \"FindMaximumFlow\",\n  \"FindMaxValue\",\n  \"FindMeshDefects\",\n  \"FindMinimum\",\n  \"FindMinimumCostFlow\",\n  \"FindMinimumCut\",\n  \"FindMinValue\",\n  \"FindMoleculeSubstructure\",\n  \"FindPath\",\n  \"FindPeaks\",\n  \"FindPermutation\",\n  \"FindPostmanTour\",\n  \"FindProcessParameters\",\n  \"FindRepeat\",\n  \"FindRoot\",\n  \"FindSequenceFunction\",\n  \"FindSettings\",\n  \"FindShortestPath\",\n  \"FindShortestTour\",\n  \"FindSpanningTree\",\n  \"FindSystemModelEquilibrium\",\n  \"FindTextualAnswer\",\n  \"FindThreshold\",\n  \"FindTransientRepeat\",\n  \"FindVertexCover\",\n  \"FindVertexCut\",\n  \"FindVertexIndependentPaths\",\n  \"Fine\",\n  \"FinishDynamic\",\n  \"FiniteAbelianGroupCount\",\n  \"FiniteGroupCount\",\n  \"FiniteGroupData\",\n  \"First\",\n  \"FirstCase\",\n  \"FirstPassageTimeDistribution\",\n  \"FirstPosition\",\n  \"FischerGroupFi22\",\n  \"FischerGroupFi23\",\n  \"FischerGroupFi24Prime\",\n  \"FisherHypergeometricDistribution\",\n  \"FisherRatioTest\",\n  \"FisherZDistribution\",\n  \"Fit\",\n  \"FitAll\",\n  \"FitRegularization\",\n  \"FittedModel\",\n  \"FixedOrder\",\n  \"FixedPoint\",\n  \"FixedPointList\",\n  \"FlashSelection\",\n  \"Flat\",\n  \"Flatten\",\n  \"FlattenAt\",\n  \"FlattenLayer\",\n  \"FlatTopWindow\",\n  \"FlipView\",\n  \"Floor\",\n  \"FlowPolynomial\",\n  \"FlushPrintOutputPacket\",\n  \"Fold\",\n  \"FoldList\",\n  \"FoldPair\",\n  \"FoldPairList\",\n  \"FollowRedirects\",\n  \"Font\",\n  \"FontColor\",\n  \"FontFamily\",\n  \"FontForm\",\n  \"FontName\",\n  \"FontOpacity\",\n  \"FontPostScriptName\",\n  \"FontProperties\",\n  \"FontReencoding\",\n  \"FontSize\",\n  \"FontSlant\",\n  \"FontSubstitutions\",\n  \"FontTracking\",\n  \"FontVariations\",\n  \"FontWeight\",\n  \"For\",\n  \"ForAll\",\n  \"ForceVersionInstall\",\n  \"Format\",\n  \"FormatRules\",\n  \"FormatType\",\n  \"FormatTypeAutoConvert\",\n  \"FormatValues\",\n  \"FormBox\",\n  \"FormBoxOptions\",\n  \"FormControl\",\n  \"FormFunction\",\n  \"FormLayoutFunction\",\n  \"FormObject\",\n  \"FormPage\",\n  \"FormTheme\",\n  \"FormulaData\",\n  \"FormulaLookup\",\n  \"FortranForm\",\n  \"Forward\",\n  \"ForwardBackward\",\n  \"Fourier\",\n  \"FourierCoefficient\",\n  \"FourierCosCoefficient\",\n  \"FourierCosSeries\",\n  \"FourierCosTransform\",\n  \"FourierDCT\",\n  \"FourierDCTFilter\",\n  \"FourierDCTMatrix\",\n  \"FourierDST\",\n  \"FourierDSTMatrix\",\n  \"FourierMatrix\",\n  \"FourierParameters\",\n  \"FourierSequenceTransform\",\n  \"FourierSeries\",\n  \"FourierSinCoefficient\",\n  \"FourierSinSeries\",\n  \"FourierSinTransform\",\n  \"FourierTransform\",\n  \"FourierTrigSeries\",\n  \"FractionalBrownianMotionProcess\",\n  \"FractionalGaussianNoiseProcess\",\n  \"FractionalPart\",\n  \"FractionBox\",\n  \"FractionBoxOptions\",\n  \"FractionLine\",\n  \"Frame\",\n  \"FrameBox\",\n  \"FrameBoxOptions\",\n  \"Framed\",\n  \"FrameInset\",\n  \"FrameLabel\",\n  \"Frameless\",\n  \"FrameMargins\",\n  \"FrameRate\",\n  \"FrameStyle\",\n  \"FrameTicks\",\n  \"FrameTicksStyle\",\n  \"FRatioDistribution\",\n  \"FrechetDistribution\",\n  \"FreeQ\",\n  \"FrenetSerretSystem\",\n  \"FrequencySamplingFilterKernel\",\n  \"FresnelC\",\n  \"FresnelF\",\n  \"FresnelG\",\n  \"FresnelS\",\n  \"Friday\",\n  \"FrobeniusNumber\",\n  \"FrobeniusSolve\",\n  \"FromAbsoluteTime\",\n  \"FromCharacterCode\",\n  \"FromCoefficientRules\",\n  \"FromContinuedFraction\",\n  \"FromDate\",\n  \"FromDigits\",\n  \"FromDMS\",\n  \"FromEntity\",\n  \"FromJulianDate\",\n  \"FromLetterNumber\",\n  \"FromPolarCoordinates\",\n  \"FromRomanNumeral\",\n  \"FromSphericalCoordinates\",\n  \"FromUnixTime\",\n  \"Front\",\n  \"FrontEndDynamicExpression\",\n  \"FrontEndEventActions\",\n  \"FrontEndExecute\",\n  \"FrontEndObject\",\n  \"FrontEndResource\",\n  \"FrontEndResourceString\",\n  \"FrontEndStackSize\",\n  \"FrontEndToken\",\n  \"FrontEndTokenExecute\",\n  \"FrontEndValueCache\",\n  \"FrontEndVersion\",\n  \"FrontFaceColor\",\n  \"FrontFaceOpacity\",\n  \"Full\",\n  \"FullAxes\",\n  \"FullDefinition\",\n  \"FullForm\",\n  \"FullGraphics\",\n  \"FullInformationOutputRegulator\",\n  \"FullOptions\",\n  \"FullRegion\",\n  \"FullSimplify\",\n  \"Function\",\n  \"FunctionCompile\",\n  \"FunctionCompileExport\",\n  \"FunctionCompileExportByteArray\",\n  \"FunctionCompileExportLibrary\",\n  \"FunctionCompileExportString\",\n  \"FunctionDomain\",\n  \"FunctionExpand\",\n  \"FunctionInterpolation\",\n  \"FunctionPeriod\",\n  \"FunctionRange\",\n  \"FunctionSpace\",\n  \"FussellVeselyImportance\",\n  \"GaborFilter\",\n  \"GaborMatrix\",\n  \"GaborWavelet\",\n  \"GainMargins\",\n  \"GainPhaseMargins\",\n  \"GalaxyData\",\n  \"GalleryView\",\n  \"Gamma\",\n  \"GammaDistribution\",\n  \"GammaRegularized\",\n  \"GapPenalty\",\n  \"GARCHProcess\",\n  \"GatedRecurrentLayer\",\n  \"Gather\",\n  \"GatherBy\",\n  \"GaugeFaceElementFunction\",\n  \"GaugeFaceStyle\",\n  \"GaugeFrameElementFunction\",\n  \"GaugeFrameSize\",\n  \"GaugeFrameStyle\",\n  \"GaugeLabels\",\n  \"GaugeMarkers\",\n  \"GaugeStyle\",\n  \"GaussianFilter\",\n  \"GaussianIntegers\",\n  \"GaussianMatrix\",\n  \"GaussianOrthogonalMatrixDistribution\",\n  \"GaussianSymplecticMatrixDistribution\",\n  \"GaussianUnitaryMatrixDistribution\",\n  \"GaussianWindow\",\n  \"GCD\",\n  \"GegenbauerC\",\n  \"General\",\n  \"GeneralizedLinearModelFit\",\n  \"GenerateAsymmetricKeyPair\",\n  \"GenerateConditions\",\n  \"GeneratedCell\",\n  \"GeneratedDocumentBinding\",\n  \"GenerateDerivedKey\",\n  \"GenerateDigitalSignature\",\n  \"GenerateDocument\",\n  \"GeneratedParameters\",\n  \"GeneratedQuantityMagnitudes\",\n  \"GenerateFileSignature\",\n  \"GenerateHTTPResponse\",\n  \"GenerateSecuredAuthenticationKey\",\n  \"GenerateSymmetricKey\",\n  \"GeneratingFunction\",\n  \"GeneratorDescription\",\n  \"GeneratorHistoryLength\",\n  \"GeneratorOutputType\",\n  \"Generic\",\n  \"GenericCylindricalDecomposition\",\n  \"GenomeData\",\n  \"GenomeLookup\",\n  \"GeoAntipode\",\n  \"GeoArea\",\n  \"GeoArraySize\",\n  \"GeoBackground\",\n  \"GeoBoundingBox\",\n  \"GeoBounds\",\n  \"GeoBoundsRegion\",\n  \"GeoBubbleChart\",\n  \"GeoCenter\",\n  \"GeoCircle\",\n  \"GeoContourPlot\",\n  \"GeoDensityPlot\",\n  \"GeodesicClosing\",\n  \"GeodesicDilation\",\n  \"GeodesicErosion\",\n  \"GeodesicOpening\",\n  \"GeoDestination\",\n  \"GeodesyData\",\n  \"GeoDirection\",\n  \"GeoDisk\",\n  \"GeoDisplacement\",\n  \"GeoDistance\",\n  \"GeoDistanceList\",\n  \"GeoElevationData\",\n  \"GeoEntities\",\n  \"GeoGraphics\",\n  \"GeogravityModelData\",\n  \"GeoGridDirectionDifference\",\n  \"GeoGridLines\",\n  \"GeoGridLinesStyle\",\n  \"GeoGridPosition\",\n  \"GeoGridRange\",\n  \"GeoGridRangePadding\",\n  \"GeoGridUnitArea\",\n  \"GeoGridUnitDistance\",\n  \"GeoGridVector\",\n  \"GeoGroup\",\n  \"GeoHemisphere\",\n  \"GeoHemisphereBoundary\",\n  \"GeoHistogram\",\n  \"GeoIdentify\",\n  \"GeoImage\",\n  \"GeoLabels\",\n  \"GeoLength\",\n  \"GeoListPlot\",\n  \"GeoLocation\",\n  \"GeologicalPeriodData\",\n  \"GeomagneticModelData\",\n  \"GeoMarker\",\n  \"GeometricAssertion\",\n  \"GeometricBrownianMotionProcess\",\n  \"GeometricDistribution\",\n  \"GeometricMean\",\n  \"GeometricMeanFilter\",\n  \"GeometricOptimization\",\n  \"GeometricScene\",\n  \"GeometricTransformation\",\n  \"GeometricTransformation3DBox\",\n  \"GeometricTransformation3DBoxOptions\",\n  \"GeometricTransformationBox\",\n  \"GeometricTransformationBoxOptions\",\n  \"GeoModel\",\n  \"GeoNearest\",\n  \"GeoPath\",\n  \"GeoPosition\",\n  \"GeoPositionENU\",\n  \"GeoPositionXYZ\",\n  \"GeoProjection\",\n  \"GeoProjectionData\",\n  \"GeoRange\",\n  \"GeoRangePadding\",\n  \"GeoRegionValuePlot\",\n  \"GeoResolution\",\n  \"GeoScaleBar\",\n  \"GeoServer\",\n  \"GeoSmoothHistogram\",\n  \"GeoStreamPlot\",\n  \"GeoStyling\",\n  \"GeoStylingImageFunction\",\n  \"GeoVariant\",\n  \"GeoVector\",\n  \"GeoVectorENU\",\n  \"GeoVectorPlot\",\n  \"GeoVectorXYZ\",\n  \"GeoVisibleRegion\",\n  \"GeoVisibleRegionBoundary\",\n  \"GeoWithinQ\",\n  \"GeoZoomLevel\",\n  \"GestureHandler\",\n  \"GestureHandlerTag\",\n  \"Get\",\n  \"GetBoundingBoxSizePacket\",\n  \"GetContext\",\n  \"GetEnvironment\",\n  \"GetFileName\",\n  \"GetFrontEndOptionsDataPacket\",\n  \"GetLinebreakInformationPacket\",\n  \"GetMenusPacket\",\n  \"GetPageBreakInformationPacket\",\n  \"Glaisher\",\n  \"GlobalClusteringCoefficient\",\n  \"GlobalPreferences\",\n  \"GlobalSession\",\n  \"Glow\",\n  \"GoldenAngle\",\n  \"GoldenRatio\",\n  \"GompertzMakehamDistribution\",\n  \"GoochShading\",\n  \"GoodmanKruskalGamma\",\n  \"GoodmanKruskalGammaTest\",\n  \"Goto\",\n  \"Grad\",\n  \"Gradient\",\n  \"GradientFilter\",\n  \"GradientOrientationFilter\",\n  \"GrammarApply\",\n  \"GrammarRules\",\n  \"GrammarToken\",\n  \"Graph\",\n  \"Graph3D\",\n  \"GraphAssortativity\",\n  \"GraphAutomorphismGroup\",\n  \"GraphCenter\",\n  \"GraphComplement\",\n  \"GraphData\",\n  \"GraphDensity\",\n  \"GraphDiameter\",\n  \"GraphDifference\",\n  \"GraphDisjointUnion\",\n  \"GraphDistance\",\n  \"GraphDistanceMatrix\",\n  \"GraphElementData\",\n  \"GraphEmbedding\",\n  \"GraphHighlight\",\n  \"GraphHighlightStyle\",\n  \"GraphHub\",\n  \"Graphics\",\n  \"Graphics3D\",\n  \"Graphics3DBox\",\n  \"Graphics3DBoxOptions\",\n  \"GraphicsArray\",\n  \"GraphicsBaseline\",\n  \"GraphicsBox\",\n  \"GraphicsBoxOptions\",\n  \"GraphicsColor\",\n  \"GraphicsColumn\",\n  \"GraphicsComplex\",\n  \"GraphicsComplex3DBox\",\n  \"GraphicsComplex3DBoxOptions\",\n  \"GraphicsComplexBox\",\n  \"GraphicsComplexBoxOptions\",\n  \"GraphicsContents\",\n  \"GraphicsData\",\n  \"GraphicsGrid\",\n  \"GraphicsGridBox\",\n  \"GraphicsGroup\",\n  \"GraphicsGroup3DBox\",\n  \"GraphicsGroup3DBoxOptions\",\n  \"GraphicsGroupBox\",\n  \"GraphicsGroupBoxOptions\",\n  \"GraphicsGrouping\",\n  \"GraphicsHighlightColor\",\n  \"GraphicsRow\",\n  \"GraphicsSpacing\",\n  \"GraphicsStyle\",\n  \"GraphIntersection\",\n  \"GraphLayout\",\n  \"GraphLinkEfficiency\",\n  \"GraphPeriphery\",\n  \"GraphPlot\",\n  \"GraphPlot3D\",\n  \"GraphPower\",\n  \"GraphPropertyDistribution\",\n  \"GraphQ\",\n  \"GraphRadius\",\n  \"GraphReciprocity\",\n  \"GraphRoot\",\n  \"GraphStyle\",\n  \"GraphUnion\",\n  \"Gray\",\n  \"GrayLevel\",\n  \"Greater\",\n  \"GreaterEqual\",\n  \"GreaterEqualLess\",\n  \"GreaterEqualThan\",\n  \"GreaterFullEqual\",\n  \"GreaterGreater\",\n  \"GreaterLess\",\n  \"GreaterSlantEqual\",\n  \"GreaterThan\",\n  \"GreaterTilde\",\n  \"Green\",\n  \"GreenFunction\",\n  \"Grid\",\n  \"GridBaseline\",\n  \"GridBox\",\n  \"GridBoxAlignment\",\n  \"GridBoxBackground\",\n  \"GridBoxDividers\",\n  \"GridBoxFrame\",\n  \"GridBoxItemSize\",\n  \"GridBoxItemStyle\",\n  \"GridBoxOptions\",\n  \"GridBoxSpacings\",\n  \"GridCreationSettings\",\n  \"GridDefaultElement\",\n  \"GridElementStyleOptions\",\n  \"GridFrame\",\n  \"GridFrameMargins\",\n  \"GridGraph\",\n  \"GridLines\",\n  \"GridLinesStyle\",\n  \"GroebnerBasis\",\n  \"GroupActionBase\",\n  \"GroupBy\",\n  \"GroupCentralizer\",\n  \"GroupElementFromWord\",\n  \"GroupElementPosition\",\n  \"GroupElementQ\",\n  \"GroupElements\",\n  \"GroupElementToWord\",\n  \"GroupGenerators\",\n  \"Groupings\",\n  \"GroupMultiplicationTable\",\n  \"GroupOrbits\",\n  \"GroupOrder\",\n  \"GroupPageBreakWithin\",\n  \"GroupSetwiseStabilizer\",\n  \"GroupStabilizer\",\n  \"GroupStabilizerChain\",\n  \"GroupTogetherGrouping\",\n  \"GroupTogetherNestedGrouping\",\n  \"GrowCutComponents\",\n  \"Gudermannian\",\n  \"GuidedFilter\",\n  \"GumbelDistribution\",\n  \"HaarWavelet\",\n  \"HadamardMatrix\",\n  \"HalfLine\",\n  \"HalfNormalDistribution\",\n  \"HalfPlane\",\n  \"HalfSpace\",\n  \"HalftoneShading\",\n  \"HamiltonianGraphQ\",\n  \"HammingDistance\",\n  \"HammingWindow\",\n  \"HandlerFunctions\",\n  \"HandlerFunctionsKeys\",\n  \"HankelH1\",\n  \"HankelH2\",\n  \"HankelMatrix\",\n  \"HankelTransform\",\n  \"HannPoissonWindow\",\n  \"HannWindow\",\n  \"HaradaNortonGroupHN\",\n  \"HararyGraph\",\n  \"HarmonicMean\",\n  \"HarmonicMeanFilter\",\n  \"HarmonicNumber\",\n  \"Hash\",\n  \"HatchFilling\",\n  \"HatchShading\",\n  \"Haversine\",\n  \"HazardFunction\",\n  \"Head\",\n  \"HeadCompose\",\n  \"HeaderAlignment\",\n  \"HeaderBackground\",\n  \"HeaderDisplayFunction\",\n  \"HeaderLines\",\n  \"HeaderSize\",\n  \"HeaderStyle\",\n  \"Heads\",\n  \"HeavisideLambda\",\n  \"HeavisidePi\",\n  \"HeavisideTheta\",\n  \"HeldGroupHe\",\n  \"HeldPart\",\n  \"HelpBrowserLookup\",\n  \"HelpBrowserNotebook\",\n  \"HelpBrowserSettings\",\n  \"Here\",\n  \"HermiteDecomposition\",\n  \"HermiteH\",\n  \"HermitianMatrixQ\",\n  \"HessenbergDecomposition\",\n  \"Hessian\",\n  \"HeunB\",\n  \"HeunBPrime\",\n  \"HeunC\",\n  \"HeunCPrime\",\n  \"HeunD\",\n  \"HeunDPrime\",\n  \"HeunG\",\n  \"HeunGPrime\",\n  \"HeunT\",\n  \"HeunTPrime\",\n  \"HexadecimalCharacter\",\n  \"Hexahedron\",\n  \"HexahedronBox\",\n  \"HexahedronBoxOptions\",\n  \"HiddenItems\",\n  \"HiddenMarkovProcess\",\n  \"HiddenSurface\",\n  \"Highlighted\",\n  \"HighlightGraph\",\n  \"HighlightImage\",\n  \"HighlightMesh\",\n  \"HighpassFilter\",\n  \"HigmanSimsGroupHS\",\n  \"HilbertCurve\",\n  \"HilbertFilter\",\n  \"HilbertMatrix\",\n  \"Histogram\",\n  \"Histogram3D\",\n  \"HistogramDistribution\",\n  \"HistogramList\",\n  \"HistogramTransform\",\n  \"HistogramTransformInterpolation\",\n  \"HistoricalPeriodData\",\n  \"HitMissTransform\",\n  \"HITSCentrality\",\n  \"HjorthDistribution\",\n  \"HodgeDual\",\n  \"HoeffdingD\",\n  \"HoeffdingDTest\",\n  \"Hold\",\n  \"HoldAll\",\n  \"HoldAllComplete\",\n  \"HoldComplete\",\n  \"HoldFirst\",\n  \"HoldForm\",\n  \"HoldPattern\",\n  \"HoldRest\",\n  \"HolidayCalendar\",\n  \"HomeDirectory\",\n  \"HomePage\",\n  \"Horizontal\",\n  \"HorizontalForm\",\n  \"HorizontalGauge\",\n  \"HorizontalScrollPosition\",\n  \"HornerForm\",\n  \"HostLookup\",\n  \"HotellingTSquareDistribution\",\n  \"HoytDistribution\",\n  \"HTMLSave\",\n  \"HTTPErrorResponse\",\n  \"HTTPRedirect\",\n  \"HTTPRequest\",\n  \"HTTPRequestData\",\n  \"HTTPResponse\",\n  \"Hue\",\n  \"HumanGrowthData\",\n  \"HumpDownHump\",\n  \"HumpEqual\",\n  \"HurwitzLerchPhi\",\n  \"HurwitzZeta\",\n  \"HyperbolicDistribution\",\n  \"HypercubeGraph\",\n  \"HyperexponentialDistribution\",\n  \"Hyperfactorial\",\n  \"Hypergeometric0F1\",\n  \"Hypergeometric0F1Regularized\",\n  \"Hypergeometric1F1\",\n  \"Hypergeometric1F1Regularized\",\n  \"Hypergeometric2F1\",\n  \"Hypergeometric2F1Regularized\",\n  \"HypergeometricDistribution\",\n  \"HypergeometricPFQ\",\n  \"HypergeometricPFQRegularized\",\n  \"HypergeometricU\",\n  \"Hyperlink\",\n  \"HyperlinkAction\",\n  \"HyperlinkCreationSettings\",\n  \"Hyperplane\",\n  \"Hyphenation\",\n  \"HyphenationOptions\",\n  \"HypoexponentialDistribution\",\n  \"HypothesisTestData\",\n  \"I\",\n  \"IconData\",\n  \"Iconize\",\n  \"IconizedObject\",\n  \"IconRules\",\n  \"Icosahedron\",\n  \"Identity\",\n  \"IdentityMatrix\",\n  \"If\",\n  \"IgnoreCase\",\n  \"IgnoreDiacritics\",\n  \"IgnorePunctuation\",\n  \"IgnoreSpellCheck\",\n  \"IgnoringInactive\",\n  \"Im\",\n  \"Image\",\n  \"Image3D\",\n  \"Image3DProjection\",\n  \"Image3DSlices\",\n  \"ImageAccumulate\",\n  \"ImageAdd\",\n  \"ImageAdjust\",\n  \"ImageAlign\",\n  \"ImageApply\",\n  \"ImageApplyIndexed\",\n  \"ImageAspectRatio\",\n  \"ImageAssemble\",\n  \"ImageAugmentationLayer\",\n  \"ImageBoundingBoxes\",\n  \"ImageCache\",\n  \"ImageCacheValid\",\n  \"ImageCapture\",\n  \"ImageCaptureFunction\",\n  \"ImageCases\",\n  \"ImageChannels\",\n  \"ImageClip\",\n  \"ImageCollage\",\n  \"ImageColorSpace\",\n  \"ImageCompose\",\n  \"ImageContainsQ\",\n  \"ImageContents\",\n  \"ImageConvolve\",\n  \"ImageCooccurrence\",\n  \"ImageCorners\",\n  \"ImageCorrelate\",\n  \"ImageCorrespondingPoints\",\n  \"ImageCrop\",\n  \"ImageData\",\n  \"ImageDeconvolve\",\n  \"ImageDemosaic\",\n  \"ImageDifference\",\n  \"ImageDimensions\",\n  \"ImageDisplacements\",\n  \"ImageDistance\",\n  \"ImageEffect\",\n  \"ImageExposureCombine\",\n  \"ImageFeatureTrack\",\n  \"ImageFileApply\",\n  \"ImageFileFilter\",\n  \"ImageFileScan\",\n  \"ImageFilter\",\n  \"ImageFocusCombine\",\n  \"ImageForestingComponents\",\n  \"ImageFormattingWidth\",\n  \"ImageForwardTransformation\",\n  \"ImageGraphics\",\n  \"ImageHistogram\",\n  \"ImageIdentify\",\n  \"ImageInstanceQ\",\n  \"ImageKeypoints\",\n  \"ImageLabels\",\n  \"ImageLegends\",\n  \"ImageLevels\",\n  \"ImageLines\",\n  \"ImageMargins\",\n  \"ImageMarker\",\n  \"ImageMarkers\",\n  \"ImageMeasurements\",\n  \"ImageMesh\",\n  \"ImageMultiply\",\n  \"ImageOffset\",\n  \"ImagePad\",\n  \"ImagePadding\",\n  \"ImagePartition\",\n  \"ImagePeriodogram\",\n  \"ImagePerspectiveTransformation\",\n  \"ImagePosition\",\n  \"ImagePreviewFunction\",\n  \"ImagePyramid\",\n  \"ImagePyramidApply\",\n  \"ImageQ\",\n  \"ImageRangeCache\",\n  \"ImageRecolor\",\n  \"ImageReflect\",\n  \"ImageRegion\",\n  \"ImageResize\",\n  \"ImageResolution\",\n  \"ImageRestyle\",\n  \"ImageRotate\",\n  \"ImageRotated\",\n  \"ImageSaliencyFilter\",\n  \"ImageScaled\",\n  \"ImageScan\",\n  \"ImageSize\",\n  \"ImageSizeAction\",\n  \"ImageSizeCache\",\n  \"ImageSizeMultipliers\",\n  \"ImageSizeRaw\",\n  \"ImageSubtract\",\n  \"ImageTake\",\n  \"ImageTransformation\",\n  \"ImageTrim\",\n  \"ImageType\",\n  \"ImageValue\",\n  \"ImageValuePositions\",\n  \"ImagingDevice\",\n  \"ImplicitRegion\",\n  \"Implies\",\n  \"Import\",\n  \"ImportAutoReplacements\",\n  \"ImportByteArray\",\n  \"ImportOptions\",\n  \"ImportString\",\n  \"ImprovementImportance\",\n  \"In\",\n  \"Inactivate\",\n  \"Inactive\",\n  \"IncidenceGraph\",\n  \"IncidenceList\",\n  \"IncidenceMatrix\",\n  \"IncludeAromaticBonds\",\n  \"IncludeConstantBasis\",\n  \"IncludeDefinitions\",\n  \"IncludeDirectories\",\n  \"IncludeFileExtension\",\n  \"IncludeGeneratorTasks\",\n  \"IncludeHydrogens\",\n  \"IncludeInflections\",\n  \"IncludeMetaInformation\",\n  \"IncludePods\",\n  \"IncludeQuantities\",\n  \"IncludeRelatedTables\",\n  \"IncludeSingularTerm\",\n  \"IncludeWindowTimes\",\n  \"Increment\",\n  \"IndefiniteMatrixQ\",\n  \"Indent\",\n  \"IndentingNewlineSpacings\",\n  \"IndentMaxFraction\",\n  \"IndependenceTest\",\n  \"IndependentEdgeSetQ\",\n  \"IndependentPhysicalQuantity\",\n  \"IndependentUnit\",\n  \"IndependentUnitDimension\",\n  \"IndependentVertexSetQ\",\n  \"Indeterminate\",\n  \"IndeterminateThreshold\",\n  \"IndexCreationOptions\",\n  \"Indexed\",\n  \"IndexEdgeTaggedGraph\",\n  \"IndexGraph\",\n  \"IndexTag\",\n  \"Inequality\",\n  \"InexactNumberQ\",\n  \"InexactNumbers\",\n  \"InfiniteFuture\",\n  \"InfiniteLine\",\n  \"InfinitePast\",\n  \"InfinitePlane\",\n  \"Infinity\",\n  \"Infix\",\n  \"InflationAdjust\",\n  \"InflationMethod\",\n  \"Information\",\n  \"InformationData\",\n  \"InformationDataGrid\",\n  \"Inherited\",\n  \"InheritScope\",\n  \"InhomogeneousPoissonProcess\",\n  \"InitialEvaluationHistory\",\n  \"Initialization\",\n  \"InitializationCell\",\n  \"InitializationCellEvaluation\",\n  \"InitializationCellWarning\",\n  \"InitializationObjects\",\n  \"InitializationValue\",\n  \"Initialize\",\n  \"InitialSeeding\",\n  \"InlineCounterAssignments\",\n  \"InlineCounterIncrements\",\n  \"InlineRules\",\n  \"Inner\",\n  \"InnerPolygon\",\n  \"InnerPolyhedron\",\n  \"Inpaint\",\n  \"Input\",\n  \"InputAliases\",\n  \"InputAssumptions\",\n  \"InputAutoReplacements\",\n  \"InputField\",\n  \"InputFieldBox\",\n  \"InputFieldBoxOptions\",\n  \"InputForm\",\n  \"InputGrouping\",\n  \"InputNamePacket\",\n  \"InputNotebook\",\n  \"InputPacket\",\n  \"InputSettings\",\n  \"InputStream\",\n  \"InputString\",\n  \"InputStringPacket\",\n  \"InputToBoxFormPacket\",\n  \"Insert\",\n  \"InsertionFunction\",\n  \"InsertionPointObject\",\n  \"InsertLinebreaks\",\n  \"InsertResults\",\n  \"Inset\",\n  \"Inset3DBox\",\n  \"Inset3DBoxOptions\",\n  \"InsetBox\",\n  \"InsetBoxOptions\",\n  \"Insphere\",\n  \"Install\",\n  \"InstallService\",\n  \"InstanceNormalizationLayer\",\n  \"InString\",\n  \"Integer\",\n  \"IntegerDigits\",\n  \"IntegerExponent\",\n  \"IntegerLength\",\n  \"IntegerName\",\n  \"IntegerPart\",\n  \"IntegerPartitions\",\n  \"IntegerQ\",\n  \"IntegerReverse\",\n  \"Integers\",\n  \"IntegerString\",\n  \"Integral\",\n  \"Integrate\",\n  \"Interactive\",\n  \"InteractiveTradingChart\",\n  \"Interlaced\",\n  \"Interleaving\",\n  \"InternallyBalancedDecomposition\",\n  \"InterpolatingFunction\",\n  \"InterpolatingPolynomial\",\n  \"Interpolation\",\n  \"InterpolationOrder\",\n  \"InterpolationPoints\",\n  \"InterpolationPrecision\",\n  \"Interpretation\",\n  \"InterpretationBox\",\n  \"InterpretationBoxOptions\",\n  \"InterpretationFunction\",\n  \"Interpreter\",\n  \"InterpretTemplate\",\n  \"InterquartileRange\",\n  \"Interrupt\",\n  \"InterruptSettings\",\n  \"IntersectedEntityClass\",\n  \"IntersectingQ\",\n  \"Intersection\",\n  \"Interval\",\n  \"IntervalIntersection\",\n  \"IntervalMarkers\",\n  \"IntervalMarkersStyle\",\n  \"IntervalMemberQ\",\n  \"IntervalSlider\",\n  \"IntervalUnion\",\n  \"Into\",\n  \"Inverse\",\n  \"InverseBetaRegularized\",\n  \"InverseCDF\",\n  \"InverseChiSquareDistribution\",\n  \"InverseContinuousWaveletTransform\",\n  \"InverseDistanceTransform\",\n  \"InverseEllipticNomeQ\",\n  \"InverseErf\",\n  \"InverseErfc\",\n  \"InverseFourier\",\n  \"InverseFourierCosTransform\",\n  \"InverseFourierSequenceTransform\",\n  \"InverseFourierSinTransform\",\n  \"InverseFourierTransform\",\n  \"InverseFunction\",\n  \"InverseFunctions\",\n  \"InverseGammaDistribution\",\n  \"InverseGammaRegularized\",\n  \"InverseGaussianDistribution\",\n  \"InverseGudermannian\",\n  \"InverseHankelTransform\",\n  \"InverseHaversine\",\n  \"InverseImagePyramid\",\n  \"InverseJacobiCD\",\n  \"InverseJacobiCN\",\n  \"InverseJacobiCS\",\n  \"InverseJacobiDC\",\n  \"InverseJacobiDN\",\n  \"InverseJacobiDS\",\n  \"InverseJacobiNC\",\n  \"InverseJacobiND\",\n  \"InverseJacobiNS\",\n  \"InverseJacobiSC\",\n  \"InverseJacobiSD\",\n  \"InverseJacobiSN\",\n  \"InverseLaplaceTransform\",\n  \"InverseMellinTransform\",\n  \"InversePermutation\",\n  \"InverseRadon\",\n  \"InverseRadonTransform\",\n  \"InverseSeries\",\n  \"InverseShortTimeFourier\",\n  \"InverseSpectrogram\",\n  \"InverseSurvivalFunction\",\n  \"InverseTransformedRegion\",\n  \"InverseWaveletTransform\",\n  \"InverseWeierstrassP\",\n  \"InverseWishartMatrixDistribution\",\n  \"InverseZTransform\",\n  \"Invisible\",\n  \"InvisibleApplication\",\n  \"InvisibleTimes\",\n  \"IPAddress\",\n  \"IrreduciblePolynomialQ\",\n  \"IslandData\",\n  \"IsolatingInterval\",\n  \"IsomorphicGraphQ\",\n  \"IsotopeData\",\n  \"Italic\",\n  \"Item\",\n  \"ItemAspectRatio\",\n  \"ItemBox\",\n  \"ItemBoxOptions\",\n  \"ItemDisplayFunction\",\n  \"ItemSize\",\n  \"ItemStyle\",\n  \"ItoProcess\",\n  \"JaccardDissimilarity\",\n  \"JacobiAmplitude\",\n  \"Jacobian\",\n  \"JacobiCD\",\n  \"JacobiCN\",\n  \"JacobiCS\",\n  \"JacobiDC\",\n  \"JacobiDN\",\n  \"JacobiDS\",\n  \"JacobiNC\",\n  \"JacobiND\",\n  \"JacobiNS\",\n  \"JacobiP\",\n  \"JacobiSC\",\n  \"JacobiSD\",\n  \"JacobiSN\",\n  \"JacobiSymbol\",\n  \"JacobiZeta\",\n  \"JankoGroupJ1\",\n  \"JankoGroupJ2\",\n  \"JankoGroupJ3\",\n  \"JankoGroupJ4\",\n  \"JarqueBeraALMTest\",\n  \"JohnsonDistribution\",\n  \"Join\",\n  \"JoinAcross\",\n  \"Joined\",\n  \"JoinedCurve\",\n  \"JoinedCurveBox\",\n  \"JoinedCurveBoxOptions\",\n  \"JoinForm\",\n  \"JordanDecomposition\",\n  \"JordanModelDecomposition\",\n  \"JulianDate\",\n  \"JuliaSetBoettcher\",\n  \"JuliaSetIterationCount\",\n  \"JuliaSetPlot\",\n  \"JuliaSetPoints\",\n  \"K\",\n  \"KagiChart\",\n  \"KaiserBesselWindow\",\n  \"KaiserWindow\",\n  \"KalmanEstimator\",\n  \"KalmanFilter\",\n  \"KarhunenLoeveDecomposition\",\n  \"KaryTree\",\n  \"KatzCentrality\",\n  \"KCoreComponents\",\n  \"KDistribution\",\n  \"KEdgeConnectedComponents\",\n  \"KEdgeConnectedGraphQ\",\n  \"KeepExistingVersion\",\n  \"KelvinBei\",\n  \"KelvinBer\",\n  \"KelvinKei\",\n  \"KelvinKer\",\n  \"KendallTau\",\n  \"KendallTauTest\",\n  \"KernelExecute\",\n  \"KernelFunction\",\n  \"KernelMixtureDistribution\",\n  \"KernelObject\",\n  \"Kernels\",\n  \"Ket\",\n  \"Key\",\n  \"KeyCollisionFunction\",\n  \"KeyComplement\",\n  \"KeyDrop\",\n  \"KeyDropFrom\",\n  \"KeyExistsQ\",\n  \"KeyFreeQ\",\n  \"KeyIntersection\",\n  \"KeyMap\",\n  \"KeyMemberQ\",\n  \"KeypointStrength\",\n  \"Keys\",\n  \"KeySelect\",\n  \"KeySort\",\n  \"KeySortBy\",\n  \"KeyTake\",\n  \"KeyUnion\",\n  \"KeyValueMap\",\n  \"KeyValuePattern\",\n  \"Khinchin\",\n  \"KillProcess\",\n  \"KirchhoffGraph\",\n  \"KirchhoffMatrix\",\n  \"KleinInvariantJ\",\n  \"KnapsackSolve\",\n  \"KnightTourGraph\",\n  \"KnotData\",\n  \"KnownUnitQ\",\n  \"KochCurve\",\n  \"KolmogorovSmirnovTest\",\n  \"KroneckerDelta\",\n  \"KroneckerModelDecomposition\",\n  \"KroneckerProduct\",\n  \"KroneckerSymbol\",\n  \"KuiperTest\",\n  \"KumaraswamyDistribution\",\n  \"Kurtosis\",\n  \"KuwaharaFilter\",\n  \"KVertexConnectedComponents\",\n  \"KVertexConnectedGraphQ\",\n  \"LABColor\",\n  \"Label\",\n  \"Labeled\",\n  \"LabeledSlider\",\n  \"LabelingFunction\",\n  \"LabelingSize\",\n  \"LabelStyle\",\n  \"LabelVisibility\",\n  \"LaguerreL\",\n  \"LakeData\",\n  \"LambdaComponents\",\n  \"LambertW\",\n  \"LaminaData\",\n  \"LanczosWindow\",\n  \"LandauDistribution\",\n  \"Language\",\n  \"LanguageCategory\",\n  \"LanguageData\",\n  \"LanguageIdentify\",\n  \"LanguageOptions\",\n  \"LaplaceDistribution\",\n  \"LaplaceTransform\",\n  \"Laplacian\",\n  \"LaplacianFilter\",\n  \"LaplacianGaussianFilter\",\n  \"Large\",\n  \"Larger\",\n  \"Last\",\n  \"Latitude\",\n  \"LatitudeLongitude\",\n  \"LatticeData\",\n  \"LatticeReduce\",\n  \"Launch\",\n  \"LaunchKernels\",\n  \"LayeredGraphPlot\",\n  \"LayerSizeFunction\",\n  \"LayoutInformation\",\n  \"LCHColor\",\n  \"LCM\",\n  \"LeaderSize\",\n  \"LeafCount\",\n  \"LeapYearQ\",\n  \"LearnDistribution\",\n  \"LearnedDistribution\",\n  \"LearningRate\",\n  \"LearningRateMultipliers\",\n  \"LeastSquares\",\n  \"LeastSquaresFilterKernel\",\n  \"Left\",\n  \"LeftArrow\",\n  \"LeftArrowBar\",\n  \"LeftArrowRightArrow\",\n  \"LeftDownTeeVector\",\n  \"LeftDownVector\",\n  \"LeftDownVectorBar\",\n  \"LeftRightArrow\",\n  \"LeftRightVector\",\n  \"LeftTee\",\n  \"LeftTeeArrow\",\n  \"LeftTeeVector\",\n  \"LeftTriangle\",\n  \"LeftTriangleBar\",\n  \"LeftTriangleEqual\",\n  \"LeftUpDownVector\",\n  \"LeftUpTeeVector\",\n  \"LeftUpVector\",\n  \"LeftUpVectorBar\",\n  \"LeftVector\",\n  \"LeftVectorBar\",\n  \"LegendAppearance\",\n  \"Legended\",\n  \"LegendFunction\",\n  \"LegendLabel\",\n  \"LegendLayout\",\n  \"LegendMargins\",\n  \"LegendMarkers\",\n  \"LegendMarkerSize\",\n  \"LegendreP\",\n  \"LegendreQ\",\n  \"LegendreType\",\n  \"Length\",\n  \"LengthWhile\",\n  \"LerchPhi\",\n  \"Less\",\n  \"LessEqual\",\n  \"LessEqualGreater\",\n  \"LessEqualThan\",\n  \"LessFullEqual\",\n  \"LessGreater\",\n  \"LessLess\",\n  \"LessSlantEqual\",\n  \"LessThan\",\n  \"LessTilde\",\n  \"LetterCharacter\",\n  \"LetterCounts\",\n  \"LetterNumber\",\n  \"LetterQ\",\n  \"Level\",\n  \"LeveneTest\",\n  \"LeviCivitaTensor\",\n  \"LevyDistribution\",\n  \"Lexicographic\",\n  \"LibraryDataType\",\n  \"LibraryFunction\",\n  \"LibraryFunctionError\",\n  \"LibraryFunctionInformation\",\n  \"LibraryFunctionLoad\",\n  \"LibraryFunctionUnload\",\n  \"LibraryLoad\",\n  \"LibraryUnload\",\n  \"LicenseID\",\n  \"LiftingFilterData\",\n  \"LiftingWaveletTransform\",\n  \"LightBlue\",\n  \"LightBrown\",\n  \"LightCyan\",\n  \"Lighter\",\n  \"LightGray\",\n  \"LightGreen\",\n  \"Lighting\",\n  \"LightingAngle\",\n  \"LightMagenta\",\n  \"LightOrange\",\n  \"LightPink\",\n  \"LightPurple\",\n  \"LightRed\",\n  \"LightSources\",\n  \"LightYellow\",\n  \"Likelihood\",\n  \"Limit\",\n  \"LimitsPositioning\",\n  \"LimitsPositioningTokens\",\n  \"LindleyDistribution\",\n  \"Line\",\n  \"Line3DBox\",\n  \"Line3DBoxOptions\",\n  \"LinearFilter\",\n  \"LinearFractionalOptimization\",\n  \"LinearFractionalTransform\",\n  \"LinearGradientImage\",\n  \"LinearizingTransformationData\",\n  \"LinearLayer\",\n  \"LinearModelFit\",\n  \"LinearOffsetFunction\",\n  \"LinearOptimization\",\n  \"LinearProgramming\",\n  \"LinearRecurrence\",\n  \"LinearSolve\",\n  \"LinearSolveFunction\",\n  \"LineBox\",\n  \"LineBoxOptions\",\n  \"LineBreak\",\n  \"LinebreakAdjustments\",\n  \"LineBreakChart\",\n  \"LinebreakSemicolonWeighting\",\n  \"LineBreakWithin\",\n  \"LineColor\",\n  \"LineGraph\",\n  \"LineIndent\",\n  \"LineIndentMaxFraction\",\n  \"LineIntegralConvolutionPlot\",\n  \"LineIntegralConvolutionScale\",\n  \"LineLegend\",\n  \"LineOpacity\",\n  \"LineSpacing\",\n  \"LineWrapParts\",\n  \"LinkActivate\",\n  \"LinkClose\",\n  \"LinkConnect\",\n  \"LinkConnectedQ\",\n  \"LinkCreate\",\n  \"LinkError\",\n  \"LinkFlush\",\n  \"LinkFunction\",\n  \"LinkHost\",\n  \"LinkInterrupt\",\n  \"LinkLaunch\",\n  \"LinkMode\",\n  \"LinkObject\",\n  \"LinkOpen\",\n  \"LinkOptions\",\n  \"LinkPatterns\",\n  \"LinkProtocol\",\n  \"LinkRankCentrality\",\n  \"LinkRead\",\n  \"LinkReadHeld\",\n  \"LinkReadyQ\",\n  \"Links\",\n  \"LinkService\",\n  \"LinkWrite\",\n  \"LinkWriteHeld\",\n  \"LiouvilleLambda\",\n  \"List\",\n  \"Listable\",\n  \"ListAnimate\",\n  \"ListContourPlot\",\n  \"ListContourPlot3D\",\n  \"ListConvolve\",\n  \"ListCorrelate\",\n  \"ListCurvePathPlot\",\n  \"ListDeconvolve\",\n  \"ListDensityPlot\",\n  \"ListDensityPlot3D\",\n  \"Listen\",\n  \"ListFormat\",\n  \"ListFourierSequenceTransform\",\n  \"ListInterpolation\",\n  \"ListLineIntegralConvolutionPlot\",\n  \"ListLinePlot\",\n  \"ListLogLinearPlot\",\n  \"ListLogLogPlot\",\n  \"ListLogPlot\",\n  \"ListPicker\",\n  \"ListPickerBox\",\n  \"ListPickerBoxBackground\",\n  \"ListPickerBoxOptions\",\n  \"ListPlay\",\n  \"ListPlot\",\n  \"ListPlot3D\",\n  \"ListPointPlot3D\",\n  \"ListPolarPlot\",\n  \"ListQ\",\n  \"ListSliceContourPlot3D\",\n  \"ListSliceDensityPlot3D\",\n  \"ListSliceVectorPlot3D\",\n  \"ListStepPlot\",\n  \"ListStreamDensityPlot\",\n  \"ListStreamPlot\",\n  \"ListSurfacePlot3D\",\n  \"ListVectorDensityPlot\",\n  \"ListVectorPlot\",\n  \"ListVectorPlot3D\",\n  \"ListZTransform\",\n  \"Literal\",\n  \"LiteralSearch\",\n  \"LocalAdaptiveBinarize\",\n  \"LocalCache\",\n  \"LocalClusteringCoefficient\",\n  \"LocalizeDefinitions\",\n  \"LocalizeVariables\",\n  \"LocalObject\",\n  \"LocalObjects\",\n  \"LocalResponseNormalizationLayer\",\n  \"LocalSubmit\",\n  \"LocalSymbol\",\n  \"LocalTime\",\n  \"LocalTimeZone\",\n  \"LocationEquivalenceTest\",\n  \"LocationTest\",\n  \"Locator\",\n  \"LocatorAutoCreate\",\n  \"LocatorBox\",\n  \"LocatorBoxOptions\",\n  \"LocatorCentering\",\n  \"LocatorPane\",\n  \"LocatorPaneBox\",\n  \"LocatorPaneBoxOptions\",\n  \"LocatorRegion\",\n  \"Locked\",\n  \"Log\",\n  \"Log10\",\n  \"Log2\",\n  \"LogBarnesG\",\n  \"LogGamma\",\n  \"LogGammaDistribution\",\n  \"LogicalExpand\",\n  \"LogIntegral\",\n  \"LogisticDistribution\",\n  \"LogisticSigmoid\",\n  \"LogitModelFit\",\n  \"LogLikelihood\",\n  \"LogLinearPlot\",\n  \"LogLogisticDistribution\",\n  \"LogLogPlot\",\n  \"LogMultinormalDistribution\",\n  \"LogNormalDistribution\",\n  \"LogPlot\",\n  \"LogRankTest\",\n  \"LogSeriesDistribution\",\n  \"LongEqual\",\n  \"Longest\",\n  \"LongestCommonSequence\",\n  \"LongestCommonSequencePositions\",\n  \"LongestCommonSubsequence\",\n  \"LongestCommonSubsequencePositions\",\n  \"LongestMatch\",\n  \"LongestOrderedSequence\",\n  \"LongForm\",\n  \"Longitude\",\n  \"LongLeftArrow\",\n  \"LongLeftRightArrow\",\n  \"LongRightArrow\",\n  \"LongShortTermMemoryLayer\",\n  \"Lookup\",\n  \"Loopback\",\n  \"LoopFreeGraphQ\",\n  \"Looping\",\n  \"LossFunction\",\n  \"LowerCaseQ\",\n  \"LowerLeftArrow\",\n  \"LowerRightArrow\",\n  \"LowerTriangularize\",\n  \"LowerTriangularMatrixQ\",\n  \"LowpassFilter\",\n  \"LQEstimatorGains\",\n  \"LQGRegulator\",\n  \"LQOutputRegulatorGains\",\n  \"LQRegulatorGains\",\n  \"LUBackSubstitution\",\n  \"LucasL\",\n  \"LuccioSamiComponents\",\n  \"LUDecomposition\",\n  \"LunarEclipse\",\n  \"LUVColor\",\n  \"LyapunovSolve\",\n  \"LyonsGroupLy\",\n  \"MachineID\",\n  \"MachineName\",\n  \"MachineNumberQ\",\n  \"MachinePrecision\",\n  \"MacintoshSystemPageSetup\",\n  \"Magenta\",\n  \"Magnification\",\n  \"Magnify\",\n  \"MailAddressValidation\",\n  \"MailExecute\",\n  \"MailFolder\",\n  \"MailItem\",\n  \"MailReceiverFunction\",\n  \"MailResponseFunction\",\n  \"MailSearch\",\n  \"MailServerConnect\",\n  \"MailServerConnection\",\n  \"MailSettings\",\n  \"MainSolve\",\n  \"MaintainDynamicCaches\",\n  \"Majority\",\n  \"MakeBoxes\",\n  \"MakeExpression\",\n  \"MakeRules\",\n  \"ManagedLibraryExpressionID\",\n  \"ManagedLibraryExpressionQ\",\n  \"MandelbrotSetBoettcher\",\n  \"MandelbrotSetDistance\",\n  \"MandelbrotSetIterationCount\",\n  \"MandelbrotSetMemberQ\",\n  \"MandelbrotSetPlot\",\n  \"MangoldtLambda\",\n  \"ManhattanDistance\",\n  \"Manipulate\",\n  \"Manipulator\",\n  \"MannedSpaceMissionData\",\n  \"MannWhitneyTest\",\n  \"MantissaExponent\",\n  \"Manual\",\n  \"Map\",\n  \"MapAll\",\n  \"MapAt\",\n  \"MapIndexed\",\n  \"MAProcess\",\n  \"MapThread\",\n  \"MarchenkoPasturDistribution\",\n  \"MarcumQ\",\n  \"MardiaCombinedTest\",\n  \"MardiaKurtosisTest\",\n  \"MardiaSkewnessTest\",\n  \"MarginalDistribution\",\n  \"MarkovProcessProperties\",\n  \"Masking\",\n  \"MatchingDissimilarity\",\n  \"MatchLocalNameQ\",\n  \"MatchLocalNames\",\n  \"MatchQ\",\n  \"Material\",\n  \"MathematicalFunctionData\",\n  \"MathematicaNotation\",\n  \"MathieuC\",\n  \"MathieuCharacteristicA\",\n  \"MathieuCharacteristicB\",\n  \"MathieuCharacteristicExponent\",\n  \"MathieuCPrime\",\n  \"MathieuGroupM11\",\n  \"MathieuGroupM12\",\n  \"MathieuGroupM22\",\n  \"MathieuGroupM23\",\n  \"MathieuGroupM24\",\n  \"MathieuS\",\n  \"MathieuSPrime\",\n  \"MathMLForm\",\n  \"MathMLText\",\n  \"Matrices\",\n  \"MatrixExp\",\n  \"MatrixForm\",\n  \"MatrixFunction\",\n  \"MatrixLog\",\n  \"MatrixNormalDistribution\",\n  \"MatrixPlot\",\n  \"MatrixPower\",\n  \"MatrixPropertyDistribution\",\n  \"MatrixQ\",\n  \"MatrixRank\",\n  \"MatrixTDistribution\",\n  \"Max\",\n  \"MaxBend\",\n  \"MaxCellMeasure\",\n  \"MaxColorDistance\",\n  \"MaxDate\",\n  \"MaxDetect\",\n  \"MaxDuration\",\n  \"MaxExtraBandwidths\",\n  \"MaxExtraConditions\",\n  \"MaxFeatureDisplacement\",\n  \"MaxFeatures\",\n  \"MaxFilter\",\n  \"MaximalBy\",\n  \"Maximize\",\n  \"MaxItems\",\n  \"MaxIterations\",\n  \"MaxLimit\",\n  \"MaxMemoryUsed\",\n  \"MaxMixtureKernels\",\n  \"MaxOverlapFraction\",\n  \"MaxPlotPoints\",\n  \"MaxPoints\",\n  \"MaxRecursion\",\n  \"MaxStableDistribution\",\n  \"MaxStepFraction\",\n  \"MaxSteps\",\n  \"MaxStepSize\",\n  \"MaxTrainingRounds\",\n  \"MaxValue\",\n  \"MaxwellDistribution\",\n  \"MaxWordGap\",\n  \"McLaughlinGroupMcL\",\n  \"Mean\",\n  \"MeanAbsoluteLossLayer\",\n  \"MeanAround\",\n  \"MeanClusteringCoefficient\",\n  \"MeanDegreeConnectivity\",\n  \"MeanDeviation\",\n  \"MeanFilter\",\n  \"MeanGraphDistance\",\n  \"MeanNeighborDegree\",\n  \"MeanShift\",\n  \"MeanShiftFilter\",\n  \"MeanSquaredLossLayer\",\n  \"Median\",\n  \"MedianDeviation\",\n  \"MedianFilter\",\n  \"MedicalTestData\",\n  \"Medium\",\n  \"MeijerG\",\n  \"MeijerGReduce\",\n  \"MeixnerDistribution\",\n  \"MellinConvolve\",\n  \"MellinTransform\",\n  \"MemberQ\",\n  \"MemoryAvailable\",\n  \"MemoryConstrained\",\n  \"MemoryConstraint\",\n  \"MemoryInUse\",\n  \"MengerMesh\",\n  \"Menu\",\n  \"MenuAppearance\",\n  \"MenuCommandKey\",\n  \"MenuEvaluator\",\n  \"MenuItem\",\n  \"MenuList\",\n  \"MenuPacket\",\n  \"MenuSortingValue\",\n  \"MenuStyle\",\n  \"MenuView\",\n  \"Merge\",\n  \"MergeDifferences\",\n  \"MergingFunction\",\n  \"MersennePrimeExponent\",\n  \"MersennePrimeExponentQ\",\n  \"Mesh\",\n  \"MeshCellCentroid\",\n  \"MeshCellCount\",\n  \"MeshCellHighlight\",\n  \"MeshCellIndex\",\n  \"MeshCellLabel\",\n  \"MeshCellMarker\",\n  \"MeshCellMeasure\",\n  \"MeshCellQuality\",\n  \"MeshCells\",\n  \"MeshCellShapeFunction\",\n  \"MeshCellStyle\",\n  \"MeshConnectivityGraph\",\n  \"MeshCoordinates\",\n  \"MeshFunctions\",\n  \"MeshPrimitives\",\n  \"MeshQualityGoal\",\n  \"MeshRange\",\n  \"MeshRefinementFunction\",\n  \"MeshRegion\",\n  \"MeshRegionQ\",\n  \"MeshShading\",\n  \"MeshStyle\",\n  \"Message\",\n  \"MessageDialog\",\n  \"MessageList\",\n  \"MessageName\",\n  \"MessageObject\",\n  \"MessageOptions\",\n  \"MessagePacket\",\n  \"Messages\",\n  \"MessagesNotebook\",\n  \"MetaCharacters\",\n  \"MetaInformation\",\n  \"MeteorShowerData\",\n  \"Method\",\n  \"MethodOptions\",\n  \"MexicanHatWavelet\",\n  \"MeyerWavelet\",\n  \"Midpoint\",\n  \"Min\",\n  \"MinColorDistance\",\n  \"MinDate\",\n  \"MinDetect\",\n  \"MineralData\",\n  \"MinFilter\",\n  \"MinimalBy\",\n  \"MinimalPolynomial\",\n  \"MinimalStateSpaceModel\",\n  \"Minimize\",\n  \"MinimumTimeIncrement\",\n  \"MinIntervalSize\",\n  \"MinkowskiQuestionMark\",\n  \"MinLimit\",\n  \"MinMax\",\n  \"MinorPlanetData\",\n  \"Minors\",\n  \"MinRecursion\",\n  \"MinSize\",\n  \"MinStableDistribution\",\n  \"Minus\",\n  \"MinusPlus\",\n  \"MinValue\",\n  \"Missing\",\n  \"MissingBehavior\",\n  \"MissingDataMethod\",\n  \"MissingDataRules\",\n  \"MissingQ\",\n  \"MissingString\",\n  \"MissingStyle\",\n  \"MissingValuePattern\",\n  \"MittagLefflerE\",\n  \"MixedFractionParts\",\n  \"MixedGraphQ\",\n  \"MixedMagnitude\",\n  \"MixedRadix\",\n  \"MixedRadixQuantity\",\n  \"MixedUnit\",\n  \"MixtureDistribution\",\n  \"Mod\",\n  \"Modal\",\n  \"Mode\",\n  \"Modular\",\n  \"ModularInverse\",\n  \"ModularLambda\",\n  \"Module\",\n  \"Modulus\",\n  \"MoebiusMu\",\n  \"Molecule\",\n  \"MoleculeContainsQ\",\n  \"MoleculeEquivalentQ\",\n  \"MoleculeGraph\",\n  \"MoleculeModify\",\n  \"MoleculePattern\",\n  \"MoleculePlot\",\n  \"MoleculePlot3D\",\n  \"MoleculeProperty\",\n  \"MoleculeQ\",\n  \"MoleculeRecognize\",\n  \"MoleculeValue\",\n  \"Moment\",\n  \"Momentary\",\n  \"MomentConvert\",\n  \"MomentEvaluate\",\n  \"MomentGeneratingFunction\",\n  \"MomentOfInertia\",\n  \"Monday\",\n  \"Monitor\",\n  \"MonomialList\",\n  \"MonomialOrder\",\n  \"MonsterGroupM\",\n  \"MoonPhase\",\n  \"MoonPosition\",\n  \"MorletWavelet\",\n  \"MorphologicalBinarize\",\n  \"MorphologicalBranchPoints\",\n  \"MorphologicalComponents\",\n  \"MorphologicalEulerNumber\",\n  \"MorphologicalGraph\",\n  \"MorphologicalPerimeter\",\n  \"MorphologicalTransform\",\n  \"MortalityData\",\n  \"Most\",\n  \"MountainData\",\n  \"MouseAnnotation\",\n  \"MouseAppearance\",\n  \"MouseAppearanceTag\",\n  \"MouseButtons\",\n  \"Mouseover\",\n  \"MousePointerNote\",\n  \"MousePosition\",\n  \"MovieData\",\n  \"MovingAverage\",\n  \"MovingMap\",\n  \"MovingMedian\",\n  \"MoyalDistribution\",\n  \"Multicolumn\",\n  \"MultiedgeStyle\",\n  \"MultigraphQ\",\n  \"MultilaunchWarning\",\n  \"MultiLetterItalics\",\n  \"MultiLetterStyle\",\n  \"MultilineFunction\",\n  \"Multinomial\",\n  \"MultinomialDistribution\",\n  \"MultinormalDistribution\",\n  \"MultiplicativeOrder\",\n  \"Multiplicity\",\n  \"MultiplySides\",\n  \"Multiselection\",\n  \"MultivariateHypergeometricDistribution\",\n  \"MultivariatePoissonDistribution\",\n  \"MultivariateTDistribution\",\n  \"N\",\n  \"NakagamiDistribution\",\n  \"NameQ\",\n  \"Names\",\n  \"NamespaceBox\",\n  \"NamespaceBoxOptions\",\n  \"Nand\",\n  \"NArgMax\",\n  \"NArgMin\",\n  \"NBernoulliB\",\n  \"NBodySimulation\",\n  \"NBodySimulationData\",\n  \"NCache\",\n  \"NDEigensystem\",\n  \"NDEigenvalues\",\n  \"NDSolve\",\n  \"NDSolveValue\",\n  \"Nearest\",\n  \"NearestFunction\",\n  \"NearestMeshCells\",\n  \"NearestNeighborGraph\",\n  \"NearestTo\",\n  \"NebulaData\",\n  \"NeedCurrentFrontEndPackagePacket\",\n  \"NeedCurrentFrontEndSymbolsPacket\",\n  \"NeedlemanWunschSimilarity\",\n  \"Needs\",\n  \"Negative\",\n  \"NegativeBinomialDistribution\",\n  \"NegativeDefiniteMatrixQ\",\n  \"NegativeIntegers\",\n  \"NegativeMultinomialDistribution\",\n  \"NegativeRationals\",\n  \"NegativeReals\",\n  \"NegativeSemidefiniteMatrixQ\",\n  \"NeighborhoodData\",\n  \"NeighborhoodGraph\",\n  \"Nest\",\n  \"NestedGreaterGreater\",\n  \"NestedLessLess\",\n  \"NestedScriptRules\",\n  \"NestGraph\",\n  \"NestList\",\n  \"NestWhile\",\n  \"NestWhileList\",\n  \"NetAppend\",\n  \"NetBidirectionalOperator\",\n  \"NetChain\",\n  \"NetDecoder\",\n  \"NetDelete\",\n  \"NetDrop\",\n  \"NetEncoder\",\n  \"NetEvaluationMode\",\n  \"NetExtract\",\n  \"NetFlatten\",\n  \"NetFoldOperator\",\n  \"NetGANOperator\",\n  \"NetGraph\",\n  \"NetInformation\",\n  \"NetInitialize\",\n  \"NetInsert\",\n  \"NetInsertSharedArrays\",\n  \"NetJoin\",\n  \"NetMapOperator\",\n  \"NetMapThreadOperator\",\n  \"NetMeasurements\",\n  \"NetModel\",\n  \"NetNestOperator\",\n  \"NetPairEmbeddingOperator\",\n  \"NetPort\",\n  \"NetPortGradient\",\n  \"NetPrepend\",\n  \"NetRename\",\n  \"NetReplace\",\n  \"NetReplacePart\",\n  \"NetSharedArray\",\n  \"NetStateObject\",\n  \"NetTake\",\n  \"NetTrain\",\n  \"NetTrainResultsObject\",\n  \"NetworkPacketCapture\",\n  \"NetworkPacketRecording\",\n  \"NetworkPacketRecordingDuring\",\n  \"NetworkPacketTrace\",\n  \"NeumannValue\",\n  \"NevilleThetaC\",\n  \"NevilleThetaD\",\n  \"NevilleThetaN\",\n  \"NevilleThetaS\",\n  \"NewPrimitiveStyle\",\n  \"NExpectation\",\n  \"Next\",\n  \"NextCell\",\n  \"NextDate\",\n  \"NextPrime\",\n  \"NextScheduledTaskTime\",\n  \"NHoldAll\",\n  \"NHoldFirst\",\n  \"NHoldRest\",\n  \"NicholsGridLines\",\n  \"NicholsPlot\",\n  \"NightHemisphere\",\n  \"NIntegrate\",\n  \"NMaximize\",\n  \"NMaxValue\",\n  \"NMinimize\",\n  \"NMinValue\",\n  \"NominalVariables\",\n  \"NonAssociative\",\n  \"NoncentralBetaDistribution\",\n  \"NoncentralChiSquareDistribution\",\n  \"NoncentralFRatioDistribution\",\n  \"NoncentralStudentTDistribution\",\n  \"NonCommutativeMultiply\",\n  \"NonConstants\",\n  \"NondimensionalizationTransform\",\n  \"None\",\n  \"NoneTrue\",\n  \"NonlinearModelFit\",\n  \"NonlinearStateSpaceModel\",\n  \"NonlocalMeansFilter\",\n  \"NonNegative\",\n  \"NonNegativeIntegers\",\n  \"NonNegativeRationals\",\n  \"NonNegativeReals\",\n  \"NonPositive\",\n  \"NonPositiveIntegers\",\n  \"NonPositiveRationals\",\n  \"NonPositiveReals\",\n  \"Nor\",\n  \"NorlundB\",\n  \"Norm\",\n  \"Normal\",\n  \"NormalDistribution\",\n  \"NormalGrouping\",\n  \"NormalizationLayer\",\n  \"Normalize\",\n  \"Normalized\",\n  \"NormalizedSquaredEuclideanDistance\",\n  \"NormalMatrixQ\",\n  \"NormalsFunction\",\n  \"NormFunction\",\n  \"Not\",\n  \"NotCongruent\",\n  \"NotCupCap\",\n  \"NotDoubleVerticalBar\",\n  \"Notebook\",\n  \"NotebookApply\",\n  \"NotebookAutoSave\",\n  \"NotebookClose\",\n  \"NotebookConvertSettings\",\n  \"NotebookCreate\",\n  \"NotebookCreateReturnObject\",\n  \"NotebookDefault\",\n  \"NotebookDelete\",\n  \"NotebookDirectory\",\n  \"NotebookDynamicExpression\",\n  \"NotebookEvaluate\",\n  \"NotebookEventActions\",\n  \"NotebookFileName\",\n  \"NotebookFind\",\n  \"NotebookFindReturnObject\",\n  \"NotebookGet\",\n  \"NotebookGetLayoutInformationPacket\",\n  \"NotebookGetMisspellingsPacket\",\n  \"NotebookImport\",\n  \"NotebookInformation\",\n  \"NotebookInterfaceObject\",\n  \"NotebookLocate\",\n  \"NotebookObject\",\n  \"NotebookOpen\",\n  \"NotebookOpenReturnObject\",\n  \"NotebookPath\",\n  \"NotebookPrint\",\n  \"NotebookPut\",\n  \"NotebookPutReturnObject\",\n  \"NotebookRead\",\n  \"NotebookResetGeneratedCells\",\n  \"Notebooks\",\n  \"NotebookSave\",\n  \"NotebookSaveAs\",\n  \"NotebookSelection\",\n  \"NotebookSetupLayoutInformationPacket\",\n  \"NotebooksMenu\",\n  \"NotebookTemplate\",\n  \"NotebookWrite\",\n  \"NotElement\",\n  \"NotEqualTilde\",\n  \"NotExists\",\n  \"NotGreater\",\n  \"NotGreaterEqual\",\n  \"NotGreaterFullEqual\",\n  \"NotGreaterGreater\",\n  \"NotGreaterLess\",\n  \"NotGreaterSlantEqual\",\n  \"NotGreaterTilde\",\n  \"Nothing\",\n  \"NotHumpDownHump\",\n  \"NotHumpEqual\",\n  \"NotificationFunction\",\n  \"NotLeftTriangle\",\n  \"NotLeftTriangleBar\",\n  \"NotLeftTriangleEqual\",\n  \"NotLess\",\n  \"NotLessEqual\",\n  \"NotLessFullEqual\",\n  \"NotLessGreater\",\n  \"NotLessLess\",\n  \"NotLessSlantEqual\",\n  \"NotLessTilde\",\n  \"NotNestedGreaterGreater\",\n  \"NotNestedLessLess\",\n  \"NotPrecedes\",\n  \"NotPrecedesEqual\",\n  \"NotPrecedesSlantEqual\",\n  \"NotPrecedesTilde\",\n  \"NotReverseElement\",\n  \"NotRightTriangle\",\n  \"NotRightTriangleBar\",\n  \"NotRightTriangleEqual\",\n  \"NotSquareSubset\",\n  \"NotSquareSubsetEqual\",\n  \"NotSquareSuperset\",\n  \"NotSquareSupersetEqual\",\n  \"NotSubset\",\n  \"NotSubsetEqual\",\n  \"NotSucceeds\",\n  \"NotSucceedsEqual\",\n  \"NotSucceedsSlantEqual\",\n  \"NotSucceedsTilde\",\n  \"NotSuperset\",\n  \"NotSupersetEqual\",\n  \"NotTilde\",\n  \"NotTildeEqual\",\n  \"NotTildeFullEqual\",\n  \"NotTildeTilde\",\n  \"NotVerticalBar\",\n  \"Now\",\n  \"NoWhitespace\",\n  \"NProbability\",\n  \"NProduct\",\n  \"NProductFactors\",\n  \"NRoots\",\n  \"NSolve\",\n  \"NSum\",\n  \"NSumTerms\",\n  \"NuclearExplosionData\",\n  \"NuclearReactorData\",\n  \"Null\",\n  \"NullRecords\",\n  \"NullSpace\",\n  \"NullWords\",\n  \"Number\",\n  \"NumberCompose\",\n  \"NumberDecompose\",\n  \"NumberExpand\",\n  \"NumberFieldClassNumber\",\n  \"NumberFieldDiscriminant\",\n  \"NumberFieldFundamentalUnits\",\n  \"NumberFieldIntegralBasis\",\n  \"NumberFieldNormRepresentatives\",\n  \"NumberFieldRegulator\",\n  \"NumberFieldRootsOfUnity\",\n  \"NumberFieldSignature\",\n  \"NumberForm\",\n  \"NumberFormat\",\n  \"NumberLinePlot\",\n  \"NumberMarks\",\n  \"NumberMultiplier\",\n  \"NumberPadding\",\n  \"NumberPoint\",\n  \"NumberQ\",\n  \"NumberSeparator\",\n  \"NumberSigns\",\n  \"NumberString\",\n  \"Numerator\",\n  \"NumeratorDenominator\",\n  \"NumericalOrder\",\n  \"NumericalSort\",\n  \"NumericArray\",\n  \"NumericArrayQ\",\n  \"NumericArrayType\",\n  \"NumericFunction\",\n  \"NumericQ\",\n  \"NuttallWindow\",\n  \"NValues\",\n  \"NyquistGridLines\",\n  \"NyquistPlot\",\n  \"O\",\n  \"ObservabilityGramian\",\n  \"ObservabilityMatrix\",\n  \"ObservableDecomposition\",\n  \"ObservableModelQ\",\n  \"OceanData\",\n  \"Octahedron\",\n  \"OddQ\",\n  \"Off\",\n  \"Offset\",\n  \"OLEData\",\n  \"On\",\n  \"ONanGroupON\",\n  \"Once\",\n  \"OneIdentity\",\n  \"Opacity\",\n  \"OpacityFunction\",\n  \"OpacityFunctionScaling\",\n  \"Open\",\n  \"OpenAppend\",\n  \"Opener\",\n  \"OpenerBox\",\n  \"OpenerBoxOptions\",\n  \"OpenerView\",\n  \"OpenFunctionInspectorPacket\",\n  \"Opening\",\n  \"OpenRead\",\n  \"OpenSpecialOptions\",\n  \"OpenTemporary\",\n  \"OpenWrite\",\n  \"Operate\",\n  \"OperatingSystem\",\n  \"OperatorApplied\",\n  \"OptimumFlowData\",\n  \"Optional\",\n  \"OptionalElement\",\n  \"OptionInspectorSettings\",\n  \"OptionQ\",\n  \"Options\",\n  \"OptionsPacket\",\n  \"OptionsPattern\",\n  \"OptionValue\",\n  \"OptionValueBox\",\n  \"OptionValueBoxOptions\",\n  \"Or\",\n  \"Orange\",\n  \"Order\",\n  \"OrderDistribution\",\n  \"OrderedQ\",\n  \"Ordering\",\n  \"OrderingBy\",\n  \"OrderingLayer\",\n  \"Orderless\",\n  \"OrderlessPatternSequence\",\n  \"OrnsteinUhlenbeckProcess\",\n  \"Orthogonalize\",\n  \"OrthogonalMatrixQ\",\n  \"Out\",\n  \"Outer\",\n  \"OuterPolygon\",\n  \"OuterPolyhedron\",\n  \"OutputAutoOverwrite\",\n  \"OutputControllabilityMatrix\",\n  \"OutputControllableModelQ\",\n  \"OutputForm\",\n  \"OutputFormData\",\n  \"OutputGrouping\",\n  \"OutputMathEditExpression\",\n  \"OutputNamePacket\",\n  \"OutputResponse\",\n  \"OutputSizeLimit\",\n  \"OutputStream\",\n  \"Over\",\n  \"OverBar\",\n  \"OverDot\",\n  \"Overflow\",\n  \"OverHat\",\n  \"Overlaps\",\n  \"Overlay\",\n  \"OverlayBox\",\n  \"OverlayBoxOptions\",\n  \"Overscript\",\n  \"OverscriptBox\",\n  \"OverscriptBoxOptions\",\n  \"OverTilde\",\n  \"OverVector\",\n  \"OverwriteTarget\",\n  \"OwenT\",\n  \"OwnValues\",\n  \"Package\",\n  \"PackingMethod\",\n  \"PackPaclet\",\n  \"PacletDataRebuild\",\n  \"PacletDirectoryAdd\",\n  \"PacletDirectoryLoad\",\n  \"PacletDirectoryRemove\",\n  \"PacletDirectoryUnload\",\n  \"PacletDisable\",\n  \"PacletEnable\",\n  \"PacletFind\",\n  \"PacletFindRemote\",\n  \"PacletInformation\",\n  \"PacletInstall\",\n  \"PacletInstallSubmit\",\n  \"PacletNewerQ\",\n  \"PacletObject\",\n  \"PacletObjectQ\",\n  \"PacletSite\",\n  \"PacletSiteObject\",\n  \"PacletSiteRegister\",\n  \"PacletSites\",\n  \"PacletSiteUnregister\",\n  \"PacletSiteUpdate\",\n  \"PacletUninstall\",\n  \"PacletUpdate\",\n  \"PaddedForm\",\n  \"Padding\",\n  \"PaddingLayer\",\n  \"PaddingSize\",\n  \"PadeApproximant\",\n  \"PadLeft\",\n  \"PadRight\",\n  \"PageBreakAbove\",\n  \"PageBreakBelow\",\n  \"PageBreakWithin\",\n  \"PageFooterLines\",\n  \"PageFooters\",\n  \"PageHeaderLines\",\n  \"PageHeaders\",\n  \"PageHeight\",\n  \"PageRankCentrality\",\n  \"PageTheme\",\n  \"PageWidth\",\n  \"Pagination\",\n  \"PairedBarChart\",\n  \"PairedHistogram\",\n  \"PairedSmoothHistogram\",\n  \"PairedTTest\",\n  \"PairedZTest\",\n  \"PaletteNotebook\",\n  \"PalettePath\",\n  \"PalindromeQ\",\n  \"Pane\",\n  \"PaneBox\",\n  \"PaneBoxOptions\",\n  \"Panel\",\n  \"PanelBox\",\n  \"PanelBoxOptions\",\n  \"Paneled\",\n  \"PaneSelector\",\n  \"PaneSelectorBox\",\n  \"PaneSelectorBoxOptions\",\n  \"PaperWidth\",\n  \"ParabolicCylinderD\",\n  \"ParagraphIndent\",\n  \"ParagraphSpacing\",\n  \"ParallelArray\",\n  \"ParallelCombine\",\n  \"ParallelDo\",\n  \"Parallelepiped\",\n  \"ParallelEvaluate\",\n  \"Parallelization\",\n  \"Parallelize\",\n  \"ParallelMap\",\n  \"ParallelNeeds\",\n  \"Parallelogram\",\n  \"ParallelProduct\",\n  \"ParallelSubmit\",\n  \"ParallelSum\",\n  \"ParallelTable\",\n  \"ParallelTry\",\n  \"Parameter\",\n  \"ParameterEstimator\",\n  \"ParameterMixtureDistribution\",\n  \"ParameterVariables\",\n  \"ParametricFunction\",\n  \"ParametricNDSolve\",\n  \"ParametricNDSolveValue\",\n  \"ParametricPlot\",\n  \"ParametricPlot3D\",\n  \"ParametricRampLayer\",\n  \"ParametricRegion\",\n  \"ParentBox\",\n  \"ParentCell\",\n  \"ParentConnect\",\n  \"ParentDirectory\",\n  \"ParentForm\",\n  \"Parenthesize\",\n  \"ParentList\",\n  \"ParentNotebook\",\n  \"ParetoDistribution\",\n  \"ParetoPickandsDistribution\",\n  \"ParkData\",\n  \"Part\",\n  \"PartBehavior\",\n  \"PartialCorrelationFunction\",\n  \"PartialD\",\n  \"ParticleAcceleratorData\",\n  \"ParticleData\",\n  \"Partition\",\n  \"PartitionGranularity\",\n  \"PartitionsP\",\n  \"PartitionsQ\",\n  \"PartLayer\",\n  \"PartOfSpeech\",\n  \"PartProtection\",\n  \"ParzenWindow\",\n  \"PascalDistribution\",\n  \"PassEventsDown\",\n  \"PassEventsUp\",\n  \"Paste\",\n  \"PasteAutoQuoteCharacters\",\n  \"PasteBoxFormInlineCells\",\n  \"PasteButton\",\n  \"Path\",\n  \"PathGraph\",\n  \"PathGraphQ\",\n  \"Pattern\",\n  \"PatternFilling\",\n  \"PatternSequence\",\n  \"PatternTest\",\n  \"PauliMatrix\",\n  \"PaulWavelet\",\n  \"Pause\",\n  \"PausedTime\",\n  \"PDF\",\n  \"PeakDetect\",\n  \"PeanoCurve\",\n  \"PearsonChiSquareTest\",\n  \"PearsonCorrelationTest\",\n  \"PearsonDistribution\",\n  \"PercentForm\",\n  \"PerfectNumber\",\n  \"PerfectNumberQ\",\n  \"PerformanceGoal\",\n  \"Perimeter\",\n  \"PeriodicBoundaryCondition\",\n  \"PeriodicInterpolation\",\n  \"Periodogram\",\n  \"PeriodogramArray\",\n  \"Permanent\",\n  \"Permissions\",\n  \"PermissionsGroup\",\n  \"PermissionsGroupMemberQ\",\n  \"PermissionsGroups\",\n  \"PermissionsKey\",\n  \"PermissionsKeys\",\n  \"PermutationCycles\",\n  \"PermutationCyclesQ\",\n  \"PermutationGroup\",\n  \"PermutationLength\",\n  \"PermutationList\",\n  \"PermutationListQ\",\n  \"PermutationMax\",\n  \"PermutationMin\",\n  \"PermutationOrder\",\n  \"PermutationPower\",\n  \"PermutationProduct\",\n  \"PermutationReplace\",\n  \"Permutations\",\n  \"PermutationSupport\",\n  \"Permute\",\n  \"PeronaMalikFilter\",\n  \"Perpendicular\",\n  \"PerpendicularBisector\",\n  \"PersistenceLocation\",\n  \"PersistenceTime\",\n  \"PersistentObject\",\n  \"PersistentObjects\",\n  \"PersistentValue\",\n  \"PersonData\",\n  \"PERTDistribution\",\n  \"PetersenGraph\",\n  \"PhaseMargins\",\n  \"PhaseRange\",\n  \"PhysicalSystemData\",\n  \"Pi\",\n  \"Pick\",\n  \"PIDData\",\n  \"PIDDerivativeFilter\",\n  \"PIDFeedforward\",\n  \"PIDTune\",\n  \"Piecewise\",\n  \"PiecewiseExpand\",\n  \"PieChart\",\n  \"PieChart3D\",\n  \"PillaiTrace\",\n  \"PillaiTraceTest\",\n  \"PingTime\",\n  \"Pink\",\n  \"PitchRecognize\",\n  \"Pivoting\",\n  \"PixelConstrained\",\n  \"PixelValue\",\n  \"PixelValuePositions\",\n  \"Placed\",\n  \"Placeholder\",\n  \"PlaceholderReplace\",\n  \"Plain\",\n  \"PlanarAngle\",\n  \"PlanarGraph\",\n  \"PlanarGraphQ\",\n  \"PlanckRadiationLaw\",\n  \"PlaneCurveData\",\n  \"PlanetaryMoonData\",\n  \"PlanetData\",\n  \"PlantData\",\n  \"Play\",\n  \"PlayRange\",\n  \"Plot\",\n  \"Plot3D\",\n  \"Plot3Matrix\",\n  \"PlotDivision\",\n  \"PlotJoined\",\n  \"PlotLabel\",\n  \"PlotLabels\",\n  \"PlotLayout\",\n  \"PlotLegends\",\n  \"PlotMarkers\",\n  \"PlotPoints\",\n  \"PlotRange\",\n  \"PlotRangeClipping\",\n  \"PlotRangeClipPlanesStyle\",\n  \"PlotRangePadding\",\n  \"PlotRegion\",\n  \"PlotStyle\",\n  \"PlotTheme\",\n  \"Pluralize\",\n  \"Plus\",\n  \"PlusMinus\",\n  \"Pochhammer\",\n  \"PodStates\",\n  \"PodWidth\",\n  \"Point\",\n  \"Point3DBox\",\n  \"Point3DBoxOptions\",\n  \"PointBox\",\n  \"PointBoxOptions\",\n  \"PointFigureChart\",\n  \"PointLegend\",\n  \"PointSize\",\n  \"PoissonConsulDistribution\",\n  \"PoissonDistribution\",\n  \"PoissonProcess\",\n  \"PoissonWindow\",\n  \"PolarAxes\",\n  \"PolarAxesOrigin\",\n  \"PolarGridLines\",\n  \"PolarPlot\",\n  \"PolarTicks\",\n  \"PoleZeroMarkers\",\n  \"PolyaAeppliDistribution\",\n  \"PolyGamma\",\n  \"Polygon\",\n  \"Polygon3DBox\",\n  \"Polygon3DBoxOptions\",\n  \"PolygonalNumber\",\n  \"PolygonAngle\",\n  \"PolygonBox\",\n  \"PolygonBoxOptions\",\n  \"PolygonCoordinates\",\n  \"PolygonDecomposition\",\n  \"PolygonHoleScale\",\n  \"PolygonIntersections\",\n  \"PolygonScale\",\n  \"Polyhedron\",\n  \"PolyhedronAngle\",\n  \"PolyhedronCoordinates\",\n  \"PolyhedronData\",\n  \"PolyhedronDecomposition\",\n  \"PolyhedronGenus\",\n  \"PolyLog\",\n  \"PolynomialExtendedGCD\",\n  \"PolynomialForm\",\n  \"PolynomialGCD\",\n  \"PolynomialLCM\",\n  \"PolynomialMod\",\n  \"PolynomialQ\",\n  \"PolynomialQuotient\",\n  \"PolynomialQuotientRemainder\",\n  \"PolynomialReduce\",\n  \"PolynomialRemainder\",\n  \"Polynomials\",\n  \"PoolingLayer\",\n  \"PopupMenu\",\n  \"PopupMenuBox\",\n  \"PopupMenuBoxOptions\",\n  \"PopupView\",\n  \"PopupWindow\",\n  \"Position\",\n  \"PositionIndex\",\n  \"Positive\",\n  \"PositiveDefiniteMatrixQ\",\n  \"PositiveIntegers\",\n  \"PositiveRationals\",\n  \"PositiveReals\",\n  \"PositiveSemidefiniteMatrixQ\",\n  \"PossibleZeroQ\",\n  \"Postfix\",\n  \"PostScript\",\n  \"Power\",\n  \"PowerDistribution\",\n  \"PowerExpand\",\n  \"PowerMod\",\n  \"PowerModList\",\n  \"PowerRange\",\n  \"PowerSpectralDensity\",\n  \"PowersRepresentations\",\n  \"PowerSymmetricPolynomial\",\n  \"Precedence\",\n  \"PrecedenceForm\",\n  \"Precedes\",\n  \"PrecedesEqual\",\n  \"PrecedesSlantEqual\",\n  \"PrecedesTilde\",\n  \"Precision\",\n  \"PrecisionGoal\",\n  \"PreDecrement\",\n  \"Predict\",\n  \"PredictionRoot\",\n  \"PredictorFunction\",\n  \"PredictorInformation\",\n  \"PredictorMeasurements\",\n  \"PredictorMeasurementsObject\",\n  \"PreemptProtect\",\n  \"PreferencesPath\",\n  \"Prefix\",\n  \"PreIncrement\",\n  \"Prepend\",\n  \"PrependLayer\",\n  \"PrependTo\",\n  \"PreprocessingRules\",\n  \"PreserveColor\",\n  \"PreserveImageOptions\",\n  \"Previous\",\n  \"PreviousCell\",\n  \"PreviousDate\",\n  \"PriceGraphDistribution\",\n  \"PrimaryPlaceholder\",\n  \"Prime\",\n  \"PrimeNu\",\n  \"PrimeOmega\",\n  \"PrimePi\",\n  \"PrimePowerQ\",\n  \"PrimeQ\",\n  \"Primes\",\n  \"PrimeZetaP\",\n  \"PrimitivePolynomialQ\",\n  \"PrimitiveRoot\",\n  \"PrimitiveRootList\",\n  \"PrincipalComponents\",\n  \"PrincipalValue\",\n  \"Print\",\n  \"PrintableASCIIQ\",\n  \"PrintAction\",\n  \"PrintForm\",\n  \"PrintingCopies\",\n  \"PrintingOptions\",\n  \"PrintingPageRange\",\n  \"PrintingStartingPageNumber\",\n  \"PrintingStyleEnvironment\",\n  \"Printout3D\",\n  \"Printout3DPreviewer\",\n  \"PrintPrecision\",\n  \"PrintTemporary\",\n  \"Prism\",\n  \"PrismBox\",\n  \"PrismBoxOptions\",\n  \"PrivateCellOptions\",\n  \"PrivateEvaluationOptions\",\n  \"PrivateFontOptions\",\n  \"PrivateFrontEndOptions\",\n  \"PrivateKey\",\n  \"PrivateNotebookOptions\",\n  \"PrivatePaths\",\n  \"Probability\",\n  \"ProbabilityDistribution\",\n  \"ProbabilityPlot\",\n  \"ProbabilityPr\",\n  \"ProbabilityScalePlot\",\n  \"ProbitModelFit\",\n  \"ProcessConnection\",\n  \"ProcessDirectory\",\n  \"ProcessEnvironment\",\n  \"Processes\",\n  \"ProcessEstimator\",\n  \"ProcessInformation\",\n  \"ProcessObject\",\n  \"ProcessParameterAssumptions\",\n  \"ProcessParameterQ\",\n  \"ProcessStateDomain\",\n  \"ProcessStatus\",\n  \"ProcessTimeDomain\",\n  \"Product\",\n  \"ProductDistribution\",\n  \"ProductLog\",\n  \"ProgressIndicator\",\n  \"ProgressIndicatorBox\",\n  \"ProgressIndicatorBoxOptions\",\n  \"Projection\",\n  \"Prolog\",\n  \"PromptForm\",\n  \"ProofObject\",\n  \"Properties\",\n  \"Property\",\n  \"PropertyList\",\n  \"PropertyValue\",\n  \"Proportion\",\n  \"Proportional\",\n  \"Protect\",\n  \"Protected\",\n  \"ProteinData\",\n  \"Pruning\",\n  \"PseudoInverse\",\n  \"PsychrometricPropertyData\",\n  \"PublicKey\",\n  \"PublisherID\",\n  \"PulsarData\",\n  \"PunctuationCharacter\",\n  \"Purple\",\n  \"Put\",\n  \"PutAppend\",\n  \"Pyramid\",\n  \"PyramidBox\",\n  \"PyramidBoxOptions\",\n  \"QBinomial\",\n  \"QFactorial\",\n  \"QGamma\",\n  \"QHypergeometricPFQ\",\n  \"QnDispersion\",\n  \"QPochhammer\",\n  \"QPolyGamma\",\n  \"QRDecomposition\",\n  \"QuadraticIrrationalQ\",\n  \"QuadraticOptimization\",\n  \"Quantile\",\n  \"QuantilePlot\",\n  \"Quantity\",\n  \"QuantityArray\",\n  \"QuantityDistribution\",\n  \"QuantityForm\",\n  \"QuantityMagnitude\",\n  \"QuantityQ\",\n  \"QuantityUnit\",\n  \"QuantityVariable\",\n  \"QuantityVariableCanonicalUnit\",\n  \"QuantityVariableDimensions\",\n  \"QuantityVariableIdentifier\",\n  \"QuantityVariablePhysicalQuantity\",\n  \"Quartics\",\n  \"QuartileDeviation\",\n  \"Quartiles\",\n  \"QuartileSkewness\",\n  \"Query\",\n  \"QueueingNetworkProcess\",\n  \"QueueingProcess\",\n  \"QueueProperties\",\n  \"Quiet\",\n  \"Quit\",\n  \"Quotient\",\n  \"QuotientRemainder\",\n  \"RadialGradientImage\",\n  \"RadialityCentrality\",\n  \"RadicalBox\",\n  \"RadicalBoxOptions\",\n  \"RadioButton\",\n  \"RadioButtonBar\",\n  \"RadioButtonBox\",\n  \"RadioButtonBoxOptions\",\n  \"Radon\",\n  \"RadonTransform\",\n  \"RamanujanTau\",\n  \"RamanujanTauL\",\n  \"RamanujanTauTheta\",\n  \"RamanujanTauZ\",\n  \"Ramp\",\n  \"Random\",\n  \"RandomChoice\",\n  \"RandomColor\",\n  \"RandomComplex\",\n  \"RandomEntity\",\n  \"RandomFunction\",\n  \"RandomGeoPosition\",\n  \"RandomGraph\",\n  \"RandomImage\",\n  \"RandomInstance\",\n  \"RandomInteger\",\n  \"RandomPermutation\",\n  \"RandomPoint\",\n  \"RandomPolygon\",\n  \"RandomPolyhedron\",\n  \"RandomPrime\",\n  \"RandomReal\",\n  \"RandomSample\",\n  \"RandomSeed\",\n  \"RandomSeeding\",\n  \"RandomVariate\",\n  \"RandomWalkProcess\",\n  \"RandomWord\",\n  \"Range\",\n  \"RangeFilter\",\n  \"RangeSpecification\",\n  \"RankedMax\",\n  \"RankedMin\",\n  \"RarerProbability\",\n  \"Raster\",\n  \"Raster3D\",\n  \"Raster3DBox\",\n  \"Raster3DBoxOptions\",\n  \"RasterArray\",\n  \"RasterBox\",\n  \"RasterBoxOptions\",\n  \"Rasterize\",\n  \"RasterSize\",\n  \"Rational\",\n  \"RationalFunctions\",\n  \"Rationalize\",\n  \"Rationals\",\n  \"Ratios\",\n  \"RawArray\",\n  \"RawBoxes\",\n  \"RawData\",\n  \"RawMedium\",\n  \"RayleighDistribution\",\n  \"Re\",\n  \"Read\",\n  \"ReadByteArray\",\n  \"ReadLine\",\n  \"ReadList\",\n  \"ReadProtected\",\n  \"ReadString\",\n  \"Real\",\n  \"RealAbs\",\n  \"RealBlockDiagonalForm\",\n  \"RealDigits\",\n  \"RealExponent\",\n  \"Reals\",\n  \"RealSign\",\n  \"Reap\",\n  \"RebuildPacletData\",\n  \"RecognitionPrior\",\n  \"RecognitionThreshold\",\n  \"Record\",\n  \"RecordLists\",\n  \"RecordSeparators\",\n  \"Rectangle\",\n  \"RectangleBox\",\n  \"RectangleBoxOptions\",\n  \"RectangleChart\",\n  \"RectangleChart3D\",\n  \"RectangularRepeatingElement\",\n  \"RecurrenceFilter\",\n  \"RecurrenceTable\",\n  \"RecurringDigitsForm\",\n  \"Red\",\n  \"Reduce\",\n  \"RefBox\",\n  \"ReferenceLineStyle\",\n  \"ReferenceMarkers\",\n  \"ReferenceMarkerStyle\",\n  \"Refine\",\n  \"ReflectionMatrix\",\n  \"ReflectionTransform\",\n  \"Refresh\",\n  \"RefreshRate\",\n  \"Region\",\n  \"RegionBinarize\",\n  \"RegionBoundary\",\n  \"RegionBoundaryStyle\",\n  \"RegionBounds\",\n  \"RegionCentroid\",\n  \"RegionDifference\",\n  \"RegionDimension\",\n  \"RegionDisjoint\",\n  \"RegionDistance\",\n  \"RegionDistanceFunction\",\n  \"RegionEmbeddingDimension\",\n  \"RegionEqual\",\n  \"RegionFillingStyle\",\n  \"RegionFunction\",\n  \"RegionImage\",\n  \"RegionIntersection\",\n  \"RegionMeasure\",\n  \"RegionMember\",\n  \"RegionMemberFunction\",\n  \"RegionMoment\",\n  \"RegionNearest\",\n  \"RegionNearestFunction\",\n  \"RegionPlot\",\n  \"RegionPlot3D\",\n  \"RegionProduct\",\n  \"RegionQ\",\n  \"RegionResize\",\n  \"RegionSize\",\n  \"RegionSymmetricDifference\",\n  \"RegionUnion\",\n  \"RegionWithin\",\n  \"RegisterExternalEvaluator\",\n  \"RegularExpression\",\n  \"Regularization\",\n  \"RegularlySampledQ\",\n  \"RegularPolygon\",\n  \"ReIm\",\n  \"ReImLabels\",\n  \"ReImPlot\",\n  \"ReImStyle\",\n  \"Reinstall\",\n  \"RelationalDatabase\",\n  \"RelationGraph\",\n  \"Release\",\n  \"ReleaseHold\",\n  \"ReliabilityDistribution\",\n  \"ReliefImage\",\n  \"ReliefPlot\",\n  \"RemoteAuthorizationCaching\",\n  \"RemoteConnect\",\n  \"RemoteConnectionObject\",\n  \"RemoteFile\",\n  \"RemoteRun\",\n  \"RemoteRunProcess\",\n  \"Remove\",\n  \"RemoveAlphaChannel\",\n  \"RemoveAsynchronousTask\",\n  \"RemoveAudioStream\",\n  \"RemoveBackground\",\n  \"RemoveChannelListener\",\n  \"RemoveChannelSubscribers\",\n  \"Removed\",\n  \"RemoveDiacritics\",\n  \"RemoveInputStreamMethod\",\n  \"RemoveOutputStreamMethod\",\n  \"RemoveProperty\",\n  \"RemoveScheduledTask\",\n  \"RemoveUsers\",\n  \"RemoveVideoStream\",\n  \"RenameDirectory\",\n  \"RenameFile\",\n  \"RenderAll\",\n  \"RenderingOptions\",\n  \"RenewalProcess\",\n  \"RenkoChart\",\n  \"RepairMesh\",\n  \"Repeated\",\n  \"RepeatedNull\",\n  \"RepeatedString\",\n  \"RepeatedTiming\",\n  \"RepeatingElement\",\n  \"Replace\",\n  \"ReplaceAll\",\n  \"ReplaceHeldPart\",\n  \"ReplaceImageValue\",\n  \"ReplaceList\",\n  \"ReplacePart\",\n  \"ReplacePixelValue\",\n  \"ReplaceRepeated\",\n  \"ReplicateLayer\",\n  \"RequiredPhysicalQuantities\",\n  \"Resampling\",\n  \"ResamplingAlgorithmData\",\n  \"ResamplingMethod\",\n  \"Rescale\",\n  \"RescalingTransform\",\n  \"ResetDirectory\",\n  \"ResetMenusPacket\",\n  \"ResetScheduledTask\",\n  \"ReshapeLayer\",\n  \"Residue\",\n  \"ResizeLayer\",\n  \"Resolve\",\n  \"ResourceAcquire\",\n  \"ResourceData\",\n  \"ResourceFunction\",\n  \"ResourceObject\",\n  \"ResourceRegister\",\n  \"ResourceRemove\",\n  \"ResourceSearch\",\n  \"ResourceSubmissionObject\",\n  \"ResourceSubmit\",\n  \"ResourceSystemBase\",\n  \"ResourceSystemPath\",\n  \"ResourceUpdate\",\n  \"ResourceVersion\",\n  \"ResponseForm\",\n  \"Rest\",\n  \"RestartInterval\",\n  \"Restricted\",\n  \"Resultant\",\n  \"ResumePacket\",\n  \"Return\",\n  \"ReturnEntersInput\",\n  \"ReturnExpressionPacket\",\n  \"ReturnInputFormPacket\",\n  \"ReturnPacket\",\n  \"ReturnReceiptFunction\",\n  \"ReturnTextPacket\",\n  \"Reverse\",\n  \"ReverseApplied\",\n  \"ReverseBiorthogonalSplineWavelet\",\n  \"ReverseElement\",\n  \"ReverseEquilibrium\",\n  \"ReverseGraph\",\n  \"ReverseSort\",\n  \"ReverseSortBy\",\n  \"ReverseUpEquilibrium\",\n  \"RevolutionAxis\",\n  \"RevolutionPlot3D\",\n  \"RGBColor\",\n  \"RiccatiSolve\",\n  \"RiceDistribution\",\n  \"RidgeFilter\",\n  \"RiemannR\",\n  \"RiemannSiegelTheta\",\n  \"RiemannSiegelZ\",\n  \"RiemannXi\",\n  \"Riffle\",\n  \"Right\",\n  \"RightArrow\",\n  \"RightArrowBar\",\n  \"RightArrowLeftArrow\",\n  \"RightComposition\",\n  \"RightCosetRepresentative\",\n  \"RightDownTeeVector\",\n  \"RightDownVector\",\n  \"RightDownVectorBar\",\n  \"RightTee\",\n  \"RightTeeArrow\",\n  \"RightTeeVector\",\n  \"RightTriangle\",\n  \"RightTriangleBar\",\n  \"RightTriangleEqual\",\n  \"RightUpDownVector\",\n  \"RightUpTeeVector\",\n  \"RightUpVector\",\n  \"RightUpVectorBar\",\n  \"RightVector\",\n  \"RightVectorBar\",\n  \"RiskAchievementImportance\",\n  \"RiskReductionImportance\",\n  \"RogersTanimotoDissimilarity\",\n  \"RollPitchYawAngles\",\n  \"RollPitchYawMatrix\",\n  \"RomanNumeral\",\n  \"Root\",\n  \"RootApproximant\",\n  \"RootIntervals\",\n  \"RootLocusPlot\",\n  \"RootMeanSquare\",\n  \"RootOfUnityQ\",\n  \"RootReduce\",\n  \"Roots\",\n  \"RootSum\",\n  \"Rotate\",\n  \"RotateLabel\",\n  \"RotateLeft\",\n  \"RotateRight\",\n  \"RotationAction\",\n  \"RotationBox\",\n  \"RotationBoxOptions\",\n  \"RotationMatrix\",\n  \"RotationTransform\",\n  \"Round\",\n  \"RoundImplies\",\n  \"RoundingRadius\",\n  \"Row\",\n  \"RowAlignments\",\n  \"RowBackgrounds\",\n  \"RowBox\",\n  \"RowHeights\",\n  \"RowLines\",\n  \"RowMinHeight\",\n  \"RowReduce\",\n  \"RowsEqual\",\n  \"RowSpacings\",\n  \"RSolve\",\n  \"RSolveValue\",\n  \"RudinShapiro\",\n  \"RudvalisGroupRu\",\n  \"Rule\",\n  \"RuleCondition\",\n  \"RuleDelayed\",\n  \"RuleForm\",\n  \"RulePlot\",\n  \"RulerUnits\",\n  \"Run\",\n  \"RunProcess\",\n  \"RunScheduledTask\",\n  \"RunThrough\",\n  \"RuntimeAttributes\",\n  \"RuntimeOptions\",\n  \"RussellRaoDissimilarity\",\n  \"SameQ\",\n  \"SameTest\",\n  \"SameTestProperties\",\n  \"SampledEntityClass\",\n  \"SampleDepth\",\n  \"SampledSoundFunction\",\n  \"SampledSoundList\",\n  \"SampleRate\",\n  \"SamplingPeriod\",\n  \"SARIMAProcess\",\n  \"SARMAProcess\",\n  \"SASTriangle\",\n  \"SatelliteData\",\n  \"SatisfiabilityCount\",\n  \"SatisfiabilityInstances\",\n  \"SatisfiableQ\",\n  \"Saturday\",\n  \"Save\",\n  \"Saveable\",\n  \"SaveAutoDelete\",\n  \"SaveConnection\",\n  \"SaveDefinitions\",\n  \"SavitzkyGolayMatrix\",\n  \"SawtoothWave\",\n  \"Scale\",\n  \"Scaled\",\n  \"ScaleDivisions\",\n  \"ScaledMousePosition\",\n  \"ScaleOrigin\",\n  \"ScalePadding\",\n  \"ScaleRanges\",\n  \"ScaleRangeStyle\",\n  \"ScalingFunctions\",\n  \"ScalingMatrix\",\n  \"ScalingTransform\",\n  \"Scan\",\n  \"ScheduledTask\",\n  \"ScheduledTaskActiveQ\",\n  \"ScheduledTaskInformation\",\n  \"ScheduledTaskInformationData\",\n  \"ScheduledTaskObject\",\n  \"ScheduledTasks\",\n  \"SchurDecomposition\",\n  \"ScientificForm\",\n  \"ScientificNotationThreshold\",\n  \"ScorerGi\",\n  \"ScorerGiPrime\",\n  \"ScorerHi\",\n  \"ScorerHiPrime\",\n  \"ScreenRectangle\",\n  \"ScreenStyleEnvironment\",\n  \"ScriptBaselineShifts\",\n  \"ScriptForm\",\n  \"ScriptLevel\",\n  \"ScriptMinSize\",\n  \"ScriptRules\",\n  \"ScriptSizeMultipliers\",\n  \"Scrollbars\",\n  \"ScrollingOptions\",\n  \"ScrollPosition\",\n  \"SearchAdjustment\",\n  \"SearchIndexObject\",\n  \"SearchIndices\",\n  \"SearchQueryString\",\n  \"SearchResultObject\",\n  \"Sec\",\n  \"Sech\",\n  \"SechDistribution\",\n  \"SecondOrderConeOptimization\",\n  \"SectionGrouping\",\n  \"SectorChart\",\n  \"SectorChart3D\",\n  \"SectorOrigin\",\n  \"SectorSpacing\",\n  \"SecuredAuthenticationKey\",\n  \"SecuredAuthenticationKeys\",\n  \"SeedRandom\",\n  \"Select\",\n  \"Selectable\",\n  \"SelectComponents\",\n  \"SelectedCells\",\n  \"SelectedNotebook\",\n  \"SelectFirst\",\n  \"Selection\",\n  \"SelectionAnimate\",\n  \"SelectionCell\",\n  \"SelectionCellCreateCell\",\n  \"SelectionCellDefaultStyle\",\n  \"SelectionCellParentStyle\",\n  \"SelectionCreateCell\",\n  \"SelectionDebuggerTag\",\n  \"SelectionDuplicateCell\",\n  \"SelectionEvaluate\",\n  \"SelectionEvaluateCreateCell\",\n  \"SelectionMove\",\n  \"SelectionPlaceholder\",\n  \"SelectionSetStyle\",\n  \"SelectWithContents\",\n  \"SelfLoops\",\n  \"SelfLoopStyle\",\n  \"SemanticImport\",\n  \"SemanticImportString\",\n  \"SemanticInterpretation\",\n  \"SemialgebraicComponentInstances\",\n  \"SemidefiniteOptimization\",\n  \"SendMail\",\n  \"SendMessage\",\n  \"Sequence\",\n  \"SequenceAlignment\",\n  \"SequenceAttentionLayer\",\n  \"SequenceCases\",\n  \"SequenceCount\",\n  \"SequenceFold\",\n  \"SequenceFoldList\",\n  \"SequenceForm\",\n  \"SequenceHold\",\n  \"SequenceLastLayer\",\n  \"SequenceMostLayer\",\n  \"SequencePosition\",\n  \"SequencePredict\",\n  \"SequencePredictorFunction\",\n  \"SequenceReplace\",\n  \"SequenceRestLayer\",\n  \"SequenceReverseLayer\",\n  \"SequenceSplit\",\n  \"Series\",\n  \"SeriesCoefficient\",\n  \"SeriesData\",\n  \"SeriesTermGoal\",\n  \"ServiceConnect\",\n  \"ServiceDisconnect\",\n  \"ServiceExecute\",\n  \"ServiceObject\",\n  \"ServiceRequest\",\n  \"ServiceResponse\",\n  \"ServiceSubmit\",\n  \"SessionSubmit\",\n  \"SessionTime\",\n  \"Set\",\n  \"SetAccuracy\",\n  \"SetAlphaChannel\",\n  \"SetAttributes\",\n  \"Setbacks\",\n  \"SetBoxFormNamesPacket\",\n  \"SetCloudDirectory\",\n  \"SetCookies\",\n  \"SetDelayed\",\n  \"SetDirectory\",\n  \"SetEnvironment\",\n  \"SetEvaluationNotebook\",\n  \"SetFileDate\",\n  \"SetFileLoadingContext\",\n  \"SetNotebookStatusLine\",\n  \"SetOptions\",\n  \"SetOptionsPacket\",\n  \"SetPermissions\",\n  \"SetPrecision\",\n  \"SetProperty\",\n  \"SetSecuredAuthenticationKey\",\n  \"SetSelectedNotebook\",\n  \"SetSharedFunction\",\n  \"SetSharedVariable\",\n  \"SetSpeechParametersPacket\",\n  \"SetStreamPosition\",\n  \"SetSystemModel\",\n  \"SetSystemOptions\",\n  \"Setter\",\n  \"SetterBar\",\n  \"SetterBox\",\n  \"SetterBoxOptions\",\n  \"Setting\",\n  \"SetUsers\",\n  \"SetValue\",\n  \"Shading\",\n  \"Shallow\",\n  \"ShannonWavelet\",\n  \"ShapiroWilkTest\",\n  \"Share\",\n  \"SharingList\",\n  \"Sharpen\",\n  \"ShearingMatrix\",\n  \"ShearingTransform\",\n  \"ShellRegion\",\n  \"ShenCastanMatrix\",\n  \"ShiftedGompertzDistribution\",\n  \"ShiftRegisterSequence\",\n  \"Short\",\n  \"ShortDownArrow\",\n  \"Shortest\",\n  \"ShortestMatch\",\n  \"ShortestPathFunction\",\n  \"ShortLeftArrow\",\n  \"ShortRightArrow\",\n  \"ShortTimeFourier\",\n  \"ShortTimeFourierData\",\n  \"ShortUpArrow\",\n  \"Show\",\n  \"ShowAutoConvert\",\n  \"ShowAutoSpellCheck\",\n  \"ShowAutoStyles\",\n  \"ShowCellBracket\",\n  \"ShowCellLabel\",\n  \"ShowCellTags\",\n  \"ShowClosedCellArea\",\n  \"ShowCodeAssist\",\n  \"ShowContents\",\n  \"ShowControls\",\n  \"ShowCursorTracker\",\n  \"ShowGroupOpenCloseIcon\",\n  \"ShowGroupOpener\",\n  \"ShowInvisibleCharacters\",\n  \"ShowPageBreaks\",\n  \"ShowPredictiveInterface\",\n  \"ShowSelection\",\n  \"ShowShortBoxForm\",\n  \"ShowSpecialCharacters\",\n  \"ShowStringCharacters\",\n  \"ShowSyntaxStyles\",\n  \"ShrinkingDelay\",\n  \"ShrinkWrapBoundingBox\",\n  \"SiderealTime\",\n  \"SiegelTheta\",\n  \"SiegelTukeyTest\",\n  \"SierpinskiCurve\",\n  \"SierpinskiMesh\",\n  \"Sign\",\n  \"Signature\",\n  \"SignedRankTest\",\n  \"SignedRegionDistance\",\n  \"SignificanceLevel\",\n  \"SignPadding\",\n  \"SignTest\",\n  \"SimilarityRules\",\n  \"SimpleGraph\",\n  \"SimpleGraphQ\",\n  \"SimplePolygonQ\",\n  \"SimplePolyhedronQ\",\n  \"Simplex\",\n  \"Simplify\",\n  \"Sin\",\n  \"Sinc\",\n  \"SinghMaddalaDistribution\",\n  \"SingleEvaluation\",\n  \"SingleLetterItalics\",\n  \"SingleLetterStyle\",\n  \"SingularValueDecomposition\",\n  \"SingularValueList\",\n  \"SingularValuePlot\",\n  \"SingularValues\",\n  \"Sinh\",\n  \"SinhIntegral\",\n  \"SinIntegral\",\n  \"SixJSymbol\",\n  \"Skeleton\",\n  \"SkeletonTransform\",\n  \"SkellamDistribution\",\n  \"Skewness\",\n  \"SkewNormalDistribution\",\n  \"SkinStyle\",\n  \"Skip\",\n  \"SliceContourPlot3D\",\n  \"SliceDensityPlot3D\",\n  \"SliceDistribution\",\n  \"SliceVectorPlot3D\",\n  \"Slider\",\n  \"Slider2D\",\n  \"Slider2DBox\",\n  \"Slider2DBoxOptions\",\n  \"SliderBox\",\n  \"SliderBoxOptions\",\n  \"SlideView\",\n  \"Slot\",\n  \"SlotSequence\",\n  \"Small\",\n  \"SmallCircle\",\n  \"Smaller\",\n  \"SmithDecomposition\",\n  \"SmithDelayCompensator\",\n  \"SmithWatermanSimilarity\",\n  \"SmoothDensityHistogram\",\n  \"SmoothHistogram\",\n  \"SmoothHistogram3D\",\n  \"SmoothKernelDistribution\",\n  \"SnDispersion\",\n  \"Snippet\",\n  \"SnubPolyhedron\",\n  \"SocialMediaData\",\n  \"Socket\",\n  \"SocketConnect\",\n  \"SocketListen\",\n  \"SocketListener\",\n  \"SocketObject\",\n  \"SocketOpen\",\n  \"SocketReadMessage\",\n  \"SocketReadyQ\",\n  \"Sockets\",\n  \"SocketWaitAll\",\n  \"SocketWaitNext\",\n  \"SoftmaxLayer\",\n  \"SokalSneathDissimilarity\",\n  \"SolarEclipse\",\n  \"SolarSystemFeatureData\",\n  \"SolidAngle\",\n  \"SolidData\",\n  \"SolidRegionQ\",\n  \"Solve\",\n  \"SolveAlways\",\n  \"SolveDelayed\",\n  \"Sort\",\n  \"SortBy\",\n  \"SortedBy\",\n  \"SortedEntityClass\",\n  \"Sound\",\n  \"SoundAndGraphics\",\n  \"SoundNote\",\n  \"SoundVolume\",\n  \"SourceLink\",\n  \"Sow\",\n  \"Space\",\n  \"SpaceCurveData\",\n  \"SpaceForm\",\n  \"Spacer\",\n  \"Spacings\",\n  \"Span\",\n  \"SpanAdjustments\",\n  \"SpanCharacterRounding\",\n  \"SpanFromAbove\",\n  \"SpanFromBoth\",\n  \"SpanFromLeft\",\n  \"SpanLineThickness\",\n  \"SpanMaxSize\",\n  \"SpanMinSize\",\n  \"SpanningCharacters\",\n  \"SpanSymmetric\",\n  \"SparseArray\",\n  \"SpatialGraphDistribution\",\n  \"SpatialMedian\",\n  \"SpatialTransformationLayer\",\n  \"Speak\",\n  \"SpeakerMatchQ\",\n  \"SpeakTextPacket\",\n  \"SpearmanRankTest\",\n  \"SpearmanRho\",\n  \"SpeciesData\",\n  \"SpecificityGoal\",\n  \"SpectralLineData\",\n  \"Spectrogram\",\n  \"SpectrogramArray\",\n  \"Specularity\",\n  \"SpeechCases\",\n  \"SpeechInterpreter\",\n  \"SpeechRecognize\",\n  \"SpeechSynthesize\",\n  \"SpellingCorrection\",\n  \"SpellingCorrectionList\",\n  \"SpellingDictionaries\",\n  \"SpellingDictionariesPath\",\n  \"SpellingOptions\",\n  \"SpellingSuggestionsPacket\",\n  \"Sphere\",\n  \"SphereBox\",\n  \"SpherePoints\",\n  \"SphericalBesselJ\",\n  \"SphericalBesselY\",\n  \"SphericalHankelH1\",\n  \"SphericalHankelH2\",\n  \"SphericalHarmonicY\",\n  \"SphericalPlot3D\",\n  \"SphericalRegion\",\n  \"SphericalShell\",\n  \"SpheroidalEigenvalue\",\n  \"SpheroidalJoiningFactor\",\n  \"SpheroidalPS\",\n  \"SpheroidalPSPrime\",\n  \"SpheroidalQS\",\n  \"SpheroidalQSPrime\",\n  \"SpheroidalRadialFactor\",\n  \"SpheroidalS1\",\n  \"SpheroidalS1Prime\",\n  \"SpheroidalS2\",\n  \"SpheroidalS2Prime\",\n  \"Splice\",\n  \"SplicedDistribution\",\n  \"SplineClosed\",\n  \"SplineDegree\",\n  \"SplineKnots\",\n  \"SplineWeights\",\n  \"Split\",\n  \"SplitBy\",\n  \"SpokenString\",\n  \"Sqrt\",\n  \"SqrtBox\",\n  \"SqrtBoxOptions\",\n  \"Square\",\n  \"SquaredEuclideanDistance\",\n  \"SquareFreeQ\",\n  \"SquareIntersection\",\n  \"SquareMatrixQ\",\n  \"SquareRepeatingElement\",\n  \"SquaresR\",\n  \"SquareSubset\",\n  \"SquareSubsetEqual\",\n  \"SquareSuperset\",\n  \"SquareSupersetEqual\",\n  \"SquareUnion\",\n  \"SquareWave\",\n  \"SSSTriangle\",\n  \"StabilityMargins\",\n  \"StabilityMarginsStyle\",\n  \"StableDistribution\",\n  \"Stack\",\n  \"StackBegin\",\n  \"StackComplete\",\n  \"StackedDateListPlot\",\n  \"StackedListPlot\",\n  \"StackInhibit\",\n  \"StadiumShape\",\n  \"StandardAtmosphereData\",\n  \"StandardDeviation\",\n  \"StandardDeviationFilter\",\n  \"StandardForm\",\n  \"Standardize\",\n  \"Standardized\",\n  \"StandardOceanData\",\n  \"StandbyDistribution\",\n  \"Star\",\n  \"StarClusterData\",\n  \"StarData\",\n  \"StarGraph\",\n  \"StartAsynchronousTask\",\n  \"StartExternalSession\",\n  \"StartingStepSize\",\n  \"StartOfLine\",\n  \"StartOfString\",\n  \"StartProcess\",\n  \"StartScheduledTask\",\n  \"StartupSound\",\n  \"StartWebSession\",\n  \"StateDimensions\",\n  \"StateFeedbackGains\",\n  \"StateOutputEstimator\",\n  \"StateResponse\",\n  \"StateSpaceModel\",\n  \"StateSpaceRealization\",\n  \"StateSpaceTransform\",\n  \"StateTransformationLinearize\",\n  \"StationaryDistribution\",\n  \"StationaryWaveletPacketTransform\",\n  \"StationaryWaveletTransform\",\n  \"StatusArea\",\n  \"StatusCentrality\",\n  \"StepMonitor\",\n  \"StereochemistryElements\",\n  \"StieltjesGamma\",\n  \"StippleShading\",\n  \"StirlingS1\",\n  \"StirlingS2\",\n  \"StopAsynchronousTask\",\n  \"StoppingPowerData\",\n  \"StopScheduledTask\",\n  \"StrataVariables\",\n  \"StratonovichProcess\",\n  \"StreamColorFunction\",\n  \"StreamColorFunctionScaling\",\n  \"StreamDensityPlot\",\n  \"StreamMarkers\",\n  \"StreamPlot\",\n  \"StreamPoints\",\n  \"StreamPosition\",\n  \"Streams\",\n  \"StreamScale\",\n  \"StreamStyle\",\n  \"String\",\n  \"StringBreak\",\n  \"StringByteCount\",\n  \"StringCases\",\n  \"StringContainsQ\",\n  \"StringCount\",\n  \"StringDelete\",\n  \"StringDrop\",\n  \"StringEndsQ\",\n  \"StringExpression\",\n  \"StringExtract\",\n  \"StringForm\",\n  \"StringFormat\",\n  \"StringFreeQ\",\n  \"StringInsert\",\n  \"StringJoin\",\n  \"StringLength\",\n  \"StringMatchQ\",\n  \"StringPadLeft\",\n  \"StringPadRight\",\n  \"StringPart\",\n  \"StringPartition\",\n  \"StringPosition\",\n  \"StringQ\",\n  \"StringRepeat\",\n  \"StringReplace\",\n  \"StringReplaceList\",\n  \"StringReplacePart\",\n  \"StringReverse\",\n  \"StringRiffle\",\n  \"StringRotateLeft\",\n  \"StringRotateRight\",\n  \"StringSkeleton\",\n  \"StringSplit\",\n  \"StringStartsQ\",\n  \"StringTake\",\n  \"StringTemplate\",\n  \"StringToByteArray\",\n  \"StringToStream\",\n  \"StringTrim\",\n  \"StripBoxes\",\n  \"StripOnInput\",\n  \"StripWrapperBoxes\",\n  \"StrokeForm\",\n  \"StructuralImportance\",\n  \"StructuredArray\",\n  \"StructuredArrayHeadQ\",\n  \"StructuredSelection\",\n  \"StruveH\",\n  \"StruveL\",\n  \"Stub\",\n  \"StudentTDistribution\",\n  \"Style\",\n  \"StyleBox\",\n  \"StyleBoxAutoDelete\",\n  \"StyleData\",\n  \"StyleDefinitions\",\n  \"StyleForm\",\n  \"StyleHints\",\n  \"StyleKeyMapping\",\n  \"StyleMenuListing\",\n  \"StyleNameDialogSettings\",\n  \"StyleNames\",\n  \"StylePrint\",\n  \"StyleSheetPath\",\n  \"Subdivide\",\n  \"Subfactorial\",\n  \"Subgraph\",\n  \"SubMinus\",\n  \"SubPlus\",\n  \"SubresultantPolynomialRemainders\",\n  \"SubresultantPolynomials\",\n  \"Subresultants\",\n  \"Subscript\",\n  \"SubscriptBox\",\n  \"SubscriptBoxOptions\",\n  \"Subscripted\",\n  \"Subsequences\",\n  \"Subset\",\n  \"SubsetCases\",\n  \"SubsetCount\",\n  \"SubsetEqual\",\n  \"SubsetMap\",\n  \"SubsetPosition\",\n  \"SubsetQ\",\n  \"SubsetReplace\",\n  \"Subsets\",\n  \"SubStar\",\n  \"SubstitutionSystem\",\n  \"Subsuperscript\",\n  \"SubsuperscriptBox\",\n  \"SubsuperscriptBoxOptions\",\n  \"SubtitleEncoding\",\n  \"SubtitleTracks\",\n  \"Subtract\",\n  \"SubtractFrom\",\n  \"SubtractSides\",\n  \"SubValues\",\n  \"Succeeds\",\n  \"SucceedsEqual\",\n  \"SucceedsSlantEqual\",\n  \"SucceedsTilde\",\n  \"Success\",\n  \"SuchThat\",\n  \"Sum\",\n  \"SumConvergence\",\n  \"SummationLayer\",\n  \"Sunday\",\n  \"SunPosition\",\n  \"Sunrise\",\n  \"Sunset\",\n  \"SuperDagger\",\n  \"SuperMinus\",\n  \"SupernovaData\",\n  \"SuperPlus\",\n  \"Superscript\",\n  \"SuperscriptBox\",\n  \"SuperscriptBoxOptions\",\n  \"Superset\",\n  \"SupersetEqual\",\n  \"SuperStar\",\n  \"Surd\",\n  \"SurdForm\",\n  \"SurfaceAppearance\",\n  \"SurfaceArea\",\n  \"SurfaceColor\",\n  \"SurfaceData\",\n  \"SurfaceGraphics\",\n  \"SurvivalDistribution\",\n  \"SurvivalFunction\",\n  \"SurvivalModel\",\n  \"SurvivalModelFit\",\n  \"SuspendPacket\",\n  \"SuzukiDistribution\",\n  \"SuzukiGroupSuz\",\n  \"SwatchLegend\",\n  \"Switch\",\n  \"Symbol\",\n  \"SymbolName\",\n  \"SymletWavelet\",\n  \"Symmetric\",\n  \"SymmetricGroup\",\n  \"SymmetricKey\",\n  \"SymmetricMatrixQ\",\n  \"SymmetricPolynomial\",\n  \"SymmetricReduction\",\n  \"Symmetrize\",\n  \"SymmetrizedArray\",\n  \"SymmetrizedArrayRules\",\n  \"SymmetrizedDependentComponents\",\n  \"SymmetrizedIndependentComponents\",\n  \"SymmetrizedReplacePart\",\n  \"SynchronousInitialization\",\n  \"SynchronousUpdating\",\n  \"Synonyms\",\n  \"Syntax\",\n  \"SyntaxForm\",\n  \"SyntaxInformation\",\n  \"SyntaxLength\",\n  \"SyntaxPacket\",\n  \"SyntaxQ\",\n  \"SynthesizeMissingValues\",\n  \"SystemCredential\",\n  \"SystemCredentialData\",\n  \"SystemCredentialKey\",\n  \"SystemCredentialKeys\",\n  \"SystemCredentialStoreObject\",\n  \"SystemDialogInput\",\n  \"SystemException\",\n  \"SystemGet\",\n  \"SystemHelpPath\",\n  \"SystemInformation\",\n  \"SystemInformationData\",\n  \"SystemInstall\",\n  \"SystemModel\",\n  \"SystemModeler\",\n  \"SystemModelExamples\",\n  \"SystemModelLinearize\",\n  \"SystemModelParametricSimulate\",\n  \"SystemModelPlot\",\n  \"SystemModelProgressReporting\",\n  \"SystemModelReliability\",\n  \"SystemModels\",\n  \"SystemModelSimulate\",\n  \"SystemModelSimulateSensitivity\",\n  \"SystemModelSimulationData\",\n  \"SystemOpen\",\n  \"SystemOptions\",\n  \"SystemProcessData\",\n  \"SystemProcesses\",\n  \"SystemsConnectionsModel\",\n  \"SystemsModelDelay\",\n  \"SystemsModelDelayApproximate\",\n  \"SystemsModelDelete\",\n  \"SystemsModelDimensions\",\n  \"SystemsModelExtract\",\n  \"SystemsModelFeedbackConnect\",\n  \"SystemsModelLabels\",\n  \"SystemsModelLinearity\",\n  \"SystemsModelMerge\",\n  \"SystemsModelOrder\",\n  \"SystemsModelParallelConnect\",\n  \"SystemsModelSeriesConnect\",\n  \"SystemsModelStateFeedbackConnect\",\n  \"SystemsModelVectorRelativeOrders\",\n  \"SystemStub\",\n  \"SystemTest\",\n  \"Tab\",\n  \"TabFilling\",\n  \"Table\",\n  \"TableAlignments\",\n  \"TableDepth\",\n  \"TableDirections\",\n  \"TableForm\",\n  \"TableHeadings\",\n  \"TableSpacing\",\n  \"TableView\",\n  \"TableViewBox\",\n  \"TableViewBoxBackground\",\n  \"TableViewBoxItemSize\",\n  \"TableViewBoxOptions\",\n  \"TabSpacings\",\n  \"TabView\",\n  \"TabViewBox\",\n  \"TabViewBoxOptions\",\n  \"TagBox\",\n  \"TagBoxNote\",\n  \"TagBoxOptions\",\n  \"TaggingRules\",\n  \"TagSet\",\n  \"TagSetDelayed\",\n  \"TagStyle\",\n  \"TagUnset\",\n  \"Take\",\n  \"TakeDrop\",\n  \"TakeLargest\",\n  \"TakeLargestBy\",\n  \"TakeList\",\n  \"TakeSmallest\",\n  \"TakeSmallestBy\",\n  \"TakeWhile\",\n  \"Tally\",\n  \"Tan\",\n  \"Tanh\",\n  \"TargetDevice\",\n  \"TargetFunctions\",\n  \"TargetSystem\",\n  \"TargetUnits\",\n  \"TaskAbort\",\n  \"TaskExecute\",\n  \"TaskObject\",\n  \"TaskRemove\",\n  \"TaskResume\",\n  \"Tasks\",\n  \"TaskSuspend\",\n  \"TaskWait\",\n  \"TautologyQ\",\n  \"TelegraphProcess\",\n  \"TemplateApply\",\n  \"TemplateArgBox\",\n  \"TemplateBox\",\n  \"TemplateBoxOptions\",\n  \"TemplateEvaluate\",\n  \"TemplateExpression\",\n  \"TemplateIf\",\n  \"TemplateObject\",\n  \"TemplateSequence\",\n  \"TemplateSlot\",\n  \"TemplateSlotSequence\",\n  \"TemplateUnevaluated\",\n  \"TemplateVerbatim\",\n  \"TemplateWith\",\n  \"TemporalData\",\n  \"TemporalRegularity\",\n  \"Temporary\",\n  \"TemporaryVariable\",\n  \"TensorContract\",\n  \"TensorDimensions\",\n  \"TensorExpand\",\n  \"TensorProduct\",\n  \"TensorQ\",\n  \"TensorRank\",\n  \"TensorReduce\",\n  \"TensorSymmetry\",\n  \"TensorTranspose\",\n  \"TensorWedge\",\n  \"TestID\",\n  \"TestReport\",\n  \"TestReportObject\",\n  \"TestResultObject\",\n  \"Tetrahedron\",\n  \"TetrahedronBox\",\n  \"TetrahedronBoxOptions\",\n  \"TeXForm\",\n  \"TeXSave\",\n  \"Text\",\n  \"Text3DBox\",\n  \"Text3DBoxOptions\",\n  \"TextAlignment\",\n  \"TextBand\",\n  \"TextBoundingBox\",\n  \"TextBox\",\n  \"TextCases\",\n  \"TextCell\",\n  \"TextClipboardType\",\n  \"TextContents\",\n  \"TextData\",\n  \"TextElement\",\n  \"TextForm\",\n  \"TextGrid\",\n  \"TextJustification\",\n  \"TextLine\",\n  \"TextPacket\",\n  \"TextParagraph\",\n  \"TextPosition\",\n  \"TextRecognize\",\n  \"TextSearch\",\n  \"TextSearchReport\",\n  \"TextSentences\",\n  \"TextString\",\n  \"TextStructure\",\n  \"TextStyle\",\n  \"TextTranslation\",\n  \"Texture\",\n  \"TextureCoordinateFunction\",\n  \"TextureCoordinateScaling\",\n  \"TextWords\",\n  \"Therefore\",\n  \"ThermodynamicData\",\n  \"ThermometerGauge\",\n  \"Thick\",\n  \"Thickness\",\n  \"Thin\",\n  \"Thinning\",\n  \"ThisLink\",\n  \"ThompsonGroupTh\",\n  \"Thread\",\n  \"ThreadingLayer\",\n  \"ThreeJSymbol\",\n  \"Threshold\",\n  \"Through\",\n  \"Throw\",\n  \"ThueMorse\",\n  \"Thumbnail\",\n  \"Thursday\",\n  \"Ticks\",\n  \"TicksStyle\",\n  \"TideData\",\n  \"Tilde\",\n  \"TildeEqual\",\n  \"TildeFullEqual\",\n  \"TildeTilde\",\n  \"TimeConstrained\",\n  \"TimeConstraint\",\n  \"TimeDirection\",\n  \"TimeFormat\",\n  \"TimeGoal\",\n  \"TimelinePlot\",\n  \"TimeObject\",\n  \"TimeObjectQ\",\n  \"TimeRemaining\",\n  \"Times\",\n  \"TimesBy\",\n  \"TimeSeries\",\n  \"TimeSeriesAggregate\",\n  \"TimeSeriesForecast\",\n  \"TimeSeriesInsert\",\n  \"TimeSeriesInvertibility\",\n  \"TimeSeriesMap\",\n  \"TimeSeriesMapThread\",\n  \"TimeSeriesModel\",\n  \"TimeSeriesModelFit\",\n  \"TimeSeriesResample\",\n  \"TimeSeriesRescale\",\n  \"TimeSeriesShift\",\n  \"TimeSeriesThread\",\n  \"TimeSeriesWindow\",\n  \"TimeUsed\",\n  \"TimeValue\",\n  \"TimeWarpingCorrespondence\",\n  \"TimeWarpingDistance\",\n  \"TimeZone\",\n  \"TimeZoneConvert\",\n  \"TimeZoneOffset\",\n  \"Timing\",\n  \"Tiny\",\n  \"TitleGrouping\",\n  \"TitsGroupT\",\n  \"ToBoxes\",\n  \"ToCharacterCode\",\n  \"ToColor\",\n  \"ToContinuousTimeModel\",\n  \"ToDate\",\n  \"Today\",\n  \"ToDiscreteTimeModel\",\n  \"ToEntity\",\n  \"ToeplitzMatrix\",\n  \"ToExpression\",\n  \"ToFileName\",\n  \"Together\",\n  \"Toggle\",\n  \"ToggleFalse\",\n  \"Toggler\",\n  \"TogglerBar\",\n  \"TogglerBox\",\n  \"TogglerBoxOptions\",\n  \"ToHeldExpression\",\n  \"ToInvertibleTimeSeries\",\n  \"TokenWords\",\n  \"Tolerance\",\n  \"ToLowerCase\",\n  \"Tomorrow\",\n  \"ToNumberField\",\n  \"TooBig\",\n  \"Tooltip\",\n  \"TooltipBox\",\n  \"TooltipBoxOptions\",\n  \"TooltipDelay\",\n  \"TooltipStyle\",\n  \"ToonShading\",\n  \"Top\",\n  \"TopHatTransform\",\n  \"ToPolarCoordinates\",\n  \"TopologicalSort\",\n  \"ToRadicals\",\n  \"ToRules\",\n  \"ToSphericalCoordinates\",\n  \"ToString\",\n  \"Total\",\n  \"TotalHeight\",\n  \"TotalLayer\",\n  \"TotalVariationFilter\",\n  \"TotalWidth\",\n  \"TouchPosition\",\n  \"TouchscreenAutoZoom\",\n  \"TouchscreenControlPlacement\",\n  \"ToUpperCase\",\n  \"Tr\",\n  \"Trace\",\n  \"TraceAbove\",\n  \"TraceAction\",\n  \"TraceBackward\",\n  \"TraceDepth\",\n  \"TraceDialog\",\n  \"TraceForward\",\n  \"TraceInternal\",\n  \"TraceLevel\",\n  \"TraceOff\",\n  \"TraceOn\",\n  \"TraceOriginal\",\n  \"TracePrint\",\n  \"TraceScan\",\n  \"TrackedSymbols\",\n  \"TrackingFunction\",\n  \"TracyWidomDistribution\",\n  \"TradingChart\",\n  \"TraditionalForm\",\n  \"TraditionalFunctionNotation\",\n  \"TraditionalNotation\",\n  \"TraditionalOrder\",\n  \"TrainingProgressCheckpointing\",\n  \"TrainingProgressFunction\",\n  \"TrainingProgressMeasurements\",\n  \"TrainingProgressReporting\",\n  \"TrainingStoppingCriterion\",\n  \"TrainingUpdateSchedule\",\n  \"TransferFunctionCancel\",\n  \"TransferFunctionExpand\",\n  \"TransferFunctionFactor\",\n  \"TransferFunctionModel\",\n  \"TransferFunctionPoles\",\n  \"TransferFunctionTransform\",\n  \"TransferFunctionZeros\",\n  \"TransformationClass\",\n  \"TransformationFunction\",\n  \"TransformationFunctions\",\n  \"TransformationMatrix\",\n  \"TransformedDistribution\",\n  \"TransformedField\",\n  \"TransformedProcess\",\n  \"TransformedRegion\",\n  \"TransitionDirection\",\n  \"TransitionDuration\",\n  \"TransitionEffect\",\n  \"TransitiveClosureGraph\",\n  \"TransitiveReductionGraph\",\n  \"Translate\",\n  \"TranslationOptions\",\n  \"TranslationTransform\",\n  \"Transliterate\",\n  \"Transparent\",\n  \"TransparentColor\",\n  \"Transpose\",\n  \"TransposeLayer\",\n  \"TrapSelection\",\n  \"TravelDirections\",\n  \"TravelDirectionsData\",\n  \"TravelDistance\",\n  \"TravelDistanceList\",\n  \"TravelMethod\",\n  \"TravelTime\",\n  \"TreeForm\",\n  \"TreeGraph\",\n  \"TreeGraphQ\",\n  \"TreePlot\",\n  \"TrendStyle\",\n  \"Triangle\",\n  \"TriangleCenter\",\n  \"TriangleConstruct\",\n  \"TriangleMeasurement\",\n  \"TriangleWave\",\n  \"TriangularDistribution\",\n  \"TriangulateMesh\",\n  \"Trig\",\n  \"TrigExpand\",\n  \"TrigFactor\",\n  \"TrigFactorList\",\n  \"Trigger\",\n  \"TrigReduce\",\n  \"TrigToExp\",\n  \"TrimmedMean\",\n  \"TrimmedVariance\",\n  \"TropicalStormData\",\n  \"True\",\n  \"TrueQ\",\n  \"TruncatedDistribution\",\n  \"TruncatedPolyhedron\",\n  \"TsallisQExponentialDistribution\",\n  \"TsallisQGaussianDistribution\",\n  \"TTest\",\n  \"Tube\",\n  \"TubeBezierCurveBox\",\n  \"TubeBezierCurveBoxOptions\",\n  \"TubeBox\",\n  \"TubeBoxOptions\",\n  \"TubeBSplineCurveBox\",\n  \"TubeBSplineCurveBoxOptions\",\n  \"Tuesday\",\n  \"TukeyLambdaDistribution\",\n  \"TukeyWindow\",\n  \"TunnelData\",\n  \"Tuples\",\n  \"TuranGraph\",\n  \"TuringMachine\",\n  \"TuttePolynomial\",\n  \"TwoWayRule\",\n  \"Typed\",\n  \"TypeSpecifier\",\n  \"UnateQ\",\n  \"Uncompress\",\n  \"UnconstrainedParameters\",\n  \"Undefined\",\n  \"UnderBar\",\n  \"Underflow\",\n  \"Underlined\",\n  \"Underoverscript\",\n  \"UnderoverscriptBox\",\n  \"UnderoverscriptBoxOptions\",\n  \"Underscript\",\n  \"UnderscriptBox\",\n  \"UnderscriptBoxOptions\",\n  \"UnderseaFeatureData\",\n  \"UndirectedEdge\",\n  \"UndirectedGraph\",\n  \"UndirectedGraphQ\",\n  \"UndoOptions\",\n  \"UndoTrackedVariables\",\n  \"Unequal\",\n  \"UnequalTo\",\n  \"Unevaluated\",\n  \"UniformDistribution\",\n  \"UniformGraphDistribution\",\n  \"UniformPolyhedron\",\n  \"UniformSumDistribution\",\n  \"Uninstall\",\n  \"Union\",\n  \"UnionedEntityClass\",\n  \"UnionPlus\",\n  \"Unique\",\n  \"UnitaryMatrixQ\",\n  \"UnitBox\",\n  \"UnitConvert\",\n  \"UnitDimensions\",\n  \"Unitize\",\n  \"UnitRootTest\",\n  \"UnitSimplify\",\n  \"UnitStep\",\n  \"UnitSystem\",\n  \"UnitTriangle\",\n  \"UnitVector\",\n  \"UnitVectorLayer\",\n  \"UnityDimensions\",\n  \"UniverseModelData\",\n  \"UniversityData\",\n  \"UnixTime\",\n  \"Unprotect\",\n  \"UnregisterExternalEvaluator\",\n  \"UnsameQ\",\n  \"UnsavedVariables\",\n  \"Unset\",\n  \"UnsetShared\",\n  \"UntrackedVariables\",\n  \"Up\",\n  \"UpArrow\",\n  \"UpArrowBar\",\n  \"UpArrowDownArrow\",\n  \"Update\",\n  \"UpdateDynamicObjects\",\n  \"UpdateDynamicObjectsSynchronous\",\n  \"UpdateInterval\",\n  \"UpdatePacletSites\",\n  \"UpdateSearchIndex\",\n  \"UpDownArrow\",\n  \"UpEquilibrium\",\n  \"UpperCaseQ\",\n  \"UpperLeftArrow\",\n  \"UpperRightArrow\",\n  \"UpperTriangularize\",\n  \"UpperTriangularMatrixQ\",\n  \"Upsample\",\n  \"UpSet\",\n  \"UpSetDelayed\",\n  \"UpTee\",\n  \"UpTeeArrow\",\n  \"UpTo\",\n  \"UpValues\",\n  \"URL\",\n  \"URLBuild\",\n  \"URLDecode\",\n  \"URLDispatcher\",\n  \"URLDownload\",\n  \"URLDownloadSubmit\",\n  \"URLEncode\",\n  \"URLExecute\",\n  \"URLExpand\",\n  \"URLFetch\",\n  \"URLFetchAsynchronous\",\n  \"URLParse\",\n  \"URLQueryDecode\",\n  \"URLQueryEncode\",\n  \"URLRead\",\n  \"URLResponseTime\",\n  \"URLSave\",\n  \"URLSaveAsynchronous\",\n  \"URLShorten\",\n  \"URLSubmit\",\n  \"UseGraphicsRange\",\n  \"UserDefinedWavelet\",\n  \"Using\",\n  \"UsingFrontEnd\",\n  \"UtilityFunction\",\n  \"V2Get\",\n  \"ValenceErrorHandling\",\n  \"ValidationLength\",\n  \"ValidationSet\",\n  \"Value\",\n  \"ValueBox\",\n  \"ValueBoxOptions\",\n  \"ValueDimensions\",\n  \"ValueForm\",\n  \"ValuePreprocessingFunction\",\n  \"ValueQ\",\n  \"Values\",\n  \"ValuesData\",\n  \"Variables\",\n  \"Variance\",\n  \"VarianceEquivalenceTest\",\n  \"VarianceEstimatorFunction\",\n  \"VarianceGammaDistribution\",\n  \"VarianceTest\",\n  \"VectorAngle\",\n  \"VectorAround\",\n  \"VectorAspectRatio\",\n  \"VectorColorFunction\",\n  \"VectorColorFunctionScaling\",\n  \"VectorDensityPlot\",\n  \"VectorGlyphData\",\n  \"VectorGreater\",\n  \"VectorGreaterEqual\",\n  \"VectorLess\",\n  \"VectorLessEqual\",\n  \"VectorMarkers\",\n  \"VectorPlot\",\n  \"VectorPlot3D\",\n  \"VectorPoints\",\n  \"VectorQ\",\n  \"VectorRange\",\n  \"Vectors\",\n  \"VectorScale\",\n  \"VectorScaling\",\n  \"VectorSizes\",\n  \"VectorStyle\",\n  \"Vee\",\n  \"Verbatim\",\n  \"Verbose\",\n  \"VerboseConvertToPostScriptPacket\",\n  \"VerificationTest\",\n  \"VerifyConvergence\",\n  \"VerifyDerivedKey\",\n  \"VerifyDigitalSignature\",\n  \"VerifyFileSignature\",\n  \"VerifyInterpretation\",\n  \"VerifySecurityCertificates\",\n  \"VerifySolutions\",\n  \"VerifyTestAssumptions\",\n  \"Version\",\n  \"VersionedPreferences\",\n  \"VersionNumber\",\n  \"VertexAdd\",\n  \"VertexCapacity\",\n  \"VertexColors\",\n  \"VertexComponent\",\n  \"VertexConnectivity\",\n  \"VertexContract\",\n  \"VertexCoordinateRules\",\n  \"VertexCoordinates\",\n  \"VertexCorrelationSimilarity\",\n  \"VertexCosineSimilarity\",\n  \"VertexCount\",\n  \"VertexCoverQ\",\n  \"VertexDataCoordinates\",\n  \"VertexDegree\",\n  \"VertexDelete\",\n  \"VertexDiceSimilarity\",\n  \"VertexEccentricity\",\n  \"VertexInComponent\",\n  \"VertexInDegree\",\n  \"VertexIndex\",\n  \"VertexJaccardSimilarity\",\n  \"VertexLabeling\",\n  \"VertexLabels\",\n  \"VertexLabelStyle\",\n  \"VertexList\",\n  \"VertexNormals\",\n  \"VertexOutComponent\",\n  \"VertexOutDegree\",\n  \"VertexQ\",\n  \"VertexRenderingFunction\",\n  \"VertexReplace\",\n  \"VertexShape\",\n  \"VertexShapeFunction\",\n  \"VertexSize\",\n  \"VertexStyle\",\n  \"VertexTextureCoordinates\",\n  \"VertexWeight\",\n  \"VertexWeightedGraphQ\",\n  \"Vertical\",\n  \"VerticalBar\",\n  \"VerticalForm\",\n  \"VerticalGauge\",\n  \"VerticalSeparator\",\n  \"VerticalSlider\",\n  \"VerticalTilde\",\n  \"Video\",\n  \"VideoEncoding\",\n  \"VideoExtractFrames\",\n  \"VideoFrameList\",\n  \"VideoFrameMap\",\n  \"VideoPause\",\n  \"VideoPlay\",\n  \"VideoQ\",\n  \"VideoStop\",\n  \"VideoStream\",\n  \"VideoStreams\",\n  \"VideoTimeSeries\",\n  \"VideoTracks\",\n  \"VideoTrim\",\n  \"ViewAngle\",\n  \"ViewCenter\",\n  \"ViewMatrix\",\n  \"ViewPoint\",\n  \"ViewPointSelectorSettings\",\n  \"ViewPort\",\n  \"ViewProjection\",\n  \"ViewRange\",\n  \"ViewVector\",\n  \"ViewVertical\",\n  \"VirtualGroupData\",\n  \"Visible\",\n  \"VisibleCell\",\n  \"VoiceStyleData\",\n  \"VoigtDistribution\",\n  \"VolcanoData\",\n  \"Volume\",\n  \"VonMisesDistribution\",\n  \"VoronoiMesh\",\n  \"WaitAll\",\n  \"WaitAsynchronousTask\",\n  \"WaitNext\",\n  \"WaitUntil\",\n  \"WakebyDistribution\",\n  \"WalleniusHypergeometricDistribution\",\n  \"WaringYuleDistribution\",\n  \"WarpingCorrespondence\",\n  \"WarpingDistance\",\n  \"WatershedComponents\",\n  \"WatsonUSquareTest\",\n  \"WattsStrogatzGraphDistribution\",\n  \"WaveletBestBasis\",\n  \"WaveletFilterCoefficients\",\n  \"WaveletImagePlot\",\n  \"WaveletListPlot\",\n  \"WaveletMapIndexed\",\n  \"WaveletMatrixPlot\",\n  \"WaveletPhi\",\n  \"WaveletPsi\",\n  \"WaveletScale\",\n  \"WaveletScalogram\",\n  \"WaveletThreshold\",\n  \"WeaklyConnectedComponents\",\n  \"WeaklyConnectedGraphComponents\",\n  \"WeaklyConnectedGraphQ\",\n  \"WeakStationarity\",\n  \"WeatherData\",\n  \"WeatherForecastData\",\n  \"WebAudioSearch\",\n  \"WebElementObject\",\n  \"WeberE\",\n  \"WebExecute\",\n  \"WebImage\",\n  \"WebImageSearch\",\n  \"WebSearch\",\n  \"WebSessionObject\",\n  \"WebSessions\",\n  \"WebWindowObject\",\n  \"Wedge\",\n  \"Wednesday\",\n  \"WeibullDistribution\",\n  \"WeierstrassE1\",\n  \"WeierstrassE2\",\n  \"WeierstrassE3\",\n  \"WeierstrassEta1\",\n  \"WeierstrassEta2\",\n  \"WeierstrassEta3\",\n  \"WeierstrassHalfPeriods\",\n  \"WeierstrassHalfPeriodW1\",\n  \"WeierstrassHalfPeriodW2\",\n  \"WeierstrassHalfPeriodW3\",\n  \"WeierstrassInvariantG2\",\n  \"WeierstrassInvariantG3\",\n  \"WeierstrassInvariants\",\n  \"WeierstrassP\",\n  \"WeierstrassPPrime\",\n  \"WeierstrassSigma\",\n  \"WeierstrassZeta\",\n  \"WeightedAdjacencyGraph\",\n  \"WeightedAdjacencyMatrix\",\n  \"WeightedData\",\n  \"WeightedGraphQ\",\n  \"Weights\",\n  \"WelchWindow\",\n  \"WheelGraph\",\n  \"WhenEvent\",\n  \"Which\",\n  \"While\",\n  \"White\",\n  \"WhiteNoiseProcess\",\n  \"WhitePoint\",\n  \"Whitespace\",\n  \"WhitespaceCharacter\",\n  \"WhittakerM\",\n  \"WhittakerW\",\n  \"WienerFilter\",\n  \"WienerProcess\",\n  \"WignerD\",\n  \"WignerSemicircleDistribution\",\n  \"WikidataData\",\n  \"WikidataSearch\",\n  \"WikipediaData\",\n  \"WikipediaSearch\",\n  \"WilksW\",\n  \"WilksWTest\",\n  \"WindDirectionData\",\n  \"WindingCount\",\n  \"WindingPolygon\",\n  \"WindowClickSelect\",\n  \"WindowElements\",\n  \"WindowFloating\",\n  \"WindowFrame\",\n  \"WindowFrameElements\",\n  \"WindowMargins\",\n  \"WindowMovable\",\n  \"WindowOpacity\",\n  \"WindowPersistentStyles\",\n  \"WindowSelected\",\n  \"WindowSize\",\n  \"WindowStatusArea\",\n  \"WindowTitle\",\n  \"WindowToolbars\",\n  \"WindowWidth\",\n  \"WindSpeedData\",\n  \"WindVectorData\",\n  \"WinsorizedMean\",\n  \"WinsorizedVariance\",\n  \"WishartMatrixDistribution\",\n  \"With\",\n  \"WolframAlpha\",\n  \"WolframAlphaDate\",\n  \"WolframAlphaQuantity\",\n  \"WolframAlphaResult\",\n  \"WolframLanguageData\",\n  \"Word\",\n  \"WordBoundary\",\n  \"WordCharacter\",\n  \"WordCloud\",\n  \"WordCount\",\n  \"WordCounts\",\n  \"WordData\",\n  \"WordDefinition\",\n  \"WordFrequency\",\n  \"WordFrequencyData\",\n  \"WordList\",\n  \"WordOrientation\",\n  \"WordSearch\",\n  \"WordSelectionFunction\",\n  \"WordSeparators\",\n  \"WordSpacings\",\n  \"WordStem\",\n  \"WordTranslation\",\n  \"WorkingPrecision\",\n  \"WrapAround\",\n  \"Write\",\n  \"WriteLine\",\n  \"WriteString\",\n  \"Wronskian\",\n  \"XMLElement\",\n  \"XMLObject\",\n  \"XMLTemplate\",\n  \"Xnor\",\n  \"Xor\",\n  \"XYZColor\",\n  \"Yellow\",\n  \"Yesterday\",\n  \"YuleDissimilarity\",\n  \"ZernikeR\",\n  \"ZeroSymmetric\",\n  \"ZeroTest\",\n  \"ZeroWidthTimes\",\n  \"Zeta\",\n  \"ZetaZero\",\n  \"ZIPCodeData\",\n  \"ZipfDistribution\",\n  \"ZoomCenter\",\n  \"ZoomFactor\",\n  \"ZTest\",\n  \"ZTransform\",\n  \"$Aborted\",\n  \"$ActivationGroupID\",\n  \"$ActivationKey\",\n  \"$ActivationUserRegistered\",\n  \"$AddOnsDirectory\",\n  \"$AllowDataUpdates\",\n  \"$AllowExternalChannelFunctions\",\n  \"$AllowInternet\",\n  \"$AssertFunction\",\n  \"$Assumptions\",\n  \"$AsynchronousTask\",\n  \"$AudioDecoders\",\n  \"$AudioEncoders\",\n  \"$AudioInputDevices\",\n  \"$AudioOutputDevices\",\n  \"$BaseDirectory\",\n  \"$BasePacletsDirectory\",\n  \"$BatchInput\",\n  \"$BatchOutput\",\n  \"$BlockchainBase\",\n  \"$BoxForms\",\n  \"$ByteOrdering\",\n  \"$CacheBaseDirectory\",\n  \"$Canceled\",\n  \"$ChannelBase\",\n  \"$CharacterEncoding\",\n  \"$CharacterEncodings\",\n  \"$CloudAccountName\",\n  \"$CloudBase\",\n  \"$CloudConnected\",\n  \"$CloudConnection\",\n  \"$CloudCreditsAvailable\",\n  \"$CloudEvaluation\",\n  \"$CloudExpressionBase\",\n  \"$CloudObjectNameFormat\",\n  \"$CloudObjectURLType\",\n  \"$CloudRootDirectory\",\n  \"$CloudSymbolBase\",\n  \"$CloudUserID\",\n  \"$CloudUserUUID\",\n  \"$CloudVersion\",\n  \"$CloudVersionNumber\",\n  \"$CloudWolframEngineVersionNumber\",\n  \"$CommandLine\",\n  \"$CompilationTarget\",\n  \"$ConditionHold\",\n  \"$ConfiguredKernels\",\n  \"$Context\",\n  \"$ContextPath\",\n  \"$ControlActiveSetting\",\n  \"$Cookies\",\n  \"$CookieStore\",\n  \"$CreationDate\",\n  \"$CurrentLink\",\n  \"$CurrentTask\",\n  \"$CurrentWebSession\",\n  \"$DataStructures\",\n  \"$DateStringFormat\",\n  \"$DefaultAudioInputDevice\",\n  \"$DefaultAudioOutputDevice\",\n  \"$DefaultFont\",\n  \"$DefaultFrontEnd\",\n  \"$DefaultImagingDevice\",\n  \"$DefaultLocalBase\",\n  \"$DefaultMailbox\",\n  \"$DefaultNetworkInterface\",\n  \"$DefaultPath\",\n  \"$DefaultProxyRules\",\n  \"$DefaultSystemCredentialStore\",\n  \"$Display\",\n  \"$DisplayFunction\",\n  \"$DistributedContexts\",\n  \"$DynamicEvaluation\",\n  \"$Echo\",\n  \"$EmbedCodeEnvironments\",\n  \"$EmbeddableServices\",\n  \"$EntityStores\",\n  \"$Epilog\",\n  \"$EvaluationCloudBase\",\n  \"$EvaluationCloudObject\",\n  \"$EvaluationEnvironment\",\n  \"$ExportFormats\",\n  \"$ExternalIdentifierTypes\",\n  \"$ExternalStorageBase\",\n  \"$Failed\",\n  \"$FinancialDataSource\",\n  \"$FontFamilies\",\n  \"$FormatType\",\n  \"$FrontEnd\",\n  \"$FrontEndSession\",\n  \"$GeoEntityTypes\",\n  \"$GeoLocation\",\n  \"$GeoLocationCity\",\n  \"$GeoLocationCountry\",\n  \"$GeoLocationPrecision\",\n  \"$GeoLocationSource\",\n  \"$HistoryLength\",\n  \"$HomeDirectory\",\n  \"$HTMLExportRules\",\n  \"$HTTPCookies\",\n  \"$HTTPRequest\",\n  \"$IgnoreEOF\",\n  \"$ImageFormattingWidth\",\n  \"$ImageResolution\",\n  \"$ImagingDevice\",\n  \"$ImagingDevices\",\n  \"$ImportFormats\",\n  \"$IncomingMailSettings\",\n  \"$InitialDirectory\",\n  \"$Initialization\",\n  \"$InitializationContexts\",\n  \"$Input\",\n  \"$InputFileName\",\n  \"$InputStreamMethods\",\n  \"$Inspector\",\n  \"$InstallationDate\",\n  \"$InstallationDirectory\",\n  \"$InterfaceEnvironment\",\n  \"$InterpreterTypes\",\n  \"$IterationLimit\",\n  \"$KernelCount\",\n  \"$KernelID\",\n  \"$Language\",\n  \"$LaunchDirectory\",\n  \"$LibraryPath\",\n  \"$LicenseExpirationDate\",\n  \"$LicenseID\",\n  \"$LicenseProcesses\",\n  \"$LicenseServer\",\n  \"$LicenseSubprocesses\",\n  \"$LicenseType\",\n  \"$Line\",\n  \"$Linked\",\n  \"$LinkSupported\",\n  \"$LoadedFiles\",\n  \"$LocalBase\",\n  \"$LocalSymbolBase\",\n  \"$MachineAddresses\",\n  \"$MachineDomain\",\n  \"$MachineDomains\",\n  \"$MachineEpsilon\",\n  \"$MachineID\",\n  \"$MachineName\",\n  \"$MachinePrecision\",\n  \"$MachineType\",\n  \"$MaxExtraPrecision\",\n  \"$MaxLicenseProcesses\",\n  \"$MaxLicenseSubprocesses\",\n  \"$MaxMachineNumber\",\n  \"$MaxNumber\",\n  \"$MaxPiecewiseCases\",\n  \"$MaxPrecision\",\n  \"$MaxRootDegree\",\n  \"$MessageGroups\",\n  \"$MessageList\",\n  \"$MessagePrePrint\",\n  \"$Messages\",\n  \"$MinMachineNumber\",\n  \"$MinNumber\",\n  \"$MinorReleaseNumber\",\n  \"$MinPrecision\",\n  \"$MobilePhone\",\n  \"$ModuleNumber\",\n  \"$NetworkConnected\",\n  \"$NetworkInterfaces\",\n  \"$NetworkLicense\",\n  \"$NewMessage\",\n  \"$NewSymbol\",\n  \"$NotebookInlineStorageLimit\",\n  \"$Notebooks\",\n  \"$NoValue\",\n  \"$NumberMarks\",\n  \"$Off\",\n  \"$OperatingSystem\",\n  \"$Output\",\n  \"$OutputForms\",\n  \"$OutputSizeLimit\",\n  \"$OutputStreamMethods\",\n  \"$Packages\",\n  \"$ParentLink\",\n  \"$ParentProcessID\",\n  \"$PasswordFile\",\n  \"$PatchLevelID\",\n  \"$Path\",\n  \"$PathnameSeparator\",\n  \"$PerformanceGoal\",\n  \"$Permissions\",\n  \"$PermissionsGroupBase\",\n  \"$PersistenceBase\",\n  \"$PersistencePath\",\n  \"$PipeSupported\",\n  \"$PlotTheme\",\n  \"$Post\",\n  \"$Pre\",\n  \"$PreferencesDirectory\",\n  \"$PreInitialization\",\n  \"$PrePrint\",\n  \"$PreRead\",\n  \"$PrintForms\",\n  \"$PrintLiteral\",\n  \"$Printout3DPreviewer\",\n  \"$ProcessID\",\n  \"$ProcessorCount\",\n  \"$ProcessorType\",\n  \"$ProductInformation\",\n  \"$ProgramName\",\n  \"$PublisherID\",\n  \"$RandomState\",\n  \"$RecursionLimit\",\n  \"$RegisteredDeviceClasses\",\n  \"$RegisteredUserName\",\n  \"$ReleaseNumber\",\n  \"$RequesterAddress\",\n  \"$RequesterWolframID\",\n  \"$RequesterWolframUUID\",\n  \"$RootDirectory\",\n  \"$ScheduledTask\",\n  \"$ScriptCommandLine\",\n  \"$ScriptInputString\",\n  \"$SecuredAuthenticationKeyTokens\",\n  \"$ServiceCreditsAvailable\",\n  \"$Services\",\n  \"$SessionID\",\n  \"$SetParentLink\",\n  \"$SharedFunctions\",\n  \"$SharedVariables\",\n  \"$SoundDisplay\",\n  \"$SoundDisplayFunction\",\n  \"$SourceLink\",\n  \"$SSHAuthentication\",\n  \"$SubtitleDecoders\",\n  \"$SubtitleEncoders\",\n  \"$SummaryBoxDataSizeLimit\",\n  \"$SuppressInputFormHeads\",\n  \"$SynchronousEvaluation\",\n  \"$SyntaxHandler\",\n  \"$System\",\n  \"$SystemCharacterEncoding\",\n  \"$SystemCredentialStore\",\n  \"$SystemID\",\n  \"$SystemMemory\",\n  \"$SystemShell\",\n  \"$SystemTimeZone\",\n  \"$SystemWordLength\",\n  \"$TemplatePath\",\n  \"$TemporaryDirectory\",\n  \"$TemporaryPrefix\",\n  \"$TestFileName\",\n  \"$TextStyle\",\n  \"$TimedOut\",\n  \"$TimeUnit\",\n  \"$TimeZone\",\n  \"$TimeZoneEntity\",\n  \"$TopDirectory\",\n  \"$TraceOff\",\n  \"$TraceOn\",\n  \"$TracePattern\",\n  \"$TracePostAction\",\n  \"$TracePreAction\",\n  \"$UnitSystem\",\n  \"$Urgent\",\n  \"$UserAddOnsDirectory\",\n  \"$UserAgentLanguages\",\n  \"$UserAgentMachine\",\n  \"$UserAgentName\",\n  \"$UserAgentOperatingSystem\",\n  \"$UserAgentString\",\n  \"$UserAgentVersion\",\n  \"$UserBaseDirectory\",\n  \"$UserBasePacletsDirectory\",\n  \"$UserDocumentsDirectory\",\n  \"$Username\",\n  \"$UserName\",\n  \"$UserURLBase\",\n  \"$Version\",\n  \"$VersionNumber\",\n  \"$VideoDecoders\",\n  \"$VideoEncoders\",\n  \"$VoiceStyles\",\n  \"$WolframDocumentsDirectory\",\n  \"$WolframID\",\n  \"$WolframUUID\"\n];\n\n/**\n * @param {string} value\n * @returns {RegExp}\n * */\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction source(re) {\n  if (!re) return null;\n  if (typeof re === \"string\") return re;\n\n  return re.source;\n}\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction optional(re) {\n  return concat('(', re, ')?');\n}\n\n/**\n * @param {...(RegExp | string) } args\n * @returns {string}\n */\nfunction concat(...args) {\n  const joined = args.map((x) => source(x)).join(\"\");\n  return joined;\n}\n\n/**\n * Any of the passed expresssions may match\n *\n * Creates a huge this | this | that | that match\n * @param {(RegExp | string)[] } args\n * @returns {string}\n */\nfunction either(...args) {\n  const joined = '(' + args.map((x) => source(x)).join(\"|\") + \")\";\n  return joined;\n}\n\n/*\nLanguage: Wolfram Language\nDescription: The Wolfram Language is the programming language used in Wolfram Mathematica, a modern technical computing system spanning most areas of technical computing.\nAuthors: Patrick Scheibe , Robert Jacobson \nWebsite: https://www.wolfram.com/mathematica/\nCategory: scientific\n*/\n\n/** @type LanguageFn */\nfunction mathematica(hljs) {\n  /*\n  This rather scary looking matching of Mathematica numbers is carefully explained by Robert Jacobson here:\n  https://wltools.github.io/LanguageSpec/Specification/Syntax/Number-representations/\n   */\n  const BASE_RE = /([2-9]|[1-2]\\d|[3][0-5])\\^\\^/;\n  const BASE_DIGITS_RE = /(\\w*\\.\\w+|\\w+\\.\\w*|\\w+)/;\n  const NUMBER_RE = /(\\d*\\.\\d+|\\d+\\.\\d*|\\d+)/;\n  const BASE_NUMBER_RE = either(concat(BASE_RE, BASE_DIGITS_RE), NUMBER_RE);\n\n  const ACCURACY_RE = /``[+-]?(\\d*\\.\\d+|\\d+\\.\\d*|\\d+)/;\n  const PRECISION_RE = /`([+-]?(\\d*\\.\\d+|\\d+\\.\\d*|\\d+))?/;\n  const APPROXIMATE_NUMBER_RE = either(ACCURACY_RE, PRECISION_RE);\n\n  const SCIENTIFIC_NOTATION_RE = /\\*\\^[+-]?\\d+/;\n\n  const MATHEMATICA_NUMBER_RE = concat(\n    BASE_NUMBER_RE,\n    optional(APPROXIMATE_NUMBER_RE),\n    optional(SCIENTIFIC_NOTATION_RE)\n  );\n\n  const NUMBERS = {\n    className: 'number',\n    relevance: 0,\n    begin: MATHEMATICA_NUMBER_RE\n  };\n\n  const SYMBOL_RE = /[a-zA-Z$][a-zA-Z0-9$]*/;\n  const SYSTEM_SYMBOLS_SET = new Set(SYSTEM_SYMBOLS);\n  /** @type {Mode} */\n  const SYMBOLS = {\n    variants: [\n      {\n        className: 'builtin-symbol',\n        begin: SYMBOL_RE,\n        // for performance out of fear of regex.either(...Mathematica.SYSTEM_SYMBOLS)\n        \"on:begin\": (match, response) => {\n          if (!SYSTEM_SYMBOLS_SET.has(match[0])) response.ignoreMatch();\n        }\n      },\n      {\n        className: 'symbol',\n        relevance: 0,\n        begin: SYMBOL_RE\n      }\n    ]\n  };\n\n  const NAMED_CHARACTER = {\n    className: 'named-character',\n    begin: /\\\\\\[[$a-zA-Z][$a-zA-Z0-9]+\\]/\n  };\n\n  const OPERATORS = {\n    className: 'operator',\n    relevance: 0,\n    begin: /[+\\-*/,;.:@~=><&|_`'^?!%]+/\n  };\n  const PATTERNS = {\n    className: 'pattern',\n    relevance: 0,\n    begin: /([a-zA-Z$][a-zA-Z0-9$]*)?_+([a-zA-Z$][a-zA-Z0-9$]*)?/\n  };\n\n  const SLOTS = {\n    className: 'slot',\n    relevance: 0,\n    begin: /#[a-zA-Z$][a-zA-Z0-9$]*|#+[0-9]?/\n  };\n\n  const BRACES = {\n    className: 'brace',\n    relevance: 0,\n    begin: /[[\\](){}]/\n  };\n\n  const MESSAGES = {\n    className: 'message-name',\n    relevance: 0,\n    begin: concat(\"::\", SYMBOL_RE)\n  };\n\n  return {\n    name: 'Mathematica',\n    aliases: [\n      'mma',\n      'wl'\n    ],\n    classNameAliases: {\n      brace: 'punctuation',\n      pattern: 'type',\n      slot: 'type',\n      symbol: 'variable',\n      'named-character': 'variable',\n      'builtin-symbol': 'built_in',\n      'message-name': 'string'\n    },\n    contains: [\n      hljs.COMMENT(/\\(\\*/, /\\*\\)/, {\n        contains: [ 'self' ]\n      }),\n      PATTERNS,\n      SLOTS,\n      MESSAGES,\n      SYMBOLS,\n      NAMED_CHARACTER,\n      hljs.QUOTE_STRING_MODE,\n      NUMBERS,\n      OPERATORS,\n      BRACES\n    ]\n  };\n}\n\nmodule.exports = mathematica;\n","/*\nLanguage: Parser3\nRequires: xml.js\nAuthor: Oleg Volchkov \nWebsite: https://www.parser.ru/en/\nCategory: template\n*/\n\nfunction parser3(hljs) {\n  const CURLY_SUBCOMMENT = hljs.COMMENT(\n    /\\{/,\n    /\\}/,\n    {\n      contains: [ 'self' ]\n    }\n  );\n  return {\n    name: 'Parser3',\n    subLanguage: 'xml',\n    relevance: 0,\n    contains: [\n      hljs.COMMENT('^#', '$'),\n      hljs.COMMENT(\n        /\\^rem\\{/,\n        /\\}/,\n        {\n          relevance: 10,\n          contains: [ CURLY_SUBCOMMENT ]\n        }\n      ),\n      {\n        className: 'meta',\n        begin: '^@(?:BASE|USE|CLASS|OPTIONS)$',\n        relevance: 10\n      },\n      {\n        className: 'title',\n        begin: '@[\\\\w\\\\-]+\\\\[[\\\\w^;\\\\-]*\\\\](?:\\\\[[\\\\w^;\\\\-]*\\\\])?(?:.*)$'\n      },\n      {\n        className: 'variable',\n        begin: /\\$\\{?[\\w\\-.:]+\\}?/\n      },\n      {\n        className: 'keyword',\n        begin: /\\^[\\w\\-.:]+/\n      },\n      {\n        className: 'number',\n        begin: '\\\\^#[0-9a-fA-F]+'\n      },\n      hljs.C_NUMBER_MODE\n    ]\n  };\n}\n\nmodule.exports = parser3;\n","/*\nLanguage: OpenSCAD\nAuthor: Dan Panzarella \nDescription: OpenSCAD is a language for the 3D CAD modeling software of the same name.\nWebsite: https://www.openscad.org\nCategory: scientific\n*/\n\nfunction openscad(hljs) {\n  const SPECIAL_VARS = {\n    className: 'keyword',\n    begin: '\\\\$(f[asn]|t|vp[rtd]|children)'\n  };\n  const LITERALS = {\n    className: 'literal',\n    begin: 'false|true|PI|undef'\n  };\n  const NUMBERS = {\n    className: 'number',\n    begin: '\\\\b\\\\d+(\\\\.\\\\d+)?(e-?\\\\d+)?', // adds 1e5, 1e-10\n    relevance: 0\n  };\n  const STRING = hljs.inherit(hljs.QUOTE_STRING_MODE, {\n    illegal: null\n  });\n  const PREPRO = {\n    className: 'meta',\n    keywords: {\n      'meta-keyword': 'include use'\n    },\n    begin: 'include|use <',\n    end: '>'\n  };\n  const PARAMS = {\n    className: 'params',\n    begin: '\\\\(',\n    end: '\\\\)',\n    contains: [\n      'self',\n      NUMBERS,\n      STRING,\n      SPECIAL_VARS,\n      LITERALS\n    ]\n  };\n  const MODIFIERS = {\n    begin: '[*!#%]',\n    relevance: 0\n  };\n  const FUNCTIONS = {\n    className: 'function',\n    beginKeywords: 'module function',\n    end: /=|\\{/,\n    contains: [\n      PARAMS,\n      hljs.UNDERSCORE_TITLE_MODE\n    ]\n  };\n\n  return {\n    name: 'OpenSCAD',\n    aliases: [ 'scad' ],\n    keywords: {\n      keyword: 'function module include use for intersection_for if else \\\\%',\n      literal: 'false true PI undef',\n      built_in: 'circle square polygon text sphere cube cylinder polyhedron translate rotate scale resize mirror multmatrix color offset hull minkowski union difference intersection abs sign sin cos tan acos asin atan atan2 floor round ceil ln log pow sqrt exp rands min max concat lookup str chr search version version_num norm cross parent_module echo import import_dxf dxf_linear_extrude linear_extrude rotate_extrude surface projection render children dxf_cross dxf_dim let assign'\n    },\n    contains: [\n      hljs.C_LINE_COMMENT_MODE,\n      hljs.C_BLOCK_COMMENT_MODE,\n      NUMBERS,\n      PREPRO,\n      STRING,\n      SPECIAL_VARS,\n      MODIFIERS,\n      FUNCTIONS\n    ]\n  };\n}\n\nmodule.exports = openscad;\n","/*\n Language: dsconfig\n Description: dsconfig batch configuration language for LDAP directory servers\n Contributors: Jacob Childress \n Category: enterprise, config\n */\n\n /** @type LanguageFn */\nfunction dsconfig(hljs) {\n  const QUOTED_PROPERTY = {\n    className: 'string',\n    begin: /\"/,\n    end: /\"/\n  };\n  const APOS_PROPERTY = {\n    className: 'string',\n    begin: /'/,\n    end: /'/\n  };\n  const UNQUOTED_PROPERTY = {\n    className: 'string',\n    begin: /[\\w\\-?]+:\\w+/,\n    end: /\\W/,\n    relevance: 0\n  };\n  const VALUELESS_PROPERTY = {\n    className: 'string',\n    begin: /\\w+(\\-\\w+)*/,\n    end: /(?=\\W)/,\n    relevance: 0\n  };\n\n  return {\n    keywords: 'dsconfig',\n    contains: [\n      {\n        className: 'keyword',\n        begin: '^dsconfig',\n        end: /\\s/,\n        excludeEnd: true,\n        relevance: 10\n      },\n      {\n        className: 'built_in',\n        begin: /(list|create|get|set|delete)-(\\w+)/,\n        end: /\\s/,\n        excludeEnd: true,\n        illegal: '!@#$%^&*()',\n        relevance: 10\n      },\n      {\n        className: 'built_in',\n        begin: /--(\\w+)/,\n        end: /\\s/,\n        excludeEnd: true\n      },\n      QUOTED_PROPERTY,\n      APOS_PROPERTY,\n      UNQUOTED_PROPERTY,\n      VALUELESS_PROPERTY,\n      hljs.HASH_COMMENT_MODE\n    ]\n  };\n}\n\nmodule.exports = dsconfig;\n","/*\nLanguage: Objective-C\nAuthor: Valerii Hiora \nContributors: Angel G. Olloqui , Matt Diephouse , Andrew Farmer , Minh Nguyễn \nWebsite: https://developer.apple.com/documentation/objectivec\nCategory: common\n*/\n\nfunction objectivec(hljs) {\n  const API_CLASS = {\n    className: 'built_in',\n    begin: '\\\\b(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)\\\\w+'\n  };\n  const IDENTIFIER_RE = /[a-zA-Z@][a-zA-Z0-9_]*/;\n  const OBJC_KEYWORDS = {\n    $pattern: IDENTIFIER_RE,\n    keyword:\n      'int float while char export sizeof typedef const struct for union ' +\n      'unsigned long volatile static bool mutable if do return goto void ' +\n      'enum else break extern asm case short default double register explicit ' +\n      'signed typename this switch continue wchar_t inline readonly assign ' +\n      'readwrite self @synchronized id typeof ' +\n      'nonatomic super unichar IBOutlet IBAction strong weak copy ' +\n      'in out inout bycopy byref oneway __strong __weak __block __autoreleasing ' +\n      '@private @protected @public @try @property @end @throw @catch @finally ' +\n      '@autoreleasepool @synthesize @dynamic @selector @optional @required ' +\n      '@encode @package @import @defs @compatibility_alias ' +\n      '__bridge __bridge_transfer __bridge_retained __bridge_retain ' +\n      '__covariant __contravariant __kindof ' +\n      '_Nonnull _Nullable _Null_unspecified ' +\n      '__FUNCTION__ __PRETTY_FUNCTION__ __attribute__ ' +\n      'getter setter retain unsafe_unretained ' +\n      'nonnull nullable null_unspecified null_resettable class instancetype ' +\n      'NS_DESIGNATED_INITIALIZER NS_UNAVAILABLE NS_REQUIRES_SUPER ' +\n      'NS_RETURNS_INNER_POINTER NS_INLINE NS_AVAILABLE NS_DEPRECATED ' +\n      'NS_ENUM NS_OPTIONS NS_SWIFT_UNAVAILABLE ' +\n      'NS_ASSUME_NONNULL_BEGIN NS_ASSUME_NONNULL_END ' +\n      'NS_REFINED_FOR_SWIFT NS_SWIFT_NAME NS_SWIFT_NOTHROW ' +\n      'NS_DURING NS_HANDLER NS_ENDHANDLER NS_VALUERETURN NS_VOIDRETURN',\n    literal:\n      'false true FALSE TRUE nil YES NO NULL',\n    built_in:\n      'BOOL dispatch_once_t dispatch_queue_t dispatch_sync dispatch_async dispatch_once'\n  };\n  const CLASS_KEYWORDS = {\n    $pattern: IDENTIFIER_RE,\n    keyword: '@interface @class @protocol @implementation'\n  };\n  return {\n    name: 'Objective-C',\n    aliases: [\n      'mm',\n      'objc',\n      'obj-c',\n      'obj-c++',\n      'objective-c++'\n    ],\n    keywords: OBJC_KEYWORDS,\n    illegal: '/,\n            end: /$/,\n            illegal: '\\\\n'\n          },\n          hljs.C_LINE_COMMENT_MODE,\n          hljs.C_BLOCK_COMMENT_MODE\n        ]\n      },\n      {\n        className: 'class',\n        begin: '(' + CLASS_KEYWORDS.keyword.split(' ').join('|') + ')\\\\b',\n        end: /(\\{|$)/,\n        excludeEnd: true,\n        keywords: CLASS_KEYWORDS,\n        contains: [ hljs.UNDERSCORE_TITLE_MODE ]\n      },\n      {\n        begin: '\\\\.' + hljs.UNDERSCORE_IDENT_RE,\n        relevance: 0\n      }\n    ]\n  };\n}\n\nmodule.exports = objectivec;\n","/*\nLanguage: Packet Filter config\nDescription: pf.conf — packet filter configuration file (OpenBSD)\nAuthor: Peter Piwowarski \nWebsite: http://man.openbsd.org/pf.conf\nCategory: config\n*/\n\nfunction pf(hljs) {\n  const MACRO = {\n    className: 'variable',\n    begin: /\\$[\\w\\d#@][\\w\\d_]*/\n  };\n  const TABLE = {\n    className: 'variable',\n    begin: /<(?!\\/)/,\n    end: />/\n  };\n\n  return {\n    name: 'Packet Filter config',\n    aliases: [ 'pf.conf' ],\n    keywords: {\n      $pattern: /[a-z0-9_<>-]+/,\n      built_in: /* block match pass are \"actions\" in pf.conf(5), the rest are\n                 * lexically similar top-level commands.\n                 */\n        'block match pass load anchor|5 antispoof|10 set table',\n      keyword:\n        'in out log quick on rdomain inet inet6 proto from port os to route ' +\n        'allow-opts divert-packet divert-reply divert-to flags group icmp-type ' +\n        'icmp6-type label once probability recieved-on rtable prio queue ' +\n        'tos tag tagged user keep fragment for os drop ' +\n        'af-to|10 binat-to|10 nat-to|10 rdr-to|10 bitmask least-stats random round-robin ' +\n        'source-hash static-port ' +\n        'dup-to reply-to route-to ' +\n        'parent bandwidth default min max qlimit ' +\n        'block-policy debug fingerprints hostid limit loginterface optimization ' +\n        'reassemble ruleset-optimization basic none profile skip state-defaults ' +\n        'state-policy timeout ' +\n        'const counters persist ' +\n        'no modulate synproxy state|5 floating if-bound no-sync pflow|10 sloppy ' +\n        'source-track global rule max-src-nodes max-src-states max-src-conn ' +\n        'max-src-conn-rate overload flush ' +\n        'scrub|5 max-mss min-ttl no-df|10 random-id',\n      literal:\n        'all any no-route self urpf-failed egress|5 unknown'\n    },\n    contains: [\n      hljs.HASH_COMMENT_MODE,\n      hljs.NUMBER_MODE,\n      hljs.QUOTE_STRING_MODE,\n      MACRO,\n      TABLE\n    ]\n  };\n}\n\nmodule.exports = pf;\n","/*\nLanguage: GLSL\nDescription: OpenGL Shading Language\nAuthor: Sergey Tikhomirov \nWebsite: https://en.wikipedia.org/wiki/OpenGL_Shading_Language\nCategory: graphics\n*/\n\nfunction glsl(hljs) {\n  return {\n    name: 'GLSL',\n    keywords: {\n      keyword:\n        // Statements\n        'break continue discard do else for if return while switch case default ' +\n        // Qualifiers\n        'attribute binding buffer ccw centroid centroid varying coherent column_major const cw ' +\n        'depth_any depth_greater depth_less depth_unchanged early_fragment_tests equal_spacing ' +\n        'flat fractional_even_spacing fractional_odd_spacing highp in index inout invariant ' +\n        'invocations isolines layout line_strip lines lines_adjacency local_size_x local_size_y ' +\n        'local_size_z location lowp max_vertices mediump noperspective offset origin_upper_left ' +\n        'out packed patch pixel_center_integer point_mode points precise precision quads r11f_g11f_b10f ' +\n        'r16 r16_snorm r16f r16i r16ui r32f r32i r32ui r8 r8_snorm r8i r8ui readonly restrict ' +\n        'rg16 rg16_snorm rg16f rg16i rg16ui rg32f rg32i rg32ui rg8 rg8_snorm rg8i rg8ui rgb10_a2 ' +\n        'rgb10_a2ui rgba16 rgba16_snorm rgba16f rgba16i rgba16ui rgba32f rgba32i rgba32ui rgba8 ' +\n        'rgba8_snorm rgba8i rgba8ui row_major sample shared smooth std140 std430 stream triangle_strip ' +\n        'triangles triangles_adjacency uniform varying vertices volatile writeonly',\n      type:\n        'atomic_uint bool bvec2 bvec3 bvec4 dmat2 dmat2x2 dmat2x3 dmat2x4 dmat3 dmat3x2 dmat3x3 ' +\n        'dmat3x4 dmat4 dmat4x2 dmat4x3 dmat4x4 double dvec2 dvec3 dvec4 float iimage1D iimage1DArray ' +\n        'iimage2D iimage2DArray iimage2DMS iimage2DMSArray iimage2DRect iimage3D iimageBuffer ' +\n        'iimageCube iimageCubeArray image1D image1DArray image2D image2DArray image2DMS image2DMSArray ' +\n        'image2DRect image3D imageBuffer imageCube imageCubeArray int isampler1D isampler1DArray ' +\n        'isampler2D isampler2DArray isampler2DMS isampler2DMSArray isampler2DRect isampler3D ' +\n        'isamplerBuffer isamplerCube isamplerCubeArray ivec2 ivec3 ivec4 mat2 mat2x2 mat2x3 ' +\n        'mat2x4 mat3 mat3x2 mat3x3 mat3x4 mat4 mat4x2 mat4x3 mat4x4 sampler1D sampler1DArray ' +\n        'sampler1DArrayShadow sampler1DShadow sampler2D sampler2DArray sampler2DArrayShadow ' +\n        'sampler2DMS sampler2DMSArray sampler2DRect sampler2DRectShadow sampler2DShadow sampler3D ' +\n        'samplerBuffer samplerCube samplerCubeArray samplerCubeArrayShadow samplerCubeShadow ' +\n        'image1D uimage1DArray uimage2D uimage2DArray uimage2DMS uimage2DMSArray uimage2DRect ' +\n        'uimage3D uimageBuffer uimageCube uimageCubeArray uint usampler1D usampler1DArray ' +\n        'usampler2D usampler2DArray usampler2DMS usampler2DMSArray usampler2DRect usampler3D ' +\n        'samplerBuffer usamplerCube usamplerCubeArray uvec2 uvec3 uvec4 vec2 vec3 vec4 void',\n      built_in:\n        // Constants\n        'gl_MaxAtomicCounterBindings gl_MaxAtomicCounterBufferSize gl_MaxClipDistances gl_MaxClipPlanes ' +\n        'gl_MaxCombinedAtomicCounterBuffers gl_MaxCombinedAtomicCounters gl_MaxCombinedImageUniforms ' +\n        'gl_MaxCombinedImageUnitsAndFragmentOutputs gl_MaxCombinedTextureImageUnits gl_MaxComputeAtomicCounterBuffers ' +\n        'gl_MaxComputeAtomicCounters gl_MaxComputeImageUniforms gl_MaxComputeTextureImageUnits ' +\n        'gl_MaxComputeUniformComponents gl_MaxComputeWorkGroupCount gl_MaxComputeWorkGroupSize ' +\n        'gl_MaxDrawBuffers gl_MaxFragmentAtomicCounterBuffers gl_MaxFragmentAtomicCounters ' +\n        'gl_MaxFragmentImageUniforms gl_MaxFragmentInputComponents gl_MaxFragmentInputVectors ' +\n        'gl_MaxFragmentUniformComponents gl_MaxFragmentUniformVectors gl_MaxGeometryAtomicCounterBuffers ' +\n        'gl_MaxGeometryAtomicCounters gl_MaxGeometryImageUniforms gl_MaxGeometryInputComponents ' +\n        'gl_MaxGeometryOutputComponents gl_MaxGeometryOutputVertices gl_MaxGeometryTextureImageUnits ' +\n        'gl_MaxGeometryTotalOutputComponents gl_MaxGeometryUniformComponents gl_MaxGeometryVaryingComponents ' +\n        'gl_MaxImageSamples gl_MaxImageUnits gl_MaxLights gl_MaxPatchVertices gl_MaxProgramTexelOffset ' +\n        'gl_MaxTessControlAtomicCounterBuffers gl_MaxTessControlAtomicCounters gl_MaxTessControlImageUniforms ' +\n        'gl_MaxTessControlInputComponents gl_MaxTessControlOutputComponents gl_MaxTessControlTextureImageUnits ' +\n        'gl_MaxTessControlTotalOutputComponents gl_MaxTessControlUniformComponents ' +\n        'gl_MaxTessEvaluationAtomicCounterBuffers gl_MaxTessEvaluationAtomicCounters ' +\n        'gl_MaxTessEvaluationImageUniforms gl_MaxTessEvaluationInputComponents gl_MaxTessEvaluationOutputComponents ' +\n        'gl_MaxTessEvaluationTextureImageUnits gl_MaxTessEvaluationUniformComponents ' +\n        'gl_MaxTessGenLevel gl_MaxTessPatchComponents gl_MaxTextureCoords gl_MaxTextureImageUnits ' +\n        'gl_MaxTextureUnits gl_MaxVaryingComponents gl_MaxVaryingFloats gl_MaxVaryingVectors ' +\n        'gl_MaxVertexAtomicCounterBuffers gl_MaxVertexAtomicCounters gl_MaxVertexAttribs gl_MaxVertexImageUniforms ' +\n        'gl_MaxVertexOutputComponents gl_MaxVertexOutputVectors gl_MaxVertexTextureImageUnits ' +\n        'gl_MaxVertexUniformComponents gl_MaxVertexUniformVectors gl_MaxViewports gl_MinProgramTexelOffset ' +\n        // Variables\n        'gl_BackColor gl_BackLightModelProduct gl_BackLightProduct gl_BackMaterial ' +\n        'gl_BackSecondaryColor gl_ClipDistance gl_ClipPlane gl_ClipVertex gl_Color ' +\n        'gl_DepthRange gl_EyePlaneQ gl_EyePlaneR gl_EyePlaneS gl_EyePlaneT gl_Fog gl_FogCoord ' +\n        'gl_FogFragCoord gl_FragColor gl_FragCoord gl_FragData gl_FragDepth gl_FrontColor ' +\n        'gl_FrontFacing gl_FrontLightModelProduct gl_FrontLightProduct gl_FrontMaterial ' +\n        'gl_FrontSecondaryColor gl_GlobalInvocationID gl_InstanceID gl_InvocationID gl_Layer gl_LightModel ' +\n        'gl_LightSource gl_LocalInvocationID gl_LocalInvocationIndex gl_ModelViewMatrix ' +\n        'gl_ModelViewMatrixInverse gl_ModelViewMatrixInverseTranspose gl_ModelViewMatrixTranspose ' +\n        'gl_ModelViewProjectionMatrix gl_ModelViewProjectionMatrixInverse gl_ModelViewProjectionMatrixInverseTranspose ' +\n        'gl_ModelViewProjectionMatrixTranspose gl_MultiTexCoord0 gl_MultiTexCoord1 gl_MultiTexCoord2 ' +\n        'gl_MultiTexCoord3 gl_MultiTexCoord4 gl_MultiTexCoord5 gl_MultiTexCoord6 gl_MultiTexCoord7 ' +\n        'gl_Normal gl_NormalMatrix gl_NormalScale gl_NumSamples gl_NumWorkGroups gl_ObjectPlaneQ ' +\n        'gl_ObjectPlaneR gl_ObjectPlaneS gl_ObjectPlaneT gl_PatchVerticesIn gl_Point gl_PointCoord ' +\n        'gl_PointSize gl_Position gl_PrimitiveID gl_PrimitiveIDIn gl_ProjectionMatrix gl_ProjectionMatrixInverse ' +\n        'gl_ProjectionMatrixInverseTranspose gl_ProjectionMatrixTranspose gl_SampleID gl_SampleMask ' +\n        'gl_SampleMaskIn gl_SamplePosition gl_SecondaryColor gl_TessCoord gl_TessLevelInner gl_TessLevelOuter ' +\n        'gl_TexCoord gl_TextureEnvColor gl_TextureMatrix gl_TextureMatrixInverse gl_TextureMatrixInverseTranspose ' +\n        'gl_TextureMatrixTranspose gl_Vertex gl_VertexID gl_ViewportIndex gl_WorkGroupID gl_WorkGroupSize gl_in gl_out ' +\n        // Functions\n        'EmitStreamVertex EmitVertex EndPrimitive EndStreamPrimitive abs acos acosh all any asin ' +\n        'asinh atan atanh atomicAdd atomicAnd atomicCompSwap atomicCounter atomicCounterDecrement ' +\n        'atomicCounterIncrement atomicExchange atomicMax atomicMin atomicOr atomicXor barrier ' +\n        'bitCount bitfieldExtract bitfieldInsert bitfieldReverse ceil clamp cos cosh cross ' +\n        'dFdx dFdy degrees determinant distance dot equal exp exp2 faceforward findLSB findMSB ' +\n        'floatBitsToInt floatBitsToUint floor fma fract frexp ftransform fwidth greaterThan ' +\n        'greaterThanEqual groupMemoryBarrier imageAtomicAdd imageAtomicAnd imageAtomicCompSwap ' +\n        'imageAtomicExchange imageAtomicMax imageAtomicMin imageAtomicOr imageAtomicXor imageLoad ' +\n        'imageSize imageStore imulExtended intBitsToFloat interpolateAtCentroid interpolateAtOffset ' +\n        'interpolateAtSample inverse inversesqrt isinf isnan ldexp length lessThan lessThanEqual log ' +\n        'log2 matrixCompMult max memoryBarrier memoryBarrierAtomicCounter memoryBarrierBuffer ' +\n        'memoryBarrierImage memoryBarrierShared min mix mod modf noise1 noise2 noise3 noise4 ' +\n        'normalize not notEqual outerProduct packDouble2x32 packHalf2x16 packSnorm2x16 packSnorm4x8 ' +\n        'packUnorm2x16 packUnorm4x8 pow radians reflect refract round roundEven shadow1D shadow1DLod ' +\n        'shadow1DProj shadow1DProjLod shadow2D shadow2DLod shadow2DProj shadow2DProjLod sign sin sinh ' +\n        'smoothstep sqrt step tan tanh texelFetch texelFetchOffset texture texture1D texture1DLod ' +\n        'texture1DProj texture1DProjLod texture2D texture2DLod texture2DProj texture2DProjLod ' +\n        'texture3D texture3DLod texture3DProj texture3DProjLod textureCube textureCubeLod ' +\n        'textureGather textureGatherOffset textureGatherOffsets textureGrad textureGradOffset ' +\n        'textureLod textureLodOffset textureOffset textureProj textureProjGrad textureProjGradOffset ' +\n        'textureProjLod textureProjLodOffset textureProjOffset textureQueryLevels textureQueryLod ' +\n        'textureSize transpose trunc uaddCarry uintBitsToFloat umulExtended unpackDouble2x32 ' +\n        'unpackHalf2x16 unpackSnorm2x16 unpackSnorm4x8 unpackUnorm2x16 unpackUnorm4x8 usubBorrow',\n      literal: 'true false'\n    },\n    illegal: '\"',\n    contains: [\n      hljs.C_LINE_COMMENT_MODE,\n      hljs.C_BLOCK_COMMENT_MODE,\n      hljs.C_NUMBER_MODE,\n      {\n        className: 'meta',\n        begin: '#',\n        end: '$'\n      }\n    ]\n  };\n}\n\nmodule.exports = glsl;\n","/*\nLanguage: RenderMan RIB\nAuthor: Konstantin Evdokimenko \nContributors: Shuen-Huei Guan \nWebsite: https://renderman.pixar.com/resources/RenderMan_20/ribBinding.html\nCategory: graphics\n*/\n\nfunction rib(hljs) {\n  return {\n    name: 'RenderMan RIB',\n    keywords:\n      'ArchiveRecord AreaLightSource Atmosphere Attribute AttributeBegin AttributeEnd Basis ' +\n      'Begin Blobby Bound Clipping ClippingPlane Color ColorSamples ConcatTransform Cone ' +\n      'CoordinateSystem CoordSysTransform CropWindow Curves Cylinder DepthOfField Detail ' +\n      'DetailRange Disk Displacement Display End ErrorHandler Exposure Exterior Format ' +\n      'FrameAspectRatio FrameBegin FrameEnd GeneralPolygon GeometricApproximation Geometry ' +\n      'Hider Hyperboloid Identity Illuminate Imager Interior LightSource ' +\n      'MakeCubeFaceEnvironment MakeLatLongEnvironment MakeShadow MakeTexture Matte ' +\n      'MotionBegin MotionEnd NuPatch ObjectBegin ObjectEnd ObjectInstance Opacity Option ' +\n      'Orientation Paraboloid Patch PatchMesh Perspective PixelFilter PixelSamples ' +\n      'PixelVariance Points PointsGeneralPolygons PointsPolygons Polygon Procedural Projection ' +\n      'Quantize ReadArchive RelativeDetail ReverseOrientation Rotate Scale ScreenWindow ' +\n      'ShadingInterpolation ShadingRate Shutter Sides Skew SolidBegin SolidEnd Sphere ' +\n      'SubdivisionMesh Surface TextureCoordinates Torus Transform TransformBegin TransformEnd ' +\n      'TransformPoints Translate TrimCurve WorldBegin WorldEnd',\n    illegal: '\nDescription: built-in language 1C:Enterprise (v7, v8)\nCategory: enterprise\n*/\n\nfunction _1c(hljs) {\n\n  // общий паттерн для определения идентификаторов\n  var UNDERSCORE_IDENT_RE = '[A-Za-zА-Яа-яёЁ_][A-Za-zА-Яа-яёЁ_0-9]+';\n\n  // v7 уникальные ключевые слова, отсутствующие в v8 ==> keyword\n  var v7_keywords =\n  'далее ';\n\n  // v8 ключевые слова ==> keyword\n  var v8_keywords =\n  'возврат вызватьисключение выполнить для если и из или иначе иначеесли исключение каждого конецесли ' +\n  'конецпопытки конеццикла не новый перейти перем по пока попытка прервать продолжить тогда цикл экспорт ';\n\n  // keyword : ключевые слова\n  var KEYWORD = v7_keywords + v8_keywords;\n\n  // v7 уникальные директивы, отсутствующие в v8 ==> meta-keyword\n  var v7_meta_keywords =\n  'загрузитьизфайла ';\n\n  // v8 ключевые слова в инструкциях препроцессора, директивах компиляции, аннотациях ==> meta-keyword\n  var v8_meta_keywords =\n  'вебклиент вместо внешнеесоединение клиент конецобласти мобильноеприложениеклиент мобильноеприложениесервер ' +\n  'наклиенте наклиентенасервере наклиентенасерверебезконтекста насервере насерверебезконтекста область перед ' +\n  'после сервер толстыйклиентобычноеприложение толстыйклиентуправляемоеприложение тонкийклиент ';\n\n  // meta-keyword : ключевые слова в инструкциях препроцессора, директивах компиляции, аннотациях\n  var METAKEYWORD = v7_meta_keywords + v8_meta_keywords;\n\n  // v7 системные константы ==> built_in\n  var v7_system_constants =\n  'разделительстраниц разделительстрок символтабуляции ';\n\n  // v7 уникальные методы глобального контекста, отсутствующие в v8 ==> built_in\n  var v7_global_context_methods =\n  'ansitooem oemtoansi ввестивидсубконто ввестиперечисление ввестипериод ввестиплансчетов выбранныйплансчетов ' +\n  'датагод датамесяц датачисло заголовоксистемы значениевстроку значениеизстроки каталогиб каталогпользователя ' +\n  'кодсимв конгода конецпериодаби конецрассчитанногопериодаби конецстандартногоинтервала конквартала конмесяца ' +\n  'коннедели лог лог10 максимальноеколичествосубконто названиеинтерфейса названиенабораправ назначитьвид ' +\n  'назначитьсчет найтиссылки началопериодаби началостандартногоинтервала начгода начквартала начмесяца ' +\n  'начнедели номерднягода номерднянедели номернеделигода обработкаожидания основнойжурналрасчетов ' +\n  'основнойплансчетов основнойязык очиститьокносообщений периодстр получитьвремята получитьдатута ' +\n  'получитьдокументта получитьзначенияотбора получитьпозициюта получитьпустоезначение получитьта ' +\n  'префиксавтонумерации пропись пустоезначение разм разобратьпозициюдокумента рассчитатьрегистрына ' +\n  'рассчитатьрегистрыпо симв создатьобъект статусвозврата стрколичествострок сформироватьпозициюдокумента ' +\n  'счетпокоду текущеевремя типзначения типзначениястр установитьтана установитьтапо фиксшаблон шаблон ';\n\n  // v8 методы глобального контекста ==> built_in\n  var v8_global_context_methods =\n  'acos asin atan base64значение base64строка cos exp log log10 pow sin sqrt tan xmlзначение xmlстрока ' +\n  'xmlтип xmlтипзнч активноеокно безопасныйрежим безопасныйрежимразделенияданных булево ввестидату ввестизначение ' +\n  'ввестистроку ввестичисло возможностьчтенияxml вопрос восстановитьзначение врег выгрузитьжурналрегистрации ' +\n  'выполнитьобработкуоповещения выполнитьпроверкуправдоступа вычислить год данныеформывзначение дата день деньгода ' +\n  'деньнедели добавитьмесяц заблокироватьданныедляредактирования заблокироватьработупользователя завершитьработусистемы ' +\n  'загрузитьвнешнююкомпоненту закрытьсправку записатьjson записатьxml записатьдатуjson записьжурналарегистрации ' +\n  'заполнитьзначениясвойств запроситьразрешениепользователя запуститьприложение запуститьсистему зафиксироватьтранзакцию ' +\n  'значениевданныеформы значениевстрокувнутр значениевфайл значениезаполнено значениеизстрокивнутр значениеизфайла ' +\n  'изxmlтипа импортмоделиxdto имякомпьютера имяпользователя инициализироватьпредопределенныеданные информацияобошибке ' +\n  'каталогбиблиотекимобильногоустройства каталогвременныхфайлов каталогдокументов каталогпрограммы кодироватьстроку ' +\n  'кодлокализацииинформационнойбазы кодсимвола командасистемы конецгода конецдня конецквартала конецмесяца конецминуты ' +\n  'конецнедели конецчаса конфигурациябазыданныхизмененадинамически конфигурацияизменена копироватьданныеформы ' +\n  'копироватьфайл краткоепредставлениеошибки лев макс местноевремя месяц мин минута монопольныйрежим найти ' +\n  'найтинедопустимыесимволыxml найтиокнопонавигационнойссылке найтипомеченныенаудаление найтипоссылкам найтифайлы ' +\n  'началогода началодня началоквартала началомесяца началоминуты началонедели началочаса начатьзапросразрешенияпользователя ' +\n  'начатьзапускприложения начатькопированиефайла начатьперемещениефайла начатьподключениевнешнейкомпоненты ' +\n  'начатьподключениерасширенияработыскриптографией начатьподключениерасширенияработысфайлами начатьпоискфайлов ' +\n  'начатьполучениекаталогавременныхфайлов начатьполучениекаталогадокументов начатьполучениерабочегокаталогаданныхпользователя ' +\n  'начатьполучениефайлов начатьпомещениефайла начатьпомещениефайлов начатьсозданиедвоичныхданныхизфайла начатьсозданиекаталога ' +\n  'начатьтранзакцию начатьудалениефайлов начатьустановкувнешнейкомпоненты начатьустановкурасширенияработыскриптографией ' +\n  'начатьустановкурасширенияработысфайлами неделягода необходимостьзавершениясоединения номерсеансаинформационнойбазы ' +\n  'номерсоединенияинформационнойбазы нрег нстр обновитьинтерфейс обновитьнумерациюобъектов обновитьповторноиспользуемыезначения ' +\n  'обработкапрерыванияпользователя объединитьфайлы окр описаниеошибки оповестить оповеститьобизменении ' +\n  'отключитьобработчикзапросанастроекклиенталицензирования отключитьобработчикожидания отключитьобработчикоповещения ' +\n  'открытьзначение открытьиндекссправки открытьсодержаниесправки открытьсправку открытьформу открытьформумодально ' +\n  'отменитьтранзакцию очиститьжурналрегистрации очиститьнастройкипользователя очиститьсообщения параметрыдоступа ' +\n  'перейтипонавигационнойссылке переместитьфайл подключитьвнешнююкомпоненту ' +\n  'подключитьобработчикзапросанастроекклиенталицензирования подключитьобработчикожидания подключитьобработчикоповещения ' +\n  'подключитьрасширениеработыскриптографией подключитьрасширениеработысфайлами подробноепредставлениеошибки ' +\n  'показатьвводдаты показатьвводзначения показатьвводстроки показатьвводчисла показатьвопрос показатьзначение ' +\n  'показатьинформациюобошибке показатьнакарте показатьоповещениепользователя показатьпредупреждение полноеимяпользователя ' +\n  'получитьcomобъект получитьxmlтип получитьадреспоместоположению получитьблокировкусеансов получитьвремязавершенияспящегосеанса ' +\n  'получитьвремязасыпанияпассивногосеанса получитьвремяожиданияблокировкиданных получитьданныевыбора ' +\n  'получитьдополнительныйпараметрклиенталицензирования получитьдопустимыекодылокализации получитьдопустимыечасовыепояса ' +\n  'получитьзаголовокклиентскогоприложения получитьзаголовоксистемы получитьзначенияотборажурналарегистрации ' +\n  'получитьидентификаторконфигурации получитьизвременногохранилища получитьимявременногофайла ' +\n  'получитьимяклиенталицензирования получитьинформациюэкрановклиента получитьиспользованиежурналарегистрации ' +\n  'получитьиспользованиесобытияжурналарегистрации получитькраткийзаголовокприложения получитьмакетоформления ' +\n  'получитьмаскувсефайлы получитьмаскувсефайлыклиента получитьмаскувсефайлысервера получитьместоположениепоадресу ' +\n  'получитьминимальнуюдлинупаролейпользователей получитьнавигационнуюссылку получитьнавигационнуюссылкуинформационнойбазы ' +\n  'получитьобновлениеконфигурациибазыданных получитьобновлениепредопределенныхданныхинформационнойбазы получитьобщиймакет ' +\n  'получитьобщуюформу получитьокна получитьоперативнуюотметкувремени получитьотключениебезопасногорежима ' +\n  'получитьпараметрыфункциональныхопцийинтерфейса получитьполноеимяпредопределенногозначения ' +\n  'получитьпредставлениянавигационныхссылок получитьпроверкусложностипаролейпользователей получитьразделительпути ' +\n  'получитьразделительпутиклиента получитьразделительпутисервера получитьсеансыинформационнойбазы ' +\n  'получитьскоростьклиентскогосоединения получитьсоединенияинформационнойбазы получитьсообщенияпользователю ' +\n  'получитьсоответствиеобъектаиформы получитьсоставстандартногоинтерфейсаodata получитьструктурухранениябазыданных ' +\n  'получитьтекущийсеансинформационнойбазы получитьфайл получитьфайлы получитьформу получитьфункциональнуюопцию ' +\n  'получитьфункциональнуюопциюинтерфейса получитьчасовойпоясинформационнойбазы пользователиос поместитьвовременноехранилище ' +\n  'поместитьфайл поместитьфайлы прав праводоступа предопределенноезначение представлениекодалокализации представлениепериода ' +\n  'представлениеправа представлениеприложения представлениесобытияжурналарегистрации представлениечасовогопояса предупреждение ' +\n  'прекратитьработусистемы привилегированныйрежим продолжитьвызов прочитатьjson прочитатьxml прочитатьдатуjson пустаястрока ' +\n  'рабочийкаталогданныхпользователя разблокироватьданныедляредактирования разделитьфайл разорватьсоединениесвнешнимисточникомданных ' +\n  'раскодироватьстроку рольдоступна секунда сигнал символ скопироватьжурналрегистрации смещениелетнеговремени ' +\n  'смещениестандартноговремени соединитьбуферыдвоичныхданных создатькаталог создатьфабрикуxdto сокрл сокрлп сокрп сообщить ' +\n  'состояние сохранитьзначение сохранитьнастройкипользователя сред стрдлина стрзаканчиваетсяна стрзаменить стрнайти стрначинаетсяс ' +\n  'строка строкасоединенияинформационнойбазы стрполучитьстроку стрразделить стрсоединить стрсравнить стрчисловхождений '+\n  'стрчислострок стршаблон текущаядата текущаядатасеанса текущаяуниверсальнаядата текущаяуниверсальнаядатавмиллисекундах ' +\n  'текущийвариантинтерфейсаклиентскогоприложения текущийвариантосновногошрифтаклиентскогоприложения текущийкодлокализации ' +\n  'текущийрежимзапуска текущийязык текущийязыксистемы тип типзнч транзакцияактивна трег удалитьданныеинформационнойбазы ' +\n  'удалитьизвременногохранилища удалитьобъекты удалитьфайлы универсальноевремя установитьбезопасныйрежим ' +\n  'установитьбезопасныйрежимразделенияданных установитьблокировкусеансов установитьвнешнююкомпоненту ' +\n  'установитьвремязавершенияспящегосеанса установитьвремязасыпанияпассивногосеанса установитьвремяожиданияблокировкиданных ' +\n  'установитьзаголовокклиентскогоприложения установитьзаголовоксистемы установитьиспользованиежурналарегистрации ' +\n  'установитьиспользованиесобытияжурналарегистрации установитькраткийзаголовокприложения ' +\n  'установитьминимальнуюдлинупаролейпользователей установитьмонопольныйрежим установитьнастройкиклиенталицензирования ' +\n  'установитьобновлениепредопределенныхданныхинформационнойбазы установитьотключениебезопасногорежима ' +\n  'установитьпараметрыфункциональныхопцийинтерфейса установитьпривилегированныйрежим ' +\n  'установитьпроверкусложностипаролейпользователей установитьрасширениеработыскриптографией ' +\n  'установитьрасширениеработысфайлами установитьсоединениесвнешнимисточникомданных установитьсоответствиеобъектаиформы ' +\n  'установитьсоставстандартногоинтерфейсаodata установитьчасовойпоясинформационнойбазы установитьчасовойпояссеанса ' +\n  'формат цел час часовойпояс часовойпояссеанса число числопрописью этоадресвременногохранилища ';\n\n  // v8 свойства глобального контекста ==> built_in\n  var v8_global_context_property =\n  'wsссылки библиотекакартинок библиотекамакетовоформлениякомпоновкиданных библиотекастилей бизнеспроцессы ' +\n  'внешниеисточникиданных внешниеобработки внешниеотчеты встроенныепокупки главныйинтерфейс главныйстиль ' +\n  'документы доставляемыеуведомления журналыдокументов задачи информацияобинтернетсоединении использованиерабочейдаты ' +\n  'историяработыпользователя константы критерииотбора метаданные обработки отображениерекламы отправкадоставляемыхуведомлений ' +\n  'отчеты панельзадачос параметрзапуска параметрысеанса перечисления планывидоврасчета планывидовхарактеристик ' +\n  'планыобмена планысчетов полнотекстовыйпоиск пользователиинформационнойбазы последовательности проверкавстроенныхпокупок ' +\n  'рабочаядата расширенияконфигурации регистрыбухгалтерии регистрынакопления регистрырасчета регистрысведений ' +\n  'регламентныезадания сериализаторxdto справочники средствагеопозиционирования средствакриптографии средствамультимедиа ' +\n  'средстваотображениярекламы средствапочты средствателефонии фабрикаxdto файловыепотоки фоновыезадания хранилищанастроек ' +\n  'хранилищевариантовотчетов хранилищенастроекданныхформ хранилищеобщихнастроек хранилищепользовательскихнастроекдинамическихсписков ' +\n  'хранилищепользовательскихнастроекотчетов хранилищесистемныхнастроек ';\n\n  // built_in : встроенные или библиотечные объекты (константы, классы, функции)\n  var BUILTIN =\n  v7_system_constants +\n  v7_global_context_methods + v8_global_context_methods +\n  v8_global_context_property;\n\n  // v8 системные наборы значений ==> class\n  var v8_system_sets_of_values =\n  'webцвета windowsцвета windowsшрифты библиотекакартинок рамкистиля символы цветастиля шрифтыстиля ';\n\n  // v8 системные перечисления - интерфейсные ==> class\n  var v8_system_enums_interface =\n  'автоматическоесохранениеданныхформывнастройках автонумерациявформе автораздвижениесерий ' +\n  'анимациядиаграммы вариантвыравниванияэлементовизаголовков вариантуправлениявысотойтаблицы ' +\n  'вертикальнаяпрокруткаформы вертикальноеположение вертикальноеположениеэлемента видгруппыформы ' +\n  'виддекорацииформы виддополненияэлементаформы видизмененияданных видкнопкиформы видпереключателя ' +\n  'видподписейкдиаграмме видполяформы видфлажка влияниеразмеранапузырекдиаграммы горизонтальноеположение ' +\n  'горизонтальноеположениеэлемента группировкаколонок группировкаподчиненныхэлементовформы ' +\n  'группыиэлементы действиеперетаскивания дополнительныйрежимотображения допустимыедействияперетаскивания ' +\n  'интервалмеждуэлементамиформы использованиевывода использованиеполосыпрокрутки ' +\n  'используемоезначениеточкибиржевойдиаграммы историявыборапривводе источникзначенийоситочекдиаграммы ' +\n  'источникзначенияразмерапузырькадиаграммы категориягруппыкоманд максимумсерий начальноеотображениедерева ' +\n  'начальноеотображениесписка обновлениетекстаредактирования ориентациядендрограммы ориентациядиаграммы ' +\n  'ориентацияметокдиаграммы ориентацияметоксводнойдиаграммы ориентацияэлементаформы отображениевдиаграмме ' +\n  'отображениевлегендедиаграммы отображениегруппыкнопок отображениезаголовкашкалыдиаграммы ' +\n  'отображениезначенийсводнойдиаграммы отображениезначенияизмерительнойдиаграммы ' +\n  'отображениеинтерваладиаграммыганта отображениекнопки отображениекнопкивыбора отображениеобсужденийформы ' +\n  'отображениеобычнойгруппы отображениеотрицательныхзначенийпузырьковойдиаграммы отображениепанелипоиска ' +\n  'отображениеподсказки отображениепредупрежденияприредактировании отображениеразметкиполосырегулирования ' +\n  'отображениестраницформы отображениетаблицы отображениетекстазначениядиаграммыганта ' +\n  'отображениеуправленияобычнойгруппы отображениефигурыкнопки палитрацветовдиаграммы поведениеобычнойгруппы ' +\n  'поддержкамасштабадендрограммы поддержкамасштабадиаграммыганта поддержкамасштабасводнойдиаграммы ' +\n  'поисквтаблицепривводе положениезаголовкаэлементаформы положениекартинкикнопкиформы ' +\n  'положениекартинкиэлементаграфическойсхемы положениекоманднойпанелиформы положениекоманднойпанелиэлементаформы ' +\n  'положениеопорнойточкиотрисовки положениеподписейкдиаграмме положениеподписейшкалызначенийизмерительнойдиаграммы ' +\n  'положениесостоянияпросмотра положениестрокипоиска положениетекстасоединительнойлинии положениеуправленияпоиском ' +\n  'положениешкалывремени порядокотображенияточекгоризонтальнойгистограммы порядоксерийвлегендедиаграммы ' +\n  'размеркартинки расположениезаголовкашкалыдиаграммы растягиваниеповертикалидиаграммыганта ' +\n  'режимавтоотображениясостояния режимвводастроктаблицы режимвыборанезаполненного режимвыделениядаты ' +\n  'режимвыделениястрокитаблицы режимвыделениятаблицы режимизмененияразмера режимизменениясвязанногозначения ' +\n  'режимиспользованиядиалогапечати режимиспользованияпараметракоманды режиммасштабированияпросмотра ' +\n  'режимосновногоокнаклиентскогоприложения режимоткрытияокнаформы режимотображениявыделения ' +\n  'режимотображениягеографическойсхемы режимотображениязначенийсерии режимотрисовкисеткиграфическойсхемы ' +\n  'режимполупрозрачностидиаграммы режимпробеловдиаграммы режимразмещениянастранице режимредактированияколонки ' +\n  'режимсглаживаниядиаграммы режимсглаживанияиндикатора режимсписказадач сквозноевыравнивание ' +\n  'сохранениеданныхформывнастройках способзаполнениятекстазаголовкашкалыдиаграммы ' +\n  'способопределенияограничивающегозначениядиаграммы стандартнаягруппакоманд стандартноеоформление ' +\n  'статусоповещенияпользователя стильстрелки типаппроксимациилиниитрендадиаграммы типдиаграммы ' +\n  'типединицышкалывремени типимпортасерийслоягеографическойсхемы типлиниигеографическойсхемы типлиниидиаграммы ' +\n  'типмаркерагеографическойсхемы типмаркерадиаграммы типобластиоформления ' +\n  'типорганизацииисточникаданныхгеографическойсхемы типотображениясериислоягеографическойсхемы ' +\n  'типотображенияточечногообъектагеографическойсхемы типотображенияшкалыэлементалегендыгеографическойсхемы ' +\n  'типпоискаобъектовгеографическойсхемы типпроекциигеографическойсхемы типразмещенияизмерений ' +\n  'типразмещенияреквизитовизмерений типрамкиэлементауправления типсводнойдиаграммы ' +\n  'типсвязидиаграммыганта типсоединениязначенийпосериямдиаграммы типсоединенияточекдиаграммы ' +\n  'типсоединительнойлинии типстороныэлементаграфическойсхемы типформыотчета типшкалырадарнойдиаграммы ' +\n  'факторлиниитрендадиаграммы фигуракнопки фигурыграфическойсхемы фиксациявтаблице форматдняшкалывремени ' +\n  'форматкартинки ширинаподчиненныхэлементовформы ';\n\n  // v8 системные перечисления - свойства прикладных объектов ==> class\n  var v8_system_enums_objects_properties =\n  'виддвижениябухгалтерии виддвижениянакопления видпериодарегистрарасчета видсчета видточкимаршрутабизнеспроцесса ' +\n  'использованиеагрегатарегистранакопления использованиегруппиэлементов использованиережимапроведения ' +\n  'использованиесреза периодичностьагрегатарегистранакопления режимавтовремя режимзаписидокумента режимпроведениядокумента ';\n\n  // v8 системные перечисления - планы обмена ==> class\n  var v8_system_enums_exchange_plans =\n  'авторегистрацияизменений допустимыйномерсообщения отправкаэлементаданных получениеэлементаданных ';\n\n  // v8 системные перечисления - табличный документ ==> class\n  var v8_system_enums_tabular_document =\n  'использованиерасшифровкитабличногодокумента ориентациястраницы положениеитоговколоноксводнойтаблицы ' +\n  'положениеитоговстроксводнойтаблицы положениетекстаотносительнокартинки расположениезаголовкагруппировкитабличногодокумента ' +\n  'способчтениязначенийтабличногодокумента типдвустороннейпечати типзаполненияобластитабличногодокумента ' +\n  'типкурсоровтабличногодокумента типлиниирисункатабличногодокумента типлинииячейкитабличногодокумента ' +\n  'типнаправленияпереходатабличногодокумента типотображениявыделениятабличногодокумента типотображениялинийсводнойтаблицы ' +\n  'типразмещениятекстатабличногодокумента типрисункатабличногодокумента типсмещениятабличногодокумента ' +\n  'типузоратабличногодокумента типфайлатабличногодокумента точностьпечати чередованиерасположениястраниц ';\n\n  // v8 системные перечисления - планировщик ==> class\n  var v8_system_enums_sheduler =\n  'отображениевремениэлементовпланировщика ';\n\n  // v8 системные перечисления - форматированный документ ==> class\n  var v8_system_enums_formatted_document =\n  'типфайлаформатированногодокумента ';\n\n  // v8 системные перечисления - запрос ==> class\n  var v8_system_enums_query =\n  'обходрезультатазапроса типзаписизапроса ';\n\n  // v8 системные перечисления - построитель отчета ==> class\n  var v8_system_enums_report_builder =\n  'видзаполнениярасшифровкипостроителяотчета типдобавленияпредставлений типизмеренияпостроителяотчета типразмещенияитогов ';\n\n  // v8 системные перечисления - работа с файлами ==> class\n  var v8_system_enums_files =\n  'доступкфайлу режимдиалогавыборафайла режимоткрытияфайла ';\n\n  // v8 системные перечисления - построитель запроса ==> class\n  var v8_system_enums_query_builder =\n  'типизмеренияпостроителязапроса ';\n\n  // v8 системные перечисления - анализ данных ==> class\n  var v8_system_enums_data_analysis =\n  'видданныханализа методкластеризации типединицыинтервалавременианализаданных типзаполнениятаблицырезультатаанализаданных ' +\n  'типиспользованиячисловыхзначенийанализаданных типисточникаданныхпоискаассоциаций типколонкианализаданныхдереворешений ' +\n  'типколонкианализаданныхкластеризация типколонкианализаданныхобщаястатистика типколонкианализаданныхпоискассоциаций ' +\n  'типколонкианализаданныхпоискпоследовательностей типколонкимоделипрогноза типмерырасстоянияанализаданных ' +\n  'типотсеченияправилассоциации типполяанализаданных типстандартизациианализаданных типупорядочиванияправилассоциациианализаданных ' +\n  'типупорядочиванияшаблоновпоследовательностейанализаданных типупрощениядереварешений ';\n\n  // v8 системные перечисления - xml, json, xs, dom, xdto, web-сервисы ==> class\n  var v8_system_enums_xml_json_xs_dom_xdto_ws =\n  'wsнаправлениепараметра вариантxpathxs вариантзаписидатыjson вариантпростоготипаxs видгруппымоделиxs видфасетаxdto ' +\n  'действиепостроителяdom завершенностьпростоготипаxs завершенностьсоставноготипаxs завершенностьсхемыxs запрещенныеподстановкиxs ' +\n  'исключениягруппподстановкиxs категорияиспользованияатрибутаxs категорияограниченияидентичностиxs категорияограниченияпространствименxs ' +\n  'методнаследованияxs модельсодержимогоxs назначениетипаxml недопустимыеподстановкиxs обработкапробельныхсимволовxs обработкасодержимогоxs ' +\n  'ограничениезначенияxs параметрыотбораузловdom переносстрокjson позициявдокументеdom пробельныесимволыxml типатрибутаxml типзначенияjson ' +\n  'типканоническогоxml типкомпонентыxs типпроверкиxml типрезультатаdomxpath типузлаdom типузлаxml формаxml формапредставленияxs ' +\n  'форматдатыjson экранированиесимволовjson ';\n\n  // v8 системные перечисления - система компоновки данных ==> class\n  var v8_system_enums_data_composition_system =\n  'видсравнениякомпоновкиданных действиеобработкирасшифровкикомпоновкиданных направлениесортировкикомпоновкиданных ' +\n  'расположениевложенныхэлементоврезультатакомпоновкиданных расположениеитоговкомпоновкиданных расположениегруппировкикомпоновкиданных ' +\n  'расположениеполейгруппировкикомпоновкиданных расположениеполякомпоновкиданных расположениереквизитовкомпоновкиданных ' +\n  'расположениересурсовкомпоновкиданных типбухгалтерскогоостаткакомпоновкиданных типвыводатекстакомпоновкиданных ' +\n  'типгруппировкикомпоновкиданных типгруппыэлементовотборакомпоновкиданных типдополненияпериодакомпоновкиданных ' +\n  'типзаголовкаполейкомпоновкиданных типмакетагруппировкикомпоновкиданных типмакетаобластикомпоновкиданных типостаткакомпоновкиданных ' +\n  'типпериодакомпоновкиданных типразмещениятекстакомпоновкиданных типсвязинаборовданныхкомпоновкиданных типэлементарезультатакомпоновкиданных ' +\n  'расположениелегендыдиаграммыкомпоновкиданных типпримененияотборакомпоновкиданных режимотображенияэлементанастройкикомпоновкиданных ' +\n  'режимотображениянастроеккомпоновкиданных состояниеэлементанастройкикомпоновкиданных способвосстановлениянастроеккомпоновкиданных ' +\n  'режимкомпоновкирезультата использованиепараметракомпоновкиданных автопозицияресурсовкомпоновкиданных '+\n  'вариантиспользованиягруппировкикомпоновкиданных расположениересурсоввдиаграммекомпоновкиданных фиксациякомпоновкиданных ' +\n  'использованиеусловногооформлениякомпоновкиданных ';\n\n  // v8 системные перечисления - почта ==> class\n  var v8_system_enums_email =\n  'важностьинтернетпочтовогосообщения обработкатекстаинтернетпочтовогосообщения способкодированияинтернетпочтовоговложения ' +\n  'способкодированиянеasciiсимволовинтернетпочтовогосообщения типтекстапочтовогосообщения протоколинтернетпочты ' +\n  'статусразборапочтовогосообщения ';\n\n  // v8 системные перечисления - журнал регистрации ==> class\n  var v8_system_enums_logbook =\n  'режимтранзакциизаписижурналарегистрации статустранзакциизаписижурналарегистрации уровеньжурналарегистрации ';\n\n  // v8 системные перечисления - криптография ==> class\n  var v8_system_enums_cryptography =\n  'расположениехранилищасертификатовкриптографии режимвключениясертификатовкриптографии режимпроверкисертификатакриптографии ' +\n  'типхранилищасертификатовкриптографии ';\n\n  // v8 системные перечисления - ZIP ==> class\n  var v8_system_enums_zip =\n  'кодировкаименфайловвzipфайле методсжатияzip методшифрованияzip режимвосстановленияпутейфайловzip режимобработкиподкаталоговzip ' +\n  'режимсохраненияпутейzip уровеньсжатияzip ';\n\n  // v8 системные перечисления -\n  // Блокировка данных, Фоновые задания, Автоматизированное тестирование,\n  // Доставляемые уведомления, Встроенные покупки, Интернет, Работа с двоичными данными ==> class\n  var v8_system_enums_other =\n  'звуковоеоповещение направлениепереходакстроке позициявпотоке порядокбайтов режимблокировкиданных режимуправленияблокировкойданных ' +\n  'сервисвстроенныхпокупок состояниефоновогозадания типподписчикадоставляемыхуведомлений уровеньиспользованиязащищенногосоединенияftp ';\n\n  // v8 системные перечисления - схема запроса ==> class\n  var v8_system_enums_request_schema =\n  'направлениепорядкасхемызапроса типдополненияпериодамисхемызапроса типконтрольнойточкисхемызапроса типобъединениясхемызапроса ' +\n  'типпараметрадоступнойтаблицысхемызапроса типсоединениясхемызапроса ';\n\n  // v8 системные перечисления - свойства объектов метаданных ==> class\n  var v8_system_enums_properties_of_metadata_objects =\n  'httpметод автоиспользованиеобщегореквизита автопрефиксномеразадачи вариантвстроенногоязыка видиерархии видрегистранакопления ' +\n  'видтаблицывнешнегоисточникаданных записьдвиженийприпроведении заполнениепоследовательностей индексирование ' +\n  'использованиебазыпланавидоврасчета использованиебыстроговыбора использованиеобщегореквизита использованиеподчинения ' +\n  'использованиеполнотекстовогопоиска использованиеразделяемыхданныхобщегореквизита использованиереквизита ' +\n  'назначениеиспользованияприложения назначениерасширенияконфигурации направлениепередачи обновлениепредопределенныхданных ' +\n  'оперативноепроведение основноепредставлениевидарасчета основноепредставлениевидахарактеристики основноепредставлениезадачи ' +\n  'основноепредставлениепланаобмена основноепредставлениесправочника основноепредставлениесчета перемещениеграницыприпроведении ' +\n  'периодичностьномерабизнеспроцесса периодичностьномерадокумента периодичностьрегистрарасчета периодичностьрегистрасведений ' +\n  'повторноеиспользованиевозвращаемыхзначений полнотекстовыйпоискпривводепостроке принадлежностьобъекта проведение ' +\n  'разделениеаутентификацииобщегореквизита разделениеданныхобщегореквизита разделениерасширенийконфигурацииобщегореквизита '+\n  'режимавтонумерацииобъектов режимзаписирегистра режимиспользованиямодальности ' +\n  'режимиспользованиясинхронныхвызововрасширенийплатформыивнешнихкомпонент режимповторногоиспользованиясеансов ' +\n  'режимполученияданныхвыборапривводепостроке режимсовместимости режимсовместимостиинтерфейса ' +\n  'режимуправленияблокировкойданныхпоумолчанию сериикодовпланавидовхарактеристик сериикодовпланасчетов ' +\n  'сериикодовсправочника созданиепривводе способвыбора способпоискастрокипривводепостроке способредактирования ' +\n  'типданныхтаблицывнешнегоисточникаданных типкодапланавидоврасчета типкодасправочника типмакета типномерабизнеспроцесса ' +\n  'типномерадокумента типномеразадачи типформы удалениедвижений ';\n\n  // v8 системные перечисления - разные ==> class\n  var v8_system_enums_differents =\n  'важностьпроблемыприменениярасширенияконфигурации вариантинтерфейсаклиентскогоприложения вариантмасштабаформклиентскогоприложения ' +\n  'вариантосновногошрифтаклиентскогоприложения вариантстандартногопериода вариантстандартнойдатыначала видграницы видкартинки ' +\n  'видотображенияполнотекстовогопоиска видрамки видсравнения видцвета видчисловогозначения видшрифта допустимаядлина допустимыйзнак ' +\n  'использованиеbyteordermark использованиеметаданныхполнотекстовогопоиска источникрасширенийконфигурации клавиша кодвозвратадиалога ' +\n  'кодировкаxbase кодировкатекста направлениепоиска направлениесортировки обновлениепредопределенныхданных обновлениеприизмененииданных ' +\n  'отображениепанелиразделов проверказаполнения режимдиалогавопрос режимзапускаклиентскогоприложения режимокругления режимоткрытияформприложения ' +\n  'режимполнотекстовогопоиска скоростьклиентскогосоединения состояниевнешнегоисточникаданных состояниеобновленияконфигурациибазыданных ' +\n  'способвыборасертификатаwindows способкодированиястроки статуссообщения типвнешнейкомпоненты типплатформы типповеденияклавишиenter ' +\n  'типэлементаинформацииовыполненииобновленияконфигурациибазыданных уровеньизоляциитранзакций хешфункция частидаты';\n\n  // class: встроенные наборы значений, системные перечисления (содержат дочерние значения, обращения к которым через разыменование)\n  var CLASS =\n  v8_system_sets_of_values +\n  v8_system_enums_interface +\n  v8_system_enums_objects_properties +\n  v8_system_enums_exchange_plans +\n  v8_system_enums_tabular_document +\n  v8_system_enums_sheduler +\n  v8_system_enums_formatted_document +\n  v8_system_enums_query +\n  v8_system_enums_report_builder +\n  v8_system_enums_files +\n  v8_system_enums_query_builder +\n  v8_system_enums_data_analysis +\n  v8_system_enums_xml_json_xs_dom_xdto_ws +\n  v8_system_enums_data_composition_system +\n  v8_system_enums_email +\n  v8_system_enums_logbook +\n  v8_system_enums_cryptography +\n  v8_system_enums_zip +\n  v8_system_enums_other +\n  v8_system_enums_request_schema +\n  v8_system_enums_properties_of_metadata_objects +\n  v8_system_enums_differents;\n\n  // v8 общие объекты (у объектов есть конструктор, экземпляры создаются методом НОВЫЙ) ==> type\n  var v8_shared_object =\n  'comобъект ftpсоединение httpзапрос httpсервисответ httpсоединение wsопределения wsпрокси xbase анализданных аннотацияxs ' +\n  'блокировкаданных буфердвоичныхданных включениеxs выражениекомпоновкиданных генераторслучайныхчисел географическаясхема ' +\n  'географическиекоординаты графическаясхема группамоделиxs данныерасшифровкикомпоновкиданных двоичныеданные дендрограмма ' +\n  'диаграмма диаграммаганта диалогвыборафайла диалогвыборацвета диалогвыборашрифта диалограсписаниярегламентногозадания ' +\n  'диалогредактированиястандартногопериода диапазон документdom документhtml документацияxs доставляемоеуведомление ' +\n  'записьdom записьfastinfoset записьhtml записьjson записьxml записьzipфайла записьданных записьтекста записьузловdom ' +\n  'запрос защищенноесоединениеopenssl значенияполейрасшифровкикомпоновкиданных извлечениетекста импортxs интернетпочта ' +\n  'интернетпочтовоесообщение интернетпочтовыйпрофиль интернетпрокси интернетсоединение информациядляприложенияxs ' +\n  'использованиеатрибутаxs использованиесобытияжурналарегистрации источникдоступныхнастроеккомпоновкиданных ' +\n  'итераторузловdom картинка квалификаторыдаты квалификаторыдвоичныхданных квалификаторыстроки квалификаторычисла ' +\n  'компоновщикмакетакомпоновкиданных компоновщикнастроеккомпоновкиданных конструктормакетаоформлениякомпоновкиданных ' +\n  'конструкторнастроеккомпоновкиданных конструкторформатнойстроки линия макеткомпоновкиданных макетобластикомпоновкиданных ' +\n  'макетоформлениякомпоновкиданных маскаxs менеджеркриптографии наборсхемxml настройкикомпоновкиданных настройкисериализацииjson ' +\n  'обработкакартинок обработкарасшифровкикомпоновкиданных обходдереваdom объявлениеатрибутаxs объявлениенотацииxs ' +\n  'объявлениеэлементаxs описаниеиспользованиясобытиядоступжурналарегистрации ' +\n  'описаниеиспользованиясобытияотказвдоступежурналарегистрации описаниеобработкирасшифровкикомпоновкиданных ' +\n  'описаниепередаваемогофайла описаниетипов определениегруппыатрибутовxs определениегруппымоделиxs ' +\n  'определениеограниченияидентичностиxs определениепростоготипаxs определениесоставноготипаxs определениетипадокументаdom ' +\n  'определенияxpathxs отборкомпоновкиданных пакетотображаемыхдокументов параметрвыбора параметркомпоновкиданных ' +\n  'параметрызаписиjson параметрызаписиxml параметрычтенияxml переопределениеxs планировщик полеанализаданных ' +\n  'полекомпоновкиданных построительdom построительзапроса построительотчета построительотчетаанализаданных ' +\n  'построительсхемxml поток потоквпамяти почта почтовоесообщение преобразованиеxsl преобразованиекканоническомуxml ' +\n  'процессорвыводарезультатакомпоновкиданныхвколлекциюзначений процессорвыводарезультатакомпоновкиданныхвтабличныйдокумент ' +\n  'процессоркомпоновкиданных разыменовательпространствименdom рамка расписаниерегламентногозадания расширенноеимяxml ' +\n  'результатчтенияданных своднаядиаграмма связьпараметравыбора связьпотипу связьпотипукомпоновкиданных сериализаторxdto ' +\n  'сертификатклиентаwindows сертификатклиентафайл сертификаткриптографии сертификатыудостоверяющихцентровwindows ' +\n  'сертификатыудостоверяющихцентровфайл сжатиеданных системнаяинформация сообщениепользователю сочетаниеклавиш ' +\n  'сравнениезначений стандартнаядатаначала стандартныйпериод схемаxml схемакомпоновкиданных табличныйдокумент ' +\n  'текстовыйдокумент тестируемоеприложение типданныхxml уникальныйидентификатор фабрикаxdto файл файловыйпоток ' +\n  'фасетдлиныxs фасетколичестваразрядовдробнойчастиxs фасетмаксимальноговключающегозначенияxs ' +\n  'фасетмаксимальногоисключающегозначенияxs фасетмаксимальнойдлиныxs фасетминимальноговключающегозначенияxs ' +\n  'фасетминимальногоисключающегозначенияxs фасетминимальнойдлиныxs фасетобразцаxs фасетобщегоколичестваразрядовxs ' +\n  'фасетперечисленияxs фасетпробельныхсимволовxs фильтрузловdom форматированнаястрока форматированныйдокумент ' +\n  'фрагментxs хешированиеданных хранилищезначения цвет чтениеfastinfoset чтениеhtml чтениеjson чтениеxml чтениеzipфайла ' +\n  'чтениеданных чтениетекста чтениеузловdom шрифт элементрезультатакомпоновкиданных ';\n\n  // v8 универсальные коллекции значений ==> type\n  var v8_universal_collection =\n  'comsafearray деревозначений массив соответствие списокзначений структура таблицазначений фиксированнаяструктура ' +\n  'фиксированноесоответствие фиксированныймассив ';\n\n  // type : встроенные типы\n  var TYPE =\n  v8_shared_object +\n  v8_universal_collection;\n\n  // literal : примитивные типы\n  var LITERAL = 'null истина ложь неопределено';\n\n  // number : числа\n  var NUMBERS = hljs.inherit(hljs.NUMBER_MODE);\n\n  // string : строки\n  var STRINGS = {\n    className: 'string',\n    begin: '\"|\\\\|', end: '\"|$',\n    contains: [{begin: '\"\"'}]\n  };\n\n  // number : даты\n  var DATE = {\n    begin: \"'\", end: \"'\", excludeBegin: true, excludeEnd: true,\n    contains: [\n      {\n        className: 'number',\n        begin: '\\\\d{4}([\\\\.\\\\\\\\/:-]?\\\\d{2}){0,5}'\n      }\n    ]\n  };\n\n  // comment : комментарии\n  var COMMENTS = hljs.inherit(hljs.C_LINE_COMMENT_MODE);\n\n  // meta : инструкции препроцессора, директивы компиляции\n  var META = {\n    className: 'meta',\n\n    begin: '#|&', end: '$',\n    keywords: {\n      $pattern: UNDERSCORE_IDENT_RE,\n      'meta-keyword': KEYWORD + METAKEYWORD\n    },\n    contains: [\n      COMMENTS\n    ]\n  };\n\n  // symbol : метка goto\n  var SYMBOL = {\n    className: 'symbol',\n    begin: '~', end: ';|:', excludeEnd: true\n  };\n\n  // function : объявление процедур и функций\n  var FUNCTION = {\n    className: 'function',\n    variants: [\n      {begin: 'процедура|функция', end: '\\\\)', keywords: 'процедура функция'},\n      {begin: 'конецпроцедуры|конецфункции', keywords: 'конецпроцедуры конецфункции'}\n    ],\n    contains: [\n      {\n        begin: '\\\\(', end: '\\\\)', endsParent : true,\n        contains: [\n          {\n            className: 'params',\n            begin: UNDERSCORE_IDENT_RE, end: ',', excludeEnd: true, endsWithParent: true,\n            keywords: {\n              $pattern: UNDERSCORE_IDENT_RE,\n              keyword: 'знач',\n              literal: LITERAL\n            },\n            contains: [\n              NUMBERS,\n              STRINGS,\n              DATE\n            ]\n          },\n          COMMENTS\n        ]\n      },\n      hljs.inherit(hljs.TITLE_MODE, {begin: UNDERSCORE_IDENT_RE})\n    ]\n  };\n\n  return {\n    name: '1C:Enterprise',\n    case_insensitive: true,\n    keywords: {\n      $pattern: UNDERSCORE_IDENT_RE,\n      keyword: KEYWORD,\n      built_in: BUILTIN,\n      class: CLASS,\n      type: TYPE,\n      literal: LITERAL\n    },\n    contains: [\n      META,\n      FUNCTION,\n      COMMENTS,\n      SYMBOL,\n      NUMBERS,\n      STRINGS,\n      DATE\n    ]\n  };\n}\n\nmodule.exports = _1c;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports[\"default\"] = void 0;\nvar _default = exports[\"default\"] = {\n  \"hljs\": {\n    \"display\": \"block\",\n    \"overflowX\": \"auto\",\n    \"padding\": \"0.5em\",\n    \"background\": \"#000000\",\n    \"color\": \"#aaaaaa\"\n  },\n  \"hljs-subst\": {\n    \"color\": \"#aaaaaa\"\n  },\n  \"hljs-tag\": {\n    \"color\": \"#aaaaaa\"\n  },\n  \"hljs-title\": {\n    \"color\": \"#aaaaaa\"\n  },\n  \"hljs-strong\": {\n    \"color\": \"#a8a8a2\"\n  },\n  \"hljs-emphasis\": {\n    \"color\": \"#a8a8a2\",\n    \"fontStyle\": \"italic\"\n  },\n  \"hljs-bullet\": {\n    \"color\": \"#ff55ff\"\n  },\n  \"hljs-quote\": {\n    \"color\": \"#ff55ff\"\n  },\n  \"hljs-number\": {\n    \"color\": \"#ff55ff\"\n  },\n  \"hljs-regexp\": {\n    \"color\": \"#ff55ff\"\n  },\n  \"hljs-literal\": {\n    \"color\": \"#ff55ff\"\n  },\n  \"hljs-code\\n.hljs-selector-class\": {\n    \"color\": \"#aaaaff\"\n  },\n  \"hljs-stronge\": {\n    \"fontStyle\": \"italic\"\n  },\n  \"hljs-type\": {\n    \"fontStyle\": \"italic\",\n    \"color\": \"#ff55ff\"\n  },\n  \"hljs-keyword\": {\n    \"color\": \"#ffff55\"\n  },\n  \"hljs-selector-tag\": {\n    \"color\": \"#ffff55\"\n  },\n  \"hljs-function\": {\n    \"color\": \"#ffff55\"\n  },\n  \"hljs-section\": {\n    \"color\": \"#ffff55\"\n  },\n  \"hljs-symbol\": {\n    \"color\": \"#ffff55\"\n  },\n  \"hljs-name\": {\n    \"color\": \"#ffff55\"\n  },\n  \"hljs-attribute\": {\n    \"color\": \"#ff5555\"\n  },\n  \"hljs-variable\": {\n    \"color\": \"#8888ff\"\n  },\n  \"hljs-params\": {\n    \"color\": \"#8888ff\"\n  },\n  \"hljs-class .hljs-title\": {\n    \"color\": \"#8888ff\"\n  },\n  \"hljs-string\": {\n    \"color\": \"#ff55ff\"\n  },\n  \"hljs-selector-id\": {\n    \"color\": \"#ff55ff\"\n  },\n  \"hljs-selector-attr\": {\n    \"color\": \"#ff55ff\"\n  },\n  \"hljs-selector-pseudo\": {\n    \"color\": \"#ff55ff\"\n  },\n  \"hljs-built_in\": {\n    \"color\": \"#ff55ff\"\n  },\n  \"hljs-builtin-name\": {\n    \"color\": \"#ff55ff\"\n  },\n  \"hljs-template-tag\": {\n    \"color\": \"#ff55ff\"\n  },\n  \"hljs-template-variable\": {\n    \"color\": \"#ff55ff\"\n  },\n  \"hljs-addition\": {\n    \"color\": \"#ff55ff\"\n  },\n  \"hljs-link\": {\n    \"color\": \"#ff55ff\"\n  },\n  \"hljs-comment\": {\n    \"color\": \"#55ffff\"\n  },\n  \"hljs-meta\": {\n    \"color\": \"#55ffff\"\n  },\n  \"hljs-deletion\": {\n    \"color\": \"#55ffff\"\n  }\n};","/*\nLanguage: Oxygene\nAuthor: Carlo Kok \nDescription: Oxygene is built on the foundation of Object Pascal, revamped and extended to be a modern language for the twenty-first century.\nWebsite: https://www.elementscompiler.com/elements/default.aspx\n*/\n\nfunction oxygene(hljs) {\n  const OXYGENE_KEYWORDS = {\n    $pattern: /\\.?\\w+/,\n    keyword:\n      'abstract add and array as asc aspect assembly async begin break block by case class concat const copy constructor continue ' +\n      'create default delegate desc distinct div do downto dynamic each else empty end ensure enum equals event except exit extension external false ' +\n      'final finalize finalizer finally flags for forward from function future global group has if implementation implements implies in index inherited ' +\n      'inline interface into invariants is iterator join locked locking loop matching method mod module namespace nested new nil not notify nullable of ' +\n      'old on operator or order out override parallel params partial pinned private procedure property protected public queryable raise read readonly ' +\n      'record reintroduce remove repeat require result reverse sealed select self sequence set shl shr skip static step soft take then to true try tuple ' +\n      'type union unit unsafe until uses using var virtual raises volatile where while with write xor yield await mapped deprecated stdcall cdecl pascal ' +\n      'register safecall overload library platform reference packed strict published autoreleasepool selector strong weak unretained'\n  };\n  const CURLY_COMMENT = hljs.COMMENT(\n    /\\{/,\n    /\\}/,\n    {\n      relevance: 0\n    }\n  );\n  const PAREN_COMMENT = hljs.COMMENT(\n    '\\\\(\\\\*',\n    '\\\\*\\\\)',\n    {\n      relevance: 10\n    }\n  );\n  const STRING = {\n    className: 'string',\n    begin: '\\'',\n    end: '\\'',\n    contains: [\n      {\n        begin: '\\'\\''\n      }\n    ]\n  };\n  const CHAR_STRING = {\n    className: 'string',\n    begin: '(#\\\\d+)+'\n  };\n  const FUNCTION = {\n    className: 'function',\n    beginKeywords: 'function constructor destructor procedure method',\n    end: '[:;]',\n    keywords: 'function constructor|10 destructor|10 procedure|10 method|10',\n    contains: [\n      hljs.TITLE_MODE,\n      {\n        className: 'params',\n        begin: '\\\\(',\n        end: '\\\\)',\n        keywords: OXYGENE_KEYWORDS,\n        contains: [\n          STRING,\n          CHAR_STRING\n        ]\n      },\n      CURLY_COMMENT,\n      PAREN_COMMENT\n    ]\n  };\n  return {\n    name: 'Oxygene',\n    case_insensitive: true,\n    keywords: OXYGENE_KEYWORDS,\n    illegal: '(\"|\\\\$[G-Zg-z]|\\\\/\\\\*||->)',\n    contains: [\n      CURLY_COMMENT,\n      PAREN_COMMENT,\n      hljs.C_LINE_COMMENT_MODE,\n      STRING,\n      CHAR_STRING,\n      hljs.NUMBER_MODE,\n      FUNCTION,\n      {\n        className: 'class',\n        begin: '=\\\\bclass\\\\b',\n        end: 'end;',\n        keywords: OXYGENE_KEYWORDS,\n        contains: [\n          STRING,\n          CHAR_STRING,\n          CURLY_COMMENT,\n          PAREN_COMMENT,\n          hljs.C_LINE_COMMENT_MODE,\n          FUNCTION\n        ]\n      }\n    ]\n  };\n}\n\nmodule.exports = oxygene;\n","/*\nLanguage: Intel x86 Assembly\nAuthor: innocenat \nDescription: x86 assembly language using Intel's mnemonic and NASM syntax\nWebsite: https://en.wikipedia.org/wiki/X86_assembly_language\nCategory: assembler\n*/\n\nfunction x86asm(hljs) {\n  return {\n    name: 'Intel x86 Assembly',\n    case_insensitive: true,\n    keywords: {\n      $pattern: '[.%]?' + hljs.IDENT_RE,\n      keyword:\n        'lock rep repe repz repne repnz xaquire xrelease bnd nobnd ' +\n        'aaa aad aam aas adc add and arpl bb0_reset bb1_reset bound bsf bsr bswap bt btc btr bts call cbw cdq cdqe clc cld cli clts cmc cmp cmpsb cmpsd cmpsq cmpsw cmpxchg cmpxchg486 cmpxchg8b cmpxchg16b cpuid cpu_read cpu_write cqo cwd cwde daa das dec div dmint emms enter equ f2xm1 fabs fadd faddp fbld fbstp fchs fclex fcmovb fcmovbe fcmove fcmovnb fcmovnbe fcmovne fcmovnu fcmovu fcom fcomi fcomip fcomp fcompp fcos fdecstp fdisi fdiv fdivp fdivr fdivrp femms feni ffree ffreep fiadd ficom ficomp fidiv fidivr fild fimul fincstp finit fist fistp fisttp fisub fisubr fld fld1 fldcw fldenv fldl2e fldl2t fldlg2 fldln2 fldpi fldz fmul fmulp fnclex fndisi fneni fninit fnop fnsave fnstcw fnstenv fnstsw fpatan fprem fprem1 fptan frndint frstor fsave fscale fsetpm fsin fsincos fsqrt fst fstcw fstenv fstp fstsw fsub fsubp fsubr fsubrp ftst fucom fucomi fucomip fucomp fucompp fxam fxch fxtract fyl2x fyl2xp1 hlt ibts icebp idiv imul in inc incbin insb insd insw int int01 int1 int03 int3 into invd invpcid invlpg invlpga iret iretd iretq iretw jcxz jecxz jrcxz jmp jmpe lahf lar lds lea leave les lfence lfs lgdt lgs lidt lldt lmsw loadall loadall286 lodsb lodsd lodsq lodsw loop loope loopne loopnz loopz lsl lss ltr mfence monitor mov movd movq movsb movsd movsq movsw movsx movsxd movzx mul mwait neg nop not or out outsb outsd outsw packssdw packsswb packuswb paddb paddd paddsb paddsiw paddsw paddusb paddusw paddw pand pandn pause paveb pavgusb pcmpeqb pcmpeqd pcmpeqw pcmpgtb pcmpgtd pcmpgtw pdistib pf2id pfacc pfadd pfcmpeq pfcmpge pfcmpgt pfmax pfmin pfmul pfrcp pfrcpit1 pfrcpit2 pfrsqit1 pfrsqrt pfsub pfsubr pi2fd pmachriw pmaddwd pmagw pmulhriw pmulhrwa pmulhrwc pmulhw pmullw pmvgezb pmvlzb pmvnzb pmvzb pop popa popad popaw popf popfd popfq popfw por prefetch prefetchw pslld psllq psllw psrad psraw psrld psrlq psrlw psubb psubd psubsb psubsiw psubsw psubusb psubusw psubw punpckhbw punpckhdq punpckhwd punpcklbw punpckldq punpcklwd push pusha pushad pushaw pushf pushfd pushfq pushfw pxor rcl rcr rdshr rdmsr rdpmc rdtsc rdtscp ret retf retn rol ror rdm rsdc rsldt rsm rsts sahf sal salc sar sbb scasb scasd scasq scasw sfence sgdt shl shld shr shrd sidt sldt skinit smi smint smintold smsw stc std sti stosb stosd stosq stosw str sub svdc svldt svts swapgs syscall sysenter sysexit sysret test ud0 ud1 ud2b ud2 ud2a umov verr verw fwait wbinvd wrshr wrmsr xadd xbts xchg xlatb xlat xor cmove cmovz cmovne cmovnz cmova cmovnbe cmovae cmovnb cmovb cmovnae cmovbe cmovna cmovg cmovnle cmovge cmovnl cmovl cmovnge cmovle cmovng cmovc cmovnc cmovo cmovno cmovs cmovns cmovp cmovpe cmovnp cmovpo je jz jne jnz ja jnbe jae jnb jb jnae jbe jna jg jnle jge jnl jl jnge jle jng jc jnc jo jno js jns jpo jnp jpe jp sete setz setne setnz seta setnbe setae setnb setnc setb setnae setcset setbe setna setg setnle setge setnl setl setnge setle setng sets setns seto setno setpe setp setpo setnp addps addss andnps andps cmpeqps cmpeqss cmpleps cmpless cmpltps cmpltss cmpneqps cmpneqss cmpnleps cmpnless cmpnltps cmpnltss cmpordps cmpordss cmpunordps cmpunordss cmpps cmpss comiss cvtpi2ps cvtps2pi cvtsi2ss cvtss2si cvttps2pi cvttss2si divps divss ldmxcsr maxps maxss minps minss movaps movhps movlhps movlps movhlps movmskps movntps movss movups mulps mulss orps rcpps rcpss rsqrtps rsqrtss shufps sqrtps sqrtss stmxcsr subps subss ucomiss unpckhps unpcklps xorps fxrstor fxrstor64 fxsave fxsave64 xgetbv xsetbv xsave xsave64 xsaveopt xsaveopt64 xrstor xrstor64 prefetchnta prefetcht0 prefetcht1 prefetcht2 maskmovq movntq pavgb pavgw pextrw pinsrw pmaxsw pmaxub pminsw pminub pmovmskb pmulhuw psadbw pshufw pf2iw pfnacc pfpnacc pi2fw pswapd maskmovdqu clflush movntdq movnti movntpd movdqa movdqu movdq2q movq2dq paddq pmuludq pshufd pshufhw pshuflw pslldq psrldq psubq punpckhqdq punpcklqdq addpd addsd andnpd andpd cmpeqpd cmpeqsd cmplepd cmplesd cmpltpd cmpltsd cmpneqpd cmpneqsd cmpnlepd cmpnlesd cmpnltpd cmpnltsd cmpordpd cmpordsd cmpunordpd cmpunordsd cmppd comisd cvtdq2pd cvtdq2ps cvtpd2dq cvtpd2pi cvtpd2ps cvtpi2pd cvtps2dq cvtps2pd cvtsd2si cvtsd2ss cvtsi2sd cvtss2sd cvttpd2pi cvttpd2dq cvttps2dq cvttsd2si divpd divsd maxpd maxsd minpd minsd movapd movhpd movlpd movmskpd movupd mulpd mulsd orpd shufpd sqrtpd sqrtsd subpd subsd ucomisd unpckhpd unpcklpd xorpd addsubpd addsubps haddpd haddps hsubpd hsubps lddqu movddup movshdup movsldup clgi stgi vmcall vmclear vmfunc vmlaunch vmload vmmcall vmptrld vmptrst vmread vmresume vmrun vmsave vmwrite vmxoff vmxon invept invvpid pabsb pabsw pabsd palignr phaddw phaddd phaddsw phsubw phsubd phsubsw pmaddubsw pmulhrsw pshufb psignb psignw psignd extrq insertq movntsd movntss lzcnt blendpd blendps blendvpd blendvps dppd dpps extractps insertps movntdqa mpsadbw packusdw pblendvb pblendw pcmpeqq pextrb pextrd pextrq phminposuw pinsrb pinsrd pinsrq pmaxsb pmaxsd pmaxud pmaxuw pminsb pminsd pminud pminuw pmovsxbw pmovsxbd pmovsxbq pmovsxwd pmovsxwq pmovsxdq pmovzxbw pmovzxbd pmovzxbq pmovzxwd pmovzxwq pmovzxdq pmuldq pmulld ptest roundpd roundps roundsd roundss crc32 pcmpestri pcmpestrm pcmpistri pcmpistrm pcmpgtq popcnt getsec pfrcpv pfrsqrtv movbe aesenc aesenclast aesdec aesdeclast aesimc aeskeygenassist vaesenc vaesenclast vaesdec vaesdeclast vaesimc vaeskeygenassist vaddpd vaddps vaddsd vaddss vaddsubpd vaddsubps vandpd vandps vandnpd vandnps vblendpd vblendps vblendvpd vblendvps vbroadcastss vbroadcastsd vbroadcastf128 vcmpeq_ospd vcmpeqpd vcmplt_ospd vcmpltpd vcmple_ospd vcmplepd vcmpunord_qpd vcmpunordpd vcmpneq_uqpd vcmpneqpd vcmpnlt_uspd vcmpnltpd vcmpnle_uspd vcmpnlepd vcmpord_qpd vcmpordpd vcmpeq_uqpd vcmpnge_uspd vcmpngepd vcmpngt_uspd vcmpngtpd vcmpfalse_oqpd vcmpfalsepd vcmpneq_oqpd vcmpge_ospd vcmpgepd vcmpgt_ospd vcmpgtpd vcmptrue_uqpd vcmptruepd vcmplt_oqpd vcmple_oqpd vcmpunord_spd vcmpneq_uspd vcmpnlt_uqpd vcmpnle_uqpd vcmpord_spd vcmpeq_uspd vcmpnge_uqpd vcmpngt_uqpd vcmpfalse_ospd vcmpneq_ospd vcmpge_oqpd vcmpgt_oqpd vcmptrue_uspd vcmppd vcmpeq_osps vcmpeqps vcmplt_osps vcmpltps vcmple_osps vcmpleps vcmpunord_qps vcmpunordps vcmpneq_uqps vcmpneqps vcmpnlt_usps vcmpnltps vcmpnle_usps vcmpnleps vcmpord_qps vcmpordps vcmpeq_uqps vcmpnge_usps vcmpngeps vcmpngt_usps vcmpngtps vcmpfalse_oqps vcmpfalseps vcmpneq_oqps vcmpge_osps vcmpgeps vcmpgt_osps vcmpgtps vcmptrue_uqps vcmptrueps vcmplt_oqps vcmple_oqps vcmpunord_sps vcmpneq_usps vcmpnlt_uqps vcmpnle_uqps vcmpord_sps vcmpeq_usps vcmpnge_uqps vcmpngt_uqps vcmpfalse_osps vcmpneq_osps vcmpge_oqps vcmpgt_oqps vcmptrue_usps vcmpps vcmpeq_ossd vcmpeqsd vcmplt_ossd vcmpltsd vcmple_ossd vcmplesd vcmpunord_qsd vcmpunordsd vcmpneq_uqsd vcmpneqsd vcmpnlt_ussd vcmpnltsd vcmpnle_ussd vcmpnlesd vcmpord_qsd vcmpordsd vcmpeq_uqsd vcmpnge_ussd vcmpngesd vcmpngt_ussd vcmpngtsd vcmpfalse_oqsd vcmpfalsesd vcmpneq_oqsd vcmpge_ossd vcmpgesd vcmpgt_ossd vcmpgtsd vcmptrue_uqsd vcmptruesd vcmplt_oqsd vcmple_oqsd vcmpunord_ssd vcmpneq_ussd vcmpnlt_uqsd vcmpnle_uqsd vcmpord_ssd vcmpeq_ussd vcmpnge_uqsd vcmpngt_uqsd vcmpfalse_ossd vcmpneq_ossd vcmpge_oqsd vcmpgt_oqsd vcmptrue_ussd vcmpsd vcmpeq_osss vcmpeqss vcmplt_osss vcmpltss vcmple_osss vcmpless vcmpunord_qss vcmpunordss vcmpneq_uqss vcmpneqss vcmpnlt_usss vcmpnltss vcmpnle_usss vcmpnless vcmpord_qss vcmpordss vcmpeq_uqss vcmpnge_usss vcmpngess vcmpngt_usss vcmpngtss vcmpfalse_oqss vcmpfalsess vcmpneq_oqss vcmpge_osss vcmpgess vcmpgt_osss vcmpgtss vcmptrue_uqss vcmptruess vcmplt_oqss vcmple_oqss vcmpunord_sss vcmpneq_usss vcmpnlt_uqss vcmpnle_uqss vcmpord_sss vcmpeq_usss vcmpnge_uqss vcmpngt_uqss vcmpfalse_osss vcmpneq_osss vcmpge_oqss vcmpgt_oqss vcmptrue_usss vcmpss vcomisd vcomiss vcvtdq2pd vcvtdq2ps vcvtpd2dq vcvtpd2ps vcvtps2dq vcvtps2pd vcvtsd2si vcvtsd2ss vcvtsi2sd vcvtsi2ss vcvtss2sd vcvtss2si vcvttpd2dq vcvttps2dq vcvttsd2si vcvttss2si vdivpd vdivps vdivsd vdivss vdppd vdpps vextractf128 vextractps vhaddpd vhaddps vhsubpd vhsubps vinsertf128 vinsertps vlddqu vldqqu vldmxcsr vmaskmovdqu vmaskmovps vmaskmovpd vmaxpd vmaxps vmaxsd vmaxss vminpd vminps vminsd vminss vmovapd vmovaps vmovd vmovq vmovddup vmovdqa vmovqqa vmovdqu vmovqqu vmovhlps vmovhpd vmovhps vmovlhps vmovlpd vmovlps vmovmskpd vmovmskps vmovntdq vmovntqq vmovntdqa vmovntpd vmovntps vmovsd vmovshdup vmovsldup vmovss vmovupd vmovups vmpsadbw vmulpd vmulps vmulsd vmulss vorpd vorps vpabsb vpabsw vpabsd vpacksswb vpackssdw vpackuswb vpackusdw vpaddb vpaddw vpaddd vpaddq vpaddsb vpaddsw vpaddusb vpaddusw vpalignr vpand vpandn vpavgb vpavgw vpblendvb vpblendw vpcmpestri vpcmpestrm vpcmpistri vpcmpistrm vpcmpeqb vpcmpeqw vpcmpeqd vpcmpeqq vpcmpgtb vpcmpgtw vpcmpgtd vpcmpgtq vpermilpd vpermilps vperm2f128 vpextrb vpextrw vpextrd vpextrq vphaddw vphaddd vphaddsw vphminposuw vphsubw vphsubd vphsubsw vpinsrb vpinsrw vpinsrd vpinsrq vpmaddwd vpmaddubsw vpmaxsb vpmaxsw vpmaxsd vpmaxub vpmaxuw vpmaxud vpminsb vpminsw vpminsd vpminub vpminuw vpminud vpmovmskb vpmovsxbw vpmovsxbd vpmovsxbq vpmovsxwd vpmovsxwq vpmovsxdq vpmovzxbw vpmovzxbd vpmovzxbq vpmovzxwd vpmovzxwq vpmovzxdq vpmulhuw vpmulhrsw vpmulhw vpmullw vpmulld vpmuludq vpmuldq vpor vpsadbw vpshufb vpshufd vpshufhw vpshuflw vpsignb vpsignw vpsignd vpslldq vpsrldq vpsllw vpslld vpsllq vpsraw vpsrad vpsrlw vpsrld vpsrlq vptest vpsubb vpsubw vpsubd vpsubq vpsubsb vpsubsw vpsubusb vpsubusw vpunpckhbw vpunpckhwd vpunpckhdq vpunpckhqdq vpunpcklbw vpunpcklwd vpunpckldq vpunpcklqdq vpxor vrcpps vrcpss vrsqrtps vrsqrtss vroundpd vroundps vroundsd vroundss vshufpd vshufps vsqrtpd vsqrtps vsqrtsd vsqrtss vstmxcsr vsubpd vsubps vsubsd vsubss vtestps vtestpd vucomisd vucomiss vunpckhpd vunpckhps vunpcklpd vunpcklps vxorpd vxorps vzeroall vzeroupper pclmullqlqdq pclmulhqlqdq pclmullqhqdq pclmulhqhqdq pclmulqdq vpclmullqlqdq vpclmulhqlqdq vpclmullqhqdq vpclmulhqhqdq vpclmulqdq vfmadd132ps vfmadd132pd vfmadd312ps vfmadd312pd vfmadd213ps vfmadd213pd vfmadd123ps vfmadd123pd vfmadd231ps vfmadd231pd vfmadd321ps vfmadd321pd vfmaddsub132ps vfmaddsub132pd vfmaddsub312ps vfmaddsub312pd vfmaddsub213ps vfmaddsub213pd vfmaddsub123ps vfmaddsub123pd vfmaddsub231ps vfmaddsub231pd vfmaddsub321ps vfmaddsub321pd vfmsub132ps vfmsub132pd vfmsub312ps vfmsub312pd vfmsub213ps vfmsub213pd vfmsub123ps vfmsub123pd vfmsub231ps vfmsub231pd vfmsub321ps vfmsub321pd vfmsubadd132ps vfmsubadd132pd vfmsubadd312ps vfmsubadd312pd vfmsubadd213ps vfmsubadd213pd vfmsubadd123ps vfmsubadd123pd vfmsubadd231ps vfmsubadd231pd vfmsubadd321ps vfmsubadd321pd vfnmadd132ps vfnmadd132pd vfnmadd312ps vfnmadd312pd vfnmadd213ps vfnmadd213pd vfnmadd123ps vfnmadd123pd vfnmadd231ps vfnmadd231pd vfnmadd321ps vfnmadd321pd vfnmsub132ps vfnmsub132pd vfnmsub312ps vfnmsub312pd vfnmsub213ps vfnmsub213pd vfnmsub123ps vfnmsub123pd vfnmsub231ps vfnmsub231pd vfnmsub321ps vfnmsub321pd vfmadd132ss vfmadd132sd vfmadd312ss vfmadd312sd vfmadd213ss vfmadd213sd vfmadd123ss vfmadd123sd vfmadd231ss vfmadd231sd vfmadd321ss vfmadd321sd vfmsub132ss vfmsub132sd vfmsub312ss vfmsub312sd vfmsub213ss vfmsub213sd vfmsub123ss vfmsub123sd vfmsub231ss vfmsub231sd vfmsub321ss vfmsub321sd vfnmadd132ss vfnmadd132sd vfnmadd312ss vfnmadd312sd vfnmadd213ss vfnmadd213sd vfnmadd123ss vfnmadd123sd vfnmadd231ss vfnmadd231sd vfnmadd321ss vfnmadd321sd vfnmsub132ss vfnmsub132sd vfnmsub312ss vfnmsub312sd vfnmsub213ss vfnmsub213sd vfnmsub123ss vfnmsub123sd vfnmsub231ss vfnmsub231sd vfnmsub321ss vfnmsub321sd rdfsbase rdgsbase rdrand wrfsbase wrgsbase vcvtph2ps vcvtps2ph adcx adox rdseed clac stac xstore xcryptecb xcryptcbc xcryptctr xcryptcfb xcryptofb montmul xsha1 xsha256 llwpcb slwpcb lwpval lwpins vfmaddpd vfmaddps vfmaddsd vfmaddss vfmaddsubpd vfmaddsubps vfmsubaddpd vfmsubaddps vfmsubpd vfmsubps vfmsubsd vfmsubss vfnmaddpd vfnmaddps vfnmaddsd vfnmaddss vfnmsubpd vfnmsubps vfnmsubsd vfnmsubss vfrczpd vfrczps vfrczsd vfrczss vpcmov vpcomb vpcomd vpcomq vpcomub vpcomud vpcomuq vpcomuw vpcomw vphaddbd vphaddbq vphaddbw vphadddq vphaddubd vphaddubq vphaddubw vphaddudq vphadduwd vphadduwq vphaddwd vphaddwq vphsubbw vphsubdq vphsubwd vpmacsdd vpmacsdqh vpmacsdql vpmacssdd vpmacssdqh vpmacssdql vpmacsswd vpmacssww vpmacswd vpmacsww vpmadcsswd vpmadcswd vpperm vprotb vprotd vprotq vprotw vpshab vpshad vpshaq vpshaw vpshlb vpshld vpshlq vpshlw vbroadcasti128 vpblendd vpbroadcastb vpbroadcastw vpbroadcastd vpbroadcastq vpermd vpermpd vpermps vpermq vperm2i128 vextracti128 vinserti128 vpmaskmovd vpmaskmovq vpsllvd vpsllvq vpsravd vpsrlvd vpsrlvq vgatherdpd vgatherqpd vgatherdps vgatherqps vpgatherdd vpgatherqd vpgatherdq vpgatherqq xabort xbegin xend xtest andn bextr blci blcic blsi blsic blcfill blsfill blcmsk blsmsk blsr blcs bzhi mulx pdep pext rorx sarx shlx shrx tzcnt tzmsk t1mskc valignd valignq vblendmpd vblendmps vbroadcastf32x4 vbroadcastf64x4 vbroadcasti32x4 vbroadcasti64x4 vcompresspd vcompressps vcvtpd2udq vcvtps2udq vcvtsd2usi vcvtss2usi vcvttpd2udq vcvttps2udq vcvttsd2usi vcvttss2usi vcvtudq2pd vcvtudq2ps vcvtusi2sd vcvtusi2ss vexpandpd vexpandps vextractf32x4 vextractf64x4 vextracti32x4 vextracti64x4 vfixupimmpd vfixupimmps vfixupimmsd vfixupimmss vgetexppd vgetexpps vgetexpsd vgetexpss vgetmantpd vgetmantps vgetmantsd vgetmantss vinsertf32x4 vinsertf64x4 vinserti32x4 vinserti64x4 vmovdqa32 vmovdqa64 vmovdqu32 vmovdqu64 vpabsq vpandd vpandnd vpandnq vpandq vpblendmd vpblendmq vpcmpltd vpcmpled vpcmpneqd vpcmpnltd vpcmpnled vpcmpd vpcmpltq vpcmpleq vpcmpneqq vpcmpnltq vpcmpnleq vpcmpq vpcmpequd vpcmpltud vpcmpleud vpcmpnequd vpcmpnltud vpcmpnleud vpcmpud vpcmpequq vpcmpltuq vpcmpleuq vpcmpnequq vpcmpnltuq vpcmpnleuq vpcmpuq vpcompressd vpcompressq vpermi2d vpermi2pd vpermi2ps vpermi2q vpermt2d vpermt2pd vpermt2ps vpermt2q vpexpandd vpexpandq vpmaxsq vpmaxuq vpminsq vpminuq vpmovdb vpmovdw vpmovqb vpmovqd vpmovqw vpmovsdb vpmovsdw vpmovsqb vpmovsqd vpmovsqw vpmovusdb vpmovusdw vpmovusqb vpmovusqd vpmovusqw vpord vporq vprold vprolq vprolvd vprolvq vprord vprorq vprorvd vprorvq vpscatterdd vpscatterdq vpscatterqd vpscatterqq vpsraq vpsravq vpternlogd vpternlogq vptestmd vptestmq vptestnmd vptestnmq vpxord vpxorq vrcp14pd vrcp14ps vrcp14sd vrcp14ss vrndscalepd vrndscaleps vrndscalesd vrndscaless vrsqrt14pd vrsqrt14ps vrsqrt14sd vrsqrt14ss vscalefpd vscalefps vscalefsd vscalefss vscatterdpd vscatterdps vscatterqpd vscatterqps vshuff32x4 vshuff64x2 vshufi32x4 vshufi64x2 kandnw kandw kmovw knotw kortestw korw kshiftlw kshiftrw kunpckbw kxnorw kxorw vpbroadcastmb2q vpbroadcastmw2d vpconflictd vpconflictq vplzcntd vplzcntq vexp2pd vexp2ps vrcp28pd vrcp28ps vrcp28sd vrcp28ss vrsqrt28pd vrsqrt28ps vrsqrt28sd vrsqrt28ss vgatherpf0dpd vgatherpf0dps vgatherpf0qpd vgatherpf0qps vgatherpf1dpd vgatherpf1dps vgatherpf1qpd vgatherpf1qps vscatterpf0dpd vscatterpf0dps vscatterpf0qpd vscatterpf0qps vscatterpf1dpd vscatterpf1dps vscatterpf1qpd vscatterpf1qps prefetchwt1 bndmk bndcl bndcu bndcn bndmov bndldx bndstx sha1rnds4 sha1nexte sha1msg1 sha1msg2 sha256rnds2 sha256msg1 sha256msg2 hint_nop0 hint_nop1 hint_nop2 hint_nop3 hint_nop4 hint_nop5 hint_nop6 hint_nop7 hint_nop8 hint_nop9 hint_nop10 hint_nop11 hint_nop12 hint_nop13 hint_nop14 hint_nop15 hint_nop16 hint_nop17 hint_nop18 hint_nop19 hint_nop20 hint_nop21 hint_nop22 hint_nop23 hint_nop24 hint_nop25 hint_nop26 hint_nop27 hint_nop28 hint_nop29 hint_nop30 hint_nop31 hint_nop32 hint_nop33 hint_nop34 hint_nop35 hint_nop36 hint_nop37 hint_nop38 hint_nop39 hint_nop40 hint_nop41 hint_nop42 hint_nop43 hint_nop44 hint_nop45 hint_nop46 hint_nop47 hint_nop48 hint_nop49 hint_nop50 hint_nop51 hint_nop52 hint_nop53 hint_nop54 hint_nop55 hint_nop56 hint_nop57 hint_nop58 hint_nop59 hint_nop60 hint_nop61 hint_nop62 hint_nop63',\n      built_in:\n        // Instruction pointer\n        'ip eip rip ' +\n        // 8-bit registers\n        'al ah bl bh cl ch dl dh sil dil bpl spl r8b r9b r10b r11b r12b r13b r14b r15b ' +\n        // 16-bit registers\n        'ax bx cx dx si di bp sp r8w r9w r10w r11w r12w r13w r14w r15w ' +\n        // 32-bit registers\n        'eax ebx ecx edx esi edi ebp esp eip r8d r9d r10d r11d r12d r13d r14d r15d ' +\n        // 64-bit registers\n        'rax rbx rcx rdx rsi rdi rbp rsp r8 r9 r10 r11 r12 r13 r14 r15 ' +\n        // Segment registers\n        'cs ds es fs gs ss ' +\n        // Floating point stack registers\n        'st st0 st1 st2 st3 st4 st5 st6 st7 ' +\n        // MMX Registers\n        'mm0 mm1 mm2 mm3 mm4 mm5 mm6 mm7 ' +\n        // SSE registers\n        'xmm0  xmm1  xmm2  xmm3  xmm4  xmm5  xmm6  xmm7  xmm8  xmm9 xmm10  xmm11 xmm12 xmm13 xmm14 xmm15 ' +\n        'xmm16 xmm17 xmm18 xmm19 xmm20 xmm21 xmm22 xmm23 xmm24 xmm25 xmm26 xmm27 xmm28 xmm29 xmm30 xmm31 ' +\n        // AVX registers\n        'ymm0  ymm1  ymm2  ymm3  ymm4  ymm5  ymm6  ymm7  ymm8  ymm9 ymm10  ymm11 ymm12 ymm13 ymm14 ymm15 ' +\n        'ymm16 ymm17 ymm18 ymm19 ymm20 ymm21 ymm22 ymm23 ymm24 ymm25 ymm26 ymm27 ymm28 ymm29 ymm30 ymm31 ' +\n        // AVX-512F registers\n        'zmm0  zmm1  zmm2  zmm3  zmm4  zmm5  zmm6  zmm7  zmm8  zmm9 zmm10  zmm11 zmm12 zmm13 zmm14 zmm15 ' +\n        'zmm16 zmm17 zmm18 zmm19 zmm20 zmm21 zmm22 zmm23 zmm24 zmm25 zmm26 zmm27 zmm28 zmm29 zmm30 zmm31 ' +\n        // AVX-512F mask registers\n        'k0 k1 k2 k3 k4 k5 k6 k7 ' +\n        // Bound (MPX) register\n        'bnd0 bnd1 bnd2 bnd3 ' +\n        // Special register\n        'cr0 cr1 cr2 cr3 cr4 cr8 dr0 dr1 dr2 dr3 dr8 tr3 tr4 tr5 tr6 tr7 ' +\n        // NASM altreg package\n        'r0 r1 r2 r3 r4 r5 r6 r7 r0b r1b r2b r3b r4b r5b r6b r7b ' +\n        'r0w r1w r2w r3w r4w r5w r6w r7w r0d r1d r2d r3d r4d r5d r6d r7d ' +\n        'r0h r1h r2h r3h ' +\n        'r0l r1l r2l r3l r4l r5l r6l r7l r8l r9l r10l r11l r12l r13l r14l r15l ' +\n\n        'db dw dd dq dt ddq do dy dz ' +\n        'resb resw resd resq rest resdq reso resy resz ' +\n        'incbin equ times ' +\n        'byte word dword qword nosplit rel abs seg wrt strict near far a32 ptr',\n\n      meta:\n        '%define %xdefine %+ %undef %defstr %deftok %assign %strcat %strlen %substr %rotate %elif %else %endif ' +\n        '%if %ifmacro %ifctx %ifidn %ifidni %ifid %ifnum %ifstr %iftoken %ifempty %ifenv %error %warning %fatal %rep ' +\n        '%endrep %include %push %pop %repl %pathsearch %depend %use %arg %stacksize %local %line %comment %endcomment ' +\n        '.nolist ' +\n        '__FILE__ __LINE__ __SECT__  __BITS__ __OUTPUT_FORMAT__ __DATE__ __TIME__ __DATE_NUM__ __TIME_NUM__ ' +\n        '__UTC_DATE__ __UTC_TIME__ __UTC_DATE_NUM__ __UTC_TIME_NUM__  __PASS__ struc endstruc istruc at iend ' +\n        'align alignb sectalign daz nodaz up down zero default option assume public ' +\n\n        'bits use16 use32 use64 default section segment absolute extern global common cpu float ' +\n        '__utf16__ __utf16le__ __utf16be__ __utf32__ __utf32le__ __utf32be__ ' +\n        '__float8__ __float16__ __float32__ __float64__ __float80m__ __float80e__ __float128l__ __float128h__ ' +\n        '__Infinity__ __QNaN__ __SNaN__ Inf NaN QNaN SNaN float8 float16 float32 float64 float80m float80e ' +\n        'float128l float128h __FLOAT_DAZ__ __FLOAT_ROUND__ __FLOAT__'\n    },\n    contains: [\n      hljs.COMMENT(\n        ';',\n        '$',\n        {\n          relevance: 0\n        }\n      ),\n      {\n        className: 'number',\n        variants: [\n          // Float number and x87 BCD\n          {\n            begin: '\\\\b(?:([0-9][0-9_]*)?\\\\.[0-9_]*(?:[eE][+-]?[0-9_]+)?|' +\n                   '(0[Xx])?[0-9][0-9_]*(\\\\.[0-9_]*)?(?:[pP](?:[+-]?[0-9_]+)?)?)\\\\b',\n            relevance: 0\n          },\n\n          // Hex number in $\n          {\n            begin: '\\\\$[0-9][0-9A-Fa-f]*',\n            relevance: 0\n          },\n\n          // Number in H,D,T,Q,O,B,Y suffix\n          {\n            begin: '\\\\b(?:[0-9A-Fa-f][0-9A-Fa-f_]*[Hh]|[0-9][0-9_]*[DdTt]?|[0-7][0-7_]*[QqOo]|[0-1][0-1_]*[BbYy])\\\\b'\n          },\n\n          // Number in X,D,T,Q,O,B,Y prefix\n          {\n            begin: '\\\\b(?:0[Xx][0-9A-Fa-f_]+|0[DdTt][0-9_]+|0[QqOo][0-7_]+|0[BbYy][0-1_]+)\\\\b'\n          }\n        ]\n      },\n      // Double quote string\n      hljs.QUOTE_STRING_MODE,\n      {\n        className: 'string',\n        variants: [\n          // Single-quoted string\n          {\n            begin: '\\'',\n            end: '[^\\\\\\\\]\\''\n          },\n          // Backquoted string\n          {\n            begin: '`',\n            end: '[^\\\\\\\\]`'\n          }\n        ],\n        relevance: 0\n      },\n      {\n        className: 'symbol',\n        variants: [\n          // Global label and local label\n          {\n            begin: '^\\\\s*[A-Za-z._?][A-Za-z0-9_$#@~.?]*(:|\\\\s+label)'\n          },\n          // Macro-local label\n          {\n            begin: '^\\\\s*%%[A-Za-z0-9_$#@~.?]*:'\n          }\n        ],\n        relevance: 0\n      },\n      // Macro parameter\n      {\n        className: 'subst',\n        begin: '%[0-9]+',\n        relevance: 0\n      },\n      // Macro parameter\n      {\n        className: 'subst',\n        begin: '%!\\S+',\n        relevance: 0\n      },\n      {\n        className: 'meta',\n        begin: /^\\s*\\.[\\w_-]+/\n      }\n    ]\n  };\n}\n\nmodule.exports = x86asm;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports[\"default\"] = void 0;\nvar _default = exports[\"default\"] = {\n  \"hljs\": {\n    \"display\": \"block\",\n    \"overflowX\": \"auto\",\n    \"padding\": \"0.5em\",\n    \"background\": \"#3f3f3f\",\n    \"color\": \"#dcdcdc\"\n  },\n  \"hljs-keyword\": {\n    \"color\": \"#e3ceab\"\n  },\n  \"hljs-selector-tag\": {\n    \"color\": \"#e3ceab\"\n  },\n  \"hljs-tag\": {\n    \"color\": \"#e3ceab\"\n  },\n  \"hljs-template-tag\": {\n    \"color\": \"#dcdcdc\"\n  },\n  \"hljs-number\": {\n    \"color\": \"#8cd0d3\"\n  },\n  \"hljs-variable\": {\n    \"color\": \"#efdcbc\"\n  },\n  \"hljs-template-variable\": {\n    \"color\": \"#efdcbc\"\n  },\n  \"hljs-attribute\": {\n    \"color\": \"#efdcbc\"\n  },\n  \"hljs-literal\": {\n    \"color\": \"#efefaf\"\n  },\n  \"hljs-subst\": {\n    \"color\": \"#8f8f8f\"\n  },\n  \"hljs-title\": {\n    \"color\": \"#efef8f\"\n  },\n  \"hljs-name\": {\n    \"color\": \"#efef8f\"\n  },\n  \"hljs-selector-id\": {\n    \"color\": \"#efef8f\"\n  },\n  \"hljs-selector-class\": {\n    \"color\": \"#efef8f\"\n  },\n  \"hljs-section\": {\n    \"color\": \"#efef8f\"\n  },\n  \"hljs-type\": {\n    \"color\": \"#efef8f\"\n  },\n  \"hljs-symbol\": {\n    \"color\": \"#dca3a3\"\n  },\n  \"hljs-bullet\": {\n    \"color\": \"#dca3a3\"\n  },\n  \"hljs-link\": {\n    \"color\": \"#dca3a3\"\n  },\n  \"hljs-deletion\": {\n    \"color\": \"#cc9393\"\n  },\n  \"hljs-string\": {\n    \"color\": \"#cc9393\"\n  },\n  \"hljs-built_in\": {\n    \"color\": \"#cc9393\"\n  },\n  \"hljs-builtin-name\": {\n    \"color\": \"#cc9393\"\n  },\n  \"hljs-addition\": {\n    \"color\": \"#7f9f7f\"\n  },\n  \"hljs-comment\": {\n    \"color\": \"#7f9f7f\"\n  },\n  \"hljs-quote\": {\n    \"color\": \"#7f9f7f\"\n  },\n  \"hljs-meta\": {\n    \"color\": \"#7f9f7f\"\n  },\n  \"hljs-emphasis\": {\n    \"fontStyle\": \"italic\"\n  },\n  \"hljs-strong\": {\n    \"fontWeight\": \"bold\"\n  }\n};","/*\nLanguage: Cap’n Proto\nAuthor: Oleg Efimov \nDescription: Cap’n Proto message definition format\nWebsite: https://capnproto.org/capnp-tool.html\nCategory: protocols\n*/\n\n/** @type LanguageFn */\nfunction capnproto(hljs) {\n  return {\n    name: 'Cap’n Proto',\n    aliases: ['capnp'],\n    keywords: {\n      keyword:\n        'struct enum interface union group import using const annotation extends in of on as with from fixed',\n      built_in:\n        'Void Bool Int8 Int16 Int32 Int64 UInt8 UInt16 UInt32 UInt64 Float32 Float64 ' +\n        'Text Data AnyPointer AnyStruct Capability List',\n      literal:\n        'true false'\n    },\n    contains: [\n      hljs.QUOTE_STRING_MODE,\n      hljs.NUMBER_MODE,\n      hljs.HASH_COMMENT_MODE,\n      {\n        className: 'meta',\n        begin: /@0x[\\w\\d]{16};/,\n        illegal: /\\n/\n      },\n      {\n        className: 'symbol',\n        begin: /@\\d+\\b/\n      },\n      {\n        className: 'class',\n        beginKeywords: 'struct enum',\n        end: /\\{/,\n        illegal: /\\n/,\n        contains: [hljs.inherit(hljs.TITLE_MODE, {\n          starts: {\n            endsWithParent: true,\n            excludeEnd: true\n          } // hack: eating everything after the first title\n        })]\n      },\n      {\n        className: 'class',\n        beginKeywords: 'interface',\n        end: /\\{/,\n        illegal: /\\n/,\n        contains: [hljs.inherit(hljs.TITLE_MODE, {\n          starts: {\n            endsWithParent: true,\n            excludeEnd: true\n          } // hack: eating everything after the first title\n        })]\n      }\n    ]\n  };\n}\n\nmodule.exports = capnproto;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports[\"default\"] = void 0;\nvar _default = exports[\"default\"] = {\n  \"hljs\": {\n    \"display\": \"block\",\n    \"overflowX\": \"auto\",\n    \"padding\": \"0.5em\",\n    \"background\": \"#1C1B19\",\n    \"color\": \"#FCE8C3\"\n  },\n  \"hljs-strong\": {\n    \"color\": \"#918175\"\n  },\n  \"hljs-emphasis\": {\n    \"color\": \"#918175\",\n    \"fontStyle\": \"italic\"\n  },\n  \"hljs-bullet\": {\n    \"color\": \"#FF5C8F\"\n  },\n  \"hljs-quote\": {\n    \"color\": \"#FF5C8F\"\n  },\n  \"hljs-link\": {\n    \"color\": \"#FF5C8F\"\n  },\n  \"hljs-number\": {\n    \"color\": \"#FF5C8F\"\n  },\n  \"hljs-regexp\": {\n    \"color\": \"#FF5C8F\"\n  },\n  \"hljs-literal\": {\n    \"color\": \"#FF5C8F\"\n  },\n  \"hljs-code\": {\n    \"color\": \"#68A8E4\"\n  },\n  \"hljs-selector-class\": {\n    \"color\": \"#68A8E4\"\n  },\n  \"hljs-keyword\": {\n    \"color\": \"#EF2F27\"\n  },\n  \"hljs-selector-tag\": {\n    \"color\": \"#EF2F27\"\n  },\n  \"hljs-section\": {\n    \"color\": \"#EF2F27\"\n  },\n  \"hljs-attribute\": {\n    \"color\": \"#EF2F27\"\n  },\n  \"hljs-variable\": {\n    \"color\": \"#EF2F27\"\n  },\n  \"hljs-name\": {\n    \"color\": \"#FBB829\"\n  },\n  \"hljs-title\": {\n    \"color\": \"#FBB829\"\n  },\n  \"hljs-type\": {\n    \"color\": \"#0AAEB3\"\n  },\n  \"hljs-params\": {\n    \"color\": \"#0AAEB3\"\n  },\n  \"hljs-string\": {\n    \"color\": \"#98BC37\"\n  },\n  \"hljs-subst\": {\n    \"color\": \"#C07ABE\"\n  },\n  \"hljs-built_in\": {\n    \"color\": \"#C07ABE\"\n  },\n  \"hljs-builtin-name\": {\n    \"color\": \"#C07ABE\"\n  },\n  \"hljs-symbol\": {\n    \"color\": \"#C07ABE\"\n  },\n  \"hljs-selector-id\": {\n    \"color\": \"#C07ABE\"\n  },\n  \"hljs-selector-attr\": {\n    \"color\": \"#C07ABE\"\n  },\n  \"hljs-selector-pseudo\": {\n    \"color\": \"#C07ABE\"\n  },\n  \"hljs-template-tag\": {\n    \"color\": \"#C07ABE\"\n  },\n  \"hljs-template-variable\": {\n    \"color\": \"#C07ABE\"\n  },\n  \"hljs-addition\": {\n    \"color\": \"#C07ABE\"\n  },\n  \"hljs-comment\": {\n    \"color\": \"#918175\"\n  },\n  \"hljs-deletion\": {\n    \"color\": \"#918175\"\n  },\n  \"hljs-meta\": {\n    \"color\": \"#918175\"\n  }\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports[\"default\"] = void 0;\nvar _default = exports[\"default\"] = {\n  \"hljs-comment\": {\n    \"color\": \"#655f6d\"\n  },\n  \"hljs-quote\": {\n    \"color\": \"#655f6d\"\n  },\n  \"hljs-variable\": {\n    \"color\": \"#be4678\"\n  },\n  \"hljs-template-variable\": {\n    \"color\": \"#be4678\"\n  },\n  \"hljs-attribute\": {\n    \"color\": \"#be4678\"\n  },\n  \"hljs-tag\": {\n    \"color\": \"#be4678\"\n  },\n  \"hljs-name\": {\n    \"color\": \"#be4678\"\n  },\n  \"hljs-regexp\": {\n    \"color\": \"#be4678\"\n  },\n  \"hljs-link\": {\n    \"color\": \"#be4678\"\n  },\n  \"hljs-selector-id\": {\n    \"color\": \"#be4678\"\n  },\n  \"hljs-selector-class\": {\n    \"color\": \"#be4678\"\n  },\n  \"hljs-number\": {\n    \"color\": \"#aa573c\"\n  },\n  \"hljs-meta\": {\n    \"color\": \"#aa573c\"\n  },\n  \"hljs-built_in\": {\n    \"color\": \"#aa573c\"\n  },\n  \"hljs-builtin-name\": {\n    \"color\": \"#aa573c\"\n  },\n  \"hljs-literal\": {\n    \"color\": \"#aa573c\"\n  },\n  \"hljs-type\": {\n    \"color\": \"#aa573c\"\n  },\n  \"hljs-params\": {\n    \"color\": \"#aa573c\"\n  },\n  \"hljs-string\": {\n    \"color\": \"#2a9292\"\n  },\n  \"hljs-symbol\": {\n    \"color\": \"#2a9292\"\n  },\n  \"hljs-bullet\": {\n    \"color\": \"#2a9292\"\n  },\n  \"hljs-title\": {\n    \"color\": \"#576ddb\"\n  },\n  \"hljs-section\": {\n    \"color\": \"#576ddb\"\n  },\n  \"hljs-keyword\": {\n    \"color\": \"#955ae7\"\n  },\n  \"hljs-selector-tag\": {\n    \"color\": \"#955ae7\"\n  },\n  \"hljs-deletion\": {\n    \"color\": \"#19171c\",\n    \"display\": \"inline-block\",\n    \"width\": \"100%\",\n    \"backgroundColor\": \"#be4678\"\n  },\n  \"hljs-addition\": {\n    \"color\": \"#19171c\",\n    \"display\": \"inline-block\",\n    \"width\": \"100%\",\n    \"backgroundColor\": \"#2a9292\"\n  },\n  \"hljs\": {\n    \"display\": \"block\",\n    \"overflowX\": \"auto\",\n    \"background\": \"#efecf4\",\n    \"color\": \"#585260\",\n    \"padding\": \"0.5em\"\n  },\n  \"hljs-emphasis\": {\n    \"fontStyle\": \"italic\"\n  },\n  \"hljs-strong\": {\n    \"fontWeight\": \"bold\"\n  }\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports[\"default\"] = void 0;\nvar _default = exports[\"default\"] = {\n  \"hljs\": {\n    \"display\": \"block\",\n    \"overflowX\": \"auto\",\n    \"padding\": \"0.5em\",\n    \"background\": \"#222\",\n    \"color\": \"#aaa\"\n  },\n  \"hljs-subst\": {\n    \"color\": \"#aaa\"\n  },\n  \"hljs-section\": {\n    \"color\": \"#fff\",\n    \"fontWeight\": \"bold\"\n  },\n  \"hljs-comment\": {\n    \"color\": \"#444\"\n  },\n  \"hljs-quote\": {\n    \"color\": \"#444\"\n  },\n  \"hljs-meta\": {\n    \"color\": \"#444\"\n  },\n  \"hljs-string\": {\n    \"color\": \"#ffcc33\"\n  },\n  \"hljs-symbol\": {\n    \"color\": \"#ffcc33\"\n  },\n  \"hljs-bullet\": {\n    \"color\": \"#ffcc33\"\n  },\n  \"hljs-regexp\": {\n    \"color\": \"#ffcc33\"\n  },\n  \"hljs-number\": {\n    \"color\": \"#00cc66\"\n  },\n  \"hljs-addition\": {\n    \"color\": \"#00cc66\"\n  },\n  \"hljs-built_in\": {\n    \"color\": \"#32aaee\"\n  },\n  \"hljs-builtin-name\": {\n    \"color\": \"#32aaee\"\n  },\n  \"hljs-literal\": {\n    \"color\": \"#32aaee\"\n  },\n  \"hljs-type\": {\n    \"color\": \"#32aaee\"\n  },\n  \"hljs-template-variable\": {\n    \"color\": \"#32aaee\"\n  },\n  \"hljs-attribute\": {\n    \"color\": \"#32aaee\"\n  },\n  \"hljs-link\": {\n    \"color\": \"#32aaee\"\n  },\n  \"hljs-keyword\": {\n    \"color\": \"#6644aa\"\n  },\n  \"hljs-selector-tag\": {\n    \"color\": \"#6644aa\"\n  },\n  \"hljs-name\": {\n    \"color\": \"#6644aa\"\n  },\n  \"hljs-selector-id\": {\n    \"color\": \"#6644aa\"\n  },\n  \"hljs-selector-class\": {\n    \"color\": \"#6644aa\"\n  },\n  \"hljs-title\": {\n    \"color\": \"#bb1166\"\n  },\n  \"hljs-variable\": {\n    \"color\": \"#bb1166\"\n  },\n  \"hljs-deletion\": {\n    \"color\": \"#bb1166\"\n  },\n  \"hljs-template-tag\": {\n    \"color\": \"#bb1166\"\n  },\n  \"hljs-doctag\": {\n    \"fontWeight\": \"bold\"\n  },\n  \"hljs-strong\": {\n    \"fontWeight\": \"bold\"\n  },\n  \"hljs-emphasis\": {\n    \"fontStyle\": \"italic\"\n  }\n};","/*\nLanguage: ARM Assembly\nAuthor: Dan Panzarella \nDescription: ARM Assembly including Thumb and Thumb2 instructions\nCategory: assembler\n*/\n\n/** @type LanguageFn */\nfunction armasm(hljs) {\n  // local labels: %?[FB]?[AT]?\\d{1,2}\\w+\n\n  const COMMENT = {\n    variants: [\n      hljs.COMMENT('^[ \\\\t]*(?=#)', '$', {\n        relevance: 0,\n        excludeBegin: true\n      }),\n      hljs.COMMENT('[;@]', '$', {\n        relevance: 0\n      }),\n      hljs.C_LINE_COMMENT_MODE,\n      hljs.C_BLOCK_COMMENT_MODE\n    ]\n  };\n\n  return {\n    name: 'ARM Assembly',\n    case_insensitive: true,\n    aliases: ['arm'],\n    keywords: {\n      $pattern: '\\\\.?' + hljs.IDENT_RE,\n      meta:\n        // GNU preprocs\n        '.2byte .4byte .align .ascii .asciz .balign .byte .code .data .else .end .endif .endm .endr .equ .err .exitm .extern .global .hword .if .ifdef .ifndef .include .irp .long .macro .rept .req .section .set .skip .space .text .word .arm .thumb .code16 .code32 .force_thumb .thumb_func .ltorg ' +\n        // ARM directives\n        'ALIAS ALIGN ARM AREA ASSERT ATTR CN CODE CODE16 CODE32 COMMON CP DATA DCB DCD DCDU DCDO DCFD DCFDU DCI DCQ DCQU DCW DCWU DN ELIF ELSE END ENDFUNC ENDIF ENDP ENTRY EQU EXPORT EXPORTAS EXTERN FIELD FILL FUNCTION GBLA GBLL GBLS GET GLOBAL IF IMPORT INCBIN INCLUDE INFO KEEP LCLA LCLL LCLS LTORG MACRO MAP MEND MEXIT NOFP OPT PRESERVE8 PROC QN READONLY RELOC REQUIRE REQUIRE8 RLIST FN ROUT SETA SETL SETS SN SPACE SUBT THUMB THUMBX TTL WHILE WEND ',\n      built_in:\n        'r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 ' + // standard registers\n        'pc lr sp ip sl sb fp ' + // typical regs plus backward compatibility\n        'a1 a2 a3 a4 v1 v2 v3 v4 v5 v6 v7 v8 f0 f1 f2 f3 f4 f5 f6 f7 ' + // more regs and fp\n        'p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 ' + // coprocessor regs\n        'c0 c1 c2 c3 c4 c5 c6 c7 c8 c9 c10 c11 c12 c13 c14 c15 ' + // more coproc\n        'q0 q1 q2 q3 q4 q5 q6 q7 q8 q9 q10 q11 q12 q13 q14 q15 ' + // advanced SIMD NEON regs\n\n        // program status registers\n        'cpsr_c cpsr_x cpsr_s cpsr_f cpsr_cx cpsr_cxs cpsr_xs cpsr_xsf cpsr_sf cpsr_cxsf ' +\n        'spsr_c spsr_x spsr_s spsr_f spsr_cx spsr_cxs spsr_xs spsr_xsf spsr_sf spsr_cxsf ' +\n\n        // NEON and VFP registers\n        's0 s1 s2 s3 s4 s5 s6 s7 s8 s9 s10 s11 s12 s13 s14 s15 ' +\n        's16 s17 s18 s19 s20 s21 s22 s23 s24 s25 s26 s27 s28 s29 s30 s31 ' +\n        'd0 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 d11 d12 d13 d14 d15 ' +\n        'd16 d17 d18 d19 d20 d21 d22 d23 d24 d25 d26 d27 d28 d29 d30 d31 ' +\n\n        '{PC} {VAR} {TRUE} {FALSE} {OPT} {CONFIG} {ENDIAN} {CODESIZE} {CPU} {FPU} {ARCHITECTURE} {PCSTOREOFFSET} {ARMASM_VERSION} {INTER} {ROPI} {RWPI} {SWST} {NOSWST} . @'\n    },\n    contains: [\n      {\n        className: 'keyword',\n        begin: '\\\\b(' + // mnemonics\n            'adc|' +\n            '(qd?|sh?|u[qh]?)?add(8|16)?|usada?8|(q|sh?|u[qh]?)?(as|sa)x|' +\n            'and|adrl?|sbc|rs[bc]|asr|b[lx]?|blx|bxj|cbn?z|tb[bh]|bic|' +\n            'bfc|bfi|[su]bfx|bkpt|cdp2?|clz|clrex|cmp|cmn|cpsi[ed]|cps|' +\n            'setend|dbg|dmb|dsb|eor|isb|it[te]{0,3}|lsl|lsr|ror|rrx|' +\n            'ldm(([id][ab])|f[ds])?|ldr((s|ex)?[bhd])?|movt?|mvn|mra|mar|' +\n            'mul|[us]mull|smul[bwt][bt]|smu[as]d|smmul|smmla|' +\n            'mla|umlaal|smlal?([wbt][bt]|d)|mls|smlsl?[ds]|smc|svc|sev|' +\n            'mia([bt]{2}|ph)?|mrr?c2?|mcrr2?|mrs|msr|orr|orn|pkh(tb|bt)|rbit|' +\n            'rev(16|sh)?|sel|[su]sat(16)?|nop|pop|push|rfe([id][ab])?|' +\n            'stm([id][ab])?|str(ex)?[bhd]?|(qd?)?sub|(sh?|q|u[qh]?)?sub(8|16)|' +\n            '[su]xt(a?h|a?b(16)?)|srs([id][ab])?|swpb?|swi|smi|tst|teq|' +\n            'wfe|wfi|yield' +\n        ')' +\n        '(eq|ne|cs|cc|mi|pl|vs|vc|hi|ls|ge|lt|gt|le|al|hs|lo)?' + // condition codes\n        '[sptrx]?' + // legal postfixes\n        '(?=\\\\s)' // followed by space\n      },\n      COMMENT,\n      hljs.QUOTE_STRING_MODE,\n      {\n        className: 'string',\n        begin: '\\'',\n        end: '[^\\\\\\\\]\\'',\n        relevance: 0\n      },\n      {\n        className: 'title',\n        begin: '\\\\|',\n        end: '\\\\|',\n        illegal: '\\\\n',\n        relevance: 0\n      },\n      {\n        className: 'number',\n        variants: [\n          { // hex\n            begin: '[#$=]?0x[0-9a-f]+'\n          },\n          { // bin\n            begin: '[#$=]?0b[01]+'\n          },\n          { // literal\n            begin: '[#$=]\\\\d+'\n          },\n          { // bare number\n            begin: '\\\\b\\\\d+'\n          }\n        ],\n        relevance: 0\n      },\n      {\n        className: 'symbol',\n        variants: [\n          { // GNU ARM syntax\n            begin: '^[ \\\\t]*[a-z_\\\\.\\\\$][a-z0-9_\\\\.\\\\$]+:'\n          },\n          { // ARM syntax\n            begin: '^[a-z_\\\\.\\\\$][a-z0-9_\\\\.\\\\$]+'\n          },\n          { // label reference\n            begin: '[=#]\\\\w+'\n          }\n        ],\n        relevance: 0\n      }\n    ]\n  };\n}\n\nmodule.exports = armasm;\n","/**\n * @param {string} value\n * @returns {RegExp}\n * */\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction source(re) {\n  if (!re) return null;\n  if (typeof re === \"string\") return re;\n\n  return re.source;\n}\n\n/**\n * @param {...(RegExp | string) } args\n * @returns {string}\n */\nfunction concat(...args) {\n  const joined = args.map((x) => source(x)).join(\"\");\n  return joined;\n}\n\n/**\n * Any of the passed expresssions may match\n *\n * Creates a huge this | this | that | that match\n * @param {(RegExp | string)[] } args\n * @returns {string}\n */\nfunction either(...args) {\n  const joined = '(' + args.map((x) => source(x)).join(\"|\") + \")\";\n  return joined;\n}\n\n/*\nLanguage: Perl\nAuthor: Peter Leonov \nWebsite: https://www.perl.org\nCategory: common\n*/\n\n/** @type LanguageFn */\nfunction perl(hljs) {\n  const KEYWORDS = [\n    'abs',\n    'accept',\n    'alarm',\n    'and',\n    'atan2',\n    'bind',\n    'binmode',\n    'bless',\n    'break',\n    'caller',\n    'chdir',\n    'chmod',\n    'chomp',\n    'chop',\n    'chown',\n    'chr',\n    'chroot',\n    'close',\n    'closedir',\n    'connect',\n    'continue',\n    'cos',\n    'crypt',\n    'dbmclose',\n    'dbmopen',\n    'defined',\n    'delete',\n    'die',\n    'do',\n    'dump',\n    'each',\n    'else',\n    'elsif',\n    'endgrent',\n    'endhostent',\n    'endnetent',\n    'endprotoent',\n    'endpwent',\n    'endservent',\n    'eof',\n    'eval',\n    'exec',\n    'exists',\n    'exit',\n    'exp',\n    'fcntl',\n    'fileno',\n    'flock',\n    'for',\n    'foreach',\n    'fork',\n    'format',\n    'formline',\n    'getc',\n    'getgrent',\n    'getgrgid',\n    'getgrnam',\n    'gethostbyaddr',\n    'gethostbyname',\n    'gethostent',\n    'getlogin',\n    'getnetbyaddr',\n    'getnetbyname',\n    'getnetent',\n    'getpeername',\n    'getpgrp',\n    'getpriority',\n    'getprotobyname',\n    'getprotobynumber',\n    'getprotoent',\n    'getpwent',\n    'getpwnam',\n    'getpwuid',\n    'getservbyname',\n    'getservbyport',\n    'getservent',\n    'getsockname',\n    'getsockopt',\n    'given',\n    'glob',\n    'gmtime',\n    'goto',\n    'grep',\n    'gt',\n    'hex',\n    'if',\n    'index',\n    'int',\n    'ioctl',\n    'join',\n    'keys',\n    'kill',\n    'last',\n    'lc',\n    'lcfirst',\n    'length',\n    'link',\n    'listen',\n    'local',\n    'localtime',\n    'log',\n    'lstat',\n    'lt',\n    'ma',\n    'map',\n    'mkdir',\n    'msgctl',\n    'msgget',\n    'msgrcv',\n    'msgsnd',\n    'my',\n    'ne',\n    'next',\n    'no',\n    'not',\n    'oct',\n    'open',\n    'opendir',\n    'or',\n    'ord',\n    'our',\n    'pack',\n    'package',\n    'pipe',\n    'pop',\n    'pos',\n    'print',\n    'printf',\n    'prototype',\n    'push',\n    'q|0',\n    'qq',\n    'quotemeta',\n    'qw',\n    'qx',\n    'rand',\n    'read',\n    'readdir',\n    'readline',\n    'readlink',\n    'readpipe',\n    'recv',\n    'redo',\n    'ref',\n    'rename',\n    'require',\n    'reset',\n    'return',\n    'reverse',\n    'rewinddir',\n    'rindex',\n    'rmdir',\n    'say',\n    'scalar',\n    'seek',\n    'seekdir',\n    'select',\n    'semctl',\n    'semget',\n    'semop',\n    'send',\n    'setgrent',\n    'sethostent',\n    'setnetent',\n    'setpgrp',\n    'setpriority',\n    'setprotoent',\n    'setpwent',\n    'setservent',\n    'setsockopt',\n    'shift',\n    'shmctl',\n    'shmget',\n    'shmread',\n    'shmwrite',\n    'shutdown',\n    'sin',\n    'sleep',\n    'socket',\n    'socketpair',\n    'sort',\n    'splice',\n    'split',\n    'sprintf',\n    'sqrt',\n    'srand',\n    'stat',\n    'state',\n    'study',\n    'sub',\n    'substr',\n    'symlink',\n    'syscall',\n    'sysopen',\n    'sysread',\n    'sysseek',\n    'system',\n    'syswrite',\n    'tell',\n    'telldir',\n    'tie',\n    'tied',\n    'time',\n    'times',\n    'tr',\n    'truncate',\n    'uc',\n    'ucfirst',\n    'umask',\n    'undef',\n    'unless',\n    'unlink',\n    'unpack',\n    'unshift',\n    'untie',\n    'until',\n    'use',\n    'utime',\n    'values',\n    'vec',\n    'wait',\n    'waitpid',\n    'wantarray',\n    'warn',\n    'when',\n    'while',\n    'write',\n    'x|0',\n    'xor',\n    'y|0'\n  ];\n\n  // https://perldoc.perl.org/perlre#Modifiers\n  const REGEX_MODIFIERS = /[dualxmsipngr]{0,12}/; // aa and xx are valid, making max length 12\n  const PERL_KEYWORDS = {\n    $pattern: /[\\w.]+/,\n    keyword: KEYWORDS.join(\" \")\n  };\n  const SUBST = {\n    className: 'subst',\n    begin: '[$@]\\\\{',\n    end: '\\\\}',\n    keywords: PERL_KEYWORDS\n  };\n  const METHOD = {\n    begin: /->\\{/,\n    end: /\\}/\n    // contains defined later\n  };\n  const VAR = {\n    variants: [\n      {\n        begin: /\\$\\d/\n      },\n      {\n        begin: concat(\n          /[$%@](\\^\\w\\b|#\\w+(::\\w+)*|\\{\\w+\\}|\\w+(::\\w*)*)/,\n          // negative look-ahead tries to avoid matching patterns that are not\n          // Perl at all like $ident$, @ident@, etc.\n          `(?![A-Za-z])(?![@$%])`\n        )\n      },\n      {\n        begin: /[$%@][^\\s\\w{]/,\n        relevance: 0\n      }\n    ]\n  };\n  const STRING_CONTAINS = [\n    hljs.BACKSLASH_ESCAPE,\n    SUBST,\n    VAR\n  ];\n  const REGEX_DELIMS = [\n    /!/,\n    /\\//,\n    /\\|/,\n    /\\?/,\n    /'/,\n    /\"/, // valid but infrequent and weird\n    /#/ // valid but infrequent and weird\n  ];\n  /**\n   * @param {string|RegExp} prefix\n   * @param {string|RegExp} open\n   * @param {string|RegExp} close\n   */\n  const PAIRED_DOUBLE_RE = (prefix, open, close = '\\\\1') => {\n    const middle = (close === '\\\\1')\n      ? close\n      : concat(close, open);\n    return concat(\n      concat(\"(?:\", prefix, \")\"),\n      open,\n      /(?:\\\\.|[^\\\\\\/])*?/,\n      middle,\n      /(?:\\\\.|[^\\\\\\/])*?/,\n      close,\n      REGEX_MODIFIERS\n    );\n  };\n  /**\n   * @param {string|RegExp} prefix\n   * @param {string|RegExp} open\n   * @param {string|RegExp} close\n   */\n  const PAIRED_RE = (prefix, open, close) => {\n    return concat(\n      concat(\"(?:\", prefix, \")\"),\n      open,\n      /(?:\\\\.|[^\\\\\\/])*?/,\n      close,\n      REGEX_MODIFIERS\n    );\n  };\n  const PERL_DEFAULT_CONTAINS = [\n    VAR,\n    hljs.HASH_COMMENT_MODE,\n    hljs.COMMENT(\n      /^=\\w/,\n      /=cut/,\n      {\n        endsWithParent: true\n      }\n    ),\n    METHOD,\n    {\n      className: 'string',\n      contains: STRING_CONTAINS,\n      variants: [\n        {\n          begin: 'q[qwxr]?\\\\s*\\\\(',\n          end: '\\\\)',\n          relevance: 5\n        },\n        {\n          begin: 'q[qwxr]?\\\\s*\\\\[',\n          end: '\\\\]',\n          relevance: 5\n        },\n        {\n          begin: 'q[qwxr]?\\\\s*\\\\{',\n          end: '\\\\}',\n          relevance: 5\n        },\n        {\n          begin: 'q[qwxr]?\\\\s*\\\\|',\n          end: '\\\\|',\n          relevance: 5\n        },\n        {\n          begin: 'q[qwxr]?\\\\s*<',\n          end: '>',\n          relevance: 5\n        },\n        {\n          begin: 'qw\\\\s+q',\n          end: 'q',\n          relevance: 5\n        },\n        {\n          begin: '\\'',\n          end: '\\'',\n          contains: [ hljs.BACKSLASH_ESCAPE ]\n        },\n        {\n          begin: '\"',\n          end: '\"'\n        },\n        {\n          begin: '`',\n          end: '`',\n          contains: [ hljs.BACKSLASH_ESCAPE ]\n        },\n        {\n          begin: /\\{\\w+\\}/,\n          relevance: 0\n        },\n        {\n          begin: '-?\\\\w+\\\\s*=>',\n          relevance: 0\n        }\n      ]\n    },\n    {\n      className: 'number',\n      begin: '(\\\\b0[0-7_]+)|(\\\\b0x[0-9a-fA-F_]+)|(\\\\b[1-9][0-9_]*(\\\\.[0-9_]+)?)|[0_]\\\\b',\n      relevance: 0\n    },\n    { // regexp container\n      begin: '(\\\\/\\\\/|' + hljs.RE_STARTERS_RE + '|\\\\b(split|return|print|reverse|grep)\\\\b)\\\\s*',\n      keywords: 'split return print reverse grep',\n      relevance: 0,\n      contains: [\n        hljs.HASH_COMMENT_MODE,\n        {\n          className: 'regexp',\n          variants: [\n            // allow matching common delimiters\n            { begin: PAIRED_DOUBLE_RE(\"s|tr|y\", either(...REGEX_DELIMS)) },\n            // and then paired delmis\n            { begin: PAIRED_DOUBLE_RE(\"s|tr|y\", \"\\\\(\", \"\\\\)\") },\n            { begin: PAIRED_DOUBLE_RE(\"s|tr|y\", \"\\\\[\", \"\\\\]\") },\n            { begin: PAIRED_DOUBLE_RE(\"s|tr|y\", \"\\\\{\", \"\\\\}\") }\n          ],\n          relevance: 2\n        },\n        {\n          className: 'regexp',\n          variants: [\n            {\n              // could be a comment in many languages so do not count\n              // as relevant\n              begin: /(m|qr)\\/\\//,\n              relevance: 0\n            },\n            // prefix is optional with /regex/\n            { begin: PAIRED_RE(\"(?:m|qr)?\", /\\//, /\\//)},\n            // allow matching common delimiters\n            { begin: PAIRED_RE(\"m|qr\", either(...REGEX_DELIMS), /\\1/)},\n            // allow common paired delmins\n            { begin: PAIRED_RE(\"m|qr\", /\\(/, /\\)/)},\n            { begin: PAIRED_RE(\"m|qr\", /\\[/, /\\]/)},\n            { begin: PAIRED_RE(\"m|qr\", /\\{/, /\\}/)}\n          ]\n        }\n      ]\n    },\n    {\n      className: 'function',\n      beginKeywords: 'sub',\n      end: '(\\\\s*\\\\(.*?\\\\))?[;{]',\n      excludeEnd: true,\n      relevance: 5,\n      contains: [ hljs.TITLE_MODE ]\n    },\n    {\n      begin: '-\\\\w\\\\b',\n      relevance: 0\n    },\n    {\n      begin: \"^__DATA__$\",\n      end: \"^__END__$\",\n      subLanguage: 'mojolicious',\n      contains: [\n        {\n          begin: \"^@@.*\",\n          end: \"$\",\n          className: \"comment\"\n        }\n      ]\n    }\n  ];\n  SUBST.contains = PERL_DEFAULT_CONTAINS;\n  METHOD.contains = PERL_DEFAULT_CONTAINS;\n\n  return {\n    name: 'Perl',\n    aliases: [\n      'pl',\n      'pm'\n    ],\n    keywords: PERL_KEYWORDS,\n    contains: PERL_DEFAULT_CONTAINS\n  };\n}\n\nmodule.exports = perl;\n","/*\nLanguage: Makefile\nAuthor: Ivan Sagalaev \nContributors: Joël Porquet \nWebsite: https://www.gnu.org/software/make/manual/html_node/Introduction.html\nCategory: common\n*/\n\nfunction makefile(hljs) {\n  /* Variables: simple (eg $(var)) and special (eg $@) */\n  const VARIABLE = {\n    className: 'variable',\n    variants: [\n      {\n        begin: '\\\\$\\\\(' + hljs.UNDERSCORE_IDENT_RE + '\\\\)',\n        contains: [ hljs.BACKSLASH_ESCAPE ]\n      },\n      {\n        begin: /\\$[@% source(x)).join(\"\");\n  return joined;\n}\n\n/*\nLanguage: HTTP\nDescription: HTTP request and response headers with automatic body highlighting\nAuthor: Ivan Sagalaev \nCategory: common, protocols\nWebsite: https://developer.mozilla.org/en-US/docs/Web/HTTP/Overview\n*/\n\nfunction http(hljs) {\n  const VERSION = 'HTTP/(2|1\\\\.[01])';\n  const HEADER_NAME = /[A-Za-z][A-Za-z0-9-]*/;\n  const HEADER = {\n    className: 'attribute',\n    begin: concat('^', HEADER_NAME, '(?=\\\\:\\\\s)'),\n    starts: {\n      contains: [\n        {\n          className: \"punctuation\",\n          begin: /: /,\n          relevance: 0,\n          starts: {\n            end: '$',\n            relevance: 0\n          }\n        }\n      ]\n    }\n  };\n  const HEADERS_AND_BODY = [\n    HEADER,\n    {\n      begin: '\\\\n\\\\n',\n      starts: { subLanguage: [], endsWithParent: true }\n    }\n  ];\n\n  return {\n    name: 'HTTP',\n    aliases: ['https'],\n    illegal: /\\S/,\n    contains: [\n      // response\n      {\n        begin: '^(?=' + VERSION + \" \\\\d{3})\",\n        end: /$/,\n        contains: [\n          {\n            className: \"meta\",\n            begin: VERSION\n          },\n          {\n            className: 'number', begin: '\\\\b\\\\d{3}\\\\b'\n          }\n        ],\n        starts: {\n          end: /\\b\\B/,\n          illegal: /\\S/,\n          contains: HEADERS_AND_BODY\n        }\n      },\n      // request\n      {\n        begin: '(?=^[A-Z]+ (.*?) ' + VERSION + '$)',\n        end: /$/,\n        contains: [\n          {\n            className: 'string',\n            begin: ' ',\n            end: ' ',\n            excludeBegin: true,\n            excludeEnd: true\n          },\n          {\n            className: \"meta\",\n            begin: VERSION\n          },\n          {\n            className: 'keyword',\n            begin: '[A-Z]+'\n          }\n        ],\n        starts: {\n          end: /\\b\\B/,\n          illegal: /\\S/,\n          contains: HEADERS_AND_BODY\n        }\n      },\n      // to allow headers to work even without a preamble\n      hljs.inherit(HEADER, {\n        relevance: 0\n      })\n    ]\n  };\n}\n\nmodule.exports = http;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports[\"default\"] = void 0;\nvar _default = exports[\"default\"] = {\n  \"hljs\": {\n    \"display\": \"block\",\n    \"overflowX\": \"auto\",\n    \"padding\": \"0.5em\",\n    \"background\": \"white\",\n    \"color\": \"black\"\n  },\n  \"hljs-subst\": {\n    \"color\": \"black\"\n  },\n  \"hljs-comment\": {\n    \"color\": \"#555555\",\n    \"fontStyle\": \"italic\"\n  },\n  \"hljs-keyword\": {\n    \"color\": \"#000000\",\n    \"fontWeight\": \"bold\"\n  },\n  \"hljs-attribute\": {\n    \"color\": \"#000000\",\n    \"fontWeight\": \"bold\"\n  },\n  \"hljs-selector-tag\": {\n    \"color\": \"#000000\",\n    \"fontWeight\": \"bold\"\n  },\n  \"hljs-meta-keyword\": {\n    \"color\": \"#000000\",\n    \"fontWeight\": \"bold\"\n  },\n  \"hljs-doctag\": {\n    \"color\": \"#000000\",\n    \"fontWeight\": \"bold\"\n  },\n  \"hljs-name\": {\n    \"color\": \"#000000\",\n    \"fontWeight\": \"bold\"\n  },\n  \"hljs-string\": {\n    \"color\": \"#000080\"\n  },\n  \"hljs-type\": {\n    \"color\": \"#000000\"\n  },\n  \"hljs-number\": {\n    \"color\": \"#000000\"\n  },\n  \"hljs-selector-id\": {\n    \"color\": \"#000000\"\n  },\n  \"hljs-selector-class\": {\n    \"color\": \"#000000\"\n  },\n  \"hljs-quote\": {\n    \"color\": \"#000000\"\n  },\n  \"hljs-template-tag\": {\n    \"color\": \"#000000\"\n  },\n  \"hljs-deletion\": {\n    \"color\": \"#000000\"\n  },\n  \"hljs-title\": {\n    \"color\": \"#fb2c00\"\n  },\n  \"hljs-section\": {\n    \"color\": \"#fb2c00\"\n  },\n  \"hljs-title>.hljs-built_in\": {\n    \"color\": \"#008080\",\n    \"fontWeight\": \"normal\"\n  },\n  \"hljs-regexp\": {\n    \"color\": \"#5e1700\"\n  },\n  \"hljs-symbol\": {\n    \"color\": \"#5e1700\"\n  },\n  \"hljs-variable\": {\n    \"color\": \"#5e1700\"\n  },\n  \"hljs-template-variable\": {\n    \"color\": \"#5e1700\"\n  },\n  \"hljs-link\": {\n    \"color\": \"#5e1700\"\n  },\n  \"hljs-selector-attr\": {\n    \"color\": \"#5e1700\"\n  },\n  \"hljs-selector-pseudo\": {\n    \"color\": \"#5e1700\"\n  },\n  \"hljs-built_in\": {\n    \"color\": \"#000080\",\n    \"fontWeight\": \"bold\"\n  },\n  \"hljs-literal\": {\n    \"color\": \"#000080\",\n    \"fontWeight\": \"bold\"\n  },\n  \"hljs-bullet\": {\n    \"color\": \"#397300\"\n  },\n  \"hljs-code\": {\n    \"color\": \"#397300\"\n  },\n  \"hljs-addition\": {\n    \"color\": \"#397300\"\n  },\n  \"hljs-class\": {\n    \"color\": \"#6f1C00\",\n    \"fontWeight\": \"bold\"\n  },\n  \"hljs-meta\": {\n    \"color\": \"#1f7199\"\n  },\n  \"hljs-meta-string\": {\n    \"color\": \"#4d99bf\"\n  },\n  \"hljs-emphasis\": {\n    \"fontStyle\": \"italic\"\n  },\n  \"hljs-strong\": {\n    \"fontWeight\": \"bold\"\n  }\n};","/*\nLanguage: CMake\nDescription: CMake is an open-source cross-platform system for build automation.\nAuthor: Igor Kalnitsky \nWebsite: https://cmake.org\n*/\n\n/** @type LanguageFn */\nfunction cmake(hljs) {\n  return {\n    name: 'CMake',\n    aliases: ['cmake.in'],\n    case_insensitive: true,\n    keywords: {\n      keyword:\n        // scripting commands\n        'break cmake_host_system_information cmake_minimum_required cmake_parse_arguments ' +\n        'cmake_policy configure_file continue elseif else endforeach endfunction endif endmacro ' +\n        'endwhile execute_process file find_file find_library find_package find_path ' +\n        'find_program foreach function get_cmake_property get_directory_property ' +\n        'get_filename_component get_property if include include_guard list macro ' +\n        'mark_as_advanced math message option return separate_arguments ' +\n        'set_directory_properties set_property set site_name string unset variable_watch while ' +\n        // project commands\n        'add_compile_definitions add_compile_options add_custom_command add_custom_target ' +\n        'add_definitions add_dependencies add_executable add_library add_link_options ' +\n        'add_subdirectory add_test aux_source_directory build_command create_test_sourcelist ' +\n        'define_property enable_language enable_testing export fltk_wrap_ui ' +\n        'get_source_file_property get_target_property get_test_property include_directories ' +\n        'include_external_msproject include_regular_expression install link_directories ' +\n        'link_libraries load_cache project qt_wrap_cpp qt_wrap_ui remove_definitions ' +\n        'set_source_files_properties set_target_properties set_tests_properties source_group ' +\n        'target_compile_definitions target_compile_features target_compile_options ' +\n        'target_include_directories target_link_directories target_link_libraries ' +\n        'target_link_options target_sources try_compile try_run ' +\n        // CTest commands\n        'ctest_build ctest_configure ctest_coverage ctest_empty_binary_directory ctest_memcheck ' +\n        'ctest_read_custom_files ctest_run_script ctest_sleep ctest_start ctest_submit ' +\n        'ctest_test ctest_update ctest_upload ' +\n        // deprecated commands\n        'build_name exec_program export_library_dependencies install_files install_programs ' +\n        'install_targets load_command make_directory output_required_files remove ' +\n        'subdir_depends subdirs use_mangled_mesa utility_source variable_requires write_file ' +\n        'qt5_use_modules qt5_use_package qt5_wrap_cpp ' +\n        // core keywords\n        'on off true false and or not command policy target test exists is_newer_than ' +\n        'is_directory is_symlink is_absolute matches less greater equal less_equal ' +\n        'greater_equal strless strgreater strequal strless_equal strgreater_equal version_less ' +\n        'version_greater version_equal version_less_equal version_greater_equal in_list defined'\n    },\n    contains: [\n      {\n        className: 'variable',\n        begin: /\\$\\{/,\n        end: /\\}/\n      },\n      hljs.HASH_COMMENT_MODE,\n      hljs.QUOTE_STRING_MODE,\n      hljs.NUMBER_MODE\n    ]\n  };\n}\n\nmodule.exports = cmake;\n","/*\nLanguage: Apache config\nAuthor: Ruslan Keba \nContributors: Ivan Sagalaev \nWebsite: https://httpd.apache.org\nDescription: language definition for Apache configuration files (httpd.conf & .htaccess)\nCategory: common, config\nAudit: 2020\n*/\n\n/** @type LanguageFn */\nfunction apache(hljs) {\n  const NUMBER_REF = {\n    className: 'number',\n    begin: /[$%]\\d+/\n  };\n  const NUMBER = {\n    className: 'number',\n    begin: /\\d+/\n  };\n  const IP_ADDRESS = {\n    className: \"number\",\n    begin: /\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}(:\\d{1,5})?/\n  };\n  const PORT_NUMBER = {\n    className: \"number\",\n    begin: /:\\d{1,5}/\n  };\n  return {\n    name: 'Apache config',\n    aliases: [ 'apacheconf' ],\n    case_insensitive: true,\n    contains: [\n      hljs.HASH_COMMENT_MODE,\n      {\n        className: 'section',\n        begin: /<\\/?/,\n        end: />/,\n        contains: [\n          IP_ADDRESS,\n          PORT_NUMBER,\n          // low relevance prevents us from claming XML/HTML where this rule would\n          // match strings inside of XML tags\n          hljs.inherit(hljs.QUOTE_STRING_MODE, { relevance: 0 })\n        ]\n      },\n      {\n        className: 'attribute',\n        begin: /\\w+/,\n        relevance: 0,\n        // keywords aren’t needed for highlighting per se, they only boost relevance\n        // for a very generally defined mode (starts with a word, ends with line-end\n        keywords: {\n          nomarkup:\n            'order deny allow setenv rewriterule rewriteengine rewritecond documentroot ' +\n            'sethandler errordocument loadmodule options header listen serverroot ' +\n            'servername'\n        },\n        starts: {\n          end: /$/,\n          relevance: 0,\n          keywords: { literal: 'on off all deny allow' },\n          contains: [\n            {\n              className: 'meta',\n              begin: /\\s\\[/,\n              end: /\\]$/\n            },\n            {\n              className: 'variable',\n              begin: /[\\$%]\\{/,\n              end: /\\}/,\n              contains: [\n                'self',\n                NUMBER_REF\n              ]\n            },\n            IP_ADDRESS,\n            NUMBER,\n            hljs.QUOTE_STRING_MODE\n          ]\n        }\n      }\n    ],\n    illegal: /\\S/\n  };\n}\n\nmodule.exports = apache;\n","/*\nLanguage: Nim\nDescription: Nim is a statically typed compiled systems programming language.\nWebsite: https://nim-lang.org\nCategory: system\n*/\n\nfunction nim(hljs) {\n  return {\n    name: 'Nim',\n    keywords: {\n      keyword:\n        'addr and as asm bind block break case cast const continue converter ' +\n        'discard distinct div do elif else end enum except export finally ' +\n        'for from func generic if import in include interface is isnot iterator ' +\n        'let macro method mixin mod nil not notin object of or out proc ptr ' +\n        'raise ref return shl shr static template try tuple type using var ' +\n        'when while with without xor yield',\n      literal:\n        'shared guarded stdin stdout stderr result true false',\n      built_in:\n        'int int8 int16 int32 int64 uint uint8 uint16 uint32 uint64 float ' +\n        'float32 float64 bool char string cstring pointer expr stmt void ' +\n        'auto any range array openarray varargs seq set clong culong cchar ' +\n        'cschar cshort cint csize clonglong cfloat cdouble clongdouble ' +\n        'cuchar cushort cuint culonglong cstringarray semistatic'\n    },\n    contains: [\n      {\n        className: 'meta', // Actually pragma\n        begin: /\\{\\./,\n        end: /\\.\\}/,\n        relevance: 10\n      },\n      {\n        className: 'string',\n        begin: /[a-zA-Z]\\w*\"/,\n        end: /\"/,\n        contains: [\n          {\n            begin: /\"\"/\n          }\n        ]\n      },\n      {\n        className: 'string',\n        begin: /([a-zA-Z]\\w*)?\"\"\"/,\n        end: /\"\"\"/\n      },\n      hljs.QUOTE_STRING_MODE,\n      {\n        className: 'type',\n        begin: /\\b[A-Z]\\w+\\b/,\n        relevance: 0\n      },\n      {\n        className: 'number',\n        relevance: 0,\n        variants: [\n          {\n            begin: /\\b(0[xX][0-9a-fA-F][_0-9a-fA-F]*)('?[iIuU](8|16|32|64))?/\n          },\n          {\n            begin: /\\b(0o[0-7][_0-7]*)('?[iIuUfF](8|16|32|64))?/\n          },\n          {\n            begin: /\\b(0(b|B)[01][_01]*)('?[iIuUfF](8|16|32|64))?/\n          },\n          {\n            begin: /\\b(\\d[_\\d]*)('?[iIuUfF](8|16|32|64))?/\n          }\n        ]\n      },\n      hljs.HASH_COMMENT_MODE\n    ]\n  };\n}\n\nmodule.exports = nim;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports[\"default\"] = void 0;\nvar _default = exports[\"default\"] = {\n  \"hljs-comment\": {\n    \"color\": \"#969896\"\n  },\n  \"hljs-quote\": {\n    \"color\": \"#969896\"\n  },\n  \"hljs-variable\": {\n    \"color\": \"#d54e53\"\n  },\n  \"hljs-template-variable\": {\n    \"color\": \"#d54e53\"\n  },\n  \"hljs-tag\": {\n    \"color\": \"#d54e53\"\n  },\n  \"hljs-name\": {\n    \"color\": \"#d54e53\"\n  },\n  \"hljs-selector-id\": {\n    \"color\": \"#d54e53\"\n  },\n  \"hljs-selector-class\": {\n    \"color\": \"#d54e53\"\n  },\n  \"hljs-regexp\": {\n    \"color\": \"#d54e53\"\n  },\n  \"hljs-deletion\": {\n    \"color\": \"#d54e53\"\n  },\n  \"hljs-number\": {\n    \"color\": \"#e78c45\"\n  },\n  \"hljs-built_in\": {\n    \"color\": \"#e78c45\"\n  },\n  \"hljs-builtin-name\": {\n    \"color\": \"#e78c45\"\n  },\n  \"hljs-literal\": {\n    \"color\": \"#e78c45\"\n  },\n  \"hljs-type\": {\n    \"color\": \"#e78c45\"\n  },\n  \"hljs-params\": {\n    \"color\": \"#e78c45\"\n  },\n  \"hljs-meta\": {\n    \"color\": \"#e78c45\"\n  },\n  \"hljs-link\": {\n    \"color\": \"#e78c45\"\n  },\n  \"hljs-attribute\": {\n    \"color\": \"#e7c547\"\n  },\n  \"hljs-string\": {\n    \"color\": \"#b9ca4a\"\n  },\n  \"hljs-symbol\": {\n    \"color\": \"#b9ca4a\"\n  },\n  \"hljs-bullet\": {\n    \"color\": \"#b9ca4a\"\n  },\n  \"hljs-addition\": {\n    \"color\": \"#b9ca4a\"\n  },\n  \"hljs-title\": {\n    \"color\": \"#7aa6da\"\n  },\n  \"hljs-section\": {\n    \"color\": \"#7aa6da\"\n  },\n  \"hljs-keyword\": {\n    \"color\": \"#c397d8\"\n  },\n  \"hljs-selector-tag\": {\n    \"color\": \"#c397d8\"\n  },\n  \"hljs\": {\n    \"display\": \"block\",\n    \"overflowX\": \"auto\",\n    \"background\": \"black\",\n    \"color\": \"#eaeaea\",\n    \"padding\": \"0.5em\"\n  },\n  \"hljs-emphasis\": {\n    \"fontStyle\": \"italic\"\n  },\n  \"hljs-strong\": {\n    \"fontWeight\": \"bold\"\n  }\n};","/**\n * @license React\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var l=Symbol.for(\"react.element\"),n=Symbol.for(\"react.portal\"),p=Symbol.for(\"react.fragment\"),q=Symbol.for(\"react.strict_mode\"),r=Symbol.for(\"react.profiler\"),t=Symbol.for(\"react.provider\"),u=Symbol.for(\"react.context\"),v=Symbol.for(\"react.forward_ref\"),w=Symbol.for(\"react.suspense\"),x=Symbol.for(\"react.memo\"),y=Symbol.for(\"react.lazy\"),z=Symbol.iterator;function A(a){if(null===a||\"object\"!==typeof a)return null;a=z&&a[z]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}\nvar B={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},C=Object.assign,D={};function E(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}E.prototype.isReactComponent={};\nE.prototype.setState=function(a,b){if(\"object\"!==typeof a&&\"function\"!==typeof a&&null!=a)throw Error(\"setState(...): takes an object of state variables to update or a function which returns an object of state variables.\");this.updater.enqueueSetState(this,a,b,\"setState\")};E.prototype.forceUpdate=function(a){this.updater.enqueueForceUpdate(this,a,\"forceUpdate\")};function F(){}F.prototype=E.prototype;function G(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}var H=G.prototype=new F;\nH.constructor=G;C(H,E.prototype);H.isPureReactComponent=!0;var I=Array.isArray,J=Object.prototype.hasOwnProperty,K={current:null},L={key:!0,ref:!0,__self:!0,__source:!0};\nfunction M(a,b,e){var d,c={},k=null,h=null;if(null!=b)for(d in void 0!==b.ref&&(h=b.ref),void 0!==b.key&&(k=\"\"+b.key),b)J.call(b,d)&&!L.hasOwnProperty(d)&&(c[d]=b[d]);var g=arguments.length-2;if(1===g)c.children=e;else if(1, Dmitry Kovega \nWebsite: https://www.erlang.org\nCategory: functional\n*/\n\n/** @type LanguageFn */\nfunction erlang(hljs) {\n  const BASIC_ATOM_RE = '[a-z\\'][a-zA-Z0-9_\\']*';\n  const FUNCTION_NAME_RE = '(' + BASIC_ATOM_RE + ':' + BASIC_ATOM_RE + '|' + BASIC_ATOM_RE + ')';\n  const ERLANG_RESERVED = {\n    keyword:\n      'after and andalso|10 band begin bnot bor bsl bzr bxor case catch cond div end fun if ' +\n      'let not of orelse|10 query receive rem try when xor',\n    literal:\n      'false true'\n  };\n\n  const COMMENT = hljs.COMMENT('%', '$');\n  const NUMBER = {\n    className: 'number',\n    begin: '\\\\b(\\\\d+(_\\\\d+)*#[a-fA-F0-9]+(_[a-fA-F0-9]+)*|\\\\d+(_\\\\d+)*(\\\\.\\\\d+(_\\\\d+)*)?([eE][-+]?\\\\d+)?)',\n    relevance: 0\n  };\n  const NAMED_FUN = {\n    begin: 'fun\\\\s+' + BASIC_ATOM_RE + '/\\\\d+'\n  };\n  const FUNCTION_CALL = {\n    begin: FUNCTION_NAME_RE + '\\\\(',\n    end: '\\\\)',\n    returnBegin: true,\n    relevance: 0,\n    contains: [\n      {\n        begin: FUNCTION_NAME_RE,\n        relevance: 0\n      },\n      {\n        begin: '\\\\(',\n        end: '\\\\)',\n        endsWithParent: true,\n        returnEnd: true,\n        relevance: 0\n        // \"contains\" defined later\n      }\n    ]\n  };\n  const TUPLE = {\n    begin: /\\{/,\n    end: /\\}/,\n    relevance: 0\n    // \"contains\" defined later\n  };\n  const VAR1 = {\n    begin: '\\\\b_([A-Z][A-Za-z0-9_]*)?',\n    relevance: 0\n  };\n  const VAR2 = {\n    begin: '[A-Z][a-zA-Z0-9_]*',\n    relevance: 0\n  };\n  const RECORD_ACCESS = {\n    begin: '#' + hljs.UNDERSCORE_IDENT_RE,\n    relevance: 0,\n    returnBegin: true,\n    contains: [\n      {\n        begin: '#' + hljs.UNDERSCORE_IDENT_RE,\n        relevance: 0\n      },\n      {\n        begin: /\\{/,\n        end: /\\}/,\n        relevance: 0\n        // \"contains\" defined later\n      }\n    ]\n  };\n\n  const BLOCK_STATEMENTS = {\n    beginKeywords: 'fun receive if try case',\n    end: 'end',\n    keywords: ERLANG_RESERVED\n  };\n  BLOCK_STATEMENTS.contains = [\n    COMMENT,\n    NAMED_FUN,\n    hljs.inherit(hljs.APOS_STRING_MODE, {\n      className: ''\n    }),\n    BLOCK_STATEMENTS,\n    FUNCTION_CALL,\n    hljs.QUOTE_STRING_MODE,\n    NUMBER,\n    TUPLE,\n    VAR1,\n    VAR2,\n    RECORD_ACCESS\n  ];\n\n  const BASIC_MODES = [\n    COMMENT,\n    NAMED_FUN,\n    BLOCK_STATEMENTS,\n    FUNCTION_CALL,\n    hljs.QUOTE_STRING_MODE,\n    NUMBER,\n    TUPLE,\n    VAR1,\n    VAR2,\n    RECORD_ACCESS\n  ];\n  FUNCTION_CALL.contains[1].contains = BASIC_MODES;\n  TUPLE.contains = BASIC_MODES;\n  RECORD_ACCESS.contains[1].contains = BASIC_MODES;\n\n  const DIRECTIVES = [\n    \"-module\",\n    \"-record\",\n    \"-undef\",\n    \"-export\",\n    \"-ifdef\",\n    \"-ifndef\",\n    \"-author\",\n    \"-copyright\",\n    \"-doc\",\n    \"-vsn\",\n    \"-import\",\n    \"-include\",\n    \"-include_lib\",\n    \"-compile\",\n    \"-define\",\n    \"-else\",\n    \"-endif\",\n    \"-file\",\n    \"-behaviour\",\n    \"-behavior\",\n    \"-spec\"\n  ];\n\n  const PARAMS = {\n    className: 'params',\n    begin: '\\\\(',\n    end: '\\\\)',\n    contains: BASIC_MODES\n  };\n  return {\n    name: 'Erlang',\n    aliases: ['erl'],\n    keywords: ERLANG_RESERVED,\n    illegal: '(',\n        returnBegin: true,\n        illegal: '\\\\(|#|//|/\\\\*|\\\\\\\\|:|;',\n        contains: [\n          PARAMS,\n          hljs.inherit(hljs.TITLE_MODE, {\n            begin: BASIC_ATOM_RE\n          })\n        ],\n        starts: {\n          end: ';|\\\\.',\n          keywords: ERLANG_RESERVED,\n          contains: BASIC_MODES\n        }\n      },\n      COMMENT,\n      {\n        begin: '^-',\n        end: '\\\\.',\n        relevance: 0,\n        excludeEnd: true,\n        returnBegin: true,\n        keywords: {\n          $pattern: '-' + hljs.IDENT_RE,\n          keyword: DIRECTIVES.map(x => `${x}|1.5`).join(\" \")\n        },\n        contains: [PARAMS]\n      },\n      NUMBER,\n      hljs.QUOTE_STRING_MODE,\n      RECORD_ACCESS,\n      VAR1,\n      VAR2,\n      TUPLE,\n      {\n        begin: /\\.$/\n      } // relevance booster\n    ]\n  };\n}\n\nmodule.exports = erlang;\n","/*\nLanguage: AVR Assembly\nAuthor: Vladimir Ermakov \nCategory: assembler\nWebsite: https://www.microchip.com/webdoc/avrassembler/avrassembler.wb_instruction_list.html\n*/\n\n/** @type LanguageFn */\nfunction avrasm(hljs) {\n  return {\n    name: 'AVR Assembly',\n    case_insensitive: true,\n    keywords: {\n      $pattern: '\\\\.?' + hljs.IDENT_RE,\n      keyword:\n        /* mnemonic */\n        'adc add adiw and andi asr bclr bld brbc brbs brcc brcs break breq brge brhc brhs ' +\n        'brid brie brlo brlt brmi brne brpl brsh brtc brts brvc brvs bset bst call cbi cbr ' +\n        'clc clh cli cln clr cls clt clv clz com cp cpc cpi cpse dec eicall eijmp elpm eor ' +\n        'fmul fmuls fmulsu icall ijmp in inc jmp ld ldd ldi lds lpm lsl lsr mov movw mul ' +\n        'muls mulsu neg nop or ori out pop push rcall ret reti rjmp rol ror sbc sbr sbrc sbrs ' +\n        'sec seh sbi sbci sbic sbis sbiw sei sen ser ses set sev sez sleep spm st std sts sub ' +\n        'subi swap tst wdr',\n      built_in:\n        /* general purpose registers */\n        'r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 ' +\n        'r23 r24 r25 r26 r27 r28 r29 r30 r31 x|0 xh xl y|0 yh yl z|0 zh zl ' +\n        /* IO Registers (ATMega128) */\n        'ucsr1c udr1 ucsr1a ucsr1b ubrr1l ubrr1h ucsr0c ubrr0h tccr3c tccr3a tccr3b tcnt3h ' +\n        'tcnt3l ocr3ah ocr3al ocr3bh ocr3bl ocr3ch ocr3cl icr3h icr3l etimsk etifr tccr1c ' +\n        'ocr1ch ocr1cl twcr twdr twar twsr twbr osccal xmcra xmcrb eicra spmcsr spmcr portg ' +\n        'ddrg ping portf ddrf sreg sph spl xdiv rampz eicrb eimsk gimsk gicr eifr gifr timsk ' +\n        'tifr mcucr mcucsr tccr0 tcnt0 ocr0 assr tccr1a tccr1b tcnt1h tcnt1l ocr1ah ocr1al ' +\n        'ocr1bh ocr1bl icr1h icr1l tccr2 tcnt2 ocr2 ocdr wdtcr sfior eearh eearl eedr eecr ' +\n        'porta ddra pina portb ddrb pinb portc ddrc pinc portd ddrd pind spdr spsr spcr udr0 ' +\n        'ucsr0a ucsr0b ubrr0l acsr admux adcsr adch adcl porte ddre pine pinf',\n      meta:\n        '.byte .cseg .db .def .device .dseg .dw .endmacro .equ .eseg .exit .include .list ' +\n        '.listmac .macro .nolist .org .set'\n    },\n    contains: [\n      hljs.C_BLOCK_COMMENT_MODE,\n      hljs.COMMENT(\n        ';',\n        '$',\n        {\n          relevance: 0\n        }\n      ),\n      hljs.C_NUMBER_MODE, // 0x..., decimal, float\n      hljs.BINARY_NUMBER_MODE, // 0b...\n      {\n        className: 'number',\n        begin: '\\\\b(\\\\$[a-zA-Z0-9]+|0o[0-7]+)' // $..., 0o...\n      },\n      hljs.QUOTE_STRING_MODE,\n      {\n        className: 'string',\n        begin: '\\'',\n        end: '[^\\\\\\\\]\\'',\n        illegal: '[^\\\\\\\\][^\\']'\n      },\n      {\n        className: 'symbol',\n        begin: '^[A-Za-z0-9_.$]+:'\n      },\n      {\n        className: 'meta',\n        begin: '#',\n        end: '$'\n      },\n      { // substitution within a macro\n        className: 'subst',\n        begin: '@[0-9]+'\n      }\n    ]\n  };\n}\n\nmodule.exports = avrasm;\n","/*\nLanguage: PHP\nAuthor: Victor Karamzin \nContributors: Evgeny Stepanischev , Ivan Sagalaev \nWebsite: https://www.php.net\nCategory: common\n*/\n\n/**\n * @param {HLJSApi} hljs\n * @returns {LanguageDetail}\n * */\nfunction php(hljs) {\n  const VARIABLE = {\n    className: 'variable',\n    begin: '\\\\$+[a-zA-Z_\\x7f-\\xff][a-zA-Z0-9_\\x7f-\\xff]*' +\n      // negative look-ahead tries to avoid matching patterns that are not\n      // Perl at all like $ident$, @ident@, etc.\n      `(?![A-Za-z0-9])(?![$])`\n  };\n  const PREPROCESSOR = {\n    className: 'meta',\n    variants: [\n      { begin: /<\\?php/, relevance: 10 }, // boost for obvious PHP\n      { begin: /<\\?[=]?/ },\n      { begin: /\\?>/ } // end php tag\n    ]\n  };\n  const SUBST = {\n    className: 'subst',\n    variants: [\n      { begin: /\\$\\w+/ },\n      { begin: /\\{\\$/, end: /\\}/ }\n    ]\n  };\n  const SINGLE_QUOTED = hljs.inherit(hljs.APOS_STRING_MODE, {\n    illegal: null,\n  });\n  const DOUBLE_QUOTED = hljs.inherit(hljs.QUOTE_STRING_MODE, {\n    illegal: null,\n    contains: hljs.QUOTE_STRING_MODE.contains.concat(SUBST),\n  });\n  const HEREDOC = hljs.END_SAME_AS_BEGIN({\n    begin: /<<<[ \\t]*(\\w+)\\n/,\n    end: /[ \\t]*(\\w+)\\b/,\n    contains: hljs.QUOTE_STRING_MODE.contains.concat(SUBST),\n  });\n  const STRING = {\n    className: 'string',\n    contains: [hljs.BACKSLASH_ESCAPE, PREPROCESSOR],\n    variants: [\n      hljs.inherit(SINGLE_QUOTED, {\n        begin: \"b'\", end: \"'\",\n      }),\n      hljs.inherit(DOUBLE_QUOTED, {\n        begin: 'b\"', end: '\"',\n      }),\n      DOUBLE_QUOTED,\n      SINGLE_QUOTED,\n      HEREDOC\n    ]\n  };\n  const NUMBER = {\n    className: 'number',\n    variants: [\n      { begin: `\\\\b0b[01]+(?:_[01]+)*\\\\b` }, // Binary w/ underscore support\n      { begin: `\\\\b0o[0-7]+(?:_[0-7]+)*\\\\b` }, // Octals w/ underscore support\n      { begin: `\\\\b0x[\\\\da-f]+(?:_[\\\\da-f]+)*\\\\b` }, // Hex w/ underscore support\n      // Decimals w/ underscore support, with optional fragments and scientific exponent (e) suffix.\n      { begin: `(?:\\\\b\\\\d+(?:_\\\\d+)*(\\\\.(?:\\\\d+(?:_\\\\d+)*))?|\\\\B\\\\.\\\\d+)(?:e[+-]?\\\\d+)?` }\n    ],\n    relevance: 0\n  };\n  const KEYWORDS = {\n    keyword:\n    // Magic constants:\n    // \n    '__CLASS__ __DIR__ __FILE__ __FUNCTION__ __LINE__ __METHOD__ __NAMESPACE__ __TRAIT__ ' +\n    // Function that look like language construct or language construct that look like function:\n    // List of keywords that may not require parenthesis\n    'die echo exit include include_once print require require_once ' +\n    // These are not language construct (function) but operate on the currently-executing function and can access the current symbol table\n    // 'compact extract func_get_arg func_get_args func_num_args get_called_class get_parent_class ' +\n    // Other keywords:\n    // \n    // \n    'array abstract and as binary bool boolean break callable case catch class clone const continue declare ' +\n    'default do double else elseif empty enddeclare endfor endforeach endif endswitch endwhile enum eval extends ' +\n    'final finally float for foreach from global goto if implements instanceof insteadof int integer interface ' +\n    'isset iterable list match|0 mixed new object or private protected public real return string switch throw trait ' +\n    'try unset use var void while xor yield',\n    literal: 'false null true',\n    built_in:\n    // Standard PHP library:\n    // \n    'Error|0 ' + // error is too common a name esp since PHP is case in-sensitive\n    'AppendIterator ArgumentCountError ArithmeticError ArrayIterator ArrayObject AssertionError BadFunctionCallException BadMethodCallException CachingIterator CallbackFilterIterator CompileError Countable DirectoryIterator DivisionByZeroError DomainException EmptyIterator ErrorException Exception FilesystemIterator FilterIterator GlobIterator InfiniteIterator InvalidArgumentException IteratorIterator LengthException LimitIterator LogicException MultipleIterator NoRewindIterator OutOfBoundsException OutOfRangeException OuterIterator OverflowException ParentIterator ParseError RangeException RecursiveArrayIterator RecursiveCachingIterator RecursiveCallbackFilterIterator RecursiveDirectoryIterator RecursiveFilterIterator RecursiveIterator RecursiveIteratorIterator RecursiveRegexIterator RecursiveTreeIterator RegexIterator RuntimeException SeekableIterator SplDoublyLinkedList SplFileInfo SplFileObject SplFixedArray SplHeap SplMaxHeap SplMinHeap SplObjectStorage SplObserver SplObserver SplPriorityQueue SplQueue SplStack SplSubject SplSubject SplTempFileObject TypeError UnderflowException UnexpectedValueException UnhandledMatchError ' +\n    // Reserved interfaces:\n    // \n    'ArrayAccess Closure Generator Iterator IteratorAggregate Serializable Stringable Throwable Traversable WeakReference WeakMap ' +\n    // Reserved classes:\n    // \n    'Directory __PHP_Incomplete_Class parent php_user_filter self static stdClass'\n  };\n  return {\n    aliases: ['php3', 'php4', 'php5', 'php6', 'php7', 'php8'],\n    case_insensitive: true,\n    keywords: KEYWORDS,\n    contains: [\n      hljs.HASH_COMMENT_MODE,\n      hljs.COMMENT('//', '$', {contains: [PREPROCESSOR]}),\n      hljs.COMMENT(\n        '/\\\\*',\n        '\\\\*/',\n        {\n          contains: [\n            {\n              className: 'doctag',\n              begin: '@[A-Za-z]+'\n            }\n          ]\n        }\n      ),\n      hljs.COMMENT(\n        '__halt_compiler.+?;',\n        false,\n        {\n          endsWithParent: true,\n          keywords: '__halt_compiler'\n        }\n      ),\n      PREPROCESSOR,\n      {\n        className: 'keyword', begin: /\\$this\\b/\n      },\n      VARIABLE,\n      {\n        // swallow composed identifiers to avoid parsing them as keywords\n        begin: /(::|->)+[a-zA-Z_\\x7f-\\xff][a-zA-Z0-9_\\x7f-\\xff]*/\n      },\n      {\n        className: 'function',\n        relevance: 0,\n        beginKeywords: 'fn function', end: /[;{]/, excludeEnd: true,\n        illegal: '[$%\\\\[]',\n        contains: [\n          {\n            beginKeywords: 'use',\n          },\n          hljs.UNDERSCORE_TITLE_MODE,\n          {\n            begin: '=>', // No markup, just a relevance booster\n            endsParent: true\n          },\n          {\n            className: 'params',\n            begin: '\\\\(', end: '\\\\)',\n            excludeBegin: true,\n            excludeEnd: true,\n            keywords: KEYWORDS,\n            contains: [\n              'self',\n              VARIABLE,\n              hljs.C_BLOCK_COMMENT_MODE,\n              STRING,\n              NUMBER\n            ]\n          }\n        ]\n      },\n      {\n        className: 'class',\n        variants: [\n          { beginKeywords: \"enum\", illegal: /[($\"]/ },\n          { beginKeywords: \"class interface trait\", illegal: /[:($\"]/ }\n        ],\n        relevance: 0,\n        end: /\\{/,\n        excludeEnd: true,\n        contains: [\n          {beginKeywords: 'extends implements'},\n          hljs.UNDERSCORE_TITLE_MODE\n        ]\n      },\n      {\n        beginKeywords: 'namespace',\n        relevance: 0,\n        end: ';',\n        illegal: /[.']/,\n        contains: [hljs.UNDERSCORE_TITLE_MODE]\n      },\n      {\n        beginKeywords: 'use',\n        relevance: 0,\n        end: ';',\n        contains: [hljs.UNDERSCORE_TITLE_MODE]\n      },\n      STRING,\n      NUMBER\n    ]\n  };\n}\n\nmodule.exports = php;\n","'use strict';\n\nvar m = require('react-dom');\nif (process.env.NODE_ENV === 'production') {\n  exports.createRoot = m.createRoot;\n  exports.hydrateRoot = m.hydrateRoot;\n} else {\n  var i = m.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n  exports.createRoot = function(c, o) {\n    i.usingClientEntryPoint = true;\n    try {\n      return m.createRoot(c, o);\n    } finally {\n      i.usingClientEntryPoint = false;\n    }\n  };\n  exports.hydrateRoot = function(c, h, o) {\n    i.usingClientEntryPoint = true;\n    try {\n      return m.hydrateRoot(c, h, o);\n    } finally {\n      i.usingClientEntryPoint = false;\n    }\n  };\n}\n","/*\nLanguage: Inform 7\nAuthor: Bruno Dias \nDescription: Language definition for Inform 7, a DSL for writing parser interactive fiction.\nWebsite: http://inform7.com\n*/\n\nfunction inform7(hljs) {\n  const START_BRACKET = '\\\\[';\n  const END_BRACKET = '\\\\]';\n  return {\n    name: 'Inform 7',\n    aliases: ['i7'],\n    case_insensitive: true,\n    keywords: {\n      // Some keywords more or less unique to I7, for relevance.\n      keyword:\n        // kind:\n        'thing room person man woman animal container ' +\n        'supporter backdrop door ' +\n        // characteristic:\n        'scenery open closed locked inside gender ' +\n        // verb:\n        'is are say understand ' +\n        // misc keyword:\n        'kind of rule'\n    },\n    contains: [\n      {\n        className: 'string',\n        begin: '\"',\n        end: '\"',\n        relevance: 0,\n        contains: [\n          {\n            className: 'subst',\n            begin: START_BRACKET,\n            end: END_BRACKET\n          }\n        ]\n      },\n      {\n        className: 'section',\n        begin: /^(Volume|Book|Part|Chapter|Section|Table)\\b/,\n        end: '$'\n      },\n      {\n        // Rule definition\n        // This is here for relevance.\n        begin: /^(Check|Carry out|Report|Instead of|To|Rule|When|Before|After)\\b/,\n        end: ':',\n        contains: [\n          {\n            // Rule name\n            begin: '\\\\(This',\n            end: '\\\\)'\n          }\n        ]\n      },\n      {\n        className: 'comment',\n        begin: START_BRACKET,\n        end: END_BRACKET,\n        contains: ['self']\n      }\n    ]\n  };\n}\n\nmodule.exports = inform7;\n","/*\nLanguage: Prolog\nDescription: Prolog is a general purpose logic programming language associated with artificial intelligence and computational linguistics.\nAuthor: Raivo Laanemets \nWebsite: https://en.wikipedia.org/wiki/Prolog\n*/\n\nfunction prolog(hljs) {\n  const ATOM = {\n\n    begin: /[a-z][A-Za-z0-9_]*/,\n    relevance: 0\n  };\n\n  const VAR = {\n\n    className: 'symbol',\n    variants: [\n      {\n        begin: /[A-Z][a-zA-Z0-9_]*/\n      },\n      {\n        begin: /_[A-Za-z0-9_]*/\n      }\n    ],\n    relevance: 0\n  };\n\n  const PARENTED = {\n\n    begin: /\\(/,\n    end: /\\)/,\n    relevance: 0\n  };\n\n  const LIST = {\n\n    begin: /\\[/,\n    end: /\\]/\n  };\n\n  const LINE_COMMENT = {\n\n    className: 'comment',\n    begin: /%/,\n    end: /$/,\n    contains: [ hljs.PHRASAL_WORDS_MODE ]\n  };\n\n  const BACKTICK_STRING = {\n\n    className: 'string',\n    begin: /`/,\n    end: /`/,\n    contains: [ hljs.BACKSLASH_ESCAPE ]\n  };\n\n  const CHAR_CODE = {\n    className: 'string', // 0'a etc.\n    begin: /0'(\\\\'|.)/\n  };\n\n  const SPACE_CODE = {\n    className: 'string',\n    begin: /0'\\\\s/ // 0'\\s\n  };\n\n  const PRED_OP = { // relevance booster\n    begin: /:-/\n  };\n\n  const inner = [\n\n    ATOM,\n    VAR,\n    PARENTED,\n    PRED_OP,\n    LIST,\n    LINE_COMMENT,\n    hljs.C_BLOCK_COMMENT_MODE,\n    hljs.QUOTE_STRING_MODE,\n    hljs.APOS_STRING_MODE,\n    BACKTICK_STRING,\n    CHAR_CODE,\n    SPACE_CODE,\n    hljs.C_NUMBER_MODE\n  ];\n\n  PARENTED.contains = inner;\n  LIST.contains = inner;\n\n  return {\n    name: 'Prolog',\n    contains: inner.concat([\n      { // relevance booster\n        begin: /\\.$/\n      }\n    ])\n  };\n}\n\nmodule.exports = prolog;\n","/**\n * Based on Kendo UI Core expression code \n */\n'use strict'\n\nfunction Cache(maxSize) {\n  this._maxSize = maxSize\n  this.clear()\n}\nCache.prototype.clear = function () {\n  this._size = 0\n  this._values = Object.create(null)\n}\nCache.prototype.get = function (key) {\n  return this._values[key]\n}\nCache.prototype.set = function (key, value) {\n  this._size >= this._maxSize && this.clear()\n  if (!(key in this._values)) this._size++\n\n  return (this._values[key] = value)\n}\n\nvar SPLIT_REGEX = /[^.^\\]^[]+|(?=\\[\\]|\\.\\.)/g,\n  DIGIT_REGEX = /^\\d+$/,\n  LEAD_DIGIT_REGEX = /^\\d/,\n  SPEC_CHAR_REGEX = /[~`!#$%\\^&*+=\\-\\[\\]\\\\';,/{}|\\\\\":<>\\?]/g,\n  CLEAN_QUOTES_REGEX = /^\\s*(['\"]?)(.*?)(\\1)\\s*$/,\n  MAX_CACHE_SIZE = 512\n\nvar pathCache = new Cache(MAX_CACHE_SIZE),\n  setCache = new Cache(MAX_CACHE_SIZE),\n  getCache = new Cache(MAX_CACHE_SIZE)\n\nvar config\n\nmodule.exports = {\n  Cache: Cache,\n\n  split: split,\n\n  normalizePath: normalizePath,\n\n  setter: function (path) {\n    var parts = normalizePath(path)\n\n    return (\n      setCache.get(path) ||\n      setCache.set(path, function setter(obj, value) {\n        var index = 0\n        var len = parts.length\n        var data = obj\n\n        while (index < len - 1) {\n          var part = parts[index]\n          if (\n            part === '__proto__' ||\n            part === 'constructor' ||\n            part === 'prototype'\n          ) {\n            return obj\n          }\n\n          data = data[parts[index++]]\n        }\n        data[parts[index]] = value\n      })\n    )\n  },\n\n  getter: function (path, safe) {\n    var parts = normalizePath(path)\n    return (\n      getCache.get(path) ||\n      getCache.set(path, function getter(data) {\n        var index = 0,\n          len = parts.length\n        while (index < len) {\n          if (data != null || !safe) data = data[parts[index++]]\n          else return\n        }\n        return data\n      })\n    )\n  },\n\n  join: function (segments) {\n    return segments.reduce(function (path, part) {\n      return (\n        path +\n        (isQuoted(part) || DIGIT_REGEX.test(part)\n          ? '[' + part + ']'\n          : (path ? '.' : '') + part)\n      )\n    }, '')\n  },\n\n  forEach: function (path, cb, thisArg) {\n    forEach(Array.isArray(path) ? path : split(path), cb, thisArg)\n  },\n}\n\nfunction normalizePath(path) {\n  return (\n    pathCache.get(path) ||\n    pathCache.set(\n      path,\n      split(path).map(function (part) {\n        return part.replace(CLEAN_QUOTES_REGEX, '$2')\n      })\n    )\n  )\n}\n\nfunction split(path) {\n  return path.match(SPLIT_REGEX) || ['']\n}\n\nfunction forEach(parts, iter, thisArg) {\n  var len = parts.length,\n    part,\n    idx,\n    isArray,\n    isBracket\n\n  for (idx = 0; idx < len; idx++) {\n    part = parts[idx]\n\n    if (part) {\n      if (shouldBeQuoted(part)) {\n        part = '\"' + part + '\"'\n      }\n\n      isBracket = isQuoted(part)\n      isArray = !isBracket && /^\\d+$/.test(part)\n\n      iter.call(thisArg, part, isBracket, isArray, idx, parts)\n    }\n  }\n}\n\nfunction isQuoted(str) {\n  return (\n    typeof str === 'string' && str && [\"'\", '\"'].indexOf(str.charAt(0)) !== -1\n  )\n}\n\nfunction hasLeadingNumber(part) {\n  return part.match(LEAD_DIGIT_REGEX) && !part.match(DIGIT_REGEX)\n}\n\nfunction hasSpecialChars(part) {\n  return SPEC_CHAR_REGEX.test(part)\n}\n\nfunction shouldBeQuoted(part) {\n  return !isQuoted(part) && (hasLeadingNumber(part) || hasSpecialChars(part))\n}\n","/*\nLanguage: PureBASIC\nAuthor: Tristano Ajmone \nDescription: Syntax highlighting for PureBASIC (v.5.00-5.60). No inline ASM highlighting. (v.1.2, May 2017)\nCredits: I've taken inspiration from the PureBasic language file for GeSHi, created by Gustavo Julio Fiorenza (GuShH).\nWebsite: https://www.purebasic.com\n*/\n\n// Base deafult colors in PB IDE: background: #FFFFDF; foreground: #000000;\n\nfunction purebasic(hljs) {\n  const STRINGS = { // PB IDE color: #0080FF (Azure Radiance)\n    className: 'string',\n    begin: '(~)?\"',\n    end: '\"',\n    illegal: '\\\\n'\n  };\n  const CONSTANTS = { // PB IDE color: #924B72 (Cannon Pink)\n    //  \"#\" + a letter or underscore + letters, digits or underscores + (optional) \"$\"\n    className: 'symbol',\n    begin: '#[a-zA-Z_]\\\\w*\\\\$?'\n  };\n\n  return {\n    name: 'PureBASIC',\n    aliases: [\n      'pb',\n      'pbi'\n    ],\n    keywords: // PB IDE color: #006666 (Blue Stone) + Bold\n      // Keywords from all version of PureBASIC 5.00 upward ...\n      'Align And Array As Break CallDebugger Case CompilerCase CompilerDefault ' +\n      'CompilerElse CompilerElseIf CompilerEndIf CompilerEndSelect CompilerError ' +\n      'CompilerIf CompilerSelect CompilerWarning Continue Data DataSection Debug ' +\n      'DebugLevel Declare DeclareC DeclareCDLL DeclareDLL DeclareModule Default ' +\n      'Define Dim DisableASM DisableDebugger DisableExplicit Else ElseIf EnableASM ' +\n      'EnableDebugger EnableExplicit End EndDataSection EndDeclareModule EndEnumeration ' +\n      'EndIf EndImport EndInterface EndMacro EndModule EndProcedure EndSelect ' +\n      'EndStructure EndStructureUnion EndWith Enumeration EnumerationBinary Extends ' +\n      'FakeReturn For ForEach ForEver Global Gosub Goto If Import ImportC ' +\n      'IncludeBinary IncludeFile IncludePath Interface List Macro MacroExpandedCount ' +\n      'Map Module NewList NewMap Next Not Or Procedure ProcedureC ' +\n      'ProcedureCDLL ProcedureDLL ProcedureReturn Protected Prototype PrototypeC ReDim ' +\n      'Read Repeat Restore Return Runtime Select Shared Static Step Structure ' +\n      'StructureUnion Swap Threaded To UndefineMacro Until Until  UnuseModule ' +\n      'UseModule Wend While With XIncludeFile XOr',\n    contains: [\n      // COMMENTS | PB IDE color: #00AAAA (Persian Green)\n      hljs.COMMENT(';', '$', {\n        relevance: 0\n      }),\n\n      { // PROCEDURES DEFINITIONS\n        className: 'function',\n        begin: '\\\\b(Procedure|Declare)(C|CDLL|DLL)?\\\\b',\n        end: '\\\\(',\n        excludeEnd: true,\n        returnBegin: true,\n        contains: [\n          { // PROCEDURE KEYWORDS | PB IDE color: #006666 (Blue Stone) + Bold\n            className: 'keyword',\n            begin: '(Procedure|Declare)(C|CDLL|DLL)?',\n            excludeEnd: true\n          },\n          { // PROCEDURE RETURN TYPE SETTING | PB IDE color: #000000 (Black)\n            className: 'type',\n            begin: '\\\\.\\\\w*'\n            // end: ' ',\n          },\n          hljs.UNDERSCORE_TITLE_MODE // PROCEDURE NAME | PB IDE color: #006666 (Blue Stone)\n        ]\n      },\n      STRINGS,\n      CONSTANTS\n    ]\n  };\n}\n\n/*  ==============================================================================\n                                      CHANGELOG\n    ==============================================================================\n    - v.1.2 (2017-05-12)\n        -- BUG-FIX: Some keywords were accidentally joyned together. Now fixed.\n    - v.1.1 (2017-04-30)\n        -- Updated to PureBASIC 5.60.\n        -- Keywords list now built by extracting them from the PureBASIC SDK's\n           \"SyntaxHilighting.dll\" (from each PureBASIC version). Tokens from each\n           version are added to the list, and renamed or removed tokens are kept\n           for the sake of covering all versions of the language from PureBASIC\n           v5.00 upward. (NOTE: currently, there are no renamed or deprecated\n           tokens in the keywords list). For more info, see:\n           -- http://www.purebasic.fr/english/viewtopic.php?&p=506269\n           -- https://github.com/tajmone/purebasic-archives/tree/master/syntax-highlighting/guidelines\n    - v.1.0 (April 2016)\n        -- First release\n        -- Keywords list taken and adapted from GuShH's (Gustavo Julio Fiorenza)\n           PureBasic language file for GeSHi:\n           -- https://github.com/easybook/geshi/blob/master/geshi/purebasic.php\n*/\n\nmodule.exports = purebasic;\n","/*\nLanguage: Scheme\nDescription: Scheme is a programming language in the Lisp family.\n             (keywords based on http://community.schemewiki.org/?scheme-keywords)\nAuthor: JP Verkamp \nContributors: Ivan Sagalaev \nOrigin: clojure.js\nWebsite: http://community.schemewiki.org/?what-is-scheme\nCategory: lisp\n*/\n\nfunction scheme(hljs) {\n  const SCHEME_IDENT_RE = '[^\\\\(\\\\)\\\\[\\\\]\\\\{\\\\}\",\\'`;#|\\\\\\\\\\\\s]+';\n  const SCHEME_SIMPLE_NUMBER_RE = '(-|\\\\+)?\\\\d+([./]\\\\d+)?';\n  const SCHEME_COMPLEX_NUMBER_RE = SCHEME_SIMPLE_NUMBER_RE + '[+\\\\-]' + SCHEME_SIMPLE_NUMBER_RE + 'i';\n  const KEYWORDS = {\n    $pattern: SCHEME_IDENT_RE,\n    'builtin-name':\n      'case-lambda call/cc class define-class exit-handler field import ' +\n      'inherit init-field interface let*-values let-values let/ec mixin ' +\n      'opt-lambda override protect provide public rename require ' +\n      'require-for-syntax syntax syntax-case syntax-error unit/sig unless ' +\n      'when with-syntax and begin call-with-current-continuation ' +\n      'call-with-input-file call-with-output-file case cond define ' +\n      'define-syntax delay do dynamic-wind else for-each if lambda let let* ' +\n      'let-syntax letrec letrec-syntax map or syntax-rules \\' * + , ,@ - ... / ' +\n      '; < <= = => > >= ` abs acos angle append apply asin assoc assq assv atan ' +\n      'boolean? caar cadr call-with-input-file call-with-output-file ' +\n      'call-with-values car cdddar cddddr cdr ceiling char->integer ' +\n      'char-alphabetic? char-ci<=? char-ci=? char-ci>? ' +\n      'char-downcase char-lower-case? char-numeric? char-ready? char-upcase ' +\n      'char-upper-case? char-whitespace? char<=? char=? char>? ' +\n      'char? close-input-port close-output-port complex? cons cos ' +\n      'current-input-port current-output-port denominator display eof-object? ' +\n      'eq? equal? eqv? eval even? exact->inexact exact? exp expt floor ' +\n      'force gcd imag-part inexact->exact inexact? input-port? integer->char ' +\n      'integer? interaction-environment lcm length list list->string ' +\n      'list->vector list-ref list-tail list? load log magnitude make-polar ' +\n      'make-rectangular make-string make-vector max member memq memv min ' +\n      'modulo negative? newline not null-environment null? number->string ' +\n      'number? numerator odd? open-input-file open-output-file output-port? ' +\n      'pair? peek-char port? positive? procedure? quasiquote quote quotient ' +\n      'rational? rationalize read read-char real-part real? remainder reverse ' +\n      'round scheme-report-environment set! set-car! set-cdr! sin sqrt string ' +\n      'string->list string->number string->symbol string-append string-ci<=? ' +\n      'string-ci=? string-ci>? string-copy ' +\n      'string-fill! string-length string-ref string-set! string<=? string=? string>? string? substring symbol->string symbol? ' +\n      'tan transcript-off transcript-on truncate values vector ' +\n      'vector->list vector-fill! vector-length vector-ref vector-set! ' +\n      'with-input-from-file with-output-to-file write write-char zero?'\n  };\n\n  const LITERAL = {\n    className: 'literal',\n    begin: '(#t|#f|#\\\\\\\\' + SCHEME_IDENT_RE + '|#\\\\\\\\.)'\n  };\n\n  const NUMBER = {\n    className: 'number',\n    variants: [\n      {\n        begin: SCHEME_SIMPLE_NUMBER_RE,\n        relevance: 0\n      },\n      {\n        begin: SCHEME_COMPLEX_NUMBER_RE,\n        relevance: 0\n      },\n      {\n        begin: '#b[0-1]+(/[0-1]+)?'\n      },\n      {\n        begin: '#o[0-7]+(/[0-7]+)?'\n      },\n      {\n        begin: '#x[0-9a-f]+(/[0-9a-f]+)?'\n      }\n    ]\n  };\n\n  const STRING = hljs.QUOTE_STRING_MODE;\n\n  const COMMENT_MODES = [\n    hljs.COMMENT(\n      ';',\n      '$',\n      {\n        relevance: 0\n      }\n    ),\n    hljs.COMMENT('#\\\\|', '\\\\|#')\n  ];\n\n  const IDENT = {\n    begin: SCHEME_IDENT_RE,\n    relevance: 0\n  };\n\n  const QUOTED_IDENT = {\n    className: 'symbol',\n    begin: '\\'' + SCHEME_IDENT_RE\n  };\n\n  const BODY = {\n    endsWithParent: true,\n    relevance: 0\n  };\n\n  const QUOTED_LIST = {\n    variants: [\n      {\n        begin: /'/\n      },\n      {\n        begin: '`'\n      }\n    ],\n    contains: [\n      {\n        begin: '\\\\(',\n        end: '\\\\)',\n        contains: [\n          'self',\n          LITERAL,\n          STRING,\n          NUMBER,\n          IDENT,\n          QUOTED_IDENT\n        ]\n      }\n    ]\n  };\n\n  const NAME = {\n    className: 'name',\n    relevance: 0,\n    begin: SCHEME_IDENT_RE,\n    keywords: KEYWORDS\n  };\n\n  const LAMBDA = {\n    begin: /lambda/,\n    endsWithParent: true,\n    returnBegin: true,\n    contains: [\n      NAME,\n      {\n        endsParent: true,\n        variants: [\n          {\n            begin: /\\(/,\n            end: /\\)/\n          },\n          {\n            begin: /\\[/,\n            end: /\\]/\n          }\n        ],\n        contains: [ IDENT ]\n      }\n    ]\n  };\n\n  const LIST = {\n    variants: [\n      {\n        begin: '\\\\(',\n        end: '\\\\)'\n      },\n      {\n        begin: '\\\\[',\n        end: '\\\\]'\n      }\n    ],\n    contains: [\n      LAMBDA,\n      NAME,\n      BODY\n    ]\n  };\n\n  BODY.contains = [\n    LITERAL,\n    NUMBER,\n    STRING,\n    IDENT,\n    QUOTED_IDENT,\n    QUOTED_LIST,\n    LIST\n  ].concat(COMMENT_MODES);\n\n  return {\n    name: 'Scheme',\n    illegal: /\\S/,\n    contains: [\n      hljs.SHEBANG(),\n      NUMBER,\n      STRING,\n      QUOTED_IDENT,\n      QUOTED_LIST,\n      LIST\n    ].concat(COMMENT_MODES)\n  };\n}\n\nmodule.exports = scheme;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports[\"default\"] = void 0;\nvar _default = exports[\"default\"] = {\n  \"hljs-comment\": {\n    \"color\": \"#898ea4\"\n  },\n  \"hljs-quote\": {\n    \"color\": \"#898ea4\"\n  },\n  \"hljs-variable\": {\n    \"color\": \"#c94922\"\n  },\n  \"hljs-template-variable\": {\n    \"color\": \"#c94922\"\n  },\n  \"hljs-attribute\": {\n    \"color\": \"#c94922\"\n  },\n  \"hljs-tag\": {\n    \"color\": \"#c94922\"\n  },\n  \"hljs-name\": {\n    \"color\": \"#c94922\"\n  },\n  \"hljs-regexp\": {\n    \"color\": \"#c94922\"\n  },\n  \"hljs-link\": {\n    \"color\": \"#c94922\"\n  },\n  \"hljs-selector-id\": {\n    \"color\": \"#c94922\"\n  },\n  \"hljs-selector-class\": {\n    \"color\": \"#c94922\"\n  },\n  \"hljs-number\": {\n    \"color\": \"#c76b29\"\n  },\n  \"hljs-meta\": {\n    \"color\": \"#c76b29\"\n  },\n  \"hljs-built_in\": {\n    \"color\": \"#c76b29\"\n  },\n  \"hljs-builtin-name\": {\n    \"color\": \"#c76b29\"\n  },\n  \"hljs-literal\": {\n    \"color\": \"#c76b29\"\n  },\n  \"hljs-type\": {\n    \"color\": \"#c76b29\"\n  },\n  \"hljs-params\": {\n    \"color\": \"#c76b29\"\n  },\n  \"hljs-string\": {\n    \"color\": \"#ac9739\"\n  },\n  \"hljs-symbol\": {\n    \"color\": \"#ac9739\"\n  },\n  \"hljs-bullet\": {\n    \"color\": \"#ac9739\"\n  },\n  \"hljs-title\": {\n    \"color\": \"#3d8fd1\"\n  },\n  \"hljs-section\": {\n    \"color\": \"#3d8fd1\"\n  },\n  \"hljs-keyword\": {\n    \"color\": \"#6679cc\"\n  },\n  \"hljs-selector-tag\": {\n    \"color\": \"#6679cc\"\n  },\n  \"hljs\": {\n    \"display\": \"block\",\n    \"overflowX\": \"auto\",\n    \"background\": \"#202746\",\n    \"color\": \"#979db4\",\n    \"padding\": \"0.5em\"\n  },\n  \"hljs-emphasis\": {\n    \"fontStyle\": \"italic\"\n  },\n  \"hljs-strong\": {\n    \"fontWeight\": \"bold\"\n  }\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports[\"default\"] = void 0;\nvar _default = exports[\"default\"] = {\n  \"hljs-comment\": {\n    \"color\": \"#9c9491\"\n  },\n  \"hljs-quote\": {\n    \"color\": \"#9c9491\"\n  },\n  \"hljs-variable\": {\n    \"color\": \"#f22c40\"\n  },\n  \"hljs-template-variable\": {\n    \"color\": \"#f22c40\"\n  },\n  \"hljs-attribute\": {\n    \"color\": \"#f22c40\"\n  },\n  \"hljs-tag\": {\n    \"color\": \"#f22c40\"\n  },\n  \"hljs-name\": {\n    \"color\": \"#f22c40\"\n  },\n  \"hljs-regexp\": {\n    \"color\": \"#f22c40\"\n  },\n  \"hljs-link\": {\n    \"color\": \"#f22c40\"\n  },\n  \"hljs-selector-id\": {\n    \"color\": \"#f22c40\"\n  },\n  \"hljs-selector-class\": {\n    \"color\": \"#f22c40\"\n  },\n  \"hljs-number\": {\n    \"color\": \"#df5320\"\n  },\n  \"hljs-meta\": {\n    \"color\": \"#df5320\"\n  },\n  \"hljs-built_in\": {\n    \"color\": \"#df5320\"\n  },\n  \"hljs-builtin-name\": {\n    \"color\": \"#df5320\"\n  },\n  \"hljs-literal\": {\n    \"color\": \"#df5320\"\n  },\n  \"hljs-type\": {\n    \"color\": \"#df5320\"\n  },\n  \"hljs-params\": {\n    \"color\": \"#df5320\"\n  },\n  \"hljs-string\": {\n    \"color\": \"#7b9726\"\n  },\n  \"hljs-symbol\": {\n    \"color\": \"#7b9726\"\n  },\n  \"hljs-bullet\": {\n    \"color\": \"#7b9726\"\n  },\n  \"hljs-title\": {\n    \"color\": \"#407ee7\"\n  },\n  \"hljs-section\": {\n    \"color\": \"#407ee7\"\n  },\n  \"hljs-keyword\": {\n    \"color\": \"#6666ea\"\n  },\n  \"hljs-selector-tag\": {\n    \"color\": \"#6666ea\"\n  },\n  \"hljs\": {\n    \"display\": \"block\",\n    \"overflowX\": \"auto\",\n    \"background\": \"#1b1918\",\n    \"color\": \"#a8a19f\",\n    \"padding\": \"0.5em\"\n  },\n  \"hljs-emphasis\": {\n    \"fontStyle\": \"italic\"\n  },\n  \"hljs-strong\": {\n    \"fontWeight\": \"bold\"\n  }\n};","/*\nLanguage: Vala\nAuthor: Antono Vasiljev \nDescription: Vala is a new programming language that aims to bring modern programming language features to GNOME developers without imposing any additional runtime requirements and without using a different ABI compared to applications and libraries written in C.\nWebsite: https://wiki.gnome.org/Projects/Vala\n*/\n\nfunction vala(hljs) {\n  return {\n    name: 'Vala',\n    keywords: {\n      keyword:\n        // Value types\n        'char uchar unichar int uint long ulong short ushort int8 int16 int32 int64 uint8 ' +\n        'uint16 uint32 uint64 float double bool struct enum string void ' +\n        // Reference types\n        'weak unowned owned ' +\n        // Modifiers\n        'async signal static abstract interface override virtual delegate ' +\n        // Control Structures\n        'if while do for foreach else switch case break default return try catch ' +\n        // Visibility\n        'public private protected internal ' +\n        // Other\n        'using new this get set const stdout stdin stderr var',\n      built_in:\n        'DBus GLib CCode Gee Object Gtk Posix',\n      literal:\n        'false true null'\n    },\n    contains: [\n      {\n        className: 'class',\n        beginKeywords: 'class interface namespace',\n        end: /\\{/,\n        excludeEnd: true,\n        illegal: '[^,:\\\\n\\\\s\\\\.]',\n        contains: [ hljs.UNDERSCORE_TITLE_MODE ]\n      },\n      hljs.C_LINE_COMMENT_MODE,\n      hljs.C_BLOCK_COMMENT_MODE,\n      {\n        className: 'string',\n        begin: '\"\"\"',\n        end: '\"\"\"',\n        relevance: 5\n      },\n      hljs.APOS_STRING_MODE,\n      hljs.QUOTE_STRING_MODE,\n      hljs.C_NUMBER_MODE,\n      {\n        className: 'meta',\n        begin: '^#',\n        end: '$',\n        relevance: 2\n      }\n    ]\n  };\n}\n\nmodule.exports = vala;\n","// https://docs.oracle.com/javase/specs/jls/se15/html/jls-3.html#jls-3.10\nvar decimalDigits = '[0-9](_*[0-9])*';\nvar frac = `\\\\.(${decimalDigits})`;\nvar hexDigits = '[0-9a-fA-F](_*[0-9a-fA-F])*';\nvar NUMERIC = {\n  className: 'number',\n  variants: [\n    // DecimalFloatingPointLiteral\n    // including ExponentPart\n    { begin: `(\\\\b(${decimalDigits})((${frac})|\\\\.)?|(${frac}))` +\n      `[eE][+-]?(${decimalDigits})[fFdD]?\\\\b` },\n    // excluding ExponentPart\n    { begin: `\\\\b(${decimalDigits})((${frac})[fFdD]?\\\\b|\\\\.([fFdD]\\\\b)?)` },\n    { begin: `(${frac})[fFdD]?\\\\b` },\n    { begin: `\\\\b(${decimalDigits})[fFdD]\\\\b` },\n\n    // HexadecimalFloatingPointLiteral\n    { begin: `\\\\b0[xX]((${hexDigits})\\\\.?|(${hexDigits})?\\\\.(${hexDigits}))` +\n      `[pP][+-]?(${decimalDigits})[fFdD]?\\\\b` },\n\n    // DecimalIntegerLiteral\n    { begin: '\\\\b(0|[1-9](_*[0-9])*)[lL]?\\\\b' },\n\n    // HexIntegerLiteral\n    { begin: `\\\\b0[xX](${hexDigits})[lL]?\\\\b` },\n\n    // OctalIntegerLiteral\n    { begin: '\\\\b0(_*[0-7])*[lL]?\\\\b' },\n\n    // BinaryIntegerLiteral\n    { begin: '\\\\b0[bB][01](_*[01])*[lL]?\\\\b' },\n  ],\n  relevance: 0\n};\n\n/*\nLanguage: Java\nAuthor: Vsevolod Solovyov \nCategory: common, enterprise\nWebsite: https://www.java.com/\n*/\n\nfunction java(hljs) {\n  var JAVA_IDENT_RE = '[\\u00C0-\\u02B8a-zA-Z_$][\\u00C0-\\u02B8a-zA-Z_$0-9]*';\n  var GENERIC_IDENT_RE = JAVA_IDENT_RE + '(<' + JAVA_IDENT_RE + '(\\\\s*,\\\\s*' + JAVA_IDENT_RE + ')*>)?';\n  var KEYWORDS = 'false synchronized int abstract float private char boolean var static null if const ' +\n    'for true while long strictfp finally protected import native final void ' +\n    'enum else break transient catch instanceof byte super volatile case assert short ' +\n    'package default double public try this switch continue throws protected public private ' +\n    'module requires exports do';\n\n  var ANNOTATION = {\n    className: 'meta',\n    begin: '@' + JAVA_IDENT_RE,\n    contains: [\n      {\n        begin: /\\(/,\n        end: /\\)/,\n        contains: [\"self\"] // allow nested () inside our annotation\n      },\n    ]\n  };\n  const NUMBER = NUMERIC;\n\n  return {\n    name: 'Java',\n    aliases: ['jsp'],\n    keywords: KEYWORDS,\n    illegal: /<\\/|#/,\n    contains: [\n      hljs.COMMENT(\n        '/\\\\*\\\\*',\n        '\\\\*/',\n        {\n          relevance: 0,\n          contains: [\n            {\n              // eat up @'s in emails to prevent them to be recognized as doctags\n              begin: /\\w+@/, relevance: 0\n            },\n            {\n              className: 'doctag',\n              begin: '@[A-Za-z]+'\n            }\n          ]\n        }\n      ),\n      // relevance boost\n      {\n        begin: /import java\\.[a-z]+\\./,\n        keywords: \"import\",\n        relevance: 2\n      },\n      hljs.C_LINE_COMMENT_MODE,\n      hljs.C_BLOCK_COMMENT_MODE,\n      hljs.APOS_STRING_MODE,\n      hljs.QUOTE_STRING_MODE,\n      {\n        className: 'class',\n        beginKeywords: 'class interface enum', end: /[{;=]/, excludeEnd: true,\n        // TODO: can this be removed somehow?\n        // an extra boost because Java is more popular than other languages with\n        // this same syntax feature (this is just to preserve our tests passing\n        // for now)\n        relevance: 1,\n        keywords: 'class interface enum',\n        illegal: /[:\"\\[\\]]/,\n        contains: [\n          { beginKeywords: 'extends implements' },\n          hljs.UNDERSCORE_TITLE_MODE\n        ]\n      },\n      {\n        // Expression keywords prevent 'keyword Name(...)' from being\n        // recognized as a function definition\n        beginKeywords: 'new throw return else',\n        relevance: 0\n      },\n      {\n        className: 'class',\n        begin: 'record\\\\s+' + hljs.UNDERSCORE_IDENT_RE + '\\\\s*\\\\(',\n        returnBegin: true,\n        excludeEnd: true,\n        end: /[{;=]/,\n        keywords: KEYWORDS,\n        contains: [\n          { beginKeywords: \"record\" },\n          {\n            begin: hljs.UNDERSCORE_IDENT_RE + '\\\\s*\\\\(',\n            returnBegin: true,\n            relevance: 0,\n            contains: [hljs.UNDERSCORE_TITLE_MODE]\n          },\n          {\n            className: 'params',\n            begin: /\\(/, end: /\\)/,\n            keywords: KEYWORDS,\n            relevance: 0,\n            contains: [\n              hljs.C_BLOCK_COMMENT_MODE\n            ]\n          },\n          hljs.C_LINE_COMMENT_MODE,\n          hljs.C_BLOCK_COMMENT_MODE\n        ]\n      },\n      {\n        className: 'function',\n        begin: '(' + GENERIC_IDENT_RE + '\\\\s+)+' + hljs.UNDERSCORE_IDENT_RE + '\\\\s*\\\\(', returnBegin: true, end: /[{;=]/,\n        excludeEnd: true,\n        keywords: KEYWORDS,\n        contains: [\n          {\n            begin: hljs.UNDERSCORE_IDENT_RE + '\\\\s*\\\\(', returnBegin: true,\n            relevance: 0,\n            contains: [hljs.UNDERSCORE_TITLE_MODE]\n          },\n          {\n            className: 'params',\n            begin: /\\(/, end: /\\)/,\n            keywords: KEYWORDS,\n            relevance: 0,\n            contains: [\n              ANNOTATION,\n              hljs.APOS_STRING_MODE,\n              hljs.QUOTE_STRING_MODE,\n              NUMBER,\n              hljs.C_BLOCK_COMMENT_MODE\n            ]\n          },\n          hljs.C_LINE_COMMENT_MODE,\n          hljs.C_BLOCK_COMMENT_MODE\n        ]\n      },\n      NUMBER,\n      ANNOTATION\n    ]\n  };\n}\n\nmodule.exports = java;\n","/**\n * @param {string} value\n * @returns {RegExp}\n * */\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction source(re) {\n  if (!re) return null;\n  if (typeof re === \"string\") return re;\n\n  return re.source;\n}\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction lookahead(re) {\n  return concat('(?=', re, ')');\n}\n\n/**\n * @param {...(RegExp | string) } args\n * @returns {string}\n */\nfunction concat(...args) {\n  const joined = args.map((x) => source(x)).join(\"\");\n  return joined;\n}\n\n/**\n * Any of the passed expresssions may match\n *\n * Creates a huge this | this | that | that match\n * @param {(RegExp | string)[] } args\n * @returns {string}\n */\nfunction either(...args) {\n  const joined = '(' + args.map((x) => source(x)).join(\"|\") + \")\";\n  return joined;\n}\n\nconst keywordWrapper = keyword => concat(\n  /\\b/,\n  keyword,\n  /\\w$/.test(keyword) ? /\\b/ : /\\B/\n);\n\n// Keywords that require a leading dot.\nconst dotKeywords = [\n  'Protocol', // contextual\n  'Type' // contextual\n].map(keywordWrapper);\n\n// Keywords that may have a leading dot.\nconst optionalDotKeywords = [\n  'init',\n  'self'\n].map(keywordWrapper);\n\n// should register as keyword, not type\nconst keywordTypes = [\n  'Any',\n  'Self'\n];\n\n// Regular keywords and literals.\nconst keywords = [\n  // strings below will be fed into the regular `keywords` engine while regex\n  // will result in additional modes being created to scan for those keywords to\n  // avoid conflicts with other rules\n  'associatedtype',\n  'async',\n  'await',\n  /as\\?/, // operator\n  /as!/, // operator\n  'as', // operator\n  'break',\n  'case',\n  'catch',\n  'class',\n  'continue',\n  'convenience', // contextual\n  'default',\n  'defer',\n  'deinit',\n  'didSet', // contextual\n  'do',\n  'dynamic', // contextual\n  'else',\n  'enum',\n  'extension',\n  'fallthrough',\n  /fileprivate\\(set\\)/,\n  'fileprivate',\n  'final', // contextual\n  'for',\n  'func',\n  'get', // contextual\n  'guard',\n  'if',\n  'import',\n  'indirect', // contextual\n  'infix', // contextual\n  /init\\?/,\n  /init!/,\n  'inout',\n  /internal\\(set\\)/,\n  'internal',\n  'in',\n  'is', // operator\n  'lazy', // contextual\n  'let',\n  'mutating', // contextual\n  'nonmutating', // contextual\n  /open\\(set\\)/, // contextual\n  'open', // contextual\n  'operator',\n  'optional', // contextual\n  'override', // contextual\n  'postfix', // contextual\n  'precedencegroup',\n  'prefix', // contextual\n  /private\\(set\\)/,\n  'private',\n  'protocol',\n  /public\\(set\\)/,\n  'public',\n  'repeat',\n  'required', // contextual\n  'rethrows',\n  'return',\n  'set', // contextual\n  'some', // contextual\n  'static',\n  'struct',\n  'subscript',\n  'super',\n  'switch',\n  'throws',\n  'throw',\n  /try\\?/, // operator\n  /try!/, // operator\n  'try', // operator\n  'typealias',\n  /unowned\\(safe\\)/, // contextual\n  /unowned\\(unsafe\\)/, // contextual\n  'unowned', // contextual\n  'var',\n  'weak', // contextual\n  'where',\n  'while',\n  'willSet' // contextual\n];\n\n// NOTE: Contextual keywords are reserved only in specific contexts.\n// Ideally, these should be matched using modes to avoid false positives.\n\n// Literals.\nconst literals = [\n  'false',\n  'nil',\n  'true'\n];\n\n// Keywords used in precedence groups.\nconst precedencegroupKeywords = [\n  'assignment',\n  'associativity',\n  'higherThan',\n  'left',\n  'lowerThan',\n  'none',\n  'right'\n];\n\n// Keywords that start with a number sign (#).\n// #available is handled separately.\nconst numberSignKeywords = [\n  '#colorLiteral',\n  '#column',\n  '#dsohandle',\n  '#else',\n  '#elseif',\n  '#endif',\n  '#error',\n  '#file',\n  '#fileID',\n  '#fileLiteral',\n  '#filePath',\n  '#function',\n  '#if',\n  '#imageLiteral',\n  '#keyPath',\n  '#line',\n  '#selector',\n  '#sourceLocation',\n  '#warn_unqualified_access',\n  '#warning'\n];\n\n// Global functions in the Standard Library.\nconst builtIns = [\n  'abs',\n  'all',\n  'any',\n  'assert',\n  'assertionFailure',\n  'debugPrint',\n  'dump',\n  'fatalError',\n  'getVaList',\n  'isKnownUniquelyReferenced',\n  'max',\n  'min',\n  'numericCast',\n  'pointwiseMax',\n  'pointwiseMin',\n  'precondition',\n  'preconditionFailure',\n  'print',\n  'readLine',\n  'repeatElement',\n  'sequence',\n  'stride',\n  'swap',\n  'swift_unboxFromSwiftValueWithType',\n  'transcode',\n  'type',\n  'unsafeBitCast',\n  'unsafeDowncast',\n  'withExtendedLifetime',\n  'withUnsafeMutablePointer',\n  'withUnsafePointer',\n  'withVaList',\n  'withoutActuallyEscaping',\n  'zip'\n];\n\n// Valid first characters for operators.\nconst operatorHead = either(\n  /[/=\\-+!*%<>&|^~?]/,\n  /[\\u00A1-\\u00A7]/,\n  /[\\u00A9\\u00AB]/,\n  /[\\u00AC\\u00AE]/,\n  /[\\u00B0\\u00B1]/,\n  /[\\u00B6\\u00BB\\u00BF\\u00D7\\u00F7]/,\n  /[\\u2016-\\u2017]/,\n  /[\\u2020-\\u2027]/,\n  /[\\u2030-\\u203E]/,\n  /[\\u2041-\\u2053]/,\n  /[\\u2055-\\u205E]/,\n  /[\\u2190-\\u23FF]/,\n  /[\\u2500-\\u2775]/,\n  /[\\u2794-\\u2BFF]/,\n  /[\\u2E00-\\u2E7F]/,\n  /[\\u3001-\\u3003]/,\n  /[\\u3008-\\u3020]/,\n  /[\\u3030]/\n);\n\n// Valid characters for operators.\nconst operatorCharacter = either(\n  operatorHead,\n  /[\\u0300-\\u036F]/,\n  /[\\u1DC0-\\u1DFF]/,\n  /[\\u20D0-\\u20FF]/,\n  /[\\uFE00-\\uFE0F]/,\n  /[\\uFE20-\\uFE2F]/\n  // TODO: The following characters are also allowed, but the regex isn't supported yet.\n  // /[\\u{E0100}-\\u{E01EF}]/u\n);\n\n// Valid operator.\nconst operator = concat(operatorHead, operatorCharacter, '*');\n\n// Valid first characters for identifiers.\nconst identifierHead = either(\n  /[a-zA-Z_]/,\n  /[\\u00A8\\u00AA\\u00AD\\u00AF\\u00B2-\\u00B5\\u00B7-\\u00BA]/,\n  /[\\u00BC-\\u00BE\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u00FF]/,\n  /[\\u0100-\\u02FF\\u0370-\\u167F\\u1681-\\u180D\\u180F-\\u1DBF]/,\n  /[\\u1E00-\\u1FFF]/,\n  /[\\u200B-\\u200D\\u202A-\\u202E\\u203F-\\u2040\\u2054\\u2060-\\u206F]/,\n  /[\\u2070-\\u20CF\\u2100-\\u218F\\u2460-\\u24FF\\u2776-\\u2793]/,\n  /[\\u2C00-\\u2DFF\\u2E80-\\u2FFF]/,\n  /[\\u3004-\\u3007\\u3021-\\u302F\\u3031-\\u303F\\u3040-\\uD7FF]/,\n  /[\\uF900-\\uFD3D\\uFD40-\\uFDCF\\uFDF0-\\uFE1F\\uFE30-\\uFE44]/,\n  /[\\uFE47-\\uFEFE\\uFF00-\\uFFFD]/ // Should be /[\\uFE47-\\uFFFD]/, but we have to exclude FEFF.\n  // The following characters are also allowed, but the regexes aren't supported yet.\n  // /[\\u{10000}-\\u{1FFFD}\\u{20000-\\u{2FFFD}\\u{30000}-\\u{3FFFD}\\u{40000}-\\u{4FFFD}]/u,\n  // /[\\u{50000}-\\u{5FFFD}\\u{60000-\\u{6FFFD}\\u{70000}-\\u{7FFFD}\\u{80000}-\\u{8FFFD}]/u,\n  // /[\\u{90000}-\\u{9FFFD}\\u{A0000-\\u{AFFFD}\\u{B0000}-\\u{BFFFD}\\u{C0000}-\\u{CFFFD}]/u,\n  // /[\\u{D0000}-\\u{DFFFD}\\u{E0000-\\u{EFFFD}]/u\n);\n\n// Valid characters for identifiers.\nconst identifierCharacter = either(\n  identifierHead,\n  /\\d/,\n  /[\\u0300-\\u036F\\u1DC0-\\u1DFF\\u20D0-\\u20FF\\uFE20-\\uFE2F]/\n);\n\n// Valid identifier.\nconst identifier = concat(identifierHead, identifierCharacter, '*');\n\n// Valid type identifier.\nconst typeIdentifier = concat(/[A-Z]/, identifierCharacter, '*');\n\n// Built-in attributes, which are highlighted as keywords.\n// @available is handled separately.\nconst keywordAttributes = [\n  'autoclosure',\n  concat(/convention\\(/, either('swift', 'block', 'c'), /\\)/),\n  'discardableResult',\n  'dynamicCallable',\n  'dynamicMemberLookup',\n  'escaping',\n  'frozen',\n  'GKInspectable',\n  'IBAction',\n  'IBDesignable',\n  'IBInspectable',\n  'IBOutlet',\n  'IBSegueAction',\n  'inlinable',\n  'main',\n  'nonobjc',\n  'NSApplicationMain',\n  'NSCopying',\n  'NSManaged',\n  concat(/objc\\(/, identifier, /\\)/),\n  'objc',\n  'objcMembers',\n  'propertyWrapper',\n  'requires_stored_property_inits',\n  'testable',\n  'UIApplicationMain',\n  'unknown',\n  'usableFromInline'\n];\n\n// Contextual keywords used in @available and #available.\nconst availabilityKeywords = [\n  'iOS',\n  'iOSApplicationExtension',\n  'macOS',\n  'macOSApplicationExtension',\n  'macCatalyst',\n  'macCatalystApplicationExtension',\n  'watchOS',\n  'watchOSApplicationExtension',\n  'tvOS',\n  'tvOSApplicationExtension',\n  'swift'\n];\n\n/*\nLanguage: Swift\nDescription: Swift is a general-purpose programming language built using a modern approach to safety, performance, and software design patterns.\nAuthor: Steven Van Impe \nContributors: Chris Eidhof , Nate Cook , Alexander Lichter , Richard Gibson \nWebsite: https://swift.org\nCategory: common, system\n*/\n\n/** @type LanguageFn */\nfunction swift(hljs) {\n  const WHITESPACE = {\n    match: /\\s+/,\n    relevance: 0\n  };\n  // https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#ID411\n  const BLOCK_COMMENT = hljs.COMMENT(\n    '/\\\\*',\n    '\\\\*/',\n    {\n      contains: [ 'self' ]\n    }\n  );\n  const COMMENTS = [\n    hljs.C_LINE_COMMENT_MODE,\n    BLOCK_COMMENT\n  ];\n\n  // https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#ID413\n  // https://docs.swift.org/swift-book/ReferenceManual/zzSummaryOfTheGrammar.html\n  const DOT_KEYWORD = {\n    className: 'keyword',\n    begin: concat(/\\./, lookahead(either(...dotKeywords, ...optionalDotKeywords))),\n    end: either(...dotKeywords, ...optionalDotKeywords),\n    excludeBegin: true\n  };\n  const KEYWORD_GUARD = {\n    // Consume .keyword to prevent highlighting properties and methods as keywords.\n    match: concat(/\\./, either(...keywords)),\n    relevance: 0\n  };\n  const PLAIN_KEYWORDS = keywords\n    .filter(kw => typeof kw === 'string')\n    .concat([ \"_|0\" ]); // seems common, so 0 relevance\n  const REGEX_KEYWORDS = keywords\n    .filter(kw => typeof kw !== 'string') // find regex\n    .concat(keywordTypes)\n    .map(keywordWrapper);\n  const KEYWORD = {\n    variants: [\n      {\n        className: 'keyword',\n        match: either(...REGEX_KEYWORDS, ...optionalDotKeywords)\n      }\n    ]\n  };\n  // find all the regular keywords\n  const KEYWORDS = {\n    $pattern: either(\n      /\\b\\w+/, // regular keywords\n      /#\\w+/ // number keywords\n    ),\n    keyword: PLAIN_KEYWORDS\n      .concat(numberSignKeywords),\n    literal: literals\n  };\n  const KEYWORD_MODES = [\n    DOT_KEYWORD,\n    KEYWORD_GUARD,\n    KEYWORD\n  ];\n\n  // https://github.com/apple/swift/tree/main/stdlib/public/core\n  const BUILT_IN_GUARD = {\n    // Consume .built_in to prevent highlighting properties and methods.\n    match: concat(/\\./, either(...builtIns)),\n    relevance: 0\n  };\n  const BUILT_IN = {\n    className: 'built_in',\n    match: concat(/\\b/, either(...builtIns), /(?=\\()/)\n  };\n  const BUILT_INS = [\n    BUILT_IN_GUARD,\n    BUILT_IN\n  ];\n\n  // https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#ID418\n  const OPERATOR_GUARD = {\n    // Prevent -> from being highlighting as an operator.\n    match: /->/,\n    relevance: 0\n  };\n  const OPERATOR = {\n    className: 'operator',\n    relevance: 0,\n    variants: [\n      {\n        match: operator\n      },\n      {\n        // dot-operator: only operators that start with a dot are allowed to use dots as\n        // characters (..., ...<, .*, etc). So there rule here is: a dot followed by one or more\n        // characters that may also include dots.\n        match: `\\\\.(\\\\.|${operatorCharacter})+`\n      }\n    ]\n  };\n  const OPERATORS = [\n    OPERATOR_GUARD,\n    OPERATOR\n  ];\n\n  // https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_numeric-literal\n  // TODO: Update for leading `-` after lookbehind is supported everywhere\n  const decimalDigits = '([0-9]_*)+';\n  const hexDigits = '([0-9a-fA-F]_*)+';\n  const NUMBER = {\n    className: 'number',\n    relevance: 0,\n    variants: [\n      // decimal floating-point-literal (subsumes decimal-literal)\n      {\n        match: `\\\\b(${decimalDigits})(\\\\.(${decimalDigits}))?` + `([eE][+-]?(${decimalDigits}))?\\\\b`\n      },\n      // hexadecimal floating-point-literal (subsumes hexadecimal-literal)\n      {\n        match: `\\\\b0x(${hexDigits})(\\\\.(${hexDigits}))?` + `([pP][+-]?(${decimalDigits}))?\\\\b`\n      },\n      // octal-literal\n      {\n        match: /\\b0o([0-7]_*)+\\b/\n      },\n      // binary-literal\n      {\n        match: /\\b0b([01]_*)+\\b/\n      }\n    ]\n  };\n\n  // https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_string-literal\n  const ESCAPED_CHARACTER = (rawDelimiter = \"\") => ({\n    className: 'subst',\n    variants: [\n      {\n        match: concat(/\\\\/, rawDelimiter, /[0\\\\tnr\"']/)\n      },\n      {\n        match: concat(/\\\\/, rawDelimiter, /u\\{[0-9a-fA-F]{1,8}\\}/)\n      }\n    ]\n  });\n  const ESCAPED_NEWLINE = (rawDelimiter = \"\") => ({\n    className: 'subst',\n    match: concat(/\\\\/, rawDelimiter, /[\\t ]*(?:[\\r\\n]|\\r\\n)/)\n  });\n  const INTERPOLATION = (rawDelimiter = \"\") => ({\n    className: 'subst',\n    label: \"interpol\",\n    begin: concat(/\\\\/, rawDelimiter, /\\(/),\n    end: /\\)/\n  });\n  const MULTILINE_STRING = (rawDelimiter = \"\") => ({\n    begin: concat(rawDelimiter, /\"\"\"/),\n    end: concat(/\"\"\"/, rawDelimiter),\n    contains: [\n      ESCAPED_CHARACTER(rawDelimiter),\n      ESCAPED_NEWLINE(rawDelimiter),\n      INTERPOLATION(rawDelimiter)\n    ]\n  });\n  const SINGLE_LINE_STRING = (rawDelimiter = \"\") => ({\n    begin: concat(rawDelimiter, /\"/),\n    end: concat(/\"/, rawDelimiter),\n    contains: [\n      ESCAPED_CHARACTER(rawDelimiter),\n      INTERPOLATION(rawDelimiter)\n    ]\n  });\n  const STRING = {\n    className: 'string',\n    variants: [\n      MULTILINE_STRING(),\n      MULTILINE_STRING(\"#\"),\n      MULTILINE_STRING(\"##\"),\n      MULTILINE_STRING(\"###\"),\n      SINGLE_LINE_STRING(),\n      SINGLE_LINE_STRING(\"#\"),\n      SINGLE_LINE_STRING(\"##\"),\n      SINGLE_LINE_STRING(\"###\")\n    ]\n  };\n\n  // https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#ID412\n  const QUOTED_IDENTIFIER = {\n    match: concat(/`/, identifier, /`/)\n  };\n  const IMPLICIT_PARAMETER = {\n    className: 'variable',\n    match: /\\$\\d+/\n  };\n  const PROPERTY_WRAPPER_PROJECTION = {\n    className: 'variable',\n    match: `\\\\$${identifierCharacter}+`\n  };\n  const IDENTIFIERS = [\n    QUOTED_IDENTIFIER,\n    IMPLICIT_PARAMETER,\n    PROPERTY_WRAPPER_PROJECTION\n  ];\n\n  // https://docs.swift.org/swift-book/ReferenceManual/Attributes.html\n  const AVAILABLE_ATTRIBUTE = {\n    match: /(@|#)available/,\n    className: \"keyword\",\n    starts: {\n      contains: [\n        {\n          begin: /\\(/,\n          end: /\\)/,\n          keywords: availabilityKeywords,\n          contains: [\n            ...OPERATORS,\n            NUMBER,\n            STRING\n          ]\n        }\n      ]\n    }\n  };\n  const KEYWORD_ATTRIBUTE = {\n    className: 'keyword',\n    match: concat(/@/, either(...keywordAttributes))\n  };\n  const USER_DEFINED_ATTRIBUTE = {\n    className: 'meta',\n    match: concat(/@/, identifier)\n  };\n  const ATTRIBUTES = [\n    AVAILABLE_ATTRIBUTE,\n    KEYWORD_ATTRIBUTE,\n    USER_DEFINED_ATTRIBUTE\n  ];\n\n  // https://docs.swift.org/swift-book/ReferenceManual/Types.html\n  const TYPE = {\n    match: lookahead(/\\b[A-Z]/),\n    relevance: 0,\n    contains: [\n      { // Common Apple frameworks, for relevance boost\n        className: 'type',\n        match: concat(/(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)/, identifierCharacter, '+')\n      },\n      { // Type identifier\n        className: 'type',\n        match: typeIdentifier,\n        relevance: 0\n      },\n      { // Optional type\n        match: /[?!]+/,\n        relevance: 0\n      },\n      { // Variadic parameter\n        match: /\\.\\.\\./,\n        relevance: 0\n      },\n      { // Protocol composition\n        match: concat(/\\s+&\\s+/, lookahead(typeIdentifier)),\n        relevance: 0\n      }\n    ]\n  };\n  const GENERIC_ARGUMENTS = {\n    begin: //,\n    keywords: KEYWORDS,\n    contains: [\n      ...COMMENTS,\n      ...KEYWORD_MODES,\n      ...ATTRIBUTES,\n      OPERATOR_GUARD,\n      TYPE\n    ]\n  };\n  TYPE.contains.push(GENERIC_ARGUMENTS);\n\n  // https://docs.swift.org/swift-book/ReferenceManual/Expressions.html#ID552\n  // Prevents element names from being highlighted as keywords.\n  const TUPLE_ELEMENT_NAME = {\n    match: concat(identifier, /\\s*:/),\n    keywords: \"_|0\",\n    relevance: 0\n  };\n  // Matches tuples as well as the parameter list of a function type.\n  const TUPLE = {\n    begin: /\\(/,\n    end: /\\)/,\n    relevance: 0,\n    keywords: KEYWORDS,\n    contains: [\n      'self',\n      TUPLE_ELEMENT_NAME,\n      ...COMMENTS,\n      ...KEYWORD_MODES,\n      ...BUILT_INS,\n      ...OPERATORS,\n      NUMBER,\n      STRING,\n      ...IDENTIFIERS,\n      ...ATTRIBUTES,\n      TYPE\n    ]\n  };\n\n  // https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#ID362\n  // Matches both the keyword func and the function title.\n  // Grouping these lets us differentiate between the operator function <\n  // and the start of the generic parameter clause (also <).\n  const FUNC_PLUS_TITLE = {\n    beginKeywords: 'func',\n    contains: [\n      {\n        className: 'title',\n        match: either(QUOTED_IDENTIFIER.match, identifier, operator),\n        // Required to make sure the opening < of the generic parameter clause\n        // isn't parsed as a second title.\n        endsParent: true,\n        relevance: 0\n      },\n      WHITESPACE\n    ]\n  };\n  const GENERIC_PARAMETERS = {\n    begin: //,\n    contains: [\n      ...COMMENTS,\n      TYPE\n    ]\n  };\n  const FUNCTION_PARAMETER_NAME = {\n    begin: either(\n      lookahead(concat(identifier, /\\s*:/)),\n      lookahead(concat(identifier, /\\s+/, identifier, /\\s*:/))\n    ),\n    end: /:/,\n    relevance: 0,\n    contains: [\n      {\n        className: 'keyword',\n        match: /\\b_\\b/\n      },\n      {\n        className: 'params',\n        match: identifier\n      }\n    ]\n  };\n  const FUNCTION_PARAMETERS = {\n    begin: /\\(/,\n    end: /\\)/,\n    keywords: KEYWORDS,\n    contains: [\n      FUNCTION_PARAMETER_NAME,\n      ...COMMENTS,\n      ...KEYWORD_MODES,\n      ...OPERATORS,\n      NUMBER,\n      STRING,\n      ...ATTRIBUTES,\n      TYPE,\n      TUPLE\n    ],\n    endsParent: true,\n    illegal: /[\"']/\n  };\n  const FUNCTION = {\n    className: 'function',\n    match: lookahead(/\\bfunc\\b/),\n    contains: [\n      FUNC_PLUS_TITLE,\n      GENERIC_PARAMETERS,\n      FUNCTION_PARAMETERS,\n      WHITESPACE\n    ],\n    illegal: [\n      /\\[/,\n      /%/\n    ]\n  };\n\n  // https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#ID375\n  // https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#ID379\n  const INIT_SUBSCRIPT = {\n    className: 'function',\n    match: /\\b(subscript|init[?!]?)\\s*(?=[<(])/,\n    keywords: {\n      keyword: \"subscript init init? init!\",\n      $pattern: /\\w+[?!]?/\n    },\n    contains: [\n      GENERIC_PARAMETERS,\n      FUNCTION_PARAMETERS,\n      WHITESPACE\n    ],\n    illegal: /\\[|%/\n  };\n  // https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#ID380\n  const OPERATOR_DECLARATION = {\n    beginKeywords: 'operator',\n    end: hljs.MATCH_NOTHING_RE,\n    contains: [\n      {\n        className: 'title',\n        match: operator,\n        endsParent: true,\n        relevance: 0\n      }\n    ]\n  };\n\n  // https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#ID550\n  const PRECEDENCEGROUP = {\n    beginKeywords: 'precedencegroup',\n    end: hljs.MATCH_NOTHING_RE,\n    contains: [\n      {\n        className: 'title',\n        match: typeIdentifier,\n        relevance: 0\n      },\n      {\n        begin: /{/,\n        end: /}/,\n        relevance: 0,\n        endsParent: true,\n        keywords: [\n          ...precedencegroupKeywords,\n          ...literals\n        ],\n        contains: [ TYPE ]\n      }\n    ]\n  };\n\n  // Add supported submodes to string interpolation.\n  for (const variant of STRING.variants) {\n    const interpolation = variant.contains.find(mode => mode.label === \"interpol\");\n    // TODO: Interpolation can contain any expression, so there's room for improvement here.\n    interpolation.keywords = KEYWORDS;\n    const submodes = [\n      ...KEYWORD_MODES,\n      ...BUILT_INS,\n      ...OPERATORS,\n      NUMBER,\n      STRING,\n      ...IDENTIFIERS\n    ];\n    interpolation.contains = [\n      ...submodes,\n      {\n        begin: /\\(/,\n        end: /\\)/,\n        contains: [\n          'self',\n          ...submodes\n        ]\n      }\n    ];\n  }\n\n  return {\n    name: 'Swift',\n    keywords: KEYWORDS,\n    contains: [\n      ...COMMENTS,\n      FUNCTION,\n      INIT_SUBSCRIPT,\n      {\n        className: 'class',\n        beginKeywords: 'struct protocol class extension enum',\n        end: '\\\\{',\n        excludeEnd: true,\n        keywords: KEYWORDS,\n        contains: [\n          hljs.inherit(hljs.TITLE_MODE, {\n            begin: /[A-Za-z$_][\\u00C0-\\u02B80-9A-Za-z$_]*/\n          }),\n          ...KEYWORD_MODES\n        ]\n      },\n      OPERATOR_DECLARATION,\n      PRECEDENCEGROUP,\n      {\n        beginKeywords: 'import',\n        end: /$/,\n        contains: [ ...COMMENTS ],\n        relevance: 0\n      },\n      ...KEYWORD_MODES,\n      ...BUILT_INS,\n      ...OPERATORS,\n      NUMBER,\n      STRING,\n      ...IDENTIFIERS,\n      ...ATTRIBUTES,\n      TYPE,\n      TUPLE\n    ]\n  };\n}\n\nmodule.exports = swift;\n","/*\nLanguage: Maxima\nAuthor: Robert Dodier \nWebsite: http://maxima.sourceforge.net\nCategory: scientific\n*/\n\nfunction maxima(hljs) {\n  const KEYWORDS =\n    'if then else elseif for thru do while unless step in and or not';\n  const LITERALS =\n    'true false unknown inf minf ind und %e %i %pi %phi %gamma';\n  const BUILTIN_FUNCTIONS =\n    ' abasep abs absint absolute_real_time acos acosh acot acoth acsc acsch activate' +\n    ' addcol add_edge add_edges addmatrices addrow add_vertex add_vertices adjacency_matrix' +\n    ' adjoin adjoint af agd airy airy_ai airy_bi airy_dai airy_dbi algsys alg_type' +\n    ' alias allroots alphacharp alphanumericp amortization %and annuity_fv' +\n    ' annuity_pv antid antidiff AntiDifference append appendfile apply apply1 apply2' +\n    ' applyb1 apropos args arit_amortization arithmetic arithsum array arrayapply' +\n    ' arrayinfo arraymake arraysetapply ascii asec asech asin asinh askinteger' +\n    ' asksign assoc assoc_legendre_p assoc_legendre_q assume assume_external_byte_order' +\n    ' asympa at atan atan2 atanh atensimp atom atvalue augcoefmatrix augmented_lagrangian_method' +\n    ' av average_degree backtrace bars barsplot barsplot_description base64 base64_decode' +\n    ' bashindices batch batchload bc2 bdvac belln benefit_cost bern bernpoly bernstein_approx' +\n    ' bernstein_expand bernstein_poly bessel bessel_i bessel_j bessel_k bessel_simplify' +\n    ' bessel_y beta beta_incomplete beta_incomplete_generalized beta_incomplete_regularized' +\n    ' bezout bfallroots bffac bf_find_root bf_fmin_cobyla bfhzeta bfloat bfloatp' +\n    ' bfpsi bfpsi0 bfzeta biconnected_components bimetric binomial bipartition' +\n    ' block blockmatrixp bode_gain bode_phase bothcoef box boxplot boxplot_description' +\n    ' break bug_report build_info|10 buildq build_sample burn cabs canform canten' +\n    ' cardinality carg cartan cartesian_product catch cauchy_matrix cbffac cdf_bernoulli' +\n    ' cdf_beta cdf_binomial cdf_cauchy cdf_chi2 cdf_continuous_uniform cdf_discrete_uniform' +\n    ' cdf_exp cdf_f cdf_gamma cdf_general_finite_discrete cdf_geometric cdf_gumbel' +\n    ' cdf_hypergeometric cdf_laplace cdf_logistic cdf_lognormal cdf_negative_binomial' +\n    ' cdf_noncentral_chi2 cdf_noncentral_student_t cdf_normal cdf_pareto cdf_poisson' +\n    ' cdf_rank_sum cdf_rayleigh cdf_signed_rank cdf_student_t cdf_weibull cdisplay' +\n    ' ceiling central_moment cequal cequalignore cf cfdisrep cfexpand cgeodesic' +\n    ' cgreaterp cgreaterpignore changename changevar chaosgame charat charfun charfun2' +\n    ' charlist charp charpoly chdir chebyshev_t chebyshev_u checkdiv check_overlaps' +\n    ' chinese cholesky christof chromatic_index chromatic_number cint circulant_graph' +\n    ' clear_edge_weight clear_rules clear_vertex_label clebsch_gordan clebsch_graph' +\n    ' clessp clesspignore close closefile cmetric coeff coefmatrix cograd col collapse' +\n    ' collectterms columnop columnspace columnswap columnvector combination combine' +\n    ' comp2pui compare compfile compile compile_file complement_graph complete_bipartite_graph' +\n    ' complete_graph complex_number_p components compose_functions concan concat' +\n    ' conjugate conmetderiv connected_components connect_vertices cons constant' +\n    ' constantp constituent constvalue cont2part content continuous_freq contortion' +\n    ' contour_plot contract contract_edge contragrad contrib_ode convert coord' +\n    ' copy copy_file copy_graph copylist copymatrix cor cos cosh cot coth cov cov1' +\n    ' covdiff covect covers crc24sum create_graph create_list csc csch csetup cspline' +\n    ' ctaylor ct_coordsys ctransform ctranspose cube_graph cuboctahedron_graph' +\n    ' cunlisp cv cycle_digraph cycle_graph cylindrical days360 dblint deactivate' +\n    ' declare declare_constvalue declare_dimensions declare_fundamental_dimensions' +\n    ' declare_fundamental_units declare_qty declare_translated declare_unit_conversion' +\n    ' declare_units declare_weights decsym defcon define define_alt_display define_variable' +\n    ' defint defmatch defrule defstruct deftaylor degree_sequence del delete deleten' +\n    ' delta demo demoivre denom depends derivdegree derivlist describe desolve' +\n    ' determinant dfloat dgauss_a dgauss_b dgeev dgemm dgeqrf dgesv dgesvd diag' +\n    ' diagmatrix diag_matrix diagmatrixp diameter diff digitcharp dimacs_export' +\n    ' dimacs_import dimension dimensionless dimensions dimensions_as_list direct' +\n    ' directory discrete_freq disjoin disjointp disolate disp dispcon dispform' +\n    ' dispfun dispJordan display disprule dispterms distrib divide divisors divsum' +\n    ' dkummer_m dkummer_u dlange dodecahedron_graph dotproduct dotsimp dpart' +\n    ' draw draw2d draw3d drawdf draw_file draw_graph dscalar echelon edge_coloring' +\n    ' edge_connectivity edges eigens_by_jacobi eigenvalues eigenvectors eighth' +\n    ' einstein eivals eivects elapsed_real_time elapsed_run_time ele2comp ele2polynome' +\n    ' ele2pui elem elementp elevation_grid elim elim_allbut eliminate eliminate_using' +\n    ' ellipse elliptic_e elliptic_ec elliptic_eu elliptic_f elliptic_kc elliptic_pi' +\n    ' ematrix empty_graph emptyp endcons entermatrix entertensor entier equal equalp' +\n    ' equiv_classes erf erfc erf_generalized erfi errcatch error errormsg errors' +\n    ' euler ev eval_string evenp every evolution evolution2d evundiff example exp' +\n    ' expand expandwrt expandwrt_factored expint expintegral_chi expintegral_ci' +\n    ' expintegral_e expintegral_e1 expintegral_ei expintegral_e_simplify expintegral_li' +\n    ' expintegral_shi expintegral_si explicit explose exponentialize express expt' +\n    ' exsec extdiff extract_linear_equations extremal_subset ezgcd %f f90 facsum' +\n    ' factcomb factor factorfacsum factorial factorout factorsum facts fast_central_elements' +\n    ' fast_linsolve fasttimes featurep fernfale fft fib fibtophi fifth filename_merge' +\n    ' file_search file_type fillarray findde find_root find_root_abs find_root_error' +\n    ' find_root_rel first fix flatten flength float floatnump floor flower_snark' +\n    ' flush flush1deriv flushd flushnd flush_output fmin_cobyla forget fortran' +\n    ' fourcos fourexpand fourier fourier_elim fourint fourintcos fourintsin foursimp' +\n    ' foursin fourth fposition frame_bracket freeof freshline fresnel_c fresnel_s' +\n    ' from_adjacency_matrix frucht_graph full_listify fullmap fullmapl fullratsimp' +\n    ' fullratsubst fullsetify funcsolve fundamental_dimensions fundamental_units' +\n    ' fundef funmake funp fv g0 g1 gamma gamma_greek gamma_incomplete gamma_incomplete_generalized' +\n    ' gamma_incomplete_regularized gauss gauss_a gauss_b gaussprob gcd gcdex gcdivide' +\n    ' gcfac gcfactor gd generalized_lambert_w genfact gen_laguerre genmatrix gensym' +\n    ' geo_amortization geo_annuity_fv geo_annuity_pv geomap geometric geometric_mean' +\n    ' geosum get getcurrentdirectory get_edge_weight getenv get_lu_factors get_output_stream_string' +\n    ' get_pixel get_plot_option get_tex_environment get_tex_environment_default' +\n    ' get_vertex_label gfactor gfactorsum ggf girth global_variances gn gnuplot_close' +\n    ' gnuplot_replot gnuplot_reset gnuplot_restart gnuplot_start go Gosper GosperSum' +\n    ' gr2d gr3d gradef gramschmidt graph6_decode graph6_encode graph6_export graph6_import' +\n    ' graph_center graph_charpoly graph_eigenvalues graph_flow graph_order graph_periphery' +\n    ' graph_product graph_size graph_union great_rhombicosidodecahedron_graph great_rhombicuboctahedron_graph' +\n    ' grid_graph grind grobner_basis grotzch_graph hamilton_cycle hamilton_path' +\n    ' hankel hankel_1 hankel_2 harmonic harmonic_mean hav heawood_graph hermite' +\n    ' hessian hgfred hilbertmap hilbert_matrix hipow histogram histogram_description' +\n    ' hodge horner hypergeometric i0 i1 %ibes ic1 ic2 ic_convert ichr1 ichr2 icosahedron_graph' +\n    ' icosidodecahedron_graph icurvature ident identfor identity idiff idim idummy' +\n    ' ieqn %if ifactors iframes ifs igcdex igeodesic_coords ilt image imagpart' +\n    ' imetric implicit implicit_derivative implicit_plot indexed_tensor indices' +\n    ' induced_subgraph inferencep inference_result infix info_display init_atensor' +\n    ' init_ctensor in_neighbors innerproduct inpart inprod inrt integerp integer_partitions' +\n    ' integrate intersect intersection intervalp intopois intosum invariant1 invariant2' +\n    ' inverse_fft inverse_jacobi_cd inverse_jacobi_cn inverse_jacobi_cs inverse_jacobi_dc' +\n    ' inverse_jacobi_dn inverse_jacobi_ds inverse_jacobi_nc inverse_jacobi_nd inverse_jacobi_ns' +\n    ' inverse_jacobi_sc inverse_jacobi_sd inverse_jacobi_sn invert invert_by_adjoint' +\n    ' invert_by_lu inv_mod irr is is_biconnected is_bipartite is_connected is_digraph' +\n    ' is_edge_in_graph is_graph is_graph_or_digraph ishow is_isomorphic isolate' +\n    ' isomorphism is_planar isqrt isreal_p is_sconnected is_tree is_vertex_in_graph' +\n    ' items_inference %j j0 j1 jacobi jacobian jacobi_cd jacobi_cn jacobi_cs jacobi_dc' +\n    ' jacobi_dn jacobi_ds jacobi_nc jacobi_nd jacobi_ns jacobi_p jacobi_sc jacobi_sd' +\n    ' jacobi_sn JF jn join jordan julia julia_set julia_sin %k kdels kdelta kill' +\n    ' killcontext kostka kron_delta kronecker_product kummer_m kummer_u kurtosis' +\n    ' kurtosis_bernoulli kurtosis_beta kurtosis_binomial kurtosis_chi2 kurtosis_continuous_uniform' +\n    ' kurtosis_discrete_uniform kurtosis_exp kurtosis_f kurtosis_gamma kurtosis_general_finite_discrete' +\n    ' kurtosis_geometric kurtosis_gumbel kurtosis_hypergeometric kurtosis_laplace' +\n    ' kurtosis_logistic kurtosis_lognormal kurtosis_negative_binomial kurtosis_noncentral_chi2' +\n    ' kurtosis_noncentral_student_t kurtosis_normal kurtosis_pareto kurtosis_poisson' +\n    ' kurtosis_rayleigh kurtosis_student_t kurtosis_weibull label labels lagrange' +\n    ' laguerre lambda lambert_w laplace laplacian_matrix last lbfgs lc2kdt lcharp' +\n    ' lc_l lcm lc_u ldefint ldisp ldisplay legendre_p legendre_q leinstein length' +\n    ' let letrules letsimp levi_civita lfreeof lgtreillis lhs li liediff limit' +\n    ' Lindstedt linear linearinterpol linear_program linear_regression line_graph' +\n    ' linsolve listarray list_correlations listify list_matrix_entries list_nc_monomials' +\n    ' listoftens listofvars listp lmax lmin load loadfile local locate_matrix_entry' +\n    ' log logcontract log_gamma lopow lorentz_gauge lowercasep lpart lratsubst' +\n    ' lreduce lriemann lsquares_estimates lsquares_estimates_approximate lsquares_estimates_exact' +\n    ' lsquares_mse lsquares_residual_mse lsquares_residuals lsum ltreillis lu_backsub' +\n    ' lucas lu_factor %m macroexpand macroexpand1 make_array makebox makefact makegamma' +\n    ' make_graph make_level_picture makelist makeOrders make_poly_continent make_poly_country' +\n    ' make_polygon make_random_state make_rgb_picture makeset make_string_input_stream' +\n    ' make_string_output_stream make_transform mandelbrot mandelbrot_set map mapatom' +\n    ' maplist matchdeclare matchfix mat_cond mat_fullunblocker mat_function mathml_display' +\n    ' mat_norm matrix matrixmap matrixp matrix_size mattrace mat_trace mat_unblocker' +\n    ' max max_clique max_degree max_flow maximize_lp max_independent_set max_matching' +\n    ' maybe md5sum mean mean_bernoulli mean_beta mean_binomial mean_chi2 mean_continuous_uniform' +\n    ' mean_deviation mean_discrete_uniform mean_exp mean_f mean_gamma mean_general_finite_discrete' +\n    ' mean_geometric mean_gumbel mean_hypergeometric mean_laplace mean_logistic' +\n    ' mean_lognormal mean_negative_binomial mean_noncentral_chi2 mean_noncentral_student_t' +\n    ' mean_normal mean_pareto mean_poisson mean_rayleigh mean_student_t mean_weibull' +\n    ' median median_deviation member mesh metricexpandall mgf1_sha1 min min_degree' +\n    ' min_edge_cut minfactorial minimalPoly minimize_lp minimum_spanning_tree minor' +\n    ' minpack_lsquares minpack_solve min_vertex_cover min_vertex_cut mkdir mnewton' +\n    ' mod mode_declare mode_identity ModeMatrix moebius mon2schur mono monomial_dimensions' +\n    ' multibernstein_poly multi_display_for_texinfo multi_elem multinomial multinomial_coeff' +\n    ' multi_orbit multiplot_mode multi_pui multsym multthru mycielski_graph nary' +\n    ' natural_unit nc_degree ncexpt ncharpoly negative_picture neighbors new newcontext' +\n    ' newdet new_graph newline newton new_variable next_prime nicedummies niceindices' +\n    ' ninth nofix nonarray noncentral_moment nonmetricity nonnegintegerp nonscalarp' +\n    ' nonzeroandfreeof notequal nounify nptetrad npv nroots nterms ntermst' +\n    ' nthroot nullity nullspace num numbered_boundaries numberp number_to_octets' +\n    ' num_distinct_partitions numerval numfactor num_partitions nusum nzeta nzetai' +\n    ' nzetar octets_to_number octets_to_oid odd_girth oddp ode2 ode_check odelin' +\n    ' oid_to_octets op opena opena_binary openr openr_binary openw openw_binary' +\n    ' operatorp opsubst optimize %or orbit orbits ordergreat ordergreatp orderless' +\n    ' orderlessp orthogonal_complement orthopoly_recur orthopoly_weight outermap' +\n    ' out_neighbors outofpois pade parabolic_cylinder_d parametric parametric_surface' +\n    ' parg parGosper parse_string parse_timedate part part2cont partfrac partition' +\n    ' partition_set partpol path_digraph path_graph pathname_directory pathname_name' +\n    ' pathname_type pdf_bernoulli pdf_beta pdf_binomial pdf_cauchy pdf_chi2 pdf_continuous_uniform' +\n    ' pdf_discrete_uniform pdf_exp pdf_f pdf_gamma pdf_general_finite_discrete' +\n    ' pdf_geometric pdf_gumbel pdf_hypergeometric pdf_laplace pdf_logistic pdf_lognormal' +\n    ' pdf_negative_binomial pdf_noncentral_chi2 pdf_noncentral_student_t pdf_normal' +\n    ' pdf_pareto pdf_poisson pdf_rank_sum pdf_rayleigh pdf_signed_rank pdf_student_t' +\n    ' pdf_weibull pearson_skewness permanent permut permutation permutations petersen_graph' +\n    ' petrov pickapart picture_equalp picturep piechart piechart_description planar_embedding' +\n    ' playback plog plot2d plot3d plotdf ploteq plsquares pochhammer points poisdiff' +\n    ' poisexpt poisint poismap poisplus poissimp poissubst poistimes poistrim polar' +\n    ' polarform polartorect polar_to_xy poly_add poly_buchberger poly_buchberger_criterion' +\n    ' poly_colon_ideal poly_content polydecomp poly_depends_p poly_elimination_ideal' +\n    ' poly_exact_divide poly_expand poly_expt poly_gcd polygon poly_grobner poly_grobner_equal' +\n    ' poly_grobner_member poly_grobner_subsetp poly_ideal_intersection poly_ideal_polysaturation' +\n    ' poly_ideal_polysaturation1 poly_ideal_saturation poly_ideal_saturation1 poly_lcm' +\n    ' poly_minimization polymod poly_multiply polynome2ele polynomialp poly_normal_form' +\n    ' poly_normalize poly_normalize_list poly_polysaturation_extension poly_primitive_part' +\n    ' poly_pseudo_divide poly_reduced_grobner poly_reduction poly_saturation_extension' +\n    ' poly_s_polynomial poly_subtract polytocompanion pop postfix potential power_mod' +\n    ' powerseries powerset prefix prev_prime primep primes principal_components' +\n    ' print printf printfile print_graph printpois printprops prodrac product properties' +\n    ' propvars psi psubst ptriangularize pui pui2comp pui2ele pui2polynome pui_direct' +\n    ' puireduc push put pv qput qrange qty quad_control quad_qag quad_qagi quad_qagp' +\n    ' quad_qags quad_qawc quad_qawf quad_qawo quad_qaws quadrilateral quantile' +\n    ' quantile_bernoulli quantile_beta quantile_binomial quantile_cauchy quantile_chi2' +\n    ' quantile_continuous_uniform quantile_discrete_uniform quantile_exp quantile_f' +\n    ' quantile_gamma quantile_general_finite_discrete quantile_geometric quantile_gumbel' +\n    ' quantile_hypergeometric quantile_laplace quantile_logistic quantile_lognormal' +\n    ' quantile_negative_binomial quantile_noncentral_chi2 quantile_noncentral_student_t' +\n    ' quantile_normal quantile_pareto quantile_poisson quantile_rayleigh quantile_student_t' +\n    ' quantile_weibull quartile_skewness quit qunit quotient racah_v racah_w radcan' +\n    ' radius random random_bernoulli random_beta random_binomial random_bipartite_graph' +\n    ' random_cauchy random_chi2 random_continuous_uniform random_digraph random_discrete_uniform' +\n    ' random_exp random_f random_gamma random_general_finite_discrete random_geometric' +\n    ' random_graph random_graph1 random_gumbel random_hypergeometric random_laplace' +\n    ' random_logistic random_lognormal random_negative_binomial random_network' +\n    ' random_noncentral_chi2 random_noncentral_student_t random_normal random_pareto' +\n    ' random_permutation random_poisson random_rayleigh random_regular_graph random_student_t' +\n    ' random_tournament random_tree random_weibull range rank rat ratcoef ratdenom' +\n    ' ratdiff ratdisrep ratexpand ratinterpol rational rationalize ratnumer ratnump' +\n    ' ratp ratsimp ratsubst ratvars ratweight read read_array read_binary_array' +\n    ' read_binary_list read_binary_matrix readbyte readchar read_hashed_array readline' +\n    ' read_list read_matrix read_nested_list readonly read_xpm real_imagpart_to_conjugate' +\n    ' realpart realroots rearray rectangle rectform rectform_log_if_constant recttopolar' +\n    ' rediff reduce_consts reduce_order region region_boundaries region_boundaries_plus' +\n    ' rem remainder remarray rembox remcomps remcon remcoord remfun remfunction' +\n    ' remlet remove remove_constvalue remove_dimensions remove_edge remove_fundamental_dimensions' +\n    ' remove_fundamental_units remove_plot_option remove_vertex rempart remrule' +\n    ' remsym remvalue rename rename_file reset reset_displays residue resolvante' +\n    ' resolvante_alternee1 resolvante_bipartite resolvante_diedrale resolvante_klein' +\n    ' resolvante_klein3 resolvante_produit_sym resolvante_unitaire resolvante_vierer' +\n    ' rest resultant return reveal reverse revert revert2 rgb2level rhs ricci riemann' +\n    ' rinvariant risch rk rmdir rncombine romberg room rootscontract round row' +\n    ' rowop rowswap rreduce run_testsuite %s save saving scalarp scaled_bessel_i' +\n    ' scaled_bessel_i0 scaled_bessel_i1 scalefactors scanmap scatterplot scatterplot_description' +\n    ' scene schur2comp sconcat scopy scsimp scurvature sdowncase sec sech second' +\n    ' sequal sequalignore set_alt_display setdifference set_draw_defaults set_edge_weight' +\n    ' setelmx setequalp setify setp set_partitions set_plot_option set_prompt set_random_state' +\n    ' set_tex_environment set_tex_environment_default setunits setup_autoload set_up_dot_simplifications' +\n    ' set_vertex_label seventh sexplode sf sha1sum sha256sum shortest_path shortest_weighted_path' +\n    ' show showcomps showratvars sierpinskiale sierpinskimap sign signum similaritytransform' +\n    ' simp_inequality simplify_sum simplode simpmetderiv simtran sin sinh sinsert' +\n    ' sinvertcase sixth skewness skewness_bernoulli skewness_beta skewness_binomial' +\n    ' skewness_chi2 skewness_continuous_uniform skewness_discrete_uniform skewness_exp' +\n    ' skewness_f skewness_gamma skewness_general_finite_discrete skewness_geometric' +\n    ' skewness_gumbel skewness_hypergeometric skewness_laplace skewness_logistic' +\n    ' skewness_lognormal skewness_negative_binomial skewness_noncentral_chi2 skewness_noncentral_student_t' +\n    ' skewness_normal skewness_pareto skewness_poisson skewness_rayleigh skewness_student_t' +\n    ' skewness_weibull slength smake small_rhombicosidodecahedron_graph small_rhombicuboctahedron_graph' +\n    ' smax smin smismatch snowmap snub_cube_graph snub_dodecahedron_graph solve' +\n    ' solve_rec solve_rec_rat some somrac sort sparse6_decode sparse6_encode sparse6_export' +\n    ' sparse6_import specint spherical spherical_bessel_j spherical_bessel_y spherical_hankel1' +\n    ' spherical_hankel2 spherical_harmonic spherical_to_xyz splice split sposition' +\n    ' sprint sqfr sqrt sqrtdenest sremove sremovefirst sreverse ssearch ssort sstatus' +\n    ' ssubst ssubstfirst staircase standardize standardize_inverse_trig starplot' +\n    ' starplot_description status std std1 std_bernoulli std_beta std_binomial' +\n    ' std_chi2 std_continuous_uniform std_discrete_uniform std_exp std_f std_gamma' +\n    ' std_general_finite_discrete std_geometric std_gumbel std_hypergeometric std_laplace' +\n    ' std_logistic std_lognormal std_negative_binomial std_noncentral_chi2 std_noncentral_student_t' +\n    ' std_normal std_pareto std_poisson std_rayleigh std_student_t std_weibull' +\n    ' stemplot stirling stirling1 stirling2 strim striml strimr string stringout' +\n    ' stringp strong_components struve_h struve_l sublis sublist sublist_indices' +\n    ' submatrix subsample subset subsetp subst substinpart subst_parallel substpart' +\n    ' substring subvar subvarp sum sumcontract summand_to_rec supcase supcontext' +\n    ' symbolp symmdifference symmetricp system take_channel take_inference tan' +\n    ' tanh taylor taylorinfo taylorp taylor_simplifier taytorat tcl_output tcontract' +\n    ' tellrat tellsimp tellsimpafter tentex tenth test_mean test_means_difference' +\n    ' test_normality test_proportion test_proportions_difference test_rank_sum' +\n    ' test_sign test_signed_rank test_variance test_variance_ratio tex tex1 tex_display' +\n    ' texput %th third throw time timedate timer timer_info tldefint tlimit todd_coxeter' +\n    ' toeplitz tokens to_lisp topological_sort to_poly to_poly_solve totaldisrep' +\n    ' totalfourier totient tpartpol trace tracematrix trace_options transform_sample' +\n    ' translate translate_file transpose treefale tree_reduce treillis treinat' +\n    ' triangle triangularize trigexpand trigrat trigreduce trigsimp trunc truncate' +\n    ' truncated_cube_graph truncated_dodecahedron_graph truncated_icosahedron_graph' +\n    ' truncated_tetrahedron_graph tr_warnings_get tube tutte_graph ueivects uforget' +\n    ' ultraspherical underlying_graph undiff union unique uniteigenvectors unitp' +\n    ' units unit_step unitvector unorder unsum untellrat untimer' +\n    ' untrace uppercasep uricci uriemann uvect vandermonde_matrix var var1 var_bernoulli' +\n    ' var_beta var_binomial var_chi2 var_continuous_uniform var_discrete_uniform' +\n    ' var_exp var_f var_gamma var_general_finite_discrete var_geometric var_gumbel' +\n    ' var_hypergeometric var_laplace var_logistic var_lognormal var_negative_binomial' +\n    ' var_noncentral_chi2 var_noncentral_student_t var_normal var_pareto var_poisson' +\n    ' var_rayleigh var_student_t var_weibull vector vectorpotential vectorsimp' +\n    ' verbify vers vertex_coloring vertex_connectivity vertex_degree vertex_distance' +\n    ' vertex_eccentricity vertex_in_degree vertex_out_degree vertices vertices_to_cycle' +\n    ' vertices_to_path %w weyl wheel_graph wiener_index wigner_3j wigner_6j' +\n    ' wigner_9j with_stdout write_binary_data writebyte write_data writefile wronskian' +\n    ' xreduce xthru %y Zeilberger zeroequiv zerofor zeromatrix zeromatrixp zeta' +\n    ' zgeev zheev zlange zn_add_table zn_carmichael_lambda zn_characteristic_factors' +\n    ' zn_determinant zn_factor_generators zn_invert_by_lu zn_log zn_mult_table' +\n    ' absboxchar activecontexts adapt_depth additive adim aform algebraic' +\n    ' algepsilon algexact aliases allbut all_dotsimp_denoms allocation allsym alphabetic' +\n    ' animation antisymmetric arrays askexp assume_pos assume_pos_pred assumescalar' +\n    ' asymbol atomgrad atrig1 axes axis_3d axis_bottom axis_left axis_right axis_top' +\n    ' azimuth background background_color backsubst berlefact bernstein_explicit' +\n    ' besselexpand beta_args_sum_to_integer beta_expand bftorat bftrunc bindtest' +\n    ' border boundaries_array box boxchar breakup %c capping cauchysum cbrange' +\n    ' cbtics center cflength cframe_flag cnonmet_flag color color_bar color_bar_tics' +\n    ' colorbox columns commutative complex cone context contexts contour contour_levels' +\n    ' cosnpiflag ctaypov ctaypt ctayswitch ctayvar ct_coords ctorsion_flag ctrgsimp' +\n    ' cube current_let_rule_package cylinder data_file_name debugmode decreasing' +\n    ' default_let_rule_package delay dependencies derivabbrev derivsubst detout' +\n    ' diagmetric diff dim dimensions dispflag display2d|10 display_format_internal' +\n    ' distribute_over doallmxops domain domxexpt domxmxops domxnctimes dontfactor' +\n    ' doscmxops doscmxplus dot0nscsimp dot0simp dot1simp dotassoc dotconstrules' +\n    ' dotdistrib dotexptsimp dotident dotscrules draw_graph_program draw_realpart' +\n    ' edge_color edge_coloring edge_partition edge_type edge_width %edispflag' +\n    ' elevation %emode endphi endtheta engineering_format_floats enhanced3d %enumer' +\n    ' epsilon_lp erfflag erf_representation errormsg error_size error_syms error_type' +\n    ' %e_to_numlog eval even evenfun evflag evfun ev_point expandwrt_denom expintexpand' +\n    ' expintrep expon expop exptdispflag exptisolate exptsubst facexpand facsum_combine' +\n    ' factlim factorflag factorial_expand factors_only fb feature features' +\n    ' file_name file_output_append file_search_demo file_search_lisp file_search_maxima|10' +\n    ' file_search_tests file_search_usage file_type_lisp file_type_maxima|10 fill_color' +\n    ' fill_density filled_func fixed_vertices flipflag float2bf font font_size' +\n    ' fortindent fortspaces fpprec fpprintprec functions gamma_expand gammalim' +\n    ' gdet genindex gensumnum GGFCFMAX GGFINFINITY globalsolve gnuplot_command' +\n    ' gnuplot_curve_styles gnuplot_curve_titles gnuplot_default_term_command gnuplot_dumb_term_command' +\n    ' gnuplot_file_args gnuplot_file_name gnuplot_out_file gnuplot_pdf_term_command' +\n    ' gnuplot_pm3d gnuplot_png_term_command gnuplot_postamble gnuplot_preamble' +\n    ' gnuplot_ps_term_command gnuplot_svg_term_command gnuplot_term gnuplot_view_args' +\n    ' Gosper_in_Zeilberger gradefs grid grid2d grind halfangles head_angle head_both' +\n    ' head_length head_type height hypergeometric_representation %iargs ibase' +\n    ' icc1 icc2 icounter idummyx ieqnprint ifb ifc1 ifc2 ifg ifgi ifr iframe_bracket_form' +\n    ' ifri igeowedge_flag ikt1 ikt2 imaginary inchar increasing infeval' +\n    ' infinity inflag infolists inm inmc1 inmc2 intanalysis integer integervalued' +\n    ' integrate_use_rootsof integration_constant integration_constant_counter interpolate_color' +\n    ' intfaclim ip_grid ip_grid_in irrational isolate_wrt_times iterations itr' +\n    ' julia_parameter %k1 %k2 keepfloat key key_pos kinvariant kt label label_alignment' +\n    ' label_orientation labels lassociative lbfgs_ncorrections lbfgs_nfeval_max' +\n    ' leftjust legend letrat let_rule_packages lfg lg lhospitallim limsubst linear' +\n    ' linear_solver linechar linel|10 linenum line_type linewidth line_width linsolve_params' +\n    ' linsolvewarn lispdisp listarith listconstvars listdummyvars lmxchar load_pathname' +\n    ' loadprint logabs logarc logcb logconcoeffp logexpand lognegint logsimp logx' +\n    ' logx_secondary logy logy_secondary logz lriem m1pbranch macroexpansion macros' +\n    ' mainvar manual_demo maperror mapprint matrix_element_add matrix_element_mult' +\n    ' matrix_element_transpose maxapplydepth maxapplyheight maxima_tempdir|10 maxima_userdir|10' +\n    ' maxnegex MAX_ORD maxposex maxpsifracdenom maxpsifracnum maxpsinegint maxpsiposint' +\n    ' maxtayorder mesh_lines_color method mod_big_prime mode_check_errorp' +\n    ' mode_checkp mode_check_warnp mod_test mod_threshold modular_linear_solver' +\n    ' modulus multiplicative multiplicities myoptions nary negdistrib negsumdispflag' +\n    ' newline newtonepsilon newtonmaxiter nextlayerfactor niceindicespref nm nmc' +\n    ' noeval nolabels nonegative_lp noninteger nonscalar noun noundisp nouns np' +\n    ' npi nticks ntrig numer numer_pbranch obase odd oddfun opacity opproperties' +\n    ' opsubst optimprefix optionset orientation origin orthopoly_returns_intervals' +\n    ' outative outchar packagefile palette partswitch pdf_file pfeformat phiresolution' +\n    ' %piargs piece pivot_count_sx pivot_max_sx plot_format plot_options plot_realpart' +\n    ' png_file pochhammer_max_index points pointsize point_size points_joined point_type' +\n    ' poislim poisson poly_coefficient_ring poly_elimination_order polyfactor poly_grobner_algorithm' +\n    ' poly_grobner_debug poly_monomial_order poly_primary_elimination_order poly_return_term_list' +\n    ' poly_secondary_elimination_order poly_top_reduction_only posfun position' +\n    ' powerdisp pred prederror primep_number_of_tests product_use_gamma program' +\n    ' programmode promote_float_to_bigfloat prompt proportional_axes props psexpand' +\n    ' ps_file radexpand radius radsubstflag rassociative ratalgdenom ratchristof' +\n    ' ratdenomdivide rateinstein ratepsilon ratfac rational ratmx ratprint ratriemann' +\n    ' ratsimpexpons ratvarswitch ratweights ratweyl ratwtlvl real realonly redraw' +\n    ' refcheck resolution restart resultant ric riem rmxchar %rnum_list rombergabs' +\n    ' rombergit rombergmin rombergtol rootsconmode rootsepsilon run_viewer same_xy' +\n    ' same_xyz savedef savefactors scalar scalarmatrixp scale scale_lp setcheck' +\n    ' setcheckbreak setval show_edge_color show_edges show_edge_type show_edge_width' +\n    ' show_id show_label showtime show_vertex_color show_vertex_size show_vertex_type' +\n    ' show_vertices show_weight simp simplified_output simplify_products simpproduct' +\n    ' simpsum sinnpiflag solvedecomposes solveexplicit solvefactors solvenullwarn' +\n    ' solveradcan solvetrigwarn space sparse sphere spring_embedding_depth sqrtdispflag' +\n    ' stardisp startphi starttheta stats_numer stringdisp structures style sublis_apply_lambda' +\n    ' subnumsimp sumexpand sumsplitfact surface surface_hide svg_file symmetric' +\n    ' tab taylordepth taylor_logexpand taylor_order_coefficients taylor_truncate_polynomials' +\n    ' tensorkill terminal testsuite_files thetaresolution timer_devalue title tlimswitch' +\n    ' tr track transcompile transform transform_xy translate_fast_arrays transparent' +\n    ' transrun tr_array_as_ref tr_bound_function_applyp tr_file_tty_messagesp tr_float_can_branch_complex' +\n    ' tr_function_call_default trigexpandplus trigexpandtimes triginverses trigsign' +\n    ' trivial_solutions tr_numer tr_optimize_max_loop tr_semicompile tr_state_vars' +\n    ' tr_warn_bad_function_calls tr_warn_fexpr tr_warn_meval tr_warn_mode' +\n    ' tr_warn_undeclared tr_warn_undefined_variable tstep ttyoff tube_extremes' +\n    ' ufg ug %unitexpand unit_vectors uric uriem use_fast_arrays user_preamble' +\n    ' usersetunits values vect_cross verbose vertex_color vertex_coloring vertex_partition' +\n    ' vertex_size vertex_type view warnings weyl width windowname windowtitle wired_surface' +\n    ' wireframe xaxis xaxis_color xaxis_secondary xaxis_type xaxis_width xlabel' +\n    ' xlabel_secondary xlength xrange xrange_secondary xtics xtics_axis xtics_rotate' +\n    ' xtics_rotate_secondary xtics_secondary xtics_secondary_axis xu_grid x_voxel' +\n    ' xy_file xyplane xy_scale yaxis yaxis_color yaxis_secondary yaxis_type yaxis_width' +\n    ' ylabel ylabel_secondary ylength yrange yrange_secondary ytics ytics_axis' +\n    ' ytics_rotate ytics_rotate_secondary ytics_secondary ytics_secondary_axis' +\n    ' yv_grid y_voxel yx_ratio zaxis zaxis_color zaxis_type zaxis_width zeroa zerob' +\n    ' zerobern zeta%pi zlabel zlabel_rotate zlength zmin zn_primroot_limit zn_primroot_pretest';\n  const SYMBOLS = '_ __ %|0 %%|0';\n\n  return {\n    name: 'Maxima',\n    keywords: {\n      $pattern: '[A-Za-z_%][0-9A-Za-z_%]*',\n      keyword: KEYWORDS,\n      literal: LITERALS,\n      built_in: BUILTIN_FUNCTIONS,\n      symbol: SYMBOLS\n    },\n    contains: [\n      {\n        className: 'comment',\n        begin: '/\\\\*',\n        end: '\\\\*/',\n        contains: [ 'self' ]\n      },\n      hljs.QUOTE_STRING_MODE,\n      {\n        className: 'number',\n        relevance: 0,\n        variants: [\n          {\n            // float number w/ exponent\n            // hmm, I wonder if we ought to include other exponent markers?\n            begin: '\\\\b(\\\\d+|\\\\d+\\\\.|\\\\.\\\\d+|\\\\d+\\\\.\\\\d+)[Ee][-+]?\\\\d+\\\\b'\n          },\n          {\n            // bigfloat number\n            begin: '\\\\b(\\\\d+|\\\\d+\\\\.|\\\\.\\\\d+|\\\\d+\\\\.\\\\d+)[Bb][-+]?\\\\d+\\\\b',\n            relevance: 10\n          },\n          {\n            // float number w/out exponent\n            // Doesn't seem to recognize floats which start with '.'\n            begin: '\\\\b(\\\\.\\\\d+|\\\\d+\\\\.\\\\d+)\\\\b'\n          },\n          {\n            // integer in base up to 36\n            // Doesn't seem to recognize integers which end with '.'\n            begin: '\\\\b(\\\\d+|0[0-9A-Za-z]+)\\\\.?\\\\b'\n          }\n        ]\n      }\n    ],\n    illegal: /@/\n  };\n}\n\nmodule.exports = maxima;\n","/*\nLanguage: Smalltalk\nDescription: Smalltalk is an object-oriented, dynamically typed reflective programming language.\nAuthor: Vladimir Gubarkov \nWebsite: https://en.wikipedia.org/wiki/Smalltalk\n*/\n\nfunction smalltalk(hljs) {\n  const VAR_IDENT_RE = '[a-z][a-zA-Z0-9_]*';\n  const CHAR = {\n    className: 'string',\n    begin: '\\\\$.{1}'\n  };\n  const SYMBOL = {\n    className: 'symbol',\n    begin: '#' + hljs.UNDERSCORE_IDENT_RE\n  };\n  return {\n    name: 'Smalltalk',\n    aliases: [ 'st' ],\n    keywords: 'self super nil true false thisContext', // only 6\n    contains: [\n      hljs.COMMENT('\"', '\"'),\n      hljs.APOS_STRING_MODE,\n      {\n        className: 'type',\n        begin: '\\\\b[A-Z][A-Za-z0-9_]*',\n        relevance: 0\n      },\n      {\n        begin: VAR_IDENT_RE + ':',\n        relevance: 0\n      },\n      hljs.C_NUMBER_MODE,\n      SYMBOL,\n      CHAR,\n      {\n        // This looks more complicated than needed to avoid combinatorial\n        // explosion under V8. It effectively means `| var1 var2 ... |` with\n        // whitespace adjacent to `|` being optional.\n        begin: '\\\\|[ ]*' + VAR_IDENT_RE + '([ ]+' + VAR_IDENT_RE + ')*[ ]*\\\\|',\n        returnBegin: true,\n        end: /\\|/,\n        illegal: /\\S/,\n        contains: [ {\n          begin: '(\\\\|[ ]*)?' + VAR_IDENT_RE\n        } ]\n      },\n      {\n        begin: '#\\\\(',\n        end: '\\\\)',\n        contains: [\n          hljs.APOS_STRING_MODE,\n          CHAR,\n          hljs.C_NUMBER_MODE,\n          SYMBOL\n        ]\n      }\n    ]\n  };\n}\n\nmodule.exports = smalltalk;\n","const indexOfMatch = require(\"./index-of-match.js\");\nconst indexOfMatchEnd = require(\"./index-of-match-end.js\");\nconst countSubstring = require(\"./count-substring.js\");\n\nfunction findTagByName(xml, tagName, options) {\n  const debug = (options && options.debug) || false;\n  const nested = !(options && typeof options.nested === false);\n\n  const startIndex = (options && options.startIndex) || 0;\n\n  if (debug) console.log(\"[xml-utils] starting findTagByName with\", tagName, \" and \", options);\n\n  const start = indexOfMatch(xml, `\\<${tagName}[ \\n\\>\\/]`, startIndex);\n  if (debug) console.log(\"[xml-utils] start:\", start);\n  if (start === -1) return undefined;\n\n  const afterStart = xml.slice(start + tagName.length);\n\n  let relativeEnd = indexOfMatchEnd(afterStart, \"^[^<]*[ /]>\", 0);\n\n  const selfClosing = relativeEnd !== -1 && afterStart[relativeEnd - 1] === \"/\";\n  if (debug) console.log(\"[xml-utils] selfClosing:\", selfClosing);\n\n  if (selfClosing === false) {\n    // check if tag has subtags with the same name\n    if (nested) {\n      let startIndex = 0;\n      let openings = 1;\n      let closings = 0;\n      while ((relativeEnd = indexOfMatchEnd(afterStart, \"[ /]\" + tagName + \">\", startIndex)) !== -1) {\n        const clip = afterStart.substring(startIndex, relativeEnd + 1);\n        openings += countSubstring(clip, \"<\" + tagName + \"[ \\n\\t>]\");\n        closings += countSubstring(clip, \"\");\n        // we can't have more openings than closings\n        if (closings >= openings) break;\n        startIndex = relativeEnd;\n      }\n    } else {\n      relativeEnd = indexOfMatchEnd(afterStart, \"[ /]\" + tagName + \">\", 0);\n    }\n  }\n\n  const end = start + tagName.length + relativeEnd + 1;\n  if (debug) console.log(\"[xml-utils] end:\", end);\n  if (end === -1) return undefined;\n\n  const outer = xml.slice(start, end);\n  // tag is like urn:ogc:def:crs:EPSG::32617\n\n  let inner;\n  if (selfClosing) {\n    inner = null;\n  } else {\n    inner = outer.slice(outer.indexOf(\">\") + 1, outer.lastIndexOf(\"<\"));\n  }\n\n  return { inner, outer, start, end };\n}\n\nmodule.exports = findTagByName;\nmodule.exports.default = findTagByName;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports[\"default\"] = void 0;\nvar _default = exports[\"default\"] = {\n  \"hljs\": {\n    \"display\": \"block\",\n    \"overflowX\": \"auto\",\n    \"padding\": \"0.5em\",\n    \"background\": \"#1E1E1E\",\n    \"color\": \"#DCDCDC\"\n  },\n  \"hljs-keyword\": {\n    \"color\": \"#569CD6\"\n  },\n  \"hljs-literal\": {\n    \"color\": \"#569CD6\"\n  },\n  \"hljs-symbol\": {\n    \"color\": \"#569CD6\"\n  },\n  \"hljs-name\": {\n    \"color\": \"#569CD6\"\n  },\n  \"hljs-link\": {\n    \"color\": \"#569CD6\",\n    \"textDecoration\": \"underline\"\n  },\n  \"hljs-built_in\": {\n    \"color\": \"#4EC9B0\"\n  },\n  \"hljs-type\": {\n    \"color\": \"#4EC9B0\"\n  },\n  \"hljs-number\": {\n    \"color\": \"#B8D7A3\"\n  },\n  \"hljs-class\": {\n    \"color\": \"#B8D7A3\"\n  },\n  \"hljs-string\": {\n    \"color\": \"#D69D85\"\n  },\n  \"hljs-meta-string\": {\n    \"color\": \"#D69D85\"\n  },\n  \"hljs-regexp\": {\n    \"color\": \"#9A5334\"\n  },\n  \"hljs-template-tag\": {\n    \"color\": \"#9A5334\"\n  },\n  \"hljs-subst\": {\n    \"color\": \"#DCDCDC\"\n  },\n  \"hljs-function\": {\n    \"color\": \"#DCDCDC\"\n  },\n  \"hljs-title\": {\n    \"color\": \"#DCDCDC\"\n  },\n  \"hljs-params\": {\n    \"color\": \"#DCDCDC\"\n  },\n  \"hljs-formula\": {\n    \"color\": \"#DCDCDC\"\n  },\n  \"hljs-comment\": {\n    \"color\": \"#57A64A\",\n    \"fontStyle\": \"italic\"\n  },\n  \"hljs-quote\": {\n    \"color\": \"#57A64A\",\n    \"fontStyle\": \"italic\"\n  },\n  \"hljs-doctag\": {\n    \"color\": \"#608B4E\"\n  },\n  \"hljs-meta\": {\n    \"color\": \"#9B9B9B\"\n  },\n  \"hljs-meta-keyword\": {\n    \"color\": \"#9B9B9B\"\n  },\n  \"hljs-tag\": {\n    \"color\": \"#9B9B9B\"\n  },\n  \"hljs-variable\": {\n    \"color\": \"#BD63C5\"\n  },\n  \"hljs-template-variable\": {\n    \"color\": \"#BD63C5\"\n  },\n  \"hljs-attr\": {\n    \"color\": \"#9CDCFE\"\n  },\n  \"hljs-attribute\": {\n    \"color\": \"#9CDCFE\"\n  },\n  \"hljs-builtin-name\": {\n    \"color\": \"#9CDCFE\"\n  },\n  \"hljs-section\": {\n    \"color\": \"gold\"\n  },\n  \"hljs-emphasis\": {\n    \"fontStyle\": \"italic\"\n  },\n  \"hljs-strong\": {\n    \"fontWeight\": \"bold\"\n  },\n  \"hljs-bullet\": {\n    \"color\": \"#D7BA7D\"\n  },\n  \"hljs-selector-tag\": {\n    \"color\": \"#D7BA7D\"\n  },\n  \"hljs-selector-id\": {\n    \"color\": \"#D7BA7D\"\n  },\n  \"hljs-selector-class\": {\n    \"color\": \"#D7BA7D\"\n  },\n  \"hljs-selector-attr\": {\n    \"color\": \"#D7BA7D\"\n  },\n  \"hljs-selector-pseudo\": {\n    \"color\": \"#D7BA7D\"\n  },\n  \"hljs-addition\": {\n    \"backgroundColor\": \"#144212\",\n    \"display\": \"inline-block\",\n    \"width\": \"100%\"\n  },\n  \"hljs-deletion\": {\n    \"backgroundColor\": \"#600\",\n    \"display\": \"inline-block\",\n    \"width\": \"100%\"\n  }\n};","function _interopRequireDefault(e) {\n  return e && e.__esModule ? e : {\n    \"default\": e\n  };\n}\nmodule.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","/*\nLanguage: AngelScript\nAuthor: Melissa Geels \nCategory: scripting\nWebsite: https://www.angelcode.com/angelscript/\n*/\n\n/** @type LanguageFn */\nfunction angelscript(hljs) {\n  var builtInTypeMode = {\n    className: 'built_in',\n    begin: '\\\\b(void|bool|int|int8|int16|int32|int64|uint|uint8|uint16|uint32|uint64|string|ref|array|double|float|auto|dictionary)'\n  };\n\n  var objectHandleMode = {\n    className: 'symbol',\n    begin: '[a-zA-Z0-9_]+@'\n  };\n\n  var genericMode = {\n    className: 'keyword',\n    begin: '<', end: '>',\n    contains: [ builtInTypeMode, objectHandleMode ]\n  };\n\n  builtInTypeMode.contains = [ genericMode ];\n  objectHandleMode.contains = [ genericMode ];\n\n  return {\n    name: 'AngelScript',\n    aliases: ['asc'],\n\n    keywords:\n      'for in|0 break continue while do|0 return if else case switch namespace is cast ' +\n      'or and xor not get|0 in inout|10 out override set|0 private public const default|0 ' +\n      'final shared external mixin|10 enum typedef funcdef this super import from interface ' +\n      'abstract|0 try catch protected explicit property',\n\n    // avoid close detection with C# and JS\n    illegal: '(^using\\\\s+[A-Za-z0-9_\\\\.]+;$|\\\\bfunction\\\\s*[^\\\\(])',\n\n    contains: [\n      { // 'strings'\n        className: 'string',\n        begin: '\\'', end: '\\'',\n        illegal: '\\\\n',\n        contains: [ hljs.BACKSLASH_ESCAPE ],\n        relevance: 0\n      },\n\n      // \"\"\"heredoc strings\"\"\"\n      {\n        className: 'string',\n        begin: '\"\"\"', end: '\"\"\"'\n      },\n\n      { // \"strings\"\n        className: 'string',\n        begin: '\"', end: '\"',\n        illegal: '\\\\n',\n        contains: [ hljs.BACKSLASH_ESCAPE ],\n        relevance: 0\n      },\n\n      hljs.C_LINE_COMMENT_MODE, // single-line comments\n      hljs.C_BLOCK_COMMENT_MODE, // comment blocks\n\n      { // metadata\n        className: 'string',\n        begin: '^\\\\s*\\\\[', end: '\\\\]',\n      },\n\n      { // interface or namespace declaration\n        beginKeywords: 'interface namespace', end: /\\{/,\n        illegal: '[;.\\\\-]',\n        contains: [\n          { // interface or namespace name\n            className: 'symbol',\n            begin: '[a-zA-Z0-9_]+'\n          }\n        ]\n      },\n\n      { // class declaration\n        beginKeywords: 'class', end: /\\{/,\n        illegal: '[;.\\\\-]',\n        contains: [\n          { // class name\n            className: 'symbol',\n            begin: '[a-zA-Z0-9_]+',\n            contains: [\n              {\n                begin: '[:,]\\\\s*',\n                contains: [\n                  {\n                    className: 'symbol',\n                    begin: '[a-zA-Z0-9_]+'\n                  }\n                ]\n              }\n            ]\n          }\n        ]\n      },\n\n      builtInTypeMode, // built-in types\n      objectHandleMode, // object handles\n\n      { // literals\n        className: 'literal',\n        begin: '\\\\b(null|true|false)'\n      },\n\n      { // numbers\n        className: 'number',\n        relevance: 0,\n        begin: '(-?)(\\\\b0[xXbBoOdD][a-fA-F0-9]+|(\\\\b\\\\d+(\\\\.\\\\d*)?f?|\\\\.\\\\d+f?)([eE][-+]?\\\\d+f?)?)'\n      }\n    ]\n  };\n}\n\nmodule.exports = angelscript;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports[\"default\"] = void 0;\nvar _default = exports[\"default\"] = {\n  \"hljs\": {\n    \"display\": \"block\",\n    \"overflowX\": \"auto\",\n    \"padding\": \"0.5em\",\n    \"color\": \"#ffffff\",\n    \"background\": \"#1c1b1b\"\n  },\n  \"hljs-comment\": {\n    \"color\": \"#999999\"\n  },\n  \"hljs-keyword\": {\n    \"color\": \"#88aece\"\n  },\n  \"hljs-selector-tag\": {\n    \"color\": \"#88aece\"\n  },\n  \"hljs-meta-keyword\": {\n    \"color\": \"#88aece\"\n  },\n  \"hljs-doctag\": {\n    \"color\": \"#88aece\"\n  },\n  \"hljs-section\": {\n    \"color\": \"#88aece\"\n  },\n  \"hljs-selector-class\": {\n    \"color\": \"#88aece\"\n  },\n  \"hljs-meta\": {\n    \"color\": \"#88aece\"\n  },\n  \"hljs-selector-pseudo\": {\n    \"color\": \"#88aece\"\n  },\n  \"hljs-attr\": {\n    \"color\": \"#88aece\"\n  },\n  \"hljs-attribute\": {\n    \"color\": \"v#c59bc1\"\n  },\n  \"hljs-name\": {\n    \"color\": \"#f08d49\"\n  },\n  \"hljs-type\": {\n    \"color\": \"#f08d49\"\n  },\n  \"hljs-number\": {\n    \"color\": \"#f08d49\"\n  },\n  \"hljs-selector-id\": {\n    \"color\": \"#f08d49\"\n  },\n  \"hljs-quote\": {\n    \"color\": \"#f08d49\"\n  },\n  \"hljs-template-tag\": {\n    \"color\": \"#f08d49\"\n  },\n  \"hljs-built_in\": {\n    \"color\": \"#f08d49\"\n  },\n  \"hljs-title\": {\n    \"color\": \"#f08d49\"\n  },\n  \"hljs-literal\": {\n    \"color\": \"#f08d49\"\n  },\n  \"hljs-string\": {\n    \"color\": \"#b5bd68\"\n  },\n  \"hljs-regexp\": {\n    \"color\": \"#b5bd68\"\n  },\n  \"hljs-symbol\": {\n    \"color\": \"#b5bd68\"\n  },\n  \"hljs-variable\": {\n    \"color\": \"#b5bd68\"\n  },\n  \"hljs-template-variable\": {\n    \"color\": \"#b5bd68\"\n  },\n  \"hljs-link\": {\n    \"color\": \"#b5bd68\"\n  },\n  \"hljs-selector-attr\": {\n    \"color\": \"#b5bd68\"\n  },\n  \"hljs-meta-string\": {\n    \"color\": \"#b5bd68\"\n  },\n  \"hljs-bullet\": {\n    \"color\": \"#cccccc\"\n  },\n  \"hljs-code\": {\n    \"color\": \"#cccccc\"\n  },\n  \"hljs-deletion\": {\n    \"color\": \"#de7176\"\n  },\n  \"hljs-addition\": {\n    \"color\": \"#76c490\"\n  },\n  \"hljs-emphasis\": {\n    \"fontStyle\": \"italic\"\n  },\n  \"hljs-strong\": {\n    \"fontWeight\": \"bold\"\n  }\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports[\"default\"] = void 0;\nvar _default = exports[\"default\"] = {\n  \"hljs\": {\n    \"display\": \"block\",\n    \"background\": \"white\",\n    \"padding\": \"0.5em\",\n    \"color\": \"#333333\",\n    \"overflowX\": \"auto\"\n  },\n  \"hljs-comment\": {\n    \"color\": \"#969896\"\n  },\n  \"hljs-meta\": {\n    \"color\": \"#969896\"\n  },\n  \"hljs-variable\": {\n    \"color\": \"#df5000\"\n  },\n  \"hljs-template-variable\": {\n    \"color\": \"#df5000\"\n  },\n  \"hljs-strong\": {\n    \"color\": \"#df5000\"\n  },\n  \"hljs-emphasis\": {\n    \"color\": \"#df5000\"\n  },\n  \"hljs-quote\": {\n    \"color\": \"#df5000\"\n  },\n  \"hljs-keyword\": {\n    \"color\": \"#d73a49\"\n  },\n  \"hljs-selector-tag\": {\n    \"color\": \"#d73a49\"\n  },\n  \"hljs-type\": {\n    \"color\": \"#d73a49\"\n  },\n  \"hljs-literal\": {\n    \"color\": \"#0086b3\"\n  },\n  \"hljs-symbol\": {\n    \"color\": \"#0086b3\"\n  },\n  \"hljs-bullet\": {\n    \"color\": \"#0086b3\"\n  },\n  \"hljs-attribute\": {\n    \"color\": \"#0086b3\"\n  },\n  \"hljs-section\": {\n    \"color\": \"#63a35c\"\n  },\n  \"hljs-name\": {\n    \"color\": \"#63a35c\"\n  },\n  \"hljs-tag\": {\n    \"color\": \"#333333\"\n  },\n  \"hljs-title\": {\n    \"color\": \"#6f42c1\"\n  },\n  \"hljs-attr\": {\n    \"color\": \"#6f42c1\"\n  },\n  \"hljs-selector-id\": {\n    \"color\": \"#6f42c1\"\n  },\n  \"hljs-selector-class\": {\n    \"color\": \"#6f42c1\"\n  },\n  \"hljs-selector-attr\": {\n    \"color\": \"#6f42c1\"\n  },\n  \"hljs-selector-pseudo\": {\n    \"color\": \"#6f42c1\"\n  },\n  \"hljs-addition\": {\n    \"color\": \"#55a532\",\n    \"backgroundColor\": \"#eaffea\"\n  },\n  \"hljs-deletion\": {\n    \"color\": \"#bd2c00\",\n    \"backgroundColor\": \"#ffecec\"\n  },\n  \"hljs-link\": {\n    \"textDecoration\": \"underline\"\n  },\n  \"hljs-number\": {\n    \"color\": \"#005cc5\"\n  },\n  \"hljs-string\": {\n    \"color\": \"#032f62\"\n  }\n};","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n  module.exports = require('./cjs/react.production.min.js');\n} else {\n  module.exports = require('./cjs/react.development.js');\n}\n","/** @license React v16.13.1\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?\nSymbol.for(\"react.suspense_list\"):60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.block\"):60121,w=b?Symbol.for(\"react.fundamental\"):60117,x=b?Symbol.for(\"react.responder\"):60118,y=b?Symbol.for(\"react.scope\"):60119;\nfunction z(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;\nexports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};\nexports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z;\n","/*\nLanguage: PowerShell\nDescription: PowerShell is a task-based command-line shell and scripting language built on .NET.\nAuthor: David Mohundro \nContributors: Nicholas Blumhardt , Victor Zhou , Nicolas Le Gall \nWebsite: https://docs.microsoft.com/en-us/powershell/\n*/\n\nfunction powershell(hljs) {\n  const TYPES = [\n    \"string\",\n    \"char\",\n    \"byte\",\n    \"int\",\n    \"long\",\n    \"bool\",\n    \"decimal\",\n    \"single\",\n    \"double\",\n    \"DateTime\",\n    \"xml\",\n    \"array\",\n    \"hashtable\",\n    \"void\"\n  ];\n\n  // https://docs.microsoft.com/en-us/powershell/scripting/developer/cmdlet/approved-verbs-for-windows-powershell-commands\n  const VALID_VERBS =\n    'Add|Clear|Close|Copy|Enter|Exit|Find|Format|Get|Hide|Join|Lock|' +\n    'Move|New|Open|Optimize|Pop|Push|Redo|Remove|Rename|Reset|Resize|' +\n    'Search|Select|Set|Show|Skip|Split|Step|Switch|Undo|Unlock|' +\n    'Watch|Backup|Checkpoint|Compare|Compress|Convert|ConvertFrom|' +\n    'ConvertTo|Dismount|Edit|Expand|Export|Group|Import|Initialize|' +\n    'Limit|Merge|Mount|Out|Publish|Restore|Save|Sync|Unpublish|Update|' +\n    'Approve|Assert|Build|Complete|Confirm|Deny|Deploy|Disable|Enable|Install|Invoke|' +\n    'Register|Request|Restart|Resume|Start|Stop|Submit|Suspend|Uninstall|' +\n    'Unregister|Wait|Debug|Measure|Ping|Repair|Resolve|Test|Trace|Connect|' +\n    'Disconnect|Read|Receive|Send|Write|Block|Grant|Protect|Revoke|Unblock|' +\n    'Unprotect|Use|ForEach|Sort|Tee|Where';\n\n  const COMPARISON_OPERATORS =\n    '-and|-as|-band|-bnot|-bor|-bxor|-casesensitive|-ccontains|-ceq|-cge|-cgt|' +\n    '-cle|-clike|-clt|-cmatch|-cne|-cnotcontains|-cnotlike|-cnotmatch|-contains|' +\n    '-creplace|-csplit|-eq|-exact|-f|-file|-ge|-gt|-icontains|-ieq|-ige|-igt|' +\n    '-ile|-ilike|-ilt|-imatch|-in|-ine|-inotcontains|-inotlike|-inotmatch|' +\n    '-ireplace|-is|-isnot|-isplit|-join|-le|-like|-lt|-match|-ne|-not|' +\n    '-notcontains|-notin|-notlike|-notmatch|-or|-regex|-replace|-shl|-shr|' +\n    '-split|-wildcard|-xor';\n\n  const KEYWORDS = {\n    $pattern: /-?[A-z\\.\\-]+\\b/,\n    keyword:\n      'if else foreach return do while until elseif begin for trap data dynamicparam ' +\n      'end break throw param continue finally in switch exit filter try process catch ' +\n      'hidden static parameter',\n    // \"echo\" relevance has been set to 0 to avoid auto-detect conflicts with shell transcripts\n    built_in:\n      'ac asnp cat cd CFS chdir clc clear clhy cli clp cls clv cnsn compare copy cp ' +\n      'cpi cpp curl cvpa dbp del diff dir dnsn ebp echo|0 epal epcsv epsn erase etsn exsn fc fhx ' +\n      'fl ft fw gal gbp gc gcb gci gcm gcs gdr gerr ghy gi gin gjb gl gm gmo gp gps gpv group ' +\n      'gsn gsnp gsv gtz gu gv gwmi h history icm iex ihy ii ipal ipcsv ipmo ipsn irm ise iwmi ' +\n      'iwr kill lp ls man md measure mi mount move mp mv nal ndr ni nmo npssc nsn nv ogv oh ' +\n      'popd ps pushd pwd r rbp rcjb rcsn rd rdr ren ri rjb rm rmdir rmo rni rnp rp rsn rsnp ' +\n      'rujb rv rvpa rwmi sajb sal saps sasv sbp sc scb select set shcm si sl sleep sls sort sp ' +\n      'spjb spps spsv start stz sujb sv swmi tee trcm type wget where wjb write'\n    // TODO: 'validate[A-Z]+' can't work in keywords\n  };\n\n  const TITLE_NAME_RE = /\\w[\\w\\d]*((-)[\\w\\d]+)*/;\n\n  const BACKTICK_ESCAPE = {\n    begin: '`[\\\\s\\\\S]',\n    relevance: 0\n  };\n\n  const VAR = {\n    className: 'variable',\n    variants: [\n      {\n        begin: /\\$\\B/\n      },\n      {\n        className: 'keyword',\n        begin: /\\$this/\n      },\n      {\n        begin: /\\$[\\w\\d][\\w\\d_:]*/\n      }\n    ]\n  };\n\n  const LITERAL = {\n    className: 'literal',\n    begin: /\\$(null|true|false)\\b/\n  };\n\n  const QUOTE_STRING = {\n    className: \"string\",\n    variants: [\n      {\n        begin: /\"/,\n        end: /\"/\n      },\n      {\n        begin: /@\"/,\n        end: /^\"@/\n      }\n    ],\n    contains: [\n      BACKTICK_ESCAPE,\n      VAR,\n      {\n        className: 'variable',\n        begin: /\\$[A-z]/,\n        end: /[^A-z]/\n      }\n    ]\n  };\n\n  const APOS_STRING = {\n    className: 'string',\n    variants: [\n      {\n        begin: /'/,\n        end: /'/\n      },\n      {\n        begin: /@'/,\n        end: /^'@/\n      }\n    ]\n  };\n\n  const PS_HELPTAGS = {\n    className: \"doctag\",\n    variants: [\n      /* no paramater help tags */\n      {\n        begin: /\\.(synopsis|description|example|inputs|outputs|notes|link|component|role|functionality)/\n      },\n      /* one parameter help tags */\n      {\n        begin: /\\.(parameter|forwardhelptargetname|forwardhelpcategory|remotehelprunspace|externalhelp)\\s+\\S+/\n      }\n    ]\n  };\n\n  const PS_COMMENT = hljs.inherit(\n    hljs.COMMENT(null, null),\n    {\n      variants: [\n        /* single-line comment */\n        {\n          begin: /#/,\n          end: /$/\n        },\n        /* multi-line comment */\n        {\n          begin: /<#/,\n          end: /#>/\n        }\n      ],\n      contains: [ PS_HELPTAGS ]\n    }\n  );\n\n  const CMDLETS = {\n    className: 'built_in',\n    variants: [\n      {\n        begin: '('.concat(VALID_VERBS, ')+(-)[\\\\w\\\\d]+')\n      }\n    ]\n  };\n\n  const PS_CLASS = {\n    className: 'class',\n    beginKeywords: 'class enum',\n    end: /\\s*[{]/,\n    excludeEnd: true,\n    relevance: 0,\n    contains: [ hljs.TITLE_MODE ]\n  };\n\n  const PS_FUNCTION = {\n    className: 'function',\n    begin: /function\\s+/,\n    end: /\\s*\\{|$/,\n    excludeEnd: true,\n    returnBegin: true,\n    relevance: 0,\n    contains: [\n      {\n        begin: \"function\",\n        relevance: 0,\n        className: \"keyword\"\n      },\n      {\n        className: \"title\",\n        begin: TITLE_NAME_RE,\n        relevance: 0\n      },\n      {\n        begin: /\\(/,\n        end: /\\)/,\n        className: \"params\",\n        relevance: 0,\n        contains: [ VAR ]\n      }\n      // CMDLETS\n    ]\n  };\n\n  // Using statment, plus type, plus assembly name.\n  const PS_USING = {\n    begin: /using\\s/,\n    end: /$/,\n    returnBegin: true,\n    contains: [\n      QUOTE_STRING,\n      APOS_STRING,\n      {\n        className: 'keyword',\n        begin: /(using|assembly|command|module|namespace|type)/\n      }\n    ]\n  };\n\n  // Comperison operators & function named parameters.\n  const PS_ARGUMENTS = {\n    variants: [\n      // PS literals are pretty verbose so it's a good idea to accent them a bit.\n      {\n        className: 'operator',\n        begin: '('.concat(COMPARISON_OPERATORS, ')\\\\b')\n      },\n      {\n        className: 'literal',\n        begin: /(-)[\\w\\d]+/,\n        relevance: 0\n      }\n    ]\n  };\n\n  const HASH_SIGNS = {\n    className: 'selector-tag',\n    begin: /@\\B/,\n    relevance: 0\n  };\n\n  // It's a very general rule so I'll narrow it a bit with some strict boundaries\n  // to avoid any possible false-positive collisions!\n  const PS_METHODS = {\n    className: 'function',\n    begin: /\\[.*\\]\\s*[\\w]+[ ]??\\(/,\n    end: /$/,\n    returnBegin: true,\n    relevance: 0,\n    contains: [\n      {\n        className: 'keyword',\n        begin: '('.concat(\n          KEYWORDS.keyword.toString().replace(/\\s/g, '|'\n          ), ')\\\\b'),\n        endsParent: true,\n        relevance: 0\n      },\n      hljs.inherit(hljs.TITLE_MODE, {\n        endsParent: true\n      })\n    ]\n  };\n\n  const GENTLEMANS_SET = [\n    // STATIC_MEMBER,\n    PS_METHODS,\n    PS_COMMENT,\n    BACKTICK_ESCAPE,\n    hljs.NUMBER_MODE,\n    QUOTE_STRING,\n    APOS_STRING,\n    // PS_NEW_OBJECT_TYPE,\n    CMDLETS,\n    VAR,\n    LITERAL,\n    HASH_SIGNS\n  ];\n\n  const PS_TYPE = {\n    begin: /\\[/,\n    end: /\\]/,\n    excludeBegin: true,\n    excludeEnd: true,\n    relevance: 0,\n    contains: [].concat(\n      'self',\n      GENTLEMANS_SET,\n      {\n        begin: \"(\" + TYPES.join(\"|\") + \")\",\n        className: \"built_in\",\n        relevance: 0\n      },\n      {\n        className: 'type',\n        begin: /[\\.\\w\\d]+/,\n        relevance: 0\n      }\n    )\n  };\n\n  PS_METHODS.contains.unshift(PS_TYPE);\n\n  return {\n    name: 'PowerShell',\n    aliases: [\n      \"ps\",\n      \"ps1\"\n    ],\n    case_insensitive: true,\n    keywords: KEYWORDS,\n    contains: GENTLEMANS_SET.concat(\n      PS_CLASS,\n      PS_FUNCTION,\n      PS_USING,\n      PS_ARGUMENTS,\n      PS_TYPE\n    )\n  };\n}\n\nmodule.exports = powershell;\n","/*\nLanguage: Thrift\nAuthor: Oleg Efimov \nDescription: Thrift message definition format\nWebsite: https://thrift.apache.org\nCategory: protocols\n*/\n\nfunction thrift(hljs) {\n  const BUILT_IN_TYPES = 'bool byte i16 i32 i64 double string binary';\n  return {\n    name: 'Thrift',\n    keywords: {\n      keyword:\n        'namespace const typedef struct enum service exception void oneway set list map required optional',\n      built_in:\n        BUILT_IN_TYPES,\n      literal:\n        'true false'\n    },\n    contains: [\n      hljs.QUOTE_STRING_MODE,\n      hljs.NUMBER_MODE,\n      hljs.C_LINE_COMMENT_MODE,\n      hljs.C_BLOCK_COMMENT_MODE,\n      {\n        className: 'class',\n        beginKeywords: 'struct enum service exception',\n        end: /\\{/,\n        illegal: /\\n/,\n        contains: [\n          hljs.inherit(hljs.TITLE_MODE, {\n            // hack: eating everything after the first title\n            starts: {\n              endsWithParent: true,\n              excludeEnd: true\n            }\n          })\n        ]\n      },\n      {\n        begin: '\\\\b(set|list|map)\\\\s*<',\n        end: '>',\n        keywords: BUILT_IN_TYPES,\n        contains: [ 'self' ]\n      }\n    ]\n  };\n}\n\nmodule.exports = thrift;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports[\"default\"] = void 0;\nvar _default = exports[\"default\"] = {\n  \"hljs\": {\n    \"display\": \"block\",\n    \"overflowX\": \"auto\",\n    \"padding\": \"0.5em\",\n    \"color\": \"#abb2bf\",\n    \"background\": \"#282c34\"\n  },\n  \"hljs-keyword\": {\n    \"color\": \"#F92672\"\n  },\n  \"hljs-operator\": {\n    \"color\": \"#F92672\"\n  },\n  \"hljs-pattern-match\": {\n    \"color\": \"#F92672\"\n  },\n  \"hljs-pattern-match .hljs-constructor\": {\n    \"color\": \"#61aeee\"\n  },\n  \"hljs-function\": {\n    \"color\": \"#61aeee\"\n  },\n  \"hljs-function .hljs-params\": {\n    \"color\": \"#A6E22E\"\n  },\n  \"hljs-function .hljs-params .hljs-typing\": {\n    \"color\": \"#FD971F\"\n  },\n  \"hljs-module-access .hljs-module\": {\n    \"color\": \"#7e57c2\"\n  },\n  \"hljs-constructor\": {\n    \"color\": \"#e2b93d\"\n  },\n  \"hljs-constructor .hljs-string\": {\n    \"color\": \"#9CCC65\"\n  },\n  \"hljs-comment\": {\n    \"color\": \"#b18eb1\",\n    \"fontStyle\": \"italic\"\n  },\n  \"hljs-quote\": {\n    \"color\": \"#b18eb1\",\n    \"fontStyle\": \"italic\"\n  },\n  \"hljs-doctag\": {\n    \"color\": \"#c678dd\"\n  },\n  \"hljs-formula\": {\n    \"color\": \"#c678dd\"\n  },\n  \"hljs-section\": {\n    \"color\": \"#e06c75\"\n  },\n  \"hljs-name\": {\n    \"color\": \"#e06c75\"\n  },\n  \"hljs-selector-tag\": {\n    \"color\": \"#e06c75\"\n  },\n  \"hljs-deletion\": {\n    \"color\": \"#e06c75\"\n  },\n  \"hljs-subst\": {\n    \"color\": \"#e06c75\"\n  },\n  \"hljs-literal\": {\n    \"color\": \"#56b6c2\"\n  },\n  \"hljs-string\": {\n    \"color\": \"#98c379\"\n  },\n  \"hljs-regexp\": {\n    \"color\": \"#98c379\"\n  },\n  \"hljs-addition\": {\n    \"color\": \"#98c379\"\n  },\n  \"hljs-attribute\": {\n    \"color\": \"#98c379\"\n  },\n  \"hljs-meta-string\": {\n    \"color\": \"#98c379\"\n  },\n  \"hljs-built_in\": {\n    \"color\": \"#e6c07b\"\n  },\n  \"hljs-class .hljs-title\": {\n    \"color\": \"#e6c07b\"\n  },\n  \"hljs-attr\": {\n    \"color\": \"#d19a66\"\n  },\n  \"hljs-variable\": {\n    \"color\": \"#d19a66\"\n  },\n  \"hljs-template-variable\": {\n    \"color\": \"#d19a66\"\n  },\n  \"hljs-type\": {\n    \"color\": \"#d19a66\"\n  },\n  \"hljs-selector-class\": {\n    \"color\": \"#d19a66\"\n  },\n  \"hljs-selector-attr\": {\n    \"color\": \"#d19a66\"\n  },\n  \"hljs-selector-pseudo\": {\n    \"color\": \"#d19a66\"\n  },\n  \"hljs-number\": {\n    \"color\": \"#d19a66\"\n  },\n  \"hljs-symbol\": {\n    \"color\": \"#61aeee\"\n  },\n  \"hljs-bullet\": {\n    \"color\": \"#61aeee\"\n  },\n  \"hljs-link\": {\n    \"color\": \"#61aeee\",\n    \"textDecoration\": \"underline\"\n  },\n  \"hljs-meta\": {\n    \"color\": \"#61aeee\"\n  },\n  \"hljs-selector-id\": {\n    \"color\": \"#61aeee\"\n  },\n  \"hljs-title\": {\n    \"color\": \"#61aeee\"\n  },\n  \"hljs-emphasis\": {\n    \"fontStyle\": \"italic\"\n  },\n  \"hljs-strong\": {\n    \"fontWeight\": \"bold\"\n  }\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports[\"default\"] = void 0;\nvar _default = exports[\"default\"] = {\n  \"hljs\": {\n    \"display\": \"block\",\n    \"overflowX\": \"auto\",\n    \"padding\": \"0.5em\",\n    \"background\": \"#2b2b2b\",\n    \"color\": \"#bababa\"\n  },\n  \"hljs-strong\": {\n    \"color\": \"#a8a8a2\"\n  },\n  \"hljs-emphasis\": {\n    \"color\": \"#a8a8a2\",\n    \"fontStyle\": \"italic\"\n  },\n  \"hljs-bullet\": {\n    \"color\": \"#6896ba\"\n  },\n  \"hljs-quote\": {\n    \"color\": \"#6896ba\"\n  },\n  \"hljs-link\": {\n    \"color\": \"#6896ba\"\n  },\n  \"hljs-number\": {\n    \"color\": \"#6896ba\"\n  },\n  \"hljs-regexp\": {\n    \"color\": \"#6896ba\"\n  },\n  \"hljs-literal\": {\n    \"color\": \"#6896ba\"\n  },\n  \"hljs-code\": {\n    \"color\": \"#a6e22e\"\n  },\n  \"hljs-selector-class\": {\n    \"color\": \"#a6e22e\"\n  },\n  \"hljs-keyword\": {\n    \"color\": \"#cb7832\"\n  },\n  \"hljs-selector-tag\": {\n    \"color\": \"#cb7832\"\n  },\n  \"hljs-section\": {\n    \"color\": \"#cb7832\"\n  },\n  \"hljs-attribute\": {\n    \"color\": \"#cb7832\"\n  },\n  \"hljs-name\": {\n    \"color\": \"#cb7832\"\n  },\n  \"hljs-variable\": {\n    \"color\": \"#cb7832\"\n  },\n  \"hljs-params\": {\n    \"color\": \"#b9b9b9\"\n  },\n  \"hljs-string\": {\n    \"color\": \"#6a8759\"\n  },\n  \"hljs-subst\": {\n    \"color\": \"#e0c46c\"\n  },\n  \"hljs-type\": {\n    \"color\": \"#e0c46c\"\n  },\n  \"hljs-built_in\": {\n    \"color\": \"#e0c46c\"\n  },\n  \"hljs-builtin-name\": {\n    \"color\": \"#e0c46c\"\n  },\n  \"hljs-symbol\": {\n    \"color\": \"#e0c46c\"\n  },\n  \"hljs-selector-id\": {\n    \"color\": \"#e0c46c\"\n  },\n  \"hljs-selector-attr\": {\n    \"color\": \"#e0c46c\"\n  },\n  \"hljs-selector-pseudo\": {\n    \"color\": \"#e0c46c\"\n  },\n  \"hljs-template-tag\": {\n    \"color\": \"#e0c46c\"\n  },\n  \"hljs-template-variable\": {\n    \"color\": \"#e0c46c\"\n  },\n  \"hljs-addition\": {\n    \"color\": \"#e0c46c\"\n  },\n  \"hljs-comment\": {\n    \"color\": \"#7f7f7f\"\n  },\n  \"hljs-deletion\": {\n    \"color\": \"#7f7f7f\"\n  },\n  \"hljs-meta\": {\n    \"color\": \"#7f7f7f\"\n  }\n};","/*\nLanguage: Ada\nAuthor: Lars Schulna \nDescription: Ada is a general-purpose programming language that has great support for saftey critical and real-time applications.\n             It has been developed by the DoD and thus has been used in military and safety-critical applications (like civil aviation).\n             The first version appeared in the 80s, but it's still actively developed today with\n             the newest standard being Ada2012.\n*/\n\n// We try to support full Ada2012\n//\n// We highlight all appearances of types, keywords, literals (string, char, number, bool)\n// and titles (user defined function/procedure/package)\n// CSS classes are set accordingly\n//\n// Languages causing problems for language detection:\n// xml (broken by Foo : Bar type), elm (broken by Foo : Bar type), vbscript-html (broken by body keyword)\n// sql (ada default.txt has a lot of sql keywords)\n\n/** @type LanguageFn */\nfunction ada(hljs) {\n  // Regular expression for Ada numeric literals.\n  // stolen form the VHDL highlighter\n\n  // Decimal literal:\n  const INTEGER_RE = '\\\\d(_|\\\\d)*';\n  const EXPONENT_RE = '[eE][-+]?' + INTEGER_RE;\n  const DECIMAL_LITERAL_RE = INTEGER_RE + '(\\\\.' + INTEGER_RE + ')?' + '(' + EXPONENT_RE + ')?';\n\n  // Based literal:\n  const BASED_INTEGER_RE = '\\\\w+';\n  const BASED_LITERAL_RE = INTEGER_RE + '#' + BASED_INTEGER_RE + '(\\\\.' + BASED_INTEGER_RE + ')?' + '#' + '(' + EXPONENT_RE + ')?';\n\n  const NUMBER_RE = '\\\\b(' + BASED_LITERAL_RE + '|' + DECIMAL_LITERAL_RE + ')';\n\n  // Identifier regex\n  const ID_REGEX = '[A-Za-z](_?[A-Za-z0-9.])*';\n\n  // bad chars, only allowed in literals\n  const BAD_CHARS = `[]\\\\{\\\\}%#'\"`;\n\n  // Ada doesn't have block comments, only line comments\n  const COMMENTS = hljs.COMMENT('--', '$');\n\n  // variable declarations of the form\n  // Foo : Bar := Baz;\n  // where only Bar will be highlighted\n  const VAR_DECLS = {\n    // TODO: These spaces are not required by the Ada syntax\n    // however, I have yet to see handwritten Ada code where\n    // someone does not put spaces around :\n    begin: '\\\\s+:\\\\s+',\n    end: '\\\\s*(:=|;|\\\\)|=>|$)',\n    // endsWithParent: true,\n    // returnBegin: true,\n    illegal: BAD_CHARS,\n    contains: [\n      {\n        // workaround to avoid highlighting\n        // named loops and declare blocks\n        beginKeywords: 'loop for declare others',\n        endsParent: true\n      },\n      {\n        // properly highlight all modifiers\n        className: 'keyword',\n        beginKeywords: 'not null constant access function procedure in out aliased exception'\n      },\n      {\n        className: 'type',\n        begin: ID_REGEX,\n        endsParent: true,\n        relevance: 0\n      }\n    ]\n  };\n\n  return {\n    name: 'Ada',\n    case_insensitive: true,\n    keywords: {\n      keyword:\n                'abort else new return abs elsif not reverse abstract end ' +\n                'accept entry select access exception of separate aliased exit or some ' +\n                'all others subtype and for out synchronized array function overriding ' +\n                'at tagged generic package task begin goto pragma terminate ' +\n                'body private then if procedure type case in protected constant interface ' +\n                'is raise use declare range delay limited record when delta loop rem while ' +\n                'digits renames with do mod requeue xor',\n      literal:\n                'True False'\n    },\n    contains: [\n      COMMENTS,\n      // strings \"foobar\"\n      {\n        className: 'string',\n        begin: /\"/,\n        end: /\"/,\n        contains: [{\n          begin: /\"\"/,\n          relevance: 0\n        }]\n      },\n      // characters ''\n      {\n        // character literals always contain one char\n        className: 'string',\n        begin: /'.'/\n      },\n      {\n        // number literals\n        className: 'number',\n        begin: NUMBER_RE,\n        relevance: 0\n      },\n      {\n        // Attributes\n        className: 'symbol',\n        begin: \"'\" + ID_REGEX\n      },\n      {\n        // package definition, maybe inside generic\n        className: 'title',\n        begin: '(\\\\bwith\\\\s+)?(\\\\bprivate\\\\s+)?\\\\bpackage\\\\s+(\\\\bbody\\\\s+)?',\n        end: '(is|$)',\n        keywords: 'package body',\n        excludeBegin: true,\n        excludeEnd: true,\n        illegal: BAD_CHARS\n      },\n      {\n        // function/procedure declaration/definition\n        // maybe inside generic\n        begin: '(\\\\b(with|overriding)\\\\s+)?\\\\b(function|procedure)\\\\s+',\n        end: '(\\\\bis|\\\\bwith|\\\\brenames|\\\\)\\\\s*;)',\n        keywords: 'overriding function procedure with is renames return',\n        // we need to re-match the 'function' keyword, so that\n        // the title mode below matches only exactly once\n        returnBegin: true,\n        contains:\n                [\n                  COMMENTS,\n                  {\n                    // name of the function/procedure\n                    className: 'title',\n                    begin: '(\\\\bwith\\\\s+)?\\\\b(function|procedure)\\\\s+',\n                    end: '(\\\\(|\\\\s+|$)',\n                    excludeBegin: true,\n                    excludeEnd: true,\n                    illegal: BAD_CHARS\n                  },\n                  // 'self'\n                  // // parameter types\n                  VAR_DECLS,\n                  {\n                    // return type\n                    className: 'type',\n                    begin: '\\\\breturn\\\\s+',\n                    end: '(\\\\s+|;|$)',\n                    keywords: 'return',\n                    excludeBegin: true,\n                    excludeEnd: true,\n                    // we are done with functions\n                    endsParent: true,\n                    illegal: BAD_CHARS\n\n                  }\n                ]\n      },\n      {\n        // new type declarations\n        // maybe inside generic\n        className: 'type',\n        begin: '\\\\b(sub)?type\\\\s+',\n        end: '\\\\s+',\n        keywords: 'type',\n        excludeBegin: true,\n        illegal: BAD_CHARS\n      },\n\n      // see comment above the definition\n      VAR_DECLS\n\n      // no markup\n      // relevance boosters for small snippets\n      // {begin: '\\\\s*=>\\\\s*'},\n      // {begin: '\\\\s*:=\\\\s*'},\n      // {begin: '\\\\s+:=\\\\s+'},\n    ]\n  };\n}\n\nmodule.exports = ada;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n  var ReactIs = require('react-is');\n\n  // By explicitly using `prop-types` you are opting into new development behavior.\n  // http://fb.me/prop-types-in-prod\n  var throwOnDirectAccess = true;\n  module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n  // By explicitly using `prop-types` you are opting into new production behavior.\n  // http://fb.me/prop-types-in-prod\n  module.exports = require('./factoryWithThrowingShims')();\n}\n","/*\nLanguage: STEP Part 21\nContributors: Adam Joseph Cook \nDescription: Syntax highlighter for STEP Part 21 files (ISO 10303-21).\nWebsite: https://en.wikipedia.org/wiki/ISO_10303-21\n*/\n\nfunction step21(hljs) {\n  const STEP21_IDENT_RE = '[A-Z_][A-Z0-9_.]*';\n  const STEP21_KEYWORDS = {\n    $pattern: STEP21_IDENT_RE,\n    keyword: 'HEADER ENDSEC DATA'\n  };\n  const STEP21_START = {\n    className: 'meta',\n    begin: 'ISO-10303-21;',\n    relevance: 10\n  };\n  const STEP21_CLOSE = {\n    className: 'meta',\n    begin: 'END-ISO-10303-21;',\n    relevance: 10\n  };\n\n  return {\n    name: 'STEP Part 21',\n    aliases: [\n      'p21',\n      'step',\n      'stp'\n    ],\n    case_insensitive: true, // STEP 21 is case insensitive in theory, in practice all non-comments are capitalized.\n    keywords: STEP21_KEYWORDS,\n    contains: [\n      STEP21_START,\n      STEP21_CLOSE,\n      hljs.C_LINE_COMMENT_MODE,\n      hljs.C_BLOCK_COMMENT_MODE,\n      hljs.COMMENT('/\\\\*\\\\*!', '\\\\*/'),\n      hljs.C_NUMBER_MODE,\n      hljs.inherit(hljs.APOS_STRING_MODE, {\n        illegal: null\n      }),\n      hljs.inherit(hljs.QUOTE_STRING_MODE, {\n        illegal: null\n      }),\n      {\n        className: 'string',\n        begin: \"'\",\n        end: \"'\"\n      },\n      {\n        className: 'symbol',\n        variants: [\n          {\n            begin: '#',\n            end: '\\\\d+',\n            illegal: '\\\\W'\n          }\n        ]\n      }\n    ]\n  };\n}\n\nmodule.exports = step21;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports[\"default\"] = void 0;\nvar _default = exports[\"default\"] = {\n  \"hljs-comment\": {\n    \"color\": \"#7e7887\"\n  },\n  \"hljs-quote\": {\n    \"color\": \"#7e7887\"\n  },\n  \"hljs-variable\": {\n    \"color\": \"#be4678\"\n  },\n  \"hljs-template-variable\": {\n    \"color\": \"#be4678\"\n  },\n  \"hljs-attribute\": {\n    \"color\": \"#be4678\"\n  },\n  \"hljs-regexp\": {\n    \"color\": \"#be4678\"\n  },\n  \"hljs-link\": {\n    \"color\": \"#be4678\"\n  },\n  \"hljs-tag\": {\n    \"color\": \"#be4678\"\n  },\n  \"hljs-name\": {\n    \"color\": \"#be4678\"\n  },\n  \"hljs-selector-id\": {\n    \"color\": \"#be4678\"\n  },\n  \"hljs-selector-class\": {\n    \"color\": \"#be4678\"\n  },\n  \"hljs-number\": {\n    \"color\": \"#aa573c\"\n  },\n  \"hljs-meta\": {\n    \"color\": \"#aa573c\"\n  },\n  \"hljs-built_in\": {\n    \"color\": \"#aa573c\"\n  },\n  \"hljs-builtin-name\": {\n    \"color\": \"#aa573c\"\n  },\n  \"hljs-literal\": {\n    \"color\": \"#aa573c\"\n  },\n  \"hljs-type\": {\n    \"color\": \"#aa573c\"\n  },\n  \"hljs-params\": {\n    \"color\": \"#aa573c\"\n  },\n  \"hljs-string\": {\n    \"color\": \"#2a9292\"\n  },\n  \"hljs-symbol\": {\n    \"color\": \"#2a9292\"\n  },\n  \"hljs-bullet\": {\n    \"color\": \"#2a9292\"\n  },\n  \"hljs-title\": {\n    \"color\": \"#576ddb\"\n  },\n  \"hljs-section\": {\n    \"color\": \"#576ddb\"\n  },\n  \"hljs-keyword\": {\n    \"color\": \"#955ae7\"\n  },\n  \"hljs-selector-tag\": {\n    \"color\": \"#955ae7\"\n  },\n  \"hljs-deletion\": {\n    \"color\": \"#19171c\",\n    \"display\": \"inline-block\",\n    \"width\": \"100%\",\n    \"backgroundColor\": \"#be4678\"\n  },\n  \"hljs-addition\": {\n    \"color\": \"#19171c\",\n    \"display\": \"inline-block\",\n    \"width\": \"100%\",\n    \"backgroundColor\": \"#2a9292\"\n  },\n  \"hljs\": {\n    \"display\": \"block\",\n    \"overflowX\": \"auto\",\n    \"background\": \"#19171c\",\n    \"color\": \"#8b8792\",\n    \"padding\": \"0.5em\"\n  },\n  \"hljs-emphasis\": {\n    \"fontStyle\": \"italic\"\n  },\n  \"hljs-strong\": {\n    \"fontWeight\": \"bold\"\n  }\n};","/*\nLanguage: DNS Zone\nAuthor: Tim Schumacher \nCategory: config\nWebsite: https://en.wikipedia.org/wiki/Zone_file\n*/\n\n/** @type LanguageFn */\nfunction dns(hljs) {\n  return {\n    name: 'DNS Zone',\n    aliases: [\n      'bind',\n      'zone'\n    ],\n    keywords: {\n      keyword:\n        'IN A AAAA AFSDB APL CAA CDNSKEY CDS CERT CNAME DHCID DLV DNAME DNSKEY DS HIP IPSECKEY KEY KX ' +\n        'LOC MX NAPTR NS NSEC NSEC3 NSEC3PARAM PTR RRSIG RP SIG SOA SRV SSHFP TA TKEY TLSA TSIG TXT'\n    },\n    contains: [\n      hljs.COMMENT(';', '$', {\n        relevance: 0\n      }),\n      {\n        className: 'meta',\n        begin: /^\\$(TTL|GENERATE|INCLUDE|ORIGIN)\\b/\n      },\n      // IPv6\n      {\n        className: 'number',\n        begin: '((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)(\\\\.(25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)(\\\\.(25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)(\\\\.(25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)(\\\\.(25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)(\\\\.(25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)(\\\\.(25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)(\\\\.(25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)){3}))|:)))\\\\b'\n      },\n      // IPv4\n      {\n        className: 'number',\n        begin: '((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\\\b'\n      },\n      hljs.inherit(hljs.NUMBER_MODE, {\n        begin: /\\b\\d+[dhwm]?/\n      })\n    ]\n  };\n}\n\nmodule.exports = dns;\n","/*\nLanguage: Excel formulae\nAuthor: Victor Zhou \nDescription: Excel formulae\nWebsite: https://products.office.com/en-us/excel/\n*/\n\n/** @type LanguageFn */\nfunction excel(hljs) {\n  return {\n    name: 'Excel formulae',\n    aliases: [\n      'xlsx',\n      'xls'\n    ],\n    case_insensitive: true,\n    // built-in functions imported from https://web.archive.org/web/20160513042710/https://support.office.com/en-us/article/Excel-functions-alphabetical-b3944572-255d-4efb-bb96-c6d90033e188\n    keywords: {\n      $pattern: /[a-zA-Z][\\w\\.]*/,\n      built_in: 'ABS ACCRINT ACCRINTM ACOS ACOSH ACOT ACOTH AGGREGATE ADDRESS AMORDEGRC AMORLINC AND ARABIC AREAS ASC ASIN ASINH ATAN ATAN2 ATANH AVEDEV AVERAGE AVERAGEA AVERAGEIF AVERAGEIFS BAHTTEXT BASE BESSELI BESSELJ BESSELK BESSELY BETADIST BETA.DIST BETAINV BETA.INV BIN2DEC BIN2HEX BIN2OCT BINOMDIST BINOM.DIST BINOM.DIST.RANGE BINOM.INV BITAND BITLSHIFT BITOR BITRSHIFT BITXOR CALL CEILING CEILING.MATH CEILING.PRECISE CELL CHAR CHIDIST CHIINV CHITEST CHISQ.DIST CHISQ.DIST.RT CHISQ.INV CHISQ.INV.RT CHISQ.TEST CHOOSE CLEAN CODE COLUMN COLUMNS COMBIN COMBINA COMPLEX CONCAT CONCATENATE CONFIDENCE CONFIDENCE.NORM CONFIDENCE.T CONVERT CORREL COS COSH COT COTH COUNT COUNTA COUNTBLANK COUNTIF COUNTIFS COUPDAYBS COUPDAYS COUPDAYSNC COUPNCD COUPNUM COUPPCD COVAR COVARIANCE.P COVARIANCE.S CRITBINOM CSC CSCH CUBEKPIMEMBER CUBEMEMBER CUBEMEMBERPROPERTY CUBERANKEDMEMBER CUBESET CUBESETCOUNT CUBEVALUE CUMIPMT CUMPRINC DATE DATEDIF DATEVALUE DAVERAGE DAY DAYS DAYS360 DB DBCS DCOUNT DCOUNTA DDB DEC2BIN DEC2HEX DEC2OCT DECIMAL DEGREES DELTA DEVSQ DGET DISC DMAX DMIN DOLLAR DOLLARDE DOLLARFR DPRODUCT DSTDEV DSTDEVP DSUM DURATION DVAR DVARP EDATE EFFECT ENCODEURL EOMONTH ERF ERF.PRECISE ERFC ERFC.PRECISE ERROR.TYPE EUROCONVERT EVEN EXACT EXP EXPON.DIST EXPONDIST FACT FACTDOUBLE FALSE|0 F.DIST FDIST F.DIST.RT FILTERXML FIND FINDB F.INV F.INV.RT FINV FISHER FISHERINV FIXED FLOOR FLOOR.MATH FLOOR.PRECISE FORECAST FORECAST.ETS FORECAST.ETS.CONFINT FORECAST.ETS.SEASONALITY FORECAST.ETS.STAT FORECAST.LINEAR FORMULATEXT FREQUENCY F.TEST FTEST FV FVSCHEDULE GAMMA GAMMA.DIST GAMMADIST GAMMA.INV GAMMAINV GAMMALN GAMMALN.PRECISE GAUSS GCD GEOMEAN GESTEP GETPIVOTDATA GROWTH HARMEAN HEX2BIN HEX2DEC HEX2OCT HLOOKUP HOUR HYPERLINK HYPGEOM.DIST HYPGEOMDIST IF IFERROR IFNA IFS IMABS IMAGINARY IMARGUMENT IMCONJUGATE IMCOS IMCOSH IMCOT IMCSC IMCSCH IMDIV IMEXP IMLN IMLOG10 IMLOG2 IMPOWER IMPRODUCT IMREAL IMSEC IMSECH IMSIN IMSINH IMSQRT IMSUB IMSUM IMTAN INDEX INDIRECT INFO INT INTERCEPT INTRATE IPMT IRR ISBLANK ISERR ISERROR ISEVEN ISFORMULA ISLOGICAL ISNA ISNONTEXT ISNUMBER ISODD ISREF ISTEXT ISO.CEILING ISOWEEKNUM ISPMT JIS KURT LARGE LCM LEFT LEFTB LEN LENB LINEST LN LOG LOG10 LOGEST LOGINV LOGNORM.DIST LOGNORMDIST LOGNORM.INV LOOKUP LOWER MATCH MAX MAXA MAXIFS MDETERM MDURATION MEDIAN MID MIDBs MIN MINIFS MINA MINUTE MINVERSE MIRR MMULT MOD MODE MODE.MULT MODE.SNGL MONTH MROUND MULTINOMIAL MUNIT N NA NEGBINOM.DIST NEGBINOMDIST NETWORKDAYS NETWORKDAYS.INTL NOMINAL NORM.DIST NORMDIST NORMINV NORM.INV NORM.S.DIST NORMSDIST NORM.S.INV NORMSINV NOT NOW NPER NPV NUMBERVALUE OCT2BIN OCT2DEC OCT2HEX ODD ODDFPRICE ODDFYIELD ODDLPRICE ODDLYIELD OFFSET OR PDURATION PEARSON PERCENTILE.EXC PERCENTILE.INC PERCENTILE PERCENTRANK.EXC PERCENTRANK.INC PERCENTRANK PERMUT PERMUTATIONA PHI PHONETIC PI PMT POISSON.DIST POISSON POWER PPMT PRICE PRICEDISC PRICEMAT PROB PRODUCT PROPER PV QUARTILE QUARTILE.EXC QUARTILE.INC QUOTIENT RADIANS RAND RANDBETWEEN RANK.AVG RANK.EQ RANK RATE RECEIVED REGISTER.ID REPLACE REPLACEB REPT RIGHT RIGHTB ROMAN ROUND ROUNDDOWN ROUNDUP ROW ROWS RRI RSQ RTD SEARCH SEARCHB SEC SECH SECOND SERIESSUM SHEET SHEETS SIGN SIN SINH SKEW SKEW.P SLN SLOPE SMALL SQL.REQUEST SQRT SQRTPI STANDARDIZE STDEV STDEV.P STDEV.S STDEVA STDEVP STDEVPA STEYX SUBSTITUTE SUBTOTAL SUM SUMIF SUMIFS SUMPRODUCT SUMSQ SUMX2MY2 SUMX2PY2 SUMXMY2 SWITCH SYD T TAN TANH TBILLEQ TBILLPRICE TBILLYIELD T.DIST T.DIST.2T T.DIST.RT TDIST TEXT TEXTJOIN TIME TIMEVALUE T.INV T.INV.2T TINV TODAY TRANSPOSE TREND TRIM TRIMMEAN TRUE|0 TRUNC T.TEST TTEST TYPE UNICHAR UNICODE UPPER VALUE VAR VAR.P VAR.S VARA VARP VARPA VDB VLOOKUP WEBSERVICE WEEKDAY WEEKNUM WEIBULL WEIBULL.DIST WORKDAY WORKDAY.INTL XIRR XNPV XOR YEAR YEARFRAC YIELD YIELDDISC YIELDMAT Z.TEST ZTEST'\n    },\n    contains: [\n      {\n        /* matches a beginning equal sign found in Excel formula examples */\n        begin: /^=/,\n        end: /[^=]/,\n        returnEnd: true,\n        illegal: /=/, /* only allow single equal sign at front of line */\n        relevance: 10\n      },\n      /* technically, there can be more than 2 letters in column names, but this prevents conflict with some keywords */\n      {\n        /* matches a reference to a single cell */\n        className: 'symbol',\n        begin: /\\b[A-Z]{1,2}\\d+\\b/,\n        end: /[^\\d]/,\n        excludeEnd: true,\n        relevance: 0\n      },\n      {\n        /* matches a reference to a range of cells */\n        className: 'symbol',\n        begin: /[A-Z]{0,2}\\d*:[A-Z]{0,2}\\d*/,\n        relevance: 0\n      },\n      hljs.BACKSLASH_ESCAPE,\n      hljs.QUOTE_STRING_MODE,\n      {\n        className: 'number',\n        begin: hljs.NUMBER_RE + '(%)?',\n        relevance: 0\n      },\n      /* Excel formula comments are done by putting the comment in a function call to N() */\n      hljs.COMMENT(/\\bN\\(/, /\\)/,\n        {\n          excludeBegin: true,\n          excludeEnd: true,\n          illegal: /\\n/\n        })\n    ]\n  };\n}\n\nmodule.exports = excel;\n","/*\nLanguage: Monkey\nDescription: Monkey2 is an easy to use, cross platform, games oriented programming language from Blitz Research.\nAuthor: Arthur Bikmullin \nWebsite: https://blitzresearch.itch.io/monkey2\n*/\n\nfunction monkey(hljs) {\n  const NUMBER = {\n    className: 'number',\n    relevance: 0,\n    variants: [\n      {\n        begin: '[$][a-fA-F0-9]+'\n      },\n      hljs.NUMBER_MODE\n    ]\n  };\n\n  return {\n    name: 'Monkey',\n    case_insensitive: true,\n    keywords: {\n      keyword: 'public private property continue exit extern new try catch ' +\n        'eachin not abstract final select case default const local global field ' +\n        'end if then else elseif endif while wend repeat until forever for ' +\n        'to step next return module inline throw import',\n\n      built_in: 'DebugLog DebugStop Error Print ACos ACosr ASin ASinr ATan ATan2 ATan2r ATanr Abs Abs Ceil ' +\n        'Clamp Clamp Cos Cosr Exp Floor Log Max Max Min Min Pow Sgn Sgn Sin Sinr Sqrt Tan Tanr Seed PI HALFPI TWOPI',\n\n      literal: 'true false null and or shl shr mod'\n    },\n    illegal: /\\/\\*/,\n    contains: [\n      hljs.COMMENT('#rem', '#end'),\n      hljs.COMMENT(\n        \"'\",\n        '$',\n        {\n          relevance: 0\n        }\n      ),\n      {\n        className: 'function',\n        beginKeywords: 'function method',\n        end: '[(=:]|$',\n        illegal: /\\n/,\n        contains: [ hljs.UNDERSCORE_TITLE_MODE ]\n      },\n      {\n        className: 'class',\n        beginKeywords: 'class interface',\n        end: '$',\n        contains: [\n          {\n            beginKeywords: 'extends implements'\n          },\n          hljs.UNDERSCORE_TITLE_MODE\n        ]\n      },\n      {\n        className: 'built_in',\n        begin: '\\\\b(self|super)\\\\b'\n      },\n      {\n        className: 'meta',\n        begin: '\\\\s*#',\n        end: '$',\n        keywords: {\n          'meta-keyword': 'if else elseif endif end then'\n        }\n      },\n      {\n        className: 'meta',\n        begin: '^\\\\s*strict\\\\b'\n      },\n      {\n        beginKeywords: 'alias',\n        end: '=',\n        contains: [ hljs.UNDERSCORE_TITLE_MODE ]\n      },\n      hljs.QUOTE_STRING_MODE,\n      NUMBER\n    ]\n  };\n}\n\nmodule.exports = monkey;\n","const KEYWORDS = [\n  \"as\", // for exports\n  \"in\",\n  \"of\",\n  \"if\",\n  \"for\",\n  \"while\",\n  \"finally\",\n  \"var\",\n  \"new\",\n  \"function\",\n  \"do\",\n  \"return\",\n  \"void\",\n  \"else\",\n  \"break\",\n  \"catch\",\n  \"instanceof\",\n  \"with\",\n  \"throw\",\n  \"case\",\n  \"default\",\n  \"try\",\n  \"switch\",\n  \"continue\",\n  \"typeof\",\n  \"delete\",\n  \"let\",\n  \"yield\",\n  \"const\",\n  \"class\",\n  // JS handles these with a special rule\n  // \"get\",\n  // \"set\",\n  \"debugger\",\n  \"async\",\n  \"await\",\n  \"static\",\n  \"import\",\n  \"from\",\n  \"export\",\n  \"extends\"\n];\nconst LITERALS = [\n  \"true\",\n  \"false\",\n  \"null\",\n  \"undefined\",\n  \"NaN\",\n  \"Infinity\"\n];\n\nconst TYPES = [\n  \"Intl\",\n  \"DataView\",\n  \"Number\",\n  \"Math\",\n  \"Date\",\n  \"String\",\n  \"RegExp\",\n  \"Object\",\n  \"Function\",\n  \"Boolean\",\n  \"Error\",\n  \"Symbol\",\n  \"Set\",\n  \"Map\",\n  \"WeakSet\",\n  \"WeakMap\",\n  \"Proxy\",\n  \"Reflect\",\n  \"JSON\",\n  \"Promise\",\n  \"Float64Array\",\n  \"Int16Array\",\n  \"Int32Array\",\n  \"Int8Array\",\n  \"Uint16Array\",\n  \"Uint32Array\",\n  \"Float32Array\",\n  \"Array\",\n  \"Uint8Array\",\n  \"Uint8ClampedArray\",\n  \"ArrayBuffer\",\n  \"BigInt64Array\",\n  \"BigUint64Array\",\n  \"BigInt\"\n];\n\nconst ERROR_TYPES = [\n  \"EvalError\",\n  \"InternalError\",\n  \"RangeError\",\n  \"ReferenceError\",\n  \"SyntaxError\",\n  \"TypeError\",\n  \"URIError\"\n];\n\nconst BUILT_IN_GLOBALS = [\n  \"setInterval\",\n  \"setTimeout\",\n  \"clearInterval\",\n  \"clearTimeout\",\n\n  \"require\",\n  \"exports\",\n\n  \"eval\",\n  \"isFinite\",\n  \"isNaN\",\n  \"parseFloat\",\n  \"parseInt\",\n  \"decodeURI\",\n  \"decodeURIComponent\",\n  \"encodeURI\",\n  \"encodeURIComponent\",\n  \"escape\",\n  \"unescape\"\n];\n\nconst BUILT_IN_VARIABLES = [\n  \"arguments\",\n  \"this\",\n  \"super\",\n  \"console\",\n  \"window\",\n  \"document\",\n  \"localStorage\",\n  \"module\",\n  \"global\" // Node.js\n];\n\nconst BUILT_INS = [].concat(\n  BUILT_IN_GLOBALS,\n  BUILT_IN_VARIABLES,\n  TYPES,\n  ERROR_TYPES\n);\n\n/*\nLanguage: CoffeeScript\nAuthor: Dmytrii Nagirniak \nContributors: Oleg Efimov , Cédric Néhémie \nDescription: CoffeeScript is a programming language that transcompiles to JavaScript. For info about language see http://coffeescript.org/\nCategory: common, scripting\nWebsite: https://coffeescript.org\n*/\n\n/** @type LanguageFn */\nfunction coffeescript(hljs) {\n  const COFFEE_BUILT_INS = [\n    'npm',\n    'print'\n  ];\n  const COFFEE_LITERALS = [\n    'yes',\n    'no',\n    'on',\n    'off'\n  ];\n  const COFFEE_KEYWORDS = [\n    'then',\n    'unless',\n    'until',\n    'loop',\n    'by',\n    'when',\n    'and',\n    'or',\n    'is',\n    'isnt',\n    'not'\n  ];\n  const NOT_VALID_KEYWORDS = [\n    \"var\",\n    \"const\",\n    \"let\",\n    \"function\",\n    \"static\"\n  ];\n  const excluding = (list) =>\n    (kw) => !list.includes(kw);\n  const KEYWORDS$1 = {\n    keyword: KEYWORDS.concat(COFFEE_KEYWORDS).filter(excluding(NOT_VALID_KEYWORDS)),\n    literal: LITERALS.concat(COFFEE_LITERALS),\n    built_in: BUILT_INS.concat(COFFEE_BUILT_INS)\n  };\n  const JS_IDENT_RE = '[A-Za-z$_][0-9A-Za-z$_]*';\n  const SUBST = {\n    className: 'subst',\n    begin: /#\\{/,\n    end: /\\}/,\n    keywords: KEYWORDS$1\n  };\n  const EXPRESSIONS = [\n    hljs.BINARY_NUMBER_MODE,\n    hljs.inherit(hljs.C_NUMBER_MODE, {\n      starts: {\n        end: '(\\\\s*/)?',\n        relevance: 0\n      }\n    }), // a number tries to eat the following slash to prevent treating it as a regexp\n    {\n      className: 'string',\n      variants: [\n        {\n          begin: /'''/,\n          end: /'''/,\n          contains: [hljs.BACKSLASH_ESCAPE]\n        },\n        {\n          begin: /'/,\n          end: /'/,\n          contains: [hljs.BACKSLASH_ESCAPE]\n        },\n        {\n          begin: /\"\"\"/,\n          end: /\"\"\"/,\n          contains: [\n            hljs.BACKSLASH_ESCAPE,\n            SUBST\n          ]\n        },\n        {\n          begin: /\"/,\n          end: /\"/,\n          contains: [\n            hljs.BACKSLASH_ESCAPE,\n            SUBST\n          ]\n        }\n      ]\n    },\n    {\n      className: 'regexp',\n      variants: [\n        {\n          begin: '///',\n          end: '///',\n          contains: [\n            SUBST,\n            hljs.HASH_COMMENT_MODE\n          ]\n        },\n        {\n          begin: '//[gim]{0,3}(?=\\\\W)',\n          relevance: 0\n        },\n        {\n          // regex can't start with space to parse x / 2 / 3 as two divisions\n          // regex can't start with *, and it supports an \"illegal\" in the main mode\n          begin: /\\/(?![ *]).*?(?![\\\\]).\\/[gim]{0,3}(?=\\W)/\n        }\n      ]\n    },\n    {\n      begin: '@' + JS_IDENT_RE // relevance booster\n    },\n    {\n      subLanguage: 'javascript',\n      excludeBegin: true,\n      excludeEnd: true,\n      variants: [\n        {\n          begin: '```',\n          end: '```'\n        },\n        {\n          begin: '`',\n          end: '`'\n        }\n      ]\n    }\n  ];\n  SUBST.contains = EXPRESSIONS;\n\n  const TITLE = hljs.inherit(hljs.TITLE_MODE, {\n    begin: JS_IDENT_RE\n  });\n  const POSSIBLE_PARAMS_RE = '(\\\\(.*\\\\)\\\\s*)?\\\\B[-=]>';\n  const PARAMS = {\n    className: 'params',\n    begin: '\\\\([^\\\\(]',\n    returnBegin: true,\n    /* We need another contained nameless mode to not have every nested\n    pair of parens to be called \"params\" */\n    contains: [{\n      begin: /\\(/,\n      end: /\\)/,\n      keywords: KEYWORDS$1,\n      contains: ['self'].concat(EXPRESSIONS)\n    }]\n  };\n\n  return {\n    name: 'CoffeeScript',\n    aliases: [\n      'coffee',\n      'cson',\n      'iced'\n    ],\n    keywords: KEYWORDS$1,\n    illegal: /\\/\\*/,\n    contains: EXPRESSIONS.concat([\n      hljs.COMMENT('###', '###'),\n      hljs.HASH_COMMENT_MODE,\n      {\n        className: 'function',\n        begin: '^\\\\s*' + JS_IDENT_RE + '\\\\s*=\\\\s*' + POSSIBLE_PARAMS_RE,\n        end: '[-=]>',\n        returnBegin: true,\n        contains: [\n          TITLE,\n          PARAMS\n        ]\n      },\n      {\n        // anonymous function start\n        begin: /[:\\(,=]\\s*/,\n        relevance: 0,\n        contains: [{\n          className: 'function',\n          begin: POSSIBLE_PARAMS_RE,\n          end: '[-=]>',\n          returnBegin: true,\n          contains: [PARAMS]\n        }]\n      },\n      {\n        className: 'class',\n        beginKeywords: 'class',\n        end: '$',\n        illegal: /[:=\"\\[\\]]/,\n        contains: [\n          {\n            beginKeywords: 'extends',\n            endsWithParent: true,\n            illegal: /[:=\"\\[\\]]/,\n            contains: [TITLE]\n          },\n          TITLE\n        ]\n      },\n      {\n        begin: JS_IDENT_RE + ':',\n        end: ':',\n        returnBegin: true,\n        returnEnd: true,\n        relevance: 0\n      }\n    ])\n  };\n}\n\nmodule.exports = coffeescript;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports[\"default\"] = void 0;\nvar _default = exports[\"default\"] = {\n  \"hljs-comment\": {\n    \"color\": \"#7285b7\"\n  },\n  \"hljs-quote\": {\n    \"color\": \"#7285b7\"\n  },\n  \"hljs-variable\": {\n    \"color\": \"#ff9da4\"\n  },\n  \"hljs-template-variable\": {\n    \"color\": \"#ff9da4\"\n  },\n  \"hljs-tag\": {\n    \"color\": \"#ff9da4\"\n  },\n  \"hljs-name\": {\n    \"color\": \"#ff9da4\"\n  },\n  \"hljs-selector-id\": {\n    \"color\": \"#ff9da4\"\n  },\n  \"hljs-selector-class\": {\n    \"color\": \"#ff9da4\"\n  },\n  \"hljs-regexp\": {\n    \"color\": \"#ff9da4\"\n  },\n  \"hljs-deletion\": {\n    \"color\": \"#ff9da4\"\n  },\n  \"hljs-number\": {\n    \"color\": \"#ffc58f\"\n  },\n  \"hljs-built_in\": {\n    \"color\": \"#ffc58f\"\n  },\n  \"hljs-builtin-name\": {\n    \"color\": \"#ffc58f\"\n  },\n  \"hljs-literal\": {\n    \"color\": \"#ffc58f\"\n  },\n  \"hljs-type\": {\n    \"color\": \"#ffc58f\"\n  },\n  \"hljs-params\": {\n    \"color\": \"#ffc58f\"\n  },\n  \"hljs-meta\": {\n    \"color\": \"#ffc58f\"\n  },\n  \"hljs-link\": {\n    \"color\": \"#ffc58f\"\n  },\n  \"hljs-attribute\": {\n    \"color\": \"#ffeead\"\n  },\n  \"hljs-string\": {\n    \"color\": \"#d1f1a9\"\n  },\n  \"hljs-symbol\": {\n    \"color\": \"#d1f1a9\"\n  },\n  \"hljs-bullet\": {\n    \"color\": \"#d1f1a9\"\n  },\n  \"hljs-addition\": {\n    \"color\": \"#d1f1a9\"\n  },\n  \"hljs-title\": {\n    \"color\": \"#bbdaff\"\n  },\n  \"hljs-section\": {\n    \"color\": \"#bbdaff\"\n  },\n  \"hljs-keyword\": {\n    \"color\": \"#ebbbff\"\n  },\n  \"hljs-selector-tag\": {\n    \"color\": \"#ebbbff\"\n  },\n  \"hljs\": {\n    \"display\": \"block\",\n    \"overflowX\": \"auto\",\n    \"background\": \"#002451\",\n    \"color\": \"white\",\n    \"padding\": \"0.5em\"\n  },\n  \"hljs-emphasis\": {\n    \"fontStyle\": \"italic\"\n  },\n  \"hljs-strong\": {\n    \"fontWeight\": \"bold\"\n  }\n};","/**\n * @param {string} value\n * @returns {RegExp}\n * */\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction source(re) {\n  if (!re) return null;\n  if (typeof re === \"string\") return re;\n\n  return re.source;\n}\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction lookahead(re) {\n  return concat('(?=', re, ')');\n}\n\n/**\n * @param {...(RegExp | string) } args\n * @returns {string}\n */\nfunction concat(...args) {\n  const joined = args.map((x) => source(x)).join(\"\");\n  return joined;\n}\n\n/*\nLanguage: R\nDescription: R is a free software environment for statistical computing and graphics.\nAuthor: Joe Cheng \nContributors: Konrad Rudolph \nWebsite: https://www.r-project.org\nCategory: common,scientific\n*/\n\n/** @type LanguageFn */\nfunction r(hljs) {\n  // Identifiers in R cannot start with `_`, but they can start with `.` if it\n  // is not immediately followed by a digit.\n  // R also supports quoted identifiers, which are near-arbitrary sequences\n  // delimited by backticks (`…`), which may contain escape sequences. These are\n  // handled in a separate mode. See `test/markup/r/names.txt` for examples.\n  // FIXME: Support Unicode identifiers.\n  const IDENT_RE = /(?:(?:[a-zA-Z]|\\.[._a-zA-Z])[._a-zA-Z0-9]*)|\\.(?!\\d)/;\n  const SIMPLE_IDENT = /[a-zA-Z][a-zA-Z_0-9]*/;\n\n  return {\n    name: 'R',\n\n    // only in Haskell, not R\n    illegal: /->/,\n    keywords: {\n      $pattern: IDENT_RE,\n      keyword:\n        'function if in break next repeat else for while',\n      literal:\n        'NULL NA TRUE FALSE Inf NaN NA_integer_|10 NA_real_|10 ' +\n        'NA_character_|10 NA_complex_|10',\n      built_in:\n        // Builtin constants\n        'LETTERS letters month.abb month.name pi T F ' +\n        // Primitive functions\n        // These are all the functions in `base` that are implemented as a\n        // `.Primitive`, minus those functions that are also keywords.\n        'abs acos acosh all any anyNA Arg as.call as.character ' +\n        'as.complex as.double as.environment as.integer as.logical ' +\n        'as.null.default as.numeric as.raw asin asinh atan atanh attr ' +\n        'attributes baseenv browser c call ceiling class Conj cos cosh ' +\n        'cospi cummax cummin cumprod cumsum digamma dim dimnames ' +\n        'emptyenv exp expression floor forceAndCall gamma gc.time ' +\n        'globalenv Im interactive invisible is.array is.atomic is.call ' +\n        'is.character is.complex is.double is.environment is.expression ' +\n        'is.finite is.function is.infinite is.integer is.language ' +\n        'is.list is.logical is.matrix is.na is.name is.nan is.null ' +\n        'is.numeric is.object is.pairlist is.raw is.recursive is.single ' +\n        'is.symbol lazyLoadDBfetch length lgamma list log max min ' +\n        'missing Mod names nargs nzchar oldClass on.exit pos.to.env ' +\n        'proc.time prod quote range Re rep retracemem return round ' +\n        'seq_along seq_len seq.int sign signif sin sinh sinpi sqrt ' +\n        'standardGeneric substitute sum switch tan tanh tanpi tracemem ' +\n        'trigamma trunc unclass untracemem UseMethod xtfrm',\n    },\n    compilerExtensions: [\n      // allow beforeMatch to act as a \"qualifier\" for the match\n      // the full match begin must be [beforeMatch][begin]\n      (mode, parent) => {\n        if (!mode.beforeMatch) return;\n        // starts conflicts with endsParent which we need to make sure the child\n        // rule is not matched multiple times\n        if (mode.starts) throw new Error(\"beforeMatch cannot be used with starts\");\n\n        const originalMode = Object.assign({}, mode);\n        Object.keys(mode).forEach((key) => { delete mode[key]; });\n\n        mode.begin = concat(originalMode.beforeMatch, lookahead(originalMode.begin));\n        mode.starts = {\n          relevance: 0,\n          contains: [\n            Object.assign(originalMode, { endsParent: true })\n          ]\n        };\n        mode.relevance = 0;\n\n        delete originalMode.beforeMatch;\n      }\n    ],\n    contains: [\n      // Roxygen comments\n      hljs.COMMENT(\n        /#'/,\n        /$/,\n        {\n          contains: [\n            {\n              // Handle `@examples` separately to cause all subsequent code\n              // until the next `@`-tag on its own line to be kept as-is,\n              // preventing highlighting. This code is example R code, so nested\n              // doctags shouldn’t be treated as such. See\n              // `test/markup/r/roxygen.txt` for an example.\n              className: 'doctag',\n              begin: '@examples',\n              starts: {\n                contains: [\n                  { begin: /\\n/ },\n                  {\n                    begin: /#'\\s*(?=@[a-zA-Z]+)/,\n                    endsParent: true,\n                  },\n                  {\n                    begin: /#'/,\n                    end: /$/,\n                    excludeBegin: true,\n                  }\n                ]\n              }\n            },\n            {\n              // Handle `@param` to highlight the parameter name following\n              // after.\n              className: 'doctag',\n              begin: '@param',\n              end: /$/,\n              contains: [\n                {\n                  className: 'variable',\n                  variants: [\n                    { begin: IDENT_RE },\n                    { begin: /`(?:\\\\.|[^`\\\\])+`/ }\n                  ],\n                  endsParent: true\n                }\n              ]\n            },\n            {\n              className: 'doctag',\n              begin: /@[a-zA-Z]+/\n            },\n            {\n              className: 'meta-keyword',\n              begin: /\\\\[a-zA-Z]+/,\n            }\n          ]\n        }\n      ),\n\n      hljs.HASH_COMMENT_MODE,\n\n      {\n        className: 'string',\n        contains: [hljs.BACKSLASH_ESCAPE],\n        variants: [\n          hljs.END_SAME_AS_BEGIN({ begin: /[rR]\"(-*)\\(/, end: /\\)(-*)\"/ }),\n          hljs.END_SAME_AS_BEGIN({ begin: /[rR]\"(-*)\\{/, end: /\\}(-*)\"/ }),\n          hljs.END_SAME_AS_BEGIN({ begin: /[rR]\"(-*)\\[/, end: /\\](-*)\"/ }),\n          hljs.END_SAME_AS_BEGIN({ begin: /[rR]'(-*)\\(/, end: /\\)(-*)'/ }),\n          hljs.END_SAME_AS_BEGIN({ begin: /[rR]'(-*)\\{/, end: /\\}(-*)'/ }),\n          hljs.END_SAME_AS_BEGIN({ begin: /[rR]'(-*)\\[/, end: /\\](-*)'/ }),\n          {begin: '\"', end: '\"', relevance: 0},\n          {begin: \"'\", end: \"'\", relevance: 0}\n        ],\n      },\n      {\n        className: 'number',\n        relevance: 0,\n        beforeMatch: /([^a-zA-Z0-9._])/, // not part of an identifier\n        variants: [\n          // TODO: replace with negative look-behind when available\n          // { begin: /(?\nContributors: Carl Baxter \nRequires: ruby.js\nWebsite: https://yaml.org\nCategory: common, config\n*/\nfunction yaml(hljs) {\n  var LITERALS = 'true false yes no null';\n\n  // YAML spec allows non-reserved URI characters in tags.\n  var URI_CHARACTERS = '[\\\\w#;/?:@&=+$,.~*\\'()[\\\\]]+';\n\n  // Define keys as starting with a word character\n  // ...containing word chars, spaces, colons, forward-slashes, hyphens and periods\n  // ...and ending with a colon followed immediately by a space, tab or newline.\n  // The YAML spec allows for much more than this, but this covers most use-cases.\n  var KEY = {\n    className: 'attr',\n    variants: [\n      { begin: '\\\\w[\\\\w :\\\\/.-]*:(?=[ \\t]|$)' },\n      { begin: '\"\\\\w[\\\\w :\\\\/.-]*\":(?=[ \\t]|$)' }, // double quoted keys\n      { begin: '\\'\\\\w[\\\\w :\\\\/.-]*\\':(?=[ \\t]|$)' } // single quoted keys\n    ]\n  };\n\n  var TEMPLATE_VARIABLES = {\n    className: 'template-variable',\n    variants: [\n      { begin: /\\{\\{/, end: /\\}\\}/ }, // jinja templates Ansible\n      { begin: /%\\{/, end: /\\}/ } // Ruby i18n\n    ]\n  };\n  var STRING = {\n    className: 'string',\n    relevance: 0,\n    variants: [\n      { begin: /'/, end: /'/ },\n      { begin: /\"/, end: /\"/ },\n      { begin: /\\S+/ }\n    ],\n    contains: [\n      hljs.BACKSLASH_ESCAPE,\n      TEMPLATE_VARIABLES\n    ]\n  };\n\n  // Strings inside of value containers (objects) can't contain braces,\n  // brackets, or commas\n  var CONTAINER_STRING = hljs.inherit(STRING, {\n    variants: [\n      { begin: /'/, end: /'/ },\n      { begin: /\"/, end: /\"/ },\n      { begin: /[^\\s,{}[\\]]+/ }\n    ]\n  });\n\n  var DATE_RE = '[0-9]{4}(-[0-9][0-9]){0,2}';\n  var TIME_RE = '([Tt \\\\t][0-9][0-9]?(:[0-9][0-9]){2})?';\n  var FRACTION_RE = '(\\\\.[0-9]*)?';\n  var ZONE_RE = '([ \\\\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?';\n  var TIMESTAMP = {\n    className: 'number',\n    begin: '\\\\b' + DATE_RE + TIME_RE + FRACTION_RE + ZONE_RE + '\\\\b'\n  };\n\n  var VALUE_CONTAINER = {\n    end: ',',\n    endsWithParent: true,\n    excludeEnd: true,\n    keywords: LITERALS,\n    relevance: 0\n  };\n  var OBJECT = {\n    begin: /\\{/,\n    end: /\\}/,\n    contains: [VALUE_CONTAINER],\n    illegal: '\\\\n',\n    relevance: 0\n  };\n  var ARRAY = {\n    begin: '\\\\[',\n    end: '\\\\]',\n    contains: [VALUE_CONTAINER],\n    illegal: '\\\\n',\n    relevance: 0\n  };\n\n  var MODES = [\n    KEY,\n    {\n      className: 'meta',\n      begin: '^---\\\\s*$',\n      relevance: 10\n    },\n    { // multi line string\n      // Blocks start with a | or > followed by a newline\n      //\n      // Indentation of subsequent lines must be the same to\n      // be considered part of the block\n      className: 'string',\n      begin: '[\\\\|>]([1-9]?[+-])?[ ]*\\\\n( +)[^ ][^\\\\n]*\\\\n(\\\\2[^\\\\n]+\\\\n?)*'\n    },\n    { // Ruby/Rails erb\n      begin: '<%[%=-]?',\n      end: '[%-]?%>',\n      subLanguage: 'ruby',\n      excludeBegin: true,\n      excludeEnd: true,\n      relevance: 0\n    },\n    { // named tags\n      className: 'type',\n      begin: '!\\\\w+!' + URI_CHARACTERS\n    },\n    // https://yaml.org/spec/1.2/spec.html#id2784064\n    { // verbatim tags\n      className: 'type',\n      begin: '!<' + URI_CHARACTERS + \">\"\n    },\n    { // primary tags\n      className: 'type',\n      begin: '!' + URI_CHARACTERS\n    },\n    { // secondary tags\n      className: 'type',\n      begin: '!!' + URI_CHARACTERS\n    },\n    { // fragment id &ref\n      className: 'meta',\n      begin: '&' + hljs.UNDERSCORE_IDENT_RE + '$'\n    },\n    { // fragment reference *ref\n      className: 'meta',\n      begin: '\\\\*' + hljs.UNDERSCORE_IDENT_RE + '$'\n    },\n    { // array listing\n      className: 'bullet',\n      // TODO: remove |$ hack when we have proper look-ahead support\n      begin: '-(?=[ ]|$)',\n      relevance: 0\n    },\n    hljs.HASH_COMMENT_MODE,\n    {\n      beginKeywords: LITERALS,\n      keywords: { literal: LITERALS }\n    },\n    TIMESTAMP,\n    // numbers are any valid C-style number that\n    // sit isolated from other words\n    {\n      className: 'number',\n      begin: hljs.C_NUMBER_RE + '\\\\b',\n      relevance: 0\n    },\n    OBJECT,\n    ARRAY,\n    STRING\n  ];\n\n  var VALUE_MODES = [...MODES];\n  VALUE_MODES.pop();\n  VALUE_MODES.push(CONTAINER_STRING);\n  VALUE_CONTAINER.contains = VALUE_MODES;\n\n  return {\n    name: 'YAML',\n    case_insensitive: true,\n    aliases: [ 'yml' ],\n    contains: MODES\n  };\n}\n\nmodule.exports = yaml;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports[\"default\"] = void 0;\nvar _default = exports[\"default\"] = {\n  \"hljs\": {\n    \"display\": \"block\",\n    \"overflowX\": \"auto\",\n    \"padding\": \"0.5em\",\n    \"color\": \"#dccf8f\",\n    \"background\": \"url(./pojoaque.jpg) repeat scroll left top #181914\"\n  },\n  \"hljs-comment\": {\n    \"color\": \"#586e75\",\n    \"fontStyle\": \"italic\"\n  },\n  \"hljs-quote\": {\n    \"color\": \"#586e75\",\n    \"fontStyle\": \"italic\"\n  },\n  \"hljs-keyword\": {\n    \"color\": \"#b64926\"\n  },\n  \"hljs-selector-tag\": {\n    \"color\": \"#b64926\"\n  },\n  \"hljs-literal\": {\n    \"color\": \"#b64926\"\n  },\n  \"hljs-addition\": {\n    \"color\": \"#b64926\"\n  },\n  \"hljs-number\": {\n    \"color\": \"#468966\"\n  },\n  \"hljs-string\": {\n    \"color\": \"#468966\"\n  },\n  \"hljs-doctag\": {\n    \"color\": \"#468966\"\n  },\n  \"hljs-regexp\": {\n    \"color\": \"#468966\"\n  },\n  \"hljs-title\": {\n    \"color\": \"#ffb03b\"\n  },\n  \"hljs-section\": {\n    \"color\": \"#ffb03b\"\n  },\n  \"hljs-built_in\": {\n    \"color\": \"#ffb03b\"\n  },\n  \"hljs-name\": {\n    \"color\": \"#ffb03b\"\n  },\n  \"hljs-variable\": {\n    \"color\": \"#b58900\"\n  },\n  \"hljs-template-variable\": {\n    \"color\": \"#b58900\"\n  },\n  \"hljs-class .hljs-title\": {\n    \"color\": \"#b58900\"\n  },\n  \"hljs-type\": {\n    \"color\": \"#b58900\"\n  },\n  \"hljs-tag\": {\n    \"color\": \"#b58900\"\n  },\n  \"hljs-attribute\": {\n    \"color\": \"#b89859\"\n  },\n  \"hljs-symbol\": {\n    \"color\": \"#cb4b16\"\n  },\n  \"hljs-bullet\": {\n    \"color\": \"#cb4b16\"\n  },\n  \"hljs-link\": {\n    \"color\": \"#cb4b16\"\n  },\n  \"hljs-subst\": {\n    \"color\": \"#cb4b16\"\n  },\n  \"hljs-meta\": {\n    \"color\": \"#cb4b16\"\n  },\n  \"hljs-deletion\": {\n    \"color\": \"#dc322f\"\n  },\n  \"hljs-selector-id\": {\n    \"color\": \"#d3a60c\"\n  },\n  \"hljs-selector-class\": {\n    \"color\": \"#d3a60c\"\n  },\n  \"hljs-formula\": {\n    \"background\": \"#073642\"\n  },\n  \"hljs-emphasis\": {\n    \"fontStyle\": \"italic\"\n  },\n  \"hljs-strong\": {\n    \"fontWeight\": \"bold\"\n  }\n};","/**\n * @param {string} value\n * @returns {RegExp}\n * */\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction source(re) {\n  if (!re) return null;\n  if (typeof re === \"string\") return re;\n\n  return re.source;\n}\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction lookahead(re) {\n  return concat('(?=', re, ')');\n}\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction optional(re) {\n  return concat('(', re, ')?');\n}\n\n/**\n * @param {...(RegExp | string) } args\n * @returns {string}\n */\nfunction concat(...args) {\n  const joined = args.map((x) => source(x)).join(\"\");\n  return joined;\n}\n\n/*\nLanguage: C++\nCategory: common, system\nWebsite: https://isocpp.org\n*/\n\n/** @type LanguageFn */\nfunction cpp(hljs) {\n  // added for historic reasons because `hljs.C_LINE_COMMENT_MODE` does\n  // not include such support nor can we be sure all the grammars depending\n  // on it would desire this behavior\n  const C_LINE_COMMENT_MODE = hljs.COMMENT('//', '$', {\n    contains: [\n      {\n        begin: /\\\\\\n/\n      }\n    ]\n  });\n  const DECLTYPE_AUTO_RE = 'decltype\\\\(auto\\\\)';\n  const NAMESPACE_RE = '[a-zA-Z_]\\\\w*::';\n  const TEMPLATE_ARGUMENT_RE = '<[^<>]+>';\n  const FUNCTION_TYPE_RE = '(' +\n    DECLTYPE_AUTO_RE + '|' +\n    optional(NAMESPACE_RE) +\n    '[a-zA-Z_]\\\\w*' + optional(TEMPLATE_ARGUMENT_RE) +\n  ')';\n  const CPP_PRIMITIVE_TYPES = {\n    className: 'keyword',\n    begin: '\\\\b[a-z\\\\d_]*_t\\\\b'\n  };\n\n  // https://en.cppreference.com/w/cpp/language/escape\n  // \\\\ \\x \\xFF \\u2837 \\u00323747 \\374\n  const CHARACTER_ESCAPES = '\\\\\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\\\S)';\n  const STRINGS = {\n    className: 'string',\n    variants: [\n      {\n        begin: '(u8?|U|L)?\"',\n        end: '\"',\n        illegal: '\\\\n',\n        contains: [ hljs.BACKSLASH_ESCAPE ]\n      },\n      {\n        begin: '(u8?|U|L)?\\'(' + CHARACTER_ESCAPES + \"|.)\",\n        end: '\\'',\n        illegal: '.'\n      },\n      hljs.END_SAME_AS_BEGIN({\n        begin: /(?:u8?|U|L)?R\"([^()\\\\ ]{0,16})\\(/,\n        end: /\\)([^()\\\\ ]{0,16})\"/\n      })\n    ]\n  };\n\n  const NUMBERS = {\n    className: 'number',\n    variants: [\n      {\n        begin: '\\\\b(0b[01\\']+)'\n      },\n      {\n        begin: '(-?)\\\\b([\\\\d\\']+(\\\\.[\\\\d\\']*)?|\\\\.[\\\\d\\']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)'\n      },\n      {\n        begin: '(-?)(\\\\b0[xX][a-fA-F0-9\\']+|(\\\\b[\\\\d\\']+(\\\\.[\\\\d\\']*)?|\\\\.[\\\\d\\']+)([eE][-+]?[\\\\d\\']+)?)'\n      }\n    ],\n    relevance: 0\n  };\n\n  const PREPROCESSOR = {\n    className: 'meta',\n    begin: /#\\s*[a-z]+\\b/,\n    end: /$/,\n    keywords: {\n      'meta-keyword':\n        'if else elif endif define undef warning error line ' +\n        'pragma _Pragma ifdef ifndef include'\n    },\n    contains: [\n      {\n        begin: /\\\\\\n/,\n        relevance: 0\n      },\n      hljs.inherit(STRINGS, {\n        className: 'meta-string'\n      }),\n      {\n        className: 'meta-string',\n        begin: /<.*?>/\n      },\n      C_LINE_COMMENT_MODE,\n      hljs.C_BLOCK_COMMENT_MODE\n    ]\n  };\n\n  const TITLE_MODE = {\n    className: 'title',\n    begin: optional(NAMESPACE_RE) + hljs.IDENT_RE,\n    relevance: 0\n  };\n\n  const FUNCTION_TITLE = optional(NAMESPACE_RE) + hljs.IDENT_RE + '\\\\s*\\\\(';\n\n  const COMMON_CPP_HINTS = [\n    'asin',\n    'atan2',\n    'atan',\n    'calloc',\n    'ceil',\n    'cosh',\n    'cos',\n    'exit',\n    'exp',\n    'fabs',\n    'floor',\n    'fmod',\n    'fprintf',\n    'fputs',\n    'free',\n    'frexp',\n    'auto_ptr',\n    'deque',\n    'list',\n    'queue',\n    'stack',\n    'vector',\n    'map',\n    'set',\n    'pair',\n    'bitset',\n    'multiset',\n    'multimap',\n    'unordered_set',\n    'fscanf',\n    'future',\n    'isalnum',\n    'isalpha',\n    'iscntrl',\n    'isdigit',\n    'isgraph',\n    'islower',\n    'isprint',\n    'ispunct',\n    'isspace',\n    'isupper',\n    'isxdigit',\n    'tolower',\n    'toupper',\n    'labs',\n    'ldexp',\n    'log10',\n    'log',\n    'malloc',\n    'realloc',\n    'memchr',\n    'memcmp',\n    'memcpy',\n    'memset',\n    'modf',\n    'pow',\n    'printf',\n    'putchar',\n    'puts',\n    'scanf',\n    'sinh',\n    'sin',\n    'snprintf',\n    'sprintf',\n    'sqrt',\n    'sscanf',\n    'strcat',\n    'strchr',\n    'strcmp',\n    'strcpy',\n    'strcspn',\n    'strlen',\n    'strncat',\n    'strncmp',\n    'strncpy',\n    'strpbrk',\n    'strrchr',\n    'strspn',\n    'strstr',\n    'tanh',\n    'tan',\n    'unordered_map',\n    'unordered_multiset',\n    'unordered_multimap',\n    'priority_queue',\n    'make_pair',\n    'array',\n    'shared_ptr',\n    'abort',\n    'terminate',\n    'abs',\n    'acos',\n    'vfprintf',\n    'vprintf',\n    'vsprintf',\n    'endl',\n    'initializer_list',\n    'unique_ptr',\n    'complex',\n    'imaginary',\n    'std',\n    'string',\n    'wstring',\n    'cin',\n    'cout',\n    'cerr',\n    'clog',\n    'stdin',\n    'stdout',\n    'stderr',\n    'stringstream',\n    'istringstream',\n    'ostringstream'\n  ];\n\n  const CPP_KEYWORDS = {\n    keyword: 'int float while private char char8_t char16_t char32_t catch import module export virtual operator sizeof ' +\n      'dynamic_cast|10 typedef const_cast|10 const for static_cast|10 union namespace ' +\n      'unsigned long volatile static protected bool template mutable if public friend ' +\n      'do goto auto void enum else break extern using asm case typeid wchar_t ' +\n      'short reinterpret_cast|10 default double register explicit signed typename try this ' +\n      'switch continue inline delete alignas alignof constexpr consteval constinit decltype ' +\n      'concept co_await co_return co_yield requires ' +\n      'noexcept static_assert thread_local restrict final override ' +\n      'atomic_bool atomic_char atomic_schar ' +\n      'atomic_uchar atomic_short atomic_ushort atomic_int atomic_uint atomic_long atomic_ulong atomic_llong ' +\n      'atomic_ullong new throw return ' +\n      'and and_eq bitand bitor compl not not_eq or or_eq xor xor_eq',\n    built_in: '_Bool _Complex _Imaginary',\n    _relevance_hints: COMMON_CPP_HINTS,\n    literal: 'true false nullptr NULL'\n  };\n\n  const FUNCTION_DISPATCH = {\n    className: \"function.dispatch\",\n    relevance: 0,\n    keywords: CPP_KEYWORDS,\n    begin: concat(\n      /\\b/,\n      /(?!decltype)/,\n      /(?!if)/,\n      /(?!for)/,\n      /(?!while)/,\n      hljs.IDENT_RE,\n      lookahead(/\\s*\\(/))\n  };\n\n  const EXPRESSION_CONTAINS = [\n    FUNCTION_DISPATCH,\n    PREPROCESSOR,\n    CPP_PRIMITIVE_TYPES,\n    C_LINE_COMMENT_MODE,\n    hljs.C_BLOCK_COMMENT_MODE,\n    NUMBERS,\n    STRINGS\n  ];\n\n\n  const EXPRESSION_CONTEXT = {\n    // This mode covers expression context where we can't expect a function\n    // definition and shouldn't highlight anything that looks like one:\n    // `return some()`, `else if()`, `(x*sum(1, 2))`\n    variants: [\n      {\n        begin: /=/,\n        end: /;/\n      },\n      {\n        begin: /\\(/,\n        end: /\\)/\n      },\n      {\n        beginKeywords: 'new throw return else',\n        end: /;/\n      }\n    ],\n    keywords: CPP_KEYWORDS,\n    contains: EXPRESSION_CONTAINS.concat([\n      {\n        begin: /\\(/,\n        end: /\\)/,\n        keywords: CPP_KEYWORDS,\n        contains: EXPRESSION_CONTAINS.concat([ 'self' ]),\n        relevance: 0\n      }\n    ]),\n    relevance: 0\n  };\n\n  const FUNCTION_DECLARATION = {\n    className: 'function',\n    begin: '(' + FUNCTION_TYPE_RE + '[\\\\*&\\\\s]+)+' + FUNCTION_TITLE,\n    returnBegin: true,\n    end: /[{;=]/,\n    excludeEnd: true,\n    keywords: CPP_KEYWORDS,\n    illegal: /[^\\w\\s\\*&:<>.]/,\n    contains: [\n      { // to prevent it from being confused as the function title\n        begin: DECLTYPE_AUTO_RE,\n        keywords: CPP_KEYWORDS,\n        relevance: 0\n      },\n      {\n        begin: FUNCTION_TITLE,\n        returnBegin: true,\n        contains: [ TITLE_MODE ],\n        relevance: 0\n      },\n      // needed because we do not have look-behind on the below rule\n      // to prevent it from grabbing the final : in a :: pair\n      {\n        begin: /::/,\n        relevance: 0\n      },\n      // initializers\n      {\n        begin: /:/,\n        endsWithParent: true,\n        contains: [\n          STRINGS,\n          NUMBERS\n        ]\n      },\n      {\n        className: 'params',\n        begin: /\\(/,\n        end: /\\)/,\n        keywords: CPP_KEYWORDS,\n        relevance: 0,\n        contains: [\n          C_LINE_COMMENT_MODE,\n          hljs.C_BLOCK_COMMENT_MODE,\n          STRINGS,\n          NUMBERS,\n          CPP_PRIMITIVE_TYPES,\n          // Count matching parentheses.\n          {\n            begin: /\\(/,\n            end: /\\)/,\n            keywords: CPP_KEYWORDS,\n            relevance: 0,\n            contains: [\n              'self',\n              C_LINE_COMMENT_MODE,\n              hljs.C_BLOCK_COMMENT_MODE,\n              STRINGS,\n              NUMBERS,\n              CPP_PRIMITIVE_TYPES\n            ]\n          }\n        ]\n      },\n      CPP_PRIMITIVE_TYPES,\n      C_LINE_COMMENT_MODE,\n      hljs.C_BLOCK_COMMENT_MODE,\n      PREPROCESSOR\n    ]\n  };\n\n  return {\n    name: 'C++',\n    aliases: [\n      'cc',\n      'c++',\n      'h++',\n      'hpp',\n      'hh',\n      'hxx',\n      'cxx'\n    ],\n    keywords: CPP_KEYWORDS,\n    illegal: ' rooms (9);`\n          begin: '\\\\b(deque|list|queue|priority_queue|pair|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array)\\\\s*<',\n          end: '>',\n          keywords: CPP_KEYWORDS,\n          contains: [\n            'self',\n            CPP_PRIMITIVE_TYPES\n          ]\n        },\n        {\n          begin: hljs.IDENT_RE + '::',\n          keywords: CPP_KEYWORDS\n        },\n        {\n          className: 'class',\n          beginKeywords: 'enum class struct union',\n          end: /[{;:<>=]/,\n          contains: [\n            {\n              beginKeywords: \"final class struct\"\n            },\n            hljs.TITLE_MODE\n          ]\n        }\n      ]),\n    exports: {\n      preprocessor: PREPROCESSOR,\n      strings: STRINGS,\n      keywords: CPP_KEYWORDS\n    }\n  };\n}\n\nmodule.exports = cpp;\n","const MODES = (hljs) => {\n  return {\n    IMPORTANT: {\n      className: 'meta',\n      begin: '!important'\n    },\n    HEXCOLOR: {\n      className: 'number',\n      begin: '#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})'\n    },\n    ATTRIBUTE_SELECTOR_MODE: {\n      className: 'selector-attr',\n      begin: /\\[/,\n      end: /\\]/,\n      illegal: '$',\n      contains: [\n        hljs.APOS_STRING_MODE,\n        hljs.QUOTE_STRING_MODE\n      ]\n    }\n  };\n};\n\nconst TAGS = [\n  'a',\n  'abbr',\n  'address',\n  'article',\n  'aside',\n  'audio',\n  'b',\n  'blockquote',\n  'body',\n  'button',\n  'canvas',\n  'caption',\n  'cite',\n  'code',\n  'dd',\n  'del',\n  'details',\n  'dfn',\n  'div',\n  'dl',\n  'dt',\n  'em',\n  'fieldset',\n  'figcaption',\n  'figure',\n  'footer',\n  'form',\n  'h1',\n  'h2',\n  'h3',\n  'h4',\n  'h5',\n  'h6',\n  'header',\n  'hgroup',\n  'html',\n  'i',\n  'iframe',\n  'img',\n  'input',\n  'ins',\n  'kbd',\n  'label',\n  'legend',\n  'li',\n  'main',\n  'mark',\n  'menu',\n  'nav',\n  'object',\n  'ol',\n  'p',\n  'q',\n  'quote',\n  'samp',\n  'section',\n  'span',\n  'strong',\n  'summary',\n  'sup',\n  'table',\n  'tbody',\n  'td',\n  'textarea',\n  'tfoot',\n  'th',\n  'thead',\n  'time',\n  'tr',\n  'ul',\n  'var',\n  'video'\n];\n\nconst MEDIA_FEATURES = [\n  'any-hover',\n  'any-pointer',\n  'aspect-ratio',\n  'color',\n  'color-gamut',\n  'color-index',\n  'device-aspect-ratio',\n  'device-height',\n  'device-width',\n  'display-mode',\n  'forced-colors',\n  'grid',\n  'height',\n  'hover',\n  'inverted-colors',\n  'monochrome',\n  'orientation',\n  'overflow-block',\n  'overflow-inline',\n  'pointer',\n  'prefers-color-scheme',\n  'prefers-contrast',\n  'prefers-reduced-motion',\n  'prefers-reduced-transparency',\n  'resolution',\n  'scan',\n  'scripting',\n  'update',\n  'width',\n  // TODO: find a better solution?\n  'min-width',\n  'max-width',\n  'min-height',\n  'max-height'\n];\n\n// https://developer.mozilla.org/en-US/docs/Web/CSS/Pseudo-classes\nconst PSEUDO_CLASSES = [\n  'active',\n  'any-link',\n  'blank',\n  'checked',\n  'current',\n  'default',\n  'defined',\n  'dir', // dir()\n  'disabled',\n  'drop',\n  'empty',\n  'enabled',\n  'first',\n  'first-child',\n  'first-of-type',\n  'fullscreen',\n  'future',\n  'focus',\n  'focus-visible',\n  'focus-within',\n  'has', // has()\n  'host', // host or host()\n  'host-context', // host-context()\n  'hover',\n  'indeterminate',\n  'in-range',\n  'invalid',\n  'is', // is()\n  'lang', // lang()\n  'last-child',\n  'last-of-type',\n  'left',\n  'link',\n  'local-link',\n  'not', // not()\n  'nth-child', // nth-child()\n  'nth-col', // nth-col()\n  'nth-last-child', // nth-last-child()\n  'nth-last-col', // nth-last-col()\n  'nth-last-of-type', //nth-last-of-type()\n  'nth-of-type', //nth-of-type()\n  'only-child',\n  'only-of-type',\n  'optional',\n  'out-of-range',\n  'past',\n  'placeholder-shown',\n  'read-only',\n  'read-write',\n  'required',\n  'right',\n  'root',\n  'scope',\n  'target',\n  'target-within',\n  'user-invalid',\n  'valid',\n  'visited',\n  'where' // where()\n];\n\n// https://developer.mozilla.org/en-US/docs/Web/CSS/Pseudo-elements\nconst PSEUDO_ELEMENTS = [\n  'after',\n  'backdrop',\n  'before',\n  'cue',\n  'cue-region',\n  'first-letter',\n  'first-line',\n  'grammar-error',\n  'marker',\n  'part',\n  'placeholder',\n  'selection',\n  'slotted',\n  'spelling-error'\n];\n\nconst ATTRIBUTES = [\n  'align-content',\n  'align-items',\n  'align-self',\n  'animation',\n  'animation-delay',\n  'animation-direction',\n  'animation-duration',\n  'animation-fill-mode',\n  'animation-iteration-count',\n  'animation-name',\n  'animation-play-state',\n  'animation-timing-function',\n  'auto',\n  'backface-visibility',\n  'background',\n  'background-attachment',\n  'background-clip',\n  'background-color',\n  'background-image',\n  'background-origin',\n  'background-position',\n  'background-repeat',\n  'background-size',\n  'border',\n  'border-bottom',\n  'border-bottom-color',\n  'border-bottom-left-radius',\n  'border-bottom-right-radius',\n  'border-bottom-style',\n  'border-bottom-width',\n  'border-collapse',\n  'border-color',\n  'border-image',\n  'border-image-outset',\n  'border-image-repeat',\n  'border-image-slice',\n  'border-image-source',\n  'border-image-width',\n  'border-left',\n  'border-left-color',\n  'border-left-style',\n  'border-left-width',\n  'border-radius',\n  'border-right',\n  'border-right-color',\n  'border-right-style',\n  'border-right-width',\n  'border-spacing',\n  'border-style',\n  'border-top',\n  'border-top-color',\n  'border-top-left-radius',\n  'border-top-right-radius',\n  'border-top-style',\n  'border-top-width',\n  'border-width',\n  'bottom',\n  'box-decoration-break',\n  'box-shadow',\n  'box-sizing',\n  'break-after',\n  'break-before',\n  'break-inside',\n  'caption-side',\n  'clear',\n  'clip',\n  'clip-path',\n  'color',\n  'column-count',\n  'column-fill',\n  'column-gap',\n  'column-rule',\n  'column-rule-color',\n  'column-rule-style',\n  'column-rule-width',\n  'column-span',\n  'column-width',\n  'columns',\n  'content',\n  'counter-increment',\n  'counter-reset',\n  'cursor',\n  'direction',\n  'display',\n  'empty-cells',\n  'filter',\n  'flex',\n  'flex-basis',\n  'flex-direction',\n  'flex-flow',\n  'flex-grow',\n  'flex-shrink',\n  'flex-wrap',\n  'float',\n  'font',\n  'font-display',\n  'font-family',\n  'font-feature-settings',\n  'font-kerning',\n  'font-language-override',\n  'font-size',\n  'font-size-adjust',\n  'font-smoothing',\n  'font-stretch',\n  'font-style',\n  'font-variant',\n  'font-variant-ligatures',\n  'font-variation-settings',\n  'font-weight',\n  'height',\n  'hyphens',\n  'icon',\n  'image-orientation',\n  'image-rendering',\n  'image-resolution',\n  'ime-mode',\n  'inherit',\n  'initial',\n  'justify-content',\n  'left',\n  'letter-spacing',\n  'line-height',\n  'list-style',\n  'list-style-image',\n  'list-style-position',\n  'list-style-type',\n  'margin',\n  'margin-bottom',\n  'margin-left',\n  'margin-right',\n  'margin-top',\n  'marks',\n  'mask',\n  'max-height',\n  'max-width',\n  'min-height',\n  'min-width',\n  'nav-down',\n  'nav-index',\n  'nav-left',\n  'nav-right',\n  'nav-up',\n  'none',\n  'normal',\n  'object-fit',\n  'object-position',\n  'opacity',\n  'order',\n  'orphans',\n  'outline',\n  'outline-color',\n  'outline-offset',\n  'outline-style',\n  'outline-width',\n  'overflow',\n  'overflow-wrap',\n  'overflow-x',\n  'overflow-y',\n  'padding',\n  'padding-bottom',\n  'padding-left',\n  'padding-right',\n  'padding-top',\n  'page-break-after',\n  'page-break-before',\n  'page-break-inside',\n  'perspective',\n  'perspective-origin',\n  'pointer-events',\n  'position',\n  'quotes',\n  'resize',\n  'right',\n  'src', // @font-face\n  'tab-size',\n  'table-layout',\n  'text-align',\n  'text-align-last',\n  'text-decoration',\n  'text-decoration-color',\n  'text-decoration-line',\n  'text-decoration-style',\n  'text-indent',\n  'text-overflow',\n  'text-rendering',\n  'text-shadow',\n  'text-transform',\n  'text-underline-position',\n  'top',\n  'transform',\n  'transform-origin',\n  'transform-style',\n  'transition',\n  'transition-delay',\n  'transition-duration',\n  'transition-property',\n  'transition-timing-function',\n  'unicode-bidi',\n  'vertical-align',\n  'visibility',\n  'white-space',\n  'widows',\n  'width',\n  'word-break',\n  'word-spacing',\n  'word-wrap',\n  'z-index'\n  // reverse makes sure longer attributes `font-weight` are matched fully\n  // instead of getting false positives on say `font`\n].reverse();\n\n/*\nLanguage: SCSS\nDescription: Scss is an extension of the syntax of CSS.\nAuthor: Kurt Emch \nWebsite: https://sass-lang.com\nCategory: common, css\n*/\n\n/** @type LanguageFn */\nfunction scss(hljs) {\n  const modes = MODES(hljs);\n  const PSEUDO_ELEMENTS$1 = PSEUDO_ELEMENTS;\n  const PSEUDO_CLASSES$1 = PSEUDO_CLASSES;\n\n  const AT_IDENTIFIER = '@[a-z-]+'; // @font-face\n  const AT_MODIFIERS = \"and or not only\";\n  const IDENT_RE = '[a-zA-Z-][a-zA-Z0-9_-]*';\n  const VARIABLE = {\n    className: 'variable',\n    begin: '(\\\\$' + IDENT_RE + ')\\\\b'\n  };\n\n  return {\n    name: 'SCSS',\n    case_insensitive: true,\n    illegal: '[=/|\\']',\n    contains: [\n      hljs.C_LINE_COMMENT_MODE,\n      hljs.C_BLOCK_COMMENT_MODE,\n      {\n        className: 'selector-id',\n        begin: '#[A-Za-z0-9_-]+',\n        relevance: 0\n      },\n      {\n        className: 'selector-class',\n        begin: '\\\\.[A-Za-z0-9_-]+',\n        relevance: 0\n      },\n      modes.ATTRIBUTE_SELECTOR_MODE,\n      {\n        className: 'selector-tag',\n        begin: '\\\\b(' + TAGS.join('|') + ')\\\\b',\n        // was there, before, but why?\n        relevance: 0\n      },\n      {\n        className: 'selector-pseudo',\n        begin: ':(' + PSEUDO_CLASSES$1.join('|') + ')'\n      },\n      {\n        className: 'selector-pseudo',\n        begin: '::(' + PSEUDO_ELEMENTS$1.join('|') + ')'\n      },\n      VARIABLE,\n      { // pseudo-selector params\n        begin: /\\(/,\n        end: /\\)/,\n        contains: [ hljs.CSS_NUMBER_MODE ]\n      },\n      {\n        className: 'attribute',\n        begin: '\\\\b(' + ATTRIBUTES.join('|') + ')\\\\b'\n      },\n      {\n        begin: '\\\\b(whitespace|wait|w-resize|visible|vertical-text|vertical-ideographic|uppercase|upper-roman|upper-alpha|underline|transparent|top|thin|thick|text|text-top|text-bottom|tb-rl|table-header-group|table-footer-group|sw-resize|super|strict|static|square|solid|small-caps|separate|se-resize|scroll|s-resize|rtl|row-resize|ridge|right|repeat|repeat-y|repeat-x|relative|progress|pointer|overline|outside|outset|oblique|nowrap|not-allowed|normal|none|nw-resize|no-repeat|no-drop|newspaper|ne-resize|n-resize|move|middle|medium|ltr|lr-tb|lowercase|lower-roman|lower-alpha|loose|list-item|line|line-through|line-edge|lighter|left|keep-all|justify|italic|inter-word|inter-ideograph|inside|inset|inline|inline-block|inherit|inactive|ideograph-space|ideograph-parenthesis|ideograph-numeric|ideograph-alpha|horizontal|hidden|help|hand|groove|fixed|ellipsis|e-resize|double|dotted|distribute|distribute-space|distribute-letter|distribute-all-lines|disc|disabled|default|decimal|dashed|crosshair|collapse|col-resize|circle|char|center|capitalize|break-word|break-all|bottom|both|bolder|bold|block|bidi-override|below|baseline|auto|always|all-scroll|absolute|table|table-cell)\\\\b'\n      },\n      {\n        begin: ':',\n        end: ';',\n        contains: [\n          VARIABLE,\n          modes.HEXCOLOR,\n          hljs.CSS_NUMBER_MODE,\n          hljs.QUOTE_STRING_MODE,\n          hljs.APOS_STRING_MODE,\n          modes.IMPORTANT\n        ]\n      },\n      // matching these here allows us to treat them more like regular CSS\n      // rules so everything between the {} gets regular rule highlighting,\n      // which is what we want for page and font-face\n      {\n        begin: '@(page|font-face)',\n        lexemes: AT_IDENTIFIER,\n        keywords: '@page @font-face'\n      },\n      {\n        begin: '@',\n        end: '[{;]',\n        returnBegin: true,\n        keywords: {\n          $pattern: /[a-z-]+/,\n          keyword: AT_MODIFIERS,\n          attribute: MEDIA_FEATURES.join(\" \")\n        },\n        contains: [\n          {\n            begin: AT_IDENTIFIER,\n            className: \"keyword\"\n          },\n          {\n            begin: /[a-z-]+(?=:)/,\n            className: \"attribute\"\n          },\n          VARIABLE,\n          hljs.QUOTE_STRING_MODE,\n          hljs.APOS_STRING_MODE,\n          modes.HEXCOLOR,\n          hljs.CSS_NUMBER_MODE\n        ]\n      }\n    ]\n  };\n}\n\nmodule.exports = scss;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports[\"default\"] = void 0;\nvar _default = exports[\"default\"] = {\n  \"hljs\": {\n    \"display\": \"block\",\n    \"overflowX\": \"auto\",\n    \"padding\": \"0.5em\",\n    \"color\": \"#333\",\n    \"background\": \"#fff\"\n  },\n  \"hljs-comment\": {\n    \"color\": \"#777\",\n    \"fontStyle\": \"italic\"\n  },\n  \"hljs-quote\": {\n    \"color\": \"#777\",\n    \"fontStyle\": \"italic\"\n  },\n  \"hljs-keyword\": {\n    \"color\": \"#333\",\n    \"fontWeight\": \"bold\"\n  },\n  \"hljs-selector-tag\": {\n    \"color\": \"#333\",\n    \"fontWeight\": \"bold\"\n  },\n  \"hljs-subst\": {\n    \"color\": \"#333\",\n    \"fontWeight\": \"normal\"\n  },\n  \"hljs-number\": {\n    \"color\": \"#777\"\n  },\n  \"hljs-literal\": {\n    \"color\": \"#777\"\n  },\n  \"hljs-string\": {\n    \"color\": \"#333\",\n    \"background\": \"url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAJ0lEQVQIW2O8e/fufwYGBgZBQUEQxcCIIfDu3Tuwivfv30NUoAsAALHpFMMLqZlPAAAAAElFTkSuQmCC) repeat\"\n  },\n  \"hljs-doctag\": {\n    \"color\": \"#333\",\n    \"background\": \"url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAJ0lEQVQIW2O8e/fufwYGBgZBQUEQxcCIIfDu3Tuwivfv30NUoAsAALHpFMMLqZlPAAAAAElFTkSuQmCC) repeat\"\n  },\n  \"hljs-formula\": {\n    \"color\": \"#333\",\n    \"background\": \"url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAJ0lEQVQIW2O8e/fufwYGBgZBQUEQxcCIIfDu3Tuwivfv30NUoAsAALHpFMMLqZlPAAAAAElFTkSuQmCC) repeat\"\n  },\n  \"hljs-title\": {\n    \"color\": \"#000\",\n    \"fontWeight\": \"bold\"\n  },\n  \"hljs-section\": {\n    \"color\": \"#000\",\n    \"fontWeight\": \"bold\"\n  },\n  \"hljs-selector-id\": {\n    \"color\": \"#000\",\n    \"fontWeight\": \"bold\"\n  },\n  \"hljs-class .hljs-title\": {\n    \"color\": \"#333\",\n    \"fontWeight\": \"bold\"\n  },\n  \"hljs-type\": {\n    \"color\": \"#333\",\n    \"fontWeight\": \"bold\"\n  },\n  \"hljs-name\": {\n    \"color\": \"#333\",\n    \"fontWeight\": \"bold\"\n  },\n  \"hljs-tag\": {\n    \"color\": \"#333\"\n  },\n  \"hljs-regexp\": {\n    \"color\": \"#333\",\n    \"background\": \"url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAICAYAAADA+m62AAAAPUlEQVQYV2NkQAN37979r6yszIgujiIAU4RNMVwhuiQ6H6wQl3XI4oy4FMHcCJPHcDS6J2A2EqUQpJhohQDexSef15DBCwAAAABJRU5ErkJggg==) repeat\"\n  },\n  \"hljs-symbol\": {\n    \"color\": \"#000\",\n    \"background\": \"url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAKElEQVQIW2NkQAO7d+/+z4gsBhJwdXVlhAvCBECKwIIwAbhKZBUwBQA6hBpm5efZsgAAAABJRU5ErkJggg==) repeat\"\n  },\n  \"hljs-bullet\": {\n    \"color\": \"#000\",\n    \"background\": \"url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAKElEQVQIW2NkQAO7d+/+z4gsBhJwdXVlhAvCBECKwIIwAbhKZBUwBQA6hBpm5efZsgAAAABJRU5ErkJggg==) repeat\"\n  },\n  \"hljs-link\": {\n    \"color\": \"#000\",\n    \"background\": \"url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAKElEQVQIW2NkQAO7d+/+z4gsBhJwdXVlhAvCBECKwIIwAbhKZBUwBQA6hBpm5efZsgAAAABJRU5ErkJggg==) repeat\"\n  },\n  \"hljs-built_in\": {\n    \"color\": \"#000\",\n    \"textDecoration\": \"underline\"\n  },\n  \"hljs-builtin-name\": {\n    \"color\": \"#000\",\n    \"textDecoration\": \"underline\"\n  },\n  \"hljs-meta\": {\n    \"color\": \"#999\",\n    \"fontWeight\": \"bold\"\n  },\n  \"hljs-deletion\": {\n    \"color\": \"#fff\",\n    \"background\": \"url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAADCAYAAABS3WWCAAAAE0lEQVQIW2MMDQ39zzhz5kwIAQAyxweWgUHd1AAAAABJRU5ErkJggg==) repeat\"\n  },\n  \"hljs-addition\": {\n    \"color\": \"#000\",\n    \"background\": \"url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAYAAADgkQYQAAAALUlEQVQYV2N89+7dfwYk8P79ewZBQUFkIQZGOiu6e/cuiptQHAPl0NtNxAQBAM97Oejj3Dg7AAAAAElFTkSuQmCC) repeat\"\n  },\n  \"hljs-emphasis\": {\n    \"fontStyle\": \"italic\"\n  },\n  \"hljs-strong\": {\n    \"fontWeight\": \"bold\"\n  }\n};","/*\nLanguage: SubUnit\nAuthor: Sergey Bronnikov \nWebsite: https://pypi.org/project/python-subunit/\n*/\n\nfunction subunit(hljs) {\n  const DETAILS = {\n    className: 'string',\n    begin: '\\\\[\\n(multipart)?',\n    end: '\\\\]\\n'\n  };\n  const TIME = {\n    className: 'string',\n    begin: '\\\\d{4}-\\\\d{2}-\\\\d{2}(\\\\s+)\\\\d{2}:\\\\d{2}:\\\\d{2}\\.\\\\d+Z'\n  };\n  const PROGRESSVALUE = {\n    className: 'string',\n    begin: '(\\\\+|-)\\\\d+'\n  };\n  const KEYWORDS = {\n    className: 'keyword',\n    relevance: 10,\n    variants: [\n      {\n        begin: '^(test|testing|success|successful|failure|error|skip|xfail|uxsuccess)(:?)\\\\s+(test)?'\n      },\n      {\n        begin: '^progress(:?)(\\\\s+)?(pop|push)?'\n      },\n      {\n        begin: '^tags:'\n      },\n      {\n        begin: '^time:'\n      }\n    ]\n  };\n  return {\n    name: 'SubUnit',\n    case_insensitive: true,\n    contains: [\n      DETAILS,\n      TIME,\n      PROGRESSVALUE,\n      KEYWORDS\n    ]\n  };\n}\n\nmodule.exports = subunit;\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nObject.defineProperty(exports, \"a11yDark\", {\n  enumerable: true,\n  get: function get() {\n    return _a11yDark[\"default\"];\n  }\n});\nObject.defineProperty(exports, \"a11yLight\", {\n  enumerable: true,\n  get: function get() {\n    return _a11yLight[\"default\"];\n  }\n});\nObject.defineProperty(exports, \"agate\", {\n  enumerable: true,\n  get: function get() {\n    return _agate[\"default\"];\n  }\n});\nObject.defineProperty(exports, \"anOldHope\", {\n  enumerable: true,\n  get: function get() {\n    return _anOldHope[\"default\"];\n  }\n});\nObject.defineProperty(exports, \"androidstudio\", {\n  enumerable: true,\n  get: function get() {\n    return _androidstudio[\"default\"];\n  }\n});\nObject.defineProperty(exports, \"arduinoLight\", {\n  enumerable: true,\n  get: function get() {\n    return _arduinoLight[\"default\"];\n  }\n});\nObject.defineProperty(exports, \"arta\", {\n  enumerable: true,\n  get: function get() {\n    return _arta[\"default\"];\n  }\n});\nObject.defineProperty(exports, \"ascetic\", {\n  enumerable: true,\n  get: function get() {\n    return _ascetic[\"default\"];\n  }\n});\nObject.defineProperty(exports, \"atelierCaveDark\", {\n  enumerable: true,\n  get: function get() {\n    return _atelierCaveDark[\"default\"];\n  }\n});\nObject.defineProperty(exports, \"atelierCaveLight\", {\n  enumerable: true,\n  get: function get() {\n    return _atelierCaveLight[\"default\"];\n  }\n});\nObject.defineProperty(exports, \"atelierDuneDark\", {\n  enumerable: true,\n  get: function get() {\n    return _atelierDuneDark[\"default\"];\n  }\n});\nObject.defineProperty(exports, \"atelierDuneLight\", {\n  enumerable: true,\n  get: function get() {\n    return _atelierDuneLight[\"default\"];\n  }\n});\nObject.defineProperty(exports, \"atelierEstuaryDark\", {\n  enumerable: true,\n  get: function get() {\n    return _atelierEstuaryDark[\"default\"];\n  }\n});\nObject.defineProperty(exports, \"atelierEstuaryLight\", {\n  enumerable: true,\n  get: function get() {\n    return _atelierEstuaryLight[\"default\"];\n  }\n});\nObject.defineProperty(exports, \"atelierForestDark\", {\n  enumerable: true,\n  get: function get() {\n    return _atelierForestDark[\"default\"];\n  }\n});\nObject.defineProperty(exports, \"atelierForestLight\", {\n  enumerable: true,\n  get: function get() {\n    return _atelierForestLight[\"default\"];\n  }\n});\nObject.defineProperty(exports, \"atelierHeathDark\", {\n  enumerable: true,\n  get: function get() {\n    return _atelierHeathDark[\"default\"];\n  }\n});\nObject.defineProperty(exports, \"atelierHeathLight\", {\n  enumerable: true,\n  get: function get() {\n    return _atelierHeathLight[\"default\"];\n  }\n});\nObject.defineProperty(exports, \"atelierLakesideDark\", {\n  enumerable: true,\n  get: function get() {\n    return _atelierLakesideDark[\"default\"];\n  }\n});\nObject.defineProperty(exports, \"atelierLakesideLight\", {\n  enumerable: true,\n  get: function get() {\n    return _atelierLakesideLight[\"default\"];\n  }\n});\nObject.defineProperty(exports, \"atelierPlateauDark\", {\n  enumerable: true,\n  get: function get() {\n    return _atelierPlateauDark[\"default\"];\n  }\n});\nObject.defineProperty(exports, \"atelierPlateauLight\", {\n  enumerable: true,\n  get: function get() {\n    return _atelierPlateauLight[\"default\"];\n  }\n});\nObject.defineProperty(exports, \"atelierSavannaDark\", {\n  enumerable: true,\n  get: function get() {\n    return _atelierSavannaDark[\"default\"];\n  }\n});\nObject.defineProperty(exports, \"atelierSavannaLight\", {\n  enumerable: true,\n  get: function get() {\n    return _atelierSavannaLight[\"default\"];\n  }\n});\nObject.defineProperty(exports, \"atelierSeasideDark\", {\n  enumerable: true,\n  get: function get() {\n    return _atelierSeasideDark[\"default\"];\n  }\n});\nObject.defineProperty(exports, \"atelierSeasideLight\", {\n  enumerable: true,\n  get: function get() {\n    return _atelierSeasideLight[\"default\"];\n  }\n});\nObject.defineProperty(exports, \"atelierSulphurpoolDark\", {\n  enumerable: true,\n  get: function get() {\n    return _atelierSulphurpoolDark[\"default\"];\n  }\n});\nObject.defineProperty(exports, \"atelierSulphurpoolLight\", {\n  enumerable: true,\n  get: function get() {\n    return _atelierSulphurpoolLight[\"default\"];\n  }\n});\nObject.defineProperty(exports, \"atomOneDark\", {\n  enumerable: true,\n  get: function get() {\n    return _atomOneDark[\"default\"];\n  }\n});\nObject.defineProperty(exports, \"atomOneDarkReasonable\", {\n  enumerable: true,\n  get: function get() {\n    return _atomOneDarkReasonable[\"default\"];\n  }\n});\nObject.defineProperty(exports, \"atomOneLight\", {\n  enumerable: true,\n  get: function get() {\n    return _atomOneLight[\"default\"];\n  }\n});\nObject.defineProperty(exports, \"brownPaper\", {\n  enumerable: true,\n  get: function get() {\n    return _brownPaper[\"default\"];\n  }\n});\nObject.defineProperty(exports, \"codepenEmbed\", {\n  enumerable: true,\n  get: function get() {\n    return _codepenEmbed[\"default\"];\n  }\n});\nObject.defineProperty(exports, \"colorBrewer\", {\n  enumerable: true,\n  get: function get() {\n    return _colorBrewer[\"default\"];\n  }\n});\nObject.defineProperty(exports, \"darcula\", {\n  enumerable: true,\n  get: function get() {\n    return _darcula[\"default\"];\n  }\n});\nObject.defineProperty(exports, \"dark\", {\n  enumerable: true,\n  get: function get() {\n    return _dark[\"default\"];\n  }\n});\nObject.defineProperty(exports, \"defaultStyle\", {\n  enumerable: true,\n  get: function get() {\n    return _defaultStyle[\"default\"];\n  }\n});\nObject.defineProperty(exports, \"docco\", {\n  enumerable: true,\n  get: function get() {\n    return _docco[\"default\"];\n  }\n});\nObject.defineProperty(exports, \"dracula\", {\n  enumerable: true,\n  get: function get() {\n    return _dracula[\"default\"];\n  }\n});\nObject.defineProperty(exports, \"far\", {\n  enumerable: true,\n  get: function get() {\n    return _far[\"default\"];\n  }\n});\nObject.defineProperty(exports, \"foundation\", {\n  enumerable: true,\n  get: function get() {\n    return _foundation[\"default\"];\n  }\n});\nObject.defineProperty(exports, \"github\", {\n  enumerable: true,\n  get: function get() {\n    return _github[\"default\"];\n  }\n});\nObject.defineProperty(exports, \"githubGist\", {\n  enumerable: true,\n  get: function get() {\n    return _githubGist[\"default\"];\n  }\n});\nObject.defineProperty(exports, \"gml\", {\n  enumerable: true,\n  get: function get() {\n    return _gml[\"default\"];\n  }\n});\nObject.defineProperty(exports, \"googlecode\", {\n  enumerable: true,\n  get: function get() {\n    return _googlecode[\"default\"];\n  }\n});\nObject.defineProperty(exports, \"gradientDark\", {\n  enumerable: true,\n  get: function get() {\n    return _gradientDark[\"default\"];\n  }\n});\nObject.defineProperty(exports, \"gradientLight\", {\n  enumerable: true,\n  get: function get() {\n    return _gradientLight[\"default\"];\n  }\n});\nObject.defineProperty(exports, \"grayscale\", {\n  enumerable: true,\n  get: function get() {\n    return _grayscale[\"default\"];\n  }\n});\nObject.defineProperty(exports, \"gruvboxDark\", {\n  enumerable: true,\n  get: function get() {\n    return _gruvboxDark[\"default\"];\n  }\n});\nObject.defineProperty(exports, \"gruvboxLight\", {\n  enumerable: true,\n  get: function get() {\n    return _gruvboxLight[\"default\"];\n  }\n});\nObject.defineProperty(exports, \"hopscotch\", {\n  enumerable: true,\n  get: function get() {\n    return _hopscotch[\"default\"];\n  }\n});\nObject.defineProperty(exports, \"hybrid\", {\n  enumerable: true,\n  get: function get() {\n    return _hybrid[\"default\"];\n  }\n});\nObject.defineProperty(exports, \"idea\", {\n  enumerable: true,\n  get: function get() {\n    return _idea[\"default\"];\n  }\n});\nObject.defineProperty(exports, \"irBlack\", {\n  enumerable: true,\n  get: function get() {\n    return _irBlack[\"default\"];\n  }\n});\nObject.defineProperty(exports, \"isblEditorDark\", {\n  enumerable: true,\n  get: function get() {\n    return _isblEditorDark[\"default\"];\n  }\n});\nObject.defineProperty(exports, \"isblEditorLight\", {\n  enumerable: true,\n  get: function get() {\n    return _isblEditorLight[\"default\"];\n  }\n});\nObject.defineProperty(exports, \"kimbieDark\", {\n  enumerable: true,\n  get: function get() {\n    return _kimbie[\"default\"];\n  }\n});\nObject.defineProperty(exports, \"kimbieLight\", {\n  enumerable: true,\n  get: function get() {\n    return _kimbie2[\"default\"];\n  }\n});\nObject.defineProperty(exports, \"lightfair\", {\n  enumerable: true,\n  get: function get() {\n    return _lightfair[\"default\"];\n  }\n});\nObject.defineProperty(exports, \"lioshi\", {\n  enumerable: true,\n  get: function get() {\n    return _lioshi[\"default\"];\n  }\n});\nObject.defineProperty(exports, \"magula\", {\n  enumerable: true,\n  get: function get() {\n    return _magula[\"default\"];\n  }\n});\nObject.defineProperty(exports, \"monoBlue\", {\n  enumerable: true,\n  get: function get() {\n    return _monoBlue[\"default\"];\n  }\n});\nObject.defineProperty(exports, \"monokai\", {\n  enumerable: true,\n  get: function get() {\n    return _monokai[\"default\"];\n  }\n});\nObject.defineProperty(exports, \"monokaiSublime\", {\n  enumerable: true,\n  get: function get() {\n    return _monokaiSublime[\"default\"];\n  }\n});\nObject.defineProperty(exports, \"nightOwl\", {\n  enumerable: true,\n  get: function get() {\n    return _nightOwl[\"default\"];\n  }\n});\nObject.defineProperty(exports, \"nnfx\", {\n  enumerable: true,\n  get: function get() {\n    return _nnfx[\"default\"];\n  }\n});\nObject.defineProperty(exports, \"nnfxDark\", {\n  enumerable: true,\n  get: function get() {\n    return _nnfxDark[\"default\"];\n  }\n});\nObject.defineProperty(exports, \"nord\", {\n  enumerable: true,\n  get: function get() {\n    return _nord[\"default\"];\n  }\n});\nObject.defineProperty(exports, \"obsidian\", {\n  enumerable: true,\n  get: function get() {\n    return _obsidian[\"default\"];\n  }\n});\nObject.defineProperty(exports, \"ocean\", {\n  enumerable: true,\n  get: function get() {\n    return _ocean[\"default\"];\n  }\n});\nObject.defineProperty(exports, \"paraisoDark\", {\n  enumerable: true,\n  get: function get() {\n    return _paraisoDark[\"default\"];\n  }\n});\nObject.defineProperty(exports, \"paraisoLight\", {\n  enumerable: true,\n  get: function get() {\n    return _paraisoLight[\"default\"];\n  }\n});\nObject.defineProperty(exports, \"pojoaque\", {\n  enumerable: true,\n  get: function get() {\n    return _pojoaque[\"default\"];\n  }\n});\nObject.defineProperty(exports, \"purebasic\", {\n  enumerable: true,\n  get: function get() {\n    return _purebasic[\"default\"];\n  }\n});\nObject.defineProperty(exports, \"qtcreatorDark\", {\n  enumerable: true,\n  get: function get() {\n    return _qtcreator_dark[\"default\"];\n  }\n});\nObject.defineProperty(exports, \"qtcreatorLight\", {\n  enumerable: true,\n  get: function get() {\n    return _qtcreator_light[\"default\"];\n  }\n});\nObject.defineProperty(exports, \"railscasts\", {\n  enumerable: true,\n  get: function get() {\n    return _railscasts[\"default\"];\n  }\n});\nObject.defineProperty(exports, \"rainbow\", {\n  enumerable: true,\n  get: function get() {\n    return _rainbow[\"default\"];\n  }\n});\nObject.defineProperty(exports, \"routeros\", {\n  enumerable: true,\n  get: function get() {\n    return _routeros[\"default\"];\n  }\n});\nObject.defineProperty(exports, \"schoolBook\", {\n  enumerable: true,\n  get: function get() {\n    return _schoolBook[\"default\"];\n  }\n});\nObject.defineProperty(exports, \"shadesOfPurple\", {\n  enumerable: true,\n  get: function get() {\n    return _shadesOfPurple[\"default\"];\n  }\n});\nObject.defineProperty(exports, \"solarizedDark\", {\n  enumerable: true,\n  get: function get() {\n    return _solarizedDark[\"default\"];\n  }\n});\nObject.defineProperty(exports, \"solarizedLight\", {\n  enumerable: true,\n  get: function get() {\n    return _solarizedLight[\"default\"];\n  }\n});\nObject.defineProperty(exports, \"srcery\", {\n  enumerable: true,\n  get: function get() {\n    return _srcery[\"default\"];\n  }\n});\nObject.defineProperty(exports, \"stackoverflowDark\", {\n  enumerable: true,\n  get: function get() {\n    return _stackoverflowDark[\"default\"];\n  }\n});\nObject.defineProperty(exports, \"stackoverflowLight\", {\n  enumerable: true,\n  get: function get() {\n    return _stackoverflowLight[\"default\"];\n  }\n});\nObject.defineProperty(exports, \"sunburst\", {\n  enumerable: true,\n  get: function get() {\n    return _sunburst[\"default\"];\n  }\n});\nObject.defineProperty(exports, \"tomorrow\", {\n  enumerable: true,\n  get: function get() {\n    return _tomorrow[\"default\"];\n  }\n});\nObject.defineProperty(exports, \"tomorrowNight\", {\n  enumerable: true,\n  get: function get() {\n    return _tomorrowNight[\"default\"];\n  }\n});\nObject.defineProperty(exports, \"tomorrowNightBlue\", {\n  enumerable: true,\n  get: function get() {\n    return _tomorrowNightBlue[\"default\"];\n  }\n});\nObject.defineProperty(exports, \"tomorrowNightBright\", {\n  enumerable: true,\n  get: function get() {\n    return _tomorrowNightBright[\"default\"];\n  }\n});\nObject.defineProperty(exports, \"tomorrowNightEighties\", {\n  enumerable: true,\n  get: function get() {\n    return _tomorrowNightEighties[\"default\"];\n  }\n});\nObject.defineProperty(exports, \"vs\", {\n  enumerable: true,\n  get: function get() {\n    return _vs[\"default\"];\n  }\n});\nObject.defineProperty(exports, \"vs2015\", {\n  enumerable: true,\n  get: function get() {\n    return _vs2[\"default\"];\n  }\n});\nObject.defineProperty(exports, \"xcode\", {\n  enumerable: true,\n  get: function get() {\n    return _xcode[\"default\"];\n  }\n});\nObject.defineProperty(exports, \"xt256\", {\n  enumerable: true,\n  get: function get() {\n    return _xt[\"default\"];\n  }\n});\nObject.defineProperty(exports, \"zenburn\", {\n  enumerable: true,\n  get: function get() {\n    return _zenburn[\"default\"];\n  }\n});\nvar _a11yDark = _interopRequireDefault(require(\"./a11y-dark\"));\nvar _a11yLight = _interopRequireDefault(require(\"./a11y-light\"));\nvar _agate = _interopRequireDefault(require(\"./agate\"));\nvar _anOldHope = _interopRequireDefault(require(\"./an-old-hope\"));\nvar _androidstudio = _interopRequireDefault(require(\"./androidstudio\"));\nvar _arduinoLight = _interopRequireDefault(require(\"./arduino-light\"));\nvar _arta = _interopRequireDefault(require(\"./arta\"));\nvar _ascetic = _interopRequireDefault(require(\"./ascetic\"));\nvar _atelierCaveDark = _interopRequireDefault(require(\"./atelier-cave-dark\"));\nvar _atelierCaveLight = _interopRequireDefault(require(\"./atelier-cave-light\"));\nvar _atelierDuneDark = _interopRequireDefault(require(\"./atelier-dune-dark\"));\nvar _atelierDuneLight = _interopRequireDefault(require(\"./atelier-dune-light\"));\nvar _atelierEstuaryDark = _interopRequireDefault(require(\"./atelier-estuary-dark\"));\nvar _atelierEstuaryLight = _interopRequireDefault(require(\"./atelier-estuary-light\"));\nvar _atelierForestDark = _interopRequireDefault(require(\"./atelier-forest-dark\"));\nvar _atelierForestLight = _interopRequireDefault(require(\"./atelier-forest-light\"));\nvar _atelierHeathDark = _interopRequireDefault(require(\"./atelier-heath-dark\"));\nvar _atelierHeathLight = _interopRequireDefault(require(\"./atelier-heath-light\"));\nvar _atelierLakesideDark = _interopRequireDefault(require(\"./atelier-lakeside-dark\"));\nvar _atelierLakesideLight = _interopRequireDefault(require(\"./atelier-lakeside-light\"));\nvar _atelierPlateauDark = _interopRequireDefault(require(\"./atelier-plateau-dark\"));\nvar _atelierPlateauLight = _interopRequireDefault(require(\"./atelier-plateau-light\"));\nvar _atelierSavannaDark = _interopRequireDefault(require(\"./atelier-savanna-dark\"));\nvar _atelierSavannaLight = _interopRequireDefault(require(\"./atelier-savanna-light\"));\nvar _atelierSeasideDark = _interopRequireDefault(require(\"./atelier-seaside-dark\"));\nvar _atelierSeasideLight = _interopRequireDefault(require(\"./atelier-seaside-light\"));\nvar _atelierSulphurpoolDark = _interopRequireDefault(require(\"./atelier-sulphurpool-dark\"));\nvar _atelierSulphurpoolLight = _interopRequireDefault(require(\"./atelier-sulphurpool-light\"));\nvar _atomOneDarkReasonable = _interopRequireDefault(require(\"./atom-one-dark-reasonable\"));\nvar _atomOneDark = _interopRequireDefault(require(\"./atom-one-dark\"));\nvar _atomOneLight = _interopRequireDefault(require(\"./atom-one-light\"));\nvar _brownPaper = _interopRequireDefault(require(\"./brown-paper\"));\nvar _codepenEmbed = _interopRequireDefault(require(\"./codepen-embed\"));\nvar _colorBrewer = _interopRequireDefault(require(\"./color-brewer\"));\nvar _darcula = _interopRequireDefault(require(\"./darcula\"));\nvar _dark = _interopRequireDefault(require(\"./dark\"));\nvar _defaultStyle = _interopRequireDefault(require(\"./default-style\"));\nvar _docco = _interopRequireDefault(require(\"./docco\"));\nvar _dracula = _interopRequireDefault(require(\"./dracula\"));\nvar _far = _interopRequireDefault(require(\"./far\"));\nvar _foundation = _interopRequireDefault(require(\"./foundation\"));\nvar _githubGist = _interopRequireDefault(require(\"./github-gist\"));\nvar _github = _interopRequireDefault(require(\"./github\"));\nvar _gml = _interopRequireDefault(require(\"./gml\"));\nvar _googlecode = _interopRequireDefault(require(\"./googlecode\"));\nvar _gradientDark = _interopRequireDefault(require(\"./gradient-dark\"));\nvar _gradientLight = _interopRequireDefault(require(\"./gradient-light\"));\nvar _grayscale = _interopRequireDefault(require(\"./grayscale\"));\nvar _gruvboxDark = _interopRequireDefault(require(\"./gruvbox-dark\"));\nvar _gruvboxLight = _interopRequireDefault(require(\"./gruvbox-light\"));\nvar _hopscotch = _interopRequireDefault(require(\"./hopscotch\"));\nvar _hybrid = _interopRequireDefault(require(\"./hybrid\"));\nvar _idea = _interopRequireDefault(require(\"./idea\"));\nvar _irBlack = _interopRequireDefault(require(\"./ir-black\"));\nvar _isblEditorDark = _interopRequireDefault(require(\"./isbl-editor-dark\"));\nvar _isblEditorLight = _interopRequireDefault(require(\"./isbl-editor-light\"));\nvar _kimbie = _interopRequireDefault(require(\"./kimbie.dark\"));\nvar _kimbie2 = _interopRequireDefault(require(\"./kimbie.light\"));\nvar _lightfair = _interopRequireDefault(require(\"./lightfair\"));\nvar _lioshi = _interopRequireDefault(require(\"./lioshi\"));\nvar _magula = _interopRequireDefault(require(\"./magula\"));\nvar _monoBlue = _interopRequireDefault(require(\"./mono-blue\"));\nvar _monokaiSublime = _interopRequireDefault(require(\"./monokai-sublime\"));\nvar _monokai = _interopRequireDefault(require(\"./monokai\"));\nvar _nightOwl = _interopRequireDefault(require(\"./night-owl\"));\nvar _nnfxDark = _interopRequireDefault(require(\"./nnfx-dark\"));\nvar _nnfx = _interopRequireDefault(require(\"./nnfx\"));\nvar _nord = _interopRequireDefault(require(\"./nord\"));\nvar _obsidian = _interopRequireDefault(require(\"./obsidian\"));\nvar _ocean = _interopRequireDefault(require(\"./ocean\"));\nvar _paraisoDark = _interopRequireDefault(require(\"./paraiso-dark\"));\nvar _paraisoLight = _interopRequireDefault(require(\"./paraiso-light\"));\nvar _pojoaque = _interopRequireDefault(require(\"./pojoaque\"));\nvar _purebasic = _interopRequireDefault(require(\"./purebasic\"));\nvar _qtcreator_dark = _interopRequireDefault(require(\"./qtcreator_dark\"));\nvar _qtcreator_light = _interopRequireDefault(require(\"./qtcreator_light\"));\nvar _railscasts = _interopRequireDefault(require(\"./railscasts\"));\nvar _rainbow = _interopRequireDefault(require(\"./rainbow\"));\nvar _routeros = _interopRequireDefault(require(\"./routeros\"));\nvar _schoolBook = _interopRequireDefault(require(\"./school-book\"));\nvar _shadesOfPurple = _interopRequireDefault(require(\"./shades-of-purple\"));\nvar _solarizedDark = _interopRequireDefault(require(\"./solarized-dark\"));\nvar _solarizedLight = _interopRequireDefault(require(\"./solarized-light\"));\nvar _srcery = _interopRequireDefault(require(\"./srcery\"));\nvar _stackoverflowDark = _interopRequireDefault(require(\"./stackoverflow-dark\"));\nvar _stackoverflowLight = _interopRequireDefault(require(\"./stackoverflow-light\"));\nvar _sunburst = _interopRequireDefault(require(\"./sunburst\"));\nvar _tomorrowNightBlue = _interopRequireDefault(require(\"./tomorrow-night-blue\"));\nvar _tomorrowNightBright = _interopRequireDefault(require(\"./tomorrow-night-bright\"));\nvar _tomorrowNightEighties = _interopRequireDefault(require(\"./tomorrow-night-eighties\"));\nvar _tomorrowNight = _interopRequireDefault(require(\"./tomorrow-night\"));\nvar _tomorrow = _interopRequireDefault(require(\"./tomorrow\"));\nvar _vs = _interopRequireDefault(require(\"./vs\"));\nvar _vs2 = _interopRequireDefault(require(\"./vs2015\"));\nvar _xcode = _interopRequireDefault(require(\"./xcode\"));\nvar _xt = _interopRequireDefault(require(\"./xt256\"));\nvar _zenburn = _interopRequireDefault(require(\"./zenburn\"));","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports[\"default\"] = void 0;\nvar _default = exports[\"default\"] = {\n  \"hljs\": {\n    \"display\": \"block\",\n    \"overflowX\": \"auto\",\n    \"padding\": \"0.5em\",\n    \"background\": \"#011627\",\n    \"color\": \"#d6deeb\"\n  },\n  \"hljs-keyword\": {\n    \"color\": \"#c792ea\",\n    \"fontStyle\": \"italic\"\n  },\n  \"hljs-built_in\": {\n    \"color\": \"#addb67\",\n    \"fontStyle\": \"italic\"\n  },\n  \"hljs-type\": {\n    \"color\": \"#82aaff\"\n  },\n  \"hljs-literal\": {\n    \"color\": \"#ff5874\"\n  },\n  \"hljs-number\": {\n    \"color\": \"#F78C6C\"\n  },\n  \"hljs-regexp\": {\n    \"color\": \"#5ca7e4\"\n  },\n  \"hljs-string\": {\n    \"color\": \"#ecc48d\"\n  },\n  \"hljs-subst\": {\n    \"color\": \"#d3423e\"\n  },\n  \"hljs-symbol\": {\n    \"color\": \"#82aaff\"\n  },\n  \"hljs-class\": {\n    \"color\": \"#ffcb8b\"\n  },\n  \"hljs-function\": {\n    \"color\": \"#82AAFF\"\n  },\n  \"hljs-title\": {\n    \"color\": \"#DCDCAA\",\n    \"fontStyle\": \"italic\"\n  },\n  \"hljs-params\": {\n    \"color\": \"#7fdbca\"\n  },\n  \"hljs-comment\": {\n    \"color\": \"#637777\",\n    \"fontStyle\": \"italic\"\n  },\n  \"hljs-doctag\": {\n    \"color\": \"#7fdbca\"\n  },\n  \"hljs-meta\": {\n    \"color\": \"#82aaff\"\n  },\n  \"hljs-meta-keyword\": {\n    \"color\": \"#82aaff\"\n  },\n  \"hljs-meta-string\": {\n    \"color\": \"#ecc48d\"\n  },\n  \"hljs-section\": {\n    \"color\": \"#82b1ff\"\n  },\n  \"hljs-tag\": {\n    \"color\": \"#7fdbca\"\n  },\n  \"hljs-name\": {\n    \"color\": \"#7fdbca\"\n  },\n  \"hljs-builtin-name\": {\n    \"color\": \"#7fdbca\"\n  },\n  \"hljs-attr\": {\n    \"color\": \"#7fdbca\"\n  },\n  \"hljs-attribute\": {\n    \"color\": \"#80cbc4\"\n  },\n  \"hljs-variable\": {\n    \"color\": \"#addb67\"\n  },\n  \"hljs-bullet\": {\n    \"color\": \"#d9f5dd\"\n  },\n  \"hljs-code\": {\n    \"color\": \"#80CBC4\"\n  },\n  \"hljs-emphasis\": {\n    \"color\": \"#c792ea\",\n    \"fontStyle\": \"italic\"\n  },\n  \"hljs-strong\": {\n    \"color\": \"#addb67\",\n    \"fontWeight\": \"bold\"\n  },\n  \"hljs-formula\": {\n    \"color\": \"#c792ea\"\n  },\n  \"hljs-link\": {\n    \"color\": \"#ff869a\"\n  },\n  \"hljs-quote\": {\n    \"color\": \"#697098\",\n    \"fontStyle\": \"italic\"\n  },\n  \"hljs-selector-tag\": {\n    \"color\": \"#ff6363\"\n  },\n  \"hljs-selector-id\": {\n    \"color\": \"#fad430\"\n  },\n  \"hljs-selector-class\": {\n    \"color\": \"#addb67\",\n    \"fontStyle\": \"italic\"\n  },\n  \"hljs-selector-attr\": {\n    \"color\": \"#c792ea\",\n    \"fontStyle\": \"italic\"\n  },\n  \"hljs-selector-pseudo\": {\n    \"color\": \"#c792ea\",\n    \"fontStyle\": \"italic\"\n  },\n  \"hljs-template-tag\": {\n    \"color\": \"#c792ea\"\n  },\n  \"hljs-template-variable\": {\n    \"color\": \"#addb67\"\n  },\n  \"hljs-addition\": {\n    \"color\": \"#addb67ff\",\n    \"fontStyle\": \"italic\"\n  },\n  \"hljs-deletion\": {\n    \"color\": \"#EF535090\",\n    \"fontStyle\": \"italic\"\n  }\n};","/**\n * @param {string} value\n * @returns {RegExp}\n * */\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction source(re) {\n  if (!re) return null;\n  if (typeof re === \"string\") return re;\n\n  return re.source;\n}\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction lookahead(re) {\n  return concat('(?=', re, ')');\n}\n\n/**\n * @param {...(RegExp | string) } args\n * @returns {string}\n */\nfunction concat(...args) {\n  const joined = args.map((x) => source(x)).join(\"\");\n  return joined;\n}\n\n/*\n Language: Groovy\n Author: Guillaume Laforge \n Description: Groovy programming language implementation inspired from Vsevolod's Java mode\n Website: https://groovy-lang.org\n */\n\nfunction variants(variants, obj = {}) {\n  obj.variants = variants;\n  return obj;\n}\n\nfunction groovy(hljs) {\n  const IDENT_RE = '[A-Za-z0-9_$]+';\n  const COMMENT = variants([\n    hljs.C_LINE_COMMENT_MODE,\n    hljs.C_BLOCK_COMMENT_MODE,\n    hljs.COMMENT(\n      '/\\\\*\\\\*',\n      '\\\\*/',\n      {\n        relevance: 0,\n        contains: [\n          {\n            // eat up @'s in emails to prevent them to be recognized as doctags\n            begin: /\\w+@/,\n            relevance: 0\n          },\n          {\n            className: 'doctag',\n            begin: '@[A-Za-z]+'\n          }\n        ]\n      }\n    )\n  ]);\n  const REGEXP = {\n    className: 'regexp',\n    begin: /~?\\/[^\\/\\n]+\\//,\n    contains: [ hljs.BACKSLASH_ESCAPE ]\n  };\n  const NUMBER = variants([\n    hljs.BINARY_NUMBER_MODE,\n    hljs.C_NUMBER_MODE\n  ]);\n  const STRING = variants([\n    {\n      begin: /\"\"\"/,\n      end: /\"\"\"/\n    },\n    {\n      begin: /'''/,\n      end: /'''/\n    },\n    {\n      begin: \"\\\\$/\",\n      end: \"/\\\\$\",\n      relevance: 10\n    },\n    hljs.APOS_STRING_MODE,\n    hljs.QUOTE_STRING_MODE\n  ],\n  {\n    className: \"string\"\n  }\n  );\n\n  return {\n    name: 'Groovy',\n    keywords: {\n      built_in: 'this super',\n      literal: 'true false null',\n      keyword:\n            'byte short char int long boolean float double void ' +\n            // groovy specific keywords\n            'def as in assert trait ' +\n            // common keywords with Java\n            'abstract static volatile transient public private protected synchronized final ' +\n            'class interface enum if else for while switch case break default continue ' +\n            'throw throws try catch finally implements extends new import package return instanceof'\n    },\n    contains: [\n      hljs.SHEBANG({\n        binary: \"groovy\",\n        relevance: 10\n      }),\n      COMMENT,\n      STRING,\n      REGEXP,\n      NUMBER,\n      {\n        className: 'class',\n        beginKeywords: 'class interface trait enum',\n        end: /\\{/,\n        illegal: ':',\n        contains: [\n          {\n            beginKeywords: 'extends implements'\n          },\n          hljs.UNDERSCORE_TITLE_MODE\n        ]\n      },\n      {\n        className: 'meta',\n        begin: '@[A-Za-z]+',\n        relevance: 0\n      },\n      {\n        // highlight map keys and named parameters as attrs\n        className: 'attr',\n        begin: IDENT_RE + '[ \\t]*:',\n        relevance: 0\n      },\n      {\n        // catch middle element of the ternary operator\n        // to avoid highlight it as a label, named parameter, or map key\n        begin: /\\?/,\n        end: /:/,\n        relevance: 0,\n        contains: [\n          COMMENT,\n          STRING,\n          REGEXP,\n          NUMBER,\n          'self'\n        ]\n      },\n      {\n        // highlight labeled statements\n        className: 'symbol',\n        begin: '^[ \\t]*' + lookahead(IDENT_RE + ':'),\n        excludeBegin: true,\n        end: IDENT_RE + ':',\n        relevance: 0\n      }\n    ],\n    illegal: /#|<\\//\n  };\n}\n\nmodule.exports = groovy;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports[\"default\"] = void 0;\nvar _default = exports[\"default\"] = {\n  \"hljs\": {\n    \"display\": \"block\",\n    \"overflowX\": \"auto\",\n    \"padding\": \"0.5em\",\n    \"background\": \"white\",\n    \"color\": \"black\"\n  },\n  \"hljs-comment\": {\n    \"color\": \"#008000\"\n  },\n  \"hljs-quote\": {\n    \"color\": \"#008000\"\n  },\n  \"hljs-variable\": {\n    \"color\": \"#008000\"\n  },\n  \"hljs-keyword\": {\n    \"color\": \"#00f\"\n  },\n  \"hljs-selector-tag\": {\n    \"color\": \"#00f\"\n  },\n  \"hljs-built_in\": {\n    \"color\": \"#00f\"\n  },\n  \"hljs-name\": {\n    \"color\": \"#00f\"\n  },\n  \"hljs-tag\": {\n    \"color\": \"#00f\"\n  },\n  \"hljs-string\": {\n    \"color\": \"#a31515\"\n  },\n  \"hljs-title\": {\n    \"color\": \"#a31515\"\n  },\n  \"hljs-section\": {\n    \"color\": \"#a31515\"\n  },\n  \"hljs-attribute\": {\n    \"color\": \"#a31515\"\n  },\n  \"hljs-literal\": {\n    \"color\": \"#a31515\"\n  },\n  \"hljs-template-tag\": {\n    \"color\": \"#a31515\"\n  },\n  \"hljs-template-variable\": {\n    \"color\": \"#a31515\"\n  },\n  \"hljs-type\": {\n    \"color\": \"#a31515\"\n  },\n  \"hljs-addition\": {\n    \"color\": \"#a31515\"\n  },\n  \"hljs-deletion\": {\n    \"color\": \"#2b91af\"\n  },\n  \"hljs-selector-attr\": {\n    \"color\": \"#2b91af\"\n  },\n  \"hljs-selector-pseudo\": {\n    \"color\": \"#2b91af\"\n  },\n  \"hljs-meta\": {\n    \"color\": \"#2b91af\"\n  },\n  \"hljs-doctag\": {\n    \"color\": \"#808080\"\n  },\n  \"hljs-attr\": {\n    \"color\": \"#f00\"\n  },\n  \"hljs-symbol\": {\n    \"color\": \"#00b0e8\"\n  },\n  \"hljs-bullet\": {\n    \"color\": \"#00b0e8\"\n  },\n  \"hljs-link\": {\n    \"color\": \"#00b0e8\"\n  },\n  \"hljs-emphasis\": {\n    \"fontStyle\": \"italic\"\n  },\n  \"hljs-strong\": {\n    \"fontWeight\": \"bold\"\n  }\n};","/*\nLanguage: CSP\nDescription: Content Security Policy definition highlighting\nAuthor: Taras \nWebsite: https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP\n\nvim: ts=2 sw=2 st=2\n*/\n\n/** @type LanguageFn */\nfunction csp(hljs) {\n  return {\n    name: 'CSP',\n    case_insensitive: false,\n    keywords: {\n      $pattern: '[a-zA-Z][a-zA-Z0-9_-]*',\n      keyword: 'base-uri child-src connect-src default-src font-src form-action ' +\n        'frame-ancestors frame-src img-src media-src object-src plugin-types ' +\n        'report-uri sandbox script-src style-src'\n    },\n    contains: [\n      {\n        className: 'string',\n        begin: \"'\",\n        end: \"'\"\n      },\n      {\n        className: 'attribute',\n        begin: '^Content',\n        end: ':',\n        excludeEnd: true\n      }\n    ]\n  };\n}\n\nmodule.exports = csp;\n","/**\n * @param {string} value\n * @returns {RegExp}\n * */\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction source(re) {\n  if (!re) return null;\n  if (typeof re === \"string\") return re;\n\n  return re.source;\n}\n\n/**\n * @param {...(RegExp | string) } args\n * @returns {string}\n */\nfunction concat(...args) {\n  const joined = args.map((x) => source(x)).join(\"\");\n  return joined;\n}\n\n/*\nLanguage: Fortran\nAuthor: Anthony Scemama \nWebsite: https://en.wikipedia.org/wiki/Fortran\nCategory: scientific\n*/\n\n/** @type LanguageFn */\nfunction fortran(hljs) {\n  const PARAMS = {\n    className: 'params',\n    begin: '\\\\(',\n    end: '\\\\)'\n  };\n\n  const COMMENT = {\n    variants: [\n      hljs.COMMENT('!', '$', {\n        relevance: 0\n      }),\n      // allow FORTRAN 77 style comments\n      hljs.COMMENT('^C[ ]', '$', {\n        relevance: 0\n      }),\n      hljs.COMMENT('^C$', '$', {\n        relevance: 0\n      })\n    ]\n  };\n\n  // regex in both fortran and irpf90 should match\n  const OPTIONAL_NUMBER_SUFFIX = /(_[a-z_\\d]+)?/;\n  const OPTIONAL_NUMBER_EXP = /([de][+-]?\\d+)?/;\n  const NUMBER = {\n    className: 'number',\n    variants: [\n      {\n        begin: concat(/\\b\\d+/, /\\.(\\d*)/, OPTIONAL_NUMBER_EXP, OPTIONAL_NUMBER_SUFFIX)\n      },\n      {\n        begin: concat(/\\b\\d+/, OPTIONAL_NUMBER_EXP, OPTIONAL_NUMBER_SUFFIX)\n      },\n      {\n        begin: concat(/\\.\\d+/, OPTIONAL_NUMBER_EXP, OPTIONAL_NUMBER_SUFFIX)\n      }\n    ],\n    relevance: 0\n  };\n\n  const FUNCTION_DEF = {\n    className: 'function',\n    beginKeywords: 'subroutine function program',\n    illegal: '[${=\\\\n]',\n    contains: [\n      hljs.UNDERSCORE_TITLE_MODE,\n      PARAMS\n    ]\n  };\n\n  const STRING = {\n    className: 'string',\n    relevance: 0,\n    variants: [\n      hljs.APOS_STRING_MODE,\n      hljs.QUOTE_STRING_MODE\n    ]\n  };\n\n  const KEYWORDS = {\n    literal: '.False. .True.',\n    keyword: 'kind do concurrent local shared while private call intrinsic where elsewhere ' +\n      'type endtype endmodule endselect endinterface end enddo endif if forall endforall only contains default return stop then block endblock endassociate ' +\n      'public subroutine|10 function program .and. .or. .not. .le. .eq. .ge. .gt. .lt. ' +\n      'goto save else use module select case ' +\n      'access blank direct exist file fmt form formatted iostat name named nextrec number opened rec recl sequential status unformatted unit ' +\n      'continue format pause cycle exit ' +\n      'c_null_char c_alert c_backspace c_form_feed flush wait decimal round iomsg ' +\n      'synchronous nopass non_overridable pass protected volatile abstract extends import ' +\n      'non_intrinsic value deferred generic final enumerator class associate bind enum ' +\n      'c_int c_short c_long c_long_long c_signed_char c_size_t c_int8_t c_int16_t c_int32_t c_int64_t c_int_least8_t c_int_least16_t ' +\n      'c_int_least32_t c_int_least64_t c_int_fast8_t c_int_fast16_t c_int_fast32_t c_int_fast64_t c_intmax_t C_intptr_t c_float c_double ' +\n      'c_long_double c_float_complex c_double_complex c_long_double_complex c_bool c_char c_null_ptr c_null_funptr ' +\n      'c_new_line c_carriage_return c_horizontal_tab c_vertical_tab iso_c_binding c_loc c_funloc c_associated  c_f_pointer ' +\n      'c_ptr c_funptr iso_fortran_env character_storage_size error_unit file_storage_size input_unit iostat_end iostat_eor ' +\n      'numeric_storage_size output_unit c_f_procpointer ieee_arithmetic ieee_support_underflow_control ' +\n      'ieee_get_underflow_mode ieee_set_underflow_mode newunit contiguous recursive ' +\n      'pad position action delim readwrite eor advance nml interface procedure namelist include sequence elemental pure impure ' +\n      'integer real character complex logical codimension dimension allocatable|10 parameter ' +\n      'external implicit|10 none double precision assign intent optional pointer ' +\n      'target in out common equivalence data',\n    built_in: 'alog alog10 amax0 amax1 amin0 amin1 amod cabs ccos cexp clog csin csqrt dabs dacos dasin datan datan2 dcos dcosh ddim dexp dint ' +\n      'dlog dlog10 dmax1 dmin1 dmod dnint dsign dsin dsinh dsqrt dtan dtanh float iabs idim idint idnint ifix isign max0 max1 min0 min1 sngl ' +\n      'algama cdabs cdcos cdexp cdlog cdsin cdsqrt cqabs cqcos cqexp cqlog cqsin cqsqrt dcmplx dconjg derf derfc dfloat dgamma dimag dlgama ' +\n      'iqint qabs qacos qasin qatan qatan2 qcmplx qconjg qcos qcosh qdim qerf qerfc qexp qgamma qimag qlgama qlog qlog10 qmax1 qmin1 qmod ' +\n      'qnint qsign qsin qsinh qsqrt qtan qtanh abs acos aimag aint anint asin atan atan2 char cmplx conjg cos cosh exp ichar index int log ' +\n      'log10 max min nint sign sin sinh sqrt tan tanh print write dim lge lgt lle llt mod nullify allocate deallocate ' +\n      'adjustl adjustr all allocated any associated bit_size btest ceiling count cshift date_and_time digits dot_product ' +\n      'eoshift epsilon exponent floor fraction huge iand ibclr ibits ibset ieor ior ishft ishftc lbound len_trim matmul ' +\n      'maxexponent maxloc maxval merge minexponent minloc minval modulo mvbits nearest pack present product ' +\n      'radix random_number random_seed range repeat reshape rrspacing scale scan selected_int_kind selected_real_kind ' +\n      'set_exponent shape size spacing spread sum system_clock tiny transpose trim ubound unpack verify achar iachar transfer ' +\n      'dble entry dprod cpu_time command_argument_count get_command get_command_argument get_environment_variable is_iostat_end ' +\n      'ieee_arithmetic ieee_support_underflow_control ieee_get_underflow_mode ieee_set_underflow_mode ' +\n      'is_iostat_eor move_alloc new_line selected_char_kind same_type_as extends_type_of ' +\n      'acosh asinh atanh bessel_j0 bessel_j1 bessel_jn bessel_y0 bessel_y1 bessel_yn erf erfc erfc_scaled gamma log_gamma hypot norm2 ' +\n      'atomic_define atomic_ref execute_command_line leadz trailz storage_size merge_bits ' +\n      'bge bgt ble blt dshiftl dshiftr findloc iall iany iparity image_index lcobound ucobound maskl maskr ' +\n      'num_images parity popcnt poppar shifta shiftl shiftr this_image sync change team co_broadcast co_max co_min co_sum co_reduce'\n  };\n  return {\n    name: 'Fortran',\n    case_insensitive: true,\n    aliases: [\n      'f90',\n      'f95'\n    ],\n    keywords: KEYWORDS,\n    illegal: /\\/\\*/,\n    contains: [\n      STRING,\n      FUNCTION_DEF,\n      // allow `C = value` for assignments so they aren't misdetected\n      // as Fortran 77 style comments\n      {\n        begin: /^C\\s*=(?!=)/,\n        relevance: 0\n      },\n      COMMENT,\n      NUMBER\n    ]\n  };\n}\n\nmodule.exports = fortran;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports[\"default\"] = void 0;\nvar _default = exports[\"default\"] = {\n  \"hljs\": {\n    \"display\": \"block\",\n    \"overflowX\": \"auto\",\n    \"padding\": \"0.5em\",\n    \"color\": \"#000\",\n    \"background\": \"#fff\"\n  },\n  \"hljs-subst\": {\n    \"fontWeight\": \"normal\",\n    \"color\": \"#000\"\n  },\n  \"hljs-title\": {\n    \"fontWeight\": \"normal\",\n    \"color\": \"#000\"\n  },\n  \"hljs-comment\": {\n    \"color\": \"#808080\",\n    \"fontStyle\": \"italic\"\n  },\n  \"hljs-quote\": {\n    \"color\": \"#808080\",\n    \"fontStyle\": \"italic\"\n  },\n  \"hljs-meta\": {\n    \"color\": \"#808000\"\n  },\n  \"hljs-tag\": {\n    \"background\": \"#efefef\"\n  },\n  \"hljs-section\": {\n    \"fontWeight\": \"bold\",\n    \"color\": \"#000080\"\n  },\n  \"hljs-name\": {\n    \"fontWeight\": \"bold\",\n    \"color\": \"#000080\"\n  },\n  \"hljs-literal\": {\n    \"fontWeight\": \"bold\",\n    \"color\": \"#000080\"\n  },\n  \"hljs-keyword\": {\n    \"fontWeight\": \"bold\",\n    \"color\": \"#000080\"\n  },\n  \"hljs-selector-tag\": {\n    \"fontWeight\": \"bold\",\n    \"color\": \"#000080\"\n  },\n  \"hljs-type\": {\n    \"fontWeight\": \"bold\",\n    \"color\": \"#000080\"\n  },\n  \"hljs-selector-id\": {\n    \"fontWeight\": \"bold\",\n    \"color\": \"#000080\"\n  },\n  \"hljs-selector-class\": {\n    \"fontWeight\": \"bold\",\n    \"color\": \"#000080\"\n  },\n  \"hljs-attribute\": {\n    \"fontWeight\": \"bold\",\n    \"color\": \"#0000ff\"\n  },\n  \"hljs-number\": {\n    \"fontWeight\": \"normal\",\n    \"color\": \"#0000ff\"\n  },\n  \"hljs-regexp\": {\n    \"fontWeight\": \"normal\",\n    \"color\": \"#0000ff\"\n  },\n  \"hljs-link\": {\n    \"fontWeight\": \"normal\",\n    \"color\": \"#0000ff\"\n  },\n  \"hljs-string\": {\n    \"color\": \"#008000\",\n    \"fontWeight\": \"bold\"\n  },\n  \"hljs-symbol\": {\n    \"color\": \"#000\",\n    \"background\": \"#d0eded\",\n    \"fontStyle\": \"italic\"\n  },\n  \"hljs-bullet\": {\n    \"color\": \"#000\",\n    \"background\": \"#d0eded\",\n    \"fontStyle\": \"italic\"\n  },\n  \"hljs-formula\": {\n    \"color\": \"#000\",\n    \"background\": \"#d0eded\",\n    \"fontStyle\": \"italic\"\n  },\n  \"hljs-doctag\": {\n    \"textDecoration\": \"underline\"\n  },\n  \"hljs-variable\": {\n    \"color\": \"#660e7a\"\n  },\n  \"hljs-template-variable\": {\n    \"color\": \"#660e7a\"\n  },\n  \"hljs-addition\": {\n    \"background\": \"#baeeba\"\n  },\n  \"hljs-deletion\": {\n    \"background\": \"#ffc8bd\"\n  },\n  \"hljs-emphasis\": {\n    \"fontStyle\": \"italic\"\n  },\n  \"hljs-strong\": {\n    \"fontWeight\": \"bold\"\n  }\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports[\"default\"] = void 0;\nvar _default = exports[\"default\"] = {\n  \"hljs\": {\n    \"display\": \"block\",\n    \"overflowX\": \"auto\",\n    \"padding\": \"0.5em\",\n    \"background\": \"#282a36\",\n    \"color\": \"#f8f8f2\"\n  },\n  \"hljs-keyword\": {\n    \"color\": \"#8be9fd\",\n    \"fontWeight\": \"bold\"\n  },\n  \"hljs-selector-tag\": {\n    \"color\": \"#8be9fd\",\n    \"fontWeight\": \"bold\"\n  },\n  \"hljs-literal\": {\n    \"color\": \"#8be9fd\",\n    \"fontWeight\": \"bold\"\n  },\n  \"hljs-section\": {\n    \"color\": \"#8be9fd\",\n    \"fontWeight\": \"bold\"\n  },\n  \"hljs-link\": {\n    \"color\": \"#8be9fd\"\n  },\n  \"hljs-function .hljs-keyword\": {\n    \"color\": \"#ff79c6\"\n  },\n  \"hljs-subst\": {\n    \"color\": \"#f8f8f2\"\n  },\n  \"hljs-string\": {\n    \"color\": \"#f1fa8c\"\n  },\n  \"hljs-title\": {\n    \"color\": \"#f1fa8c\",\n    \"fontWeight\": \"bold\"\n  },\n  \"hljs-name\": {\n    \"color\": \"#f1fa8c\",\n    \"fontWeight\": \"bold\"\n  },\n  \"hljs-type\": {\n    \"color\": \"#f1fa8c\",\n    \"fontWeight\": \"bold\"\n  },\n  \"hljs-attribute\": {\n    \"color\": \"#f1fa8c\"\n  },\n  \"hljs-symbol\": {\n    \"color\": \"#f1fa8c\"\n  },\n  \"hljs-bullet\": {\n    \"color\": \"#f1fa8c\"\n  },\n  \"hljs-addition\": {\n    \"color\": \"#f1fa8c\"\n  },\n  \"hljs-variable\": {\n    \"color\": \"#f1fa8c\"\n  },\n  \"hljs-template-tag\": {\n    \"color\": \"#f1fa8c\"\n  },\n  \"hljs-template-variable\": {\n    \"color\": \"#f1fa8c\"\n  },\n  \"hljs-comment\": {\n    \"color\": \"#6272a4\"\n  },\n  \"hljs-quote\": {\n    \"color\": \"#6272a4\"\n  },\n  \"hljs-deletion\": {\n    \"color\": \"#6272a4\"\n  },\n  \"hljs-meta\": {\n    \"color\": \"#6272a4\"\n  },\n  \"hljs-doctag\": {\n    \"fontWeight\": \"bold\"\n  },\n  \"hljs-strong\": {\n    \"fontWeight\": \"bold\"\n  },\n  \"hljs-emphasis\": {\n    \"fontStyle\": \"italic\"\n  }\n};","/*\nLanguage: Microtik RouterOS script\nAuthor: Ivan Dementev \nDescription: Scripting host provides a way to automate some router maintenance tasks by means of executing user-defined scripts bounded to some event occurrence\nWebsite: https://wiki.mikrotik.com/wiki/Manual:Scripting\n*/\n\n// Colors from RouterOS terminal:\n//   green        - #0E9A00\n//   teal         - #0C9A9A\n//   purple       - #99069A\n//   light-brown  - #9A9900\n\nfunction routeros(hljs) {\n  const STATEMENTS = 'foreach do while for if from to step else on-error and or not in';\n\n  // Global commands: Every global command should start with \":\" token, otherwise it will be treated as variable.\n  const GLOBAL_COMMANDS = 'global local beep delay put len typeof pick log time set find environment terminal error execute parse resolve toarray tobool toid toip toip6 tonum tostr totime';\n\n  // Common commands: Following commands available from most sub-menus:\n  const COMMON_COMMANDS = 'add remove enable disable set get print export edit find run debug error info warning';\n\n  const LITERALS = 'true false yes no nothing nil null';\n\n  const OBJECTS = 'traffic-flow traffic-generator firewall scheduler aaa accounting address-list address align area bandwidth-server bfd bgp bridge client clock community config connection console customer default dhcp-client dhcp-server discovery dns e-mail ethernet filter firmware gps graphing group hardware health hotspot identity igmp-proxy incoming instance interface ip ipsec ipv6 irq l2tp-server lcd ldp logging mac-server mac-winbox mangle manual mirror mme mpls nat nd neighbor network note ntp ospf ospf-v3 ovpn-server page peer pim ping policy pool port ppp pppoe-client pptp-server prefix profile proposal proxy queue radius resource rip ripng route routing screen script security-profiles server service service-port settings shares smb sms sniffer snmp snooper socks sstp-server system tool tracking type upgrade upnp user-manager users user vlan secret vrrp watchdog web-access wireless pptp pppoe lan wan layer7-protocol lease simple raw';\n\n  const VAR = {\n    className: 'variable',\n    variants: [\n      {\n        begin: /\\$[\\w\\d#@][\\w\\d_]*/\n      },\n      {\n        begin: /\\$\\{(.*?)\\}/\n      }\n    ]\n  };\n\n  const QUOTE_STRING = {\n    className: 'string',\n    begin: /\"/,\n    end: /\"/,\n    contains: [\n      hljs.BACKSLASH_ESCAPE,\n      VAR,\n      {\n        className: 'variable',\n        begin: /\\$\\(/,\n        end: /\\)/,\n        contains: [ hljs.BACKSLASH_ESCAPE ]\n      }\n    ]\n  };\n\n  const APOS_STRING = {\n    className: 'string',\n    begin: /'/,\n    end: /'/\n  };\n\n  return {\n    name: 'Microtik RouterOS script',\n    aliases: [\n      'mikrotik'\n    ],\n    case_insensitive: true,\n    keywords: {\n      $pattern: /:?[\\w-]+/,\n      literal: LITERALS,\n      keyword: STATEMENTS + ' :' + STATEMENTS.split(' ').join(' :') + ' :' + GLOBAL_COMMANDS.split(' ').join(' :')\n    },\n    contains: [\n      { // illegal syntax\n        variants: [\n          { // -- comment\n            begin: /\\/\\*/,\n            end: /\\*\\//\n          },\n          { // Stan comment\n            begin: /\\/\\//,\n            end: /$/\n          },\n          { // HTML tags\n            begin: /<\\//,\n            end: />/\n          }\n        ],\n        illegal: /./\n      },\n      hljs.COMMENT('^#', '$'),\n      QUOTE_STRING,\n      APOS_STRING,\n      VAR,\n      // attribute=value\n      {\n        // > is to avoid matches with => in other grammars\n        begin: /[\\w-]+=([^\\s{}[\\]()>]+)/,\n        relevance: 0,\n        returnBegin: true,\n        contains: [\n          {\n            className: 'attribute',\n            begin: /[^=]+/\n          },\n          {\n            begin: /=/,\n            endsWithParent: true,\n            relevance: 0,\n            contains: [\n              QUOTE_STRING,\n              APOS_STRING,\n              VAR,\n              {\n                className: 'literal',\n                begin: '\\\\b(' + LITERALS.split(' ').join('|') + ')\\\\b'\n              },\n              {\n                // Do not format unclassified values. Needed to exclude highlighting of values as built_in.\n                begin: /(\"[^\"]*\"|[^\\s{}[\\]]+)/\n              }\n              /*\n              {\n                // IPv4 addresses and subnets\n                className: 'number',\n                variants: [\n                  {begin: IPADDR_wBITMASK+'(,'+IPADDR_wBITMASK+')*'}, //192.168.0.0/24,1.2.3.0/24\n                  {begin: IPADDR+'-'+IPADDR},       // 192.168.0.1-192.168.0.3\n                  {begin: IPADDR+'(,'+IPADDR+')*'}, // 192.168.0.1,192.168.0.34,192.168.24.1,192.168.0.1\n                ]\n              },\n              {\n                // MAC addresses and DHCP Client IDs\n                className: 'number',\n                begin: /\\b(1:)?([0-9A-Fa-f]{1,2}[:-]){5}([0-9A-Fa-f]){1,2}\\b/,\n              },\n              */\n            ]\n          }\n        ]\n      },\n      {\n        // HEX values\n        className: 'number',\n        begin: /\\*[0-9a-fA-F]+/\n      },\n      {\n        begin: '\\\\b(' + COMMON_COMMANDS.split(' ').join('|') + ')([\\\\s[(\\\\]|])',\n        returnBegin: true,\n        contains: [\n          {\n            className: 'builtin-name', // 'function',\n            begin: /\\w+/\n          }\n        ]\n      },\n      {\n        className: 'built_in',\n        variants: [\n          {\n            begin: '(\\\\.\\\\./|/|\\\\s)((' + OBJECTS.split(' ').join('|') + ');?\\\\s)+'\n          },\n          {\n            begin: /\\.\\./,\n            relevance: 0\n          }\n        ]\n      }\n    ]\n  };\n}\n\nmodule.exports = routeros;\n","/**\n * @param {string} value\n * @returns {RegExp}\n * */\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction source(re) {\n  if (!re) return null;\n  if (typeof re === \"string\") return re;\n\n  return re.source;\n}\n\n/**\n * @param {...(RegExp | string) } args\n * @returns {string}\n */\nfunction concat(...args) {\n  const joined = args.map((x) => source(x)).join(\"\");\n  return joined;\n}\n\n/*\nLanguage: Bash\nAuthor: vah \nContributrors: Benjamin Pannell \nWebsite: https://www.gnu.org/software/bash/\nCategory: common\n*/\n\n/** @type LanguageFn */\nfunction bash(hljs) {\n  const VAR = {};\n  const BRACED_VAR = {\n    begin: /\\$\\{/,\n    end:/\\}/,\n    contains: [\n      \"self\",\n      {\n        begin: /:-/,\n        contains: [ VAR ]\n      } // default values\n    ]\n  };\n  Object.assign(VAR,{\n    className: 'variable',\n    variants: [\n      {begin: concat(/\\$[\\w\\d#@][\\w\\d_]*/,\n        // negative look-ahead tries to avoid matching patterns that are not\n        // Perl at all like $ident$, @ident@, etc.\n        `(?![\\\\w\\\\d])(?![$])`) },\n      BRACED_VAR\n    ]\n  });\n\n  const SUBST = {\n    className: 'subst',\n    begin: /\\$\\(/, end: /\\)/,\n    contains: [hljs.BACKSLASH_ESCAPE]\n  };\n  const HERE_DOC = {\n    begin: /<<-?\\s*(?=\\w+)/,\n    starts: {\n      contains: [\n        hljs.END_SAME_AS_BEGIN({\n          begin: /(\\w+)/,\n          end: /(\\w+)/,\n          className: 'string'\n        })\n      ]\n    }\n  };\n  const QUOTE_STRING = {\n    className: 'string',\n    begin: /\"/, end: /\"/,\n    contains: [\n      hljs.BACKSLASH_ESCAPE,\n      VAR,\n      SUBST\n    ]\n  };\n  SUBST.contains.push(QUOTE_STRING);\n  const ESCAPED_QUOTE = {\n    className: '',\n    begin: /\\\\\"/\n\n  };\n  const APOS_STRING = {\n    className: 'string',\n    begin: /'/, end: /'/\n  };\n  const ARITHMETIC = {\n    begin: /\\$\\(\\(/,\n    end: /\\)\\)/,\n    contains: [\n      { begin: /\\d+#[0-9a-f]+/, className: \"number\" },\n      hljs.NUMBER_MODE,\n      VAR\n    ]\n  };\n  const SH_LIKE_SHELLS = [\n    \"fish\",\n    \"bash\",\n    \"zsh\",\n    \"sh\",\n    \"csh\",\n    \"ksh\",\n    \"tcsh\",\n    \"dash\",\n    \"scsh\",\n  ];\n  const KNOWN_SHEBANG = hljs.SHEBANG({\n    binary: `(${SH_LIKE_SHELLS.join(\"|\")})`,\n    relevance: 10\n  });\n  const FUNCTION = {\n    className: 'function',\n    begin: /\\w[\\w\\d_]*\\s*\\(\\s*\\)\\s*\\{/,\n    returnBegin: true,\n    contains: [hljs.inherit(hljs.TITLE_MODE, {begin: /\\w[\\w\\d_]*/})],\n    relevance: 0\n  };\n\n  return {\n    name: 'Bash',\n    aliases: ['sh', 'zsh'],\n    keywords: {\n      $pattern: /\\b[a-z._-]+\\b/,\n      keyword:\n        'if then else elif fi for while in do done case esac function',\n      literal:\n        'true false',\n      built_in:\n        // Shell built-ins\n        // http://www.gnu.org/software/bash/manual/html_node/Shell-Builtin-Commands.html\n        'break cd continue eval exec exit export getopts hash pwd readonly return shift test times ' +\n        'trap umask unset ' +\n        // Bash built-ins\n        'alias bind builtin caller command declare echo enable help let local logout mapfile printf ' +\n        'read readarray source type typeset ulimit unalias ' +\n        // Shell modifiers\n        'set shopt ' +\n        // Zsh built-ins\n        'autoload bg bindkey bye cap chdir clone comparguments compcall compctl compdescribe compfiles ' +\n        'compgroups compquote comptags comptry compvalues dirs disable disown echotc echoti emulate ' +\n        'fc fg float functions getcap getln history integer jobs kill limit log noglob popd print ' +\n        'pushd pushln rehash sched setcap setopt stat suspend ttyctl unfunction unhash unlimit ' +\n        'unsetopt vared wait whence where which zcompile zformat zftp zle zmodload zparseopts zprof ' +\n        'zpty zregexparse zsocket zstyle ztcp'\n    },\n    contains: [\n      KNOWN_SHEBANG, // to catch known shells and boost relevancy\n      hljs.SHEBANG(), // to catch unknown shells but still highlight the shebang\n      FUNCTION,\n      ARITHMETIC,\n      hljs.HASH_COMMENT_MODE,\n      HERE_DOC,\n      QUOTE_STRING,\n      ESCAPED_QUOTE,\n      APOS_STRING,\n      VAR\n    ]\n  };\n}\n\nmodule.exports = bash;\n","'use strict'\n\nvar high = require('highlight.js/lib/core')\nvar fault = require('fault')\n\nexports.highlight = highlight\nexports.highlightAuto = highlightAuto\nexports.registerLanguage = registerLanguage\nexports.listLanguages = listLanguages\nexports.registerAlias = registerAlias\n\nEmitter.prototype.addText = text\nEmitter.prototype.addKeyword = addKeyword\nEmitter.prototype.addSublanguage = addSublanguage\nEmitter.prototype.openNode = open\nEmitter.prototype.closeNode = close\nEmitter.prototype.closeAllNodes = noop\nEmitter.prototype.finalize = noop\nEmitter.prototype.toHTML = toHtmlNoop\n\nvar defaultPrefix = 'hljs-'\n\n// Highlighting `value` in the language `name`.\nfunction highlight(name, value, options) {\n  var before = high.configure({})\n  var settings = options || {}\n  var prefix = settings.prefix\n  var result\n\n  if (typeof name !== 'string') {\n    throw fault('Expected `string` for name, got `%s`', name)\n  }\n\n  if (!high.getLanguage(name)) {\n    throw fault('Unknown language: `%s` is not registered', name)\n  }\n\n  if (typeof value !== 'string') {\n    throw fault('Expected `string` for value, got `%s`', value)\n  }\n\n  if (prefix === null || prefix === undefined) {\n    prefix = defaultPrefix\n  }\n\n  high.configure({__emitter: Emitter, classPrefix: prefix})\n\n  result = high.highlight(value, {language: name, ignoreIllegals: true})\n\n  high.configure(before || {})\n\n  /* istanbul ignore if - Highlight.js seems to use this (currently) for broken\n   * grammars, so let’s keep it in there just to be sure. */\n  if (result.errorRaised) {\n    throw result.errorRaised\n  }\n\n  return {\n    relevance: result.relevance,\n    language: result.language,\n    value: result.emitter.rootNode.children\n  }\n}\n\nfunction highlightAuto(value, options) {\n  var settings = options || {}\n  var subset = settings.subset || high.listLanguages()\n  var prefix = settings.prefix\n  var length = subset.length\n  var index = -1\n  var result\n  var secondBest\n  var current\n  var name\n\n  if (prefix === null || prefix === undefined) {\n    prefix = defaultPrefix\n  }\n\n  if (typeof value !== 'string') {\n    throw fault('Expected `string` for value, got `%s`', value)\n  }\n\n  secondBest = {relevance: 0, language: null, value: []}\n  result = {relevance: 0, language: null, value: []}\n\n  while (++index < length) {\n    name = subset[index]\n\n    if (!high.getLanguage(name)) {\n      continue\n    }\n\n    current = highlight(name, value, options)\n    current.language = name\n\n    if (current.relevance > secondBest.relevance) {\n      secondBest = current\n    }\n\n    if (current.relevance > result.relevance) {\n      secondBest = result\n      result = current\n    }\n  }\n\n  if (secondBest.language) {\n    result.secondBest = secondBest\n  }\n\n  return result\n}\n\n// Register a language.\nfunction registerLanguage(name, syntax) {\n  high.registerLanguage(name, syntax)\n}\n\n// Get a list of all registered languages.\nfunction listLanguages() {\n  return high.listLanguages()\n}\n\n// Register more aliases for an already registered language.\nfunction registerAlias(name, alias) {\n  var map = name\n  var key\n\n  if (alias) {\n    map = {}\n    map[name] = alias\n  }\n\n  for (key in map) {\n    high.registerAliases(map[key], {languageName: key})\n  }\n}\n\nfunction Emitter(options) {\n  this.options = options\n  this.rootNode = {children: []}\n  this.stack = [this.rootNode]\n}\n\nfunction addKeyword(value, name) {\n  this.openNode(name)\n  this.addText(value)\n  this.closeNode()\n}\n\nfunction addSublanguage(other, name) {\n  var stack = this.stack\n  var current = stack[stack.length - 1]\n  var results = other.rootNode.children\n  var node = name\n    ? {\n        type: 'element',\n        tagName: 'span',\n        properties: {className: [name]},\n        children: results\n      }\n    : results\n\n  current.children = current.children.concat(node)\n}\n\nfunction text(value) {\n  var stack = this.stack\n  var current\n  var tail\n\n  if (value === '') return\n\n  current = stack[stack.length - 1]\n  tail = current.children[current.children.length - 1]\n\n  if (tail && tail.type === 'text') {\n    tail.value += value\n  } else {\n    current.children.push({type: 'text', value: value})\n  }\n}\n\nfunction open(name) {\n  var stack = this.stack\n  var className = this.options.classPrefix + name\n  var current = stack[stack.length - 1]\n  var child = {\n    type: 'element',\n    tagName: 'span',\n    properties: {className: [className]},\n    children: []\n  }\n\n  current.children.push(child)\n  stack.push(child)\n}\n\nfunction close() {\n  this.stack.pop()\n}\n\nfunction toHtmlNoop() {\n  return ''\n}\n\nfunction noop() {}\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports[\"default\"] = void 0;\nvar _default = exports[\"default\"] = {\n  \"hljs\": {\n    \"display\": \"block\",\n    \"overflowX\": \"auto\",\n    \"padding\": \"0.5em\",\n    \"background\": \"#fff\",\n    \"color\": \"#000\"\n  },\n  \"hljs-subst\": {\n    \"color\": \"#000\"\n  },\n  \"hljs-string\": {\n    \"color\": \"#756bb1\"\n  },\n  \"hljs-meta\": {\n    \"color\": \"#756bb1\"\n  },\n  \"hljs-symbol\": {\n    \"color\": \"#756bb1\"\n  },\n  \"hljs-template-tag\": {\n    \"color\": \"#756bb1\"\n  },\n  \"hljs-template-variable\": {\n    \"color\": \"#756bb1\"\n  },\n  \"hljs-addition\": {\n    \"color\": \"#756bb1\"\n  },\n  \"hljs-comment\": {\n    \"color\": \"#636363\"\n  },\n  \"hljs-quote\": {\n    \"color\": \"#636363\"\n  },\n  \"hljs-number\": {\n    \"color\": \"#31a354\"\n  },\n  \"hljs-regexp\": {\n    \"color\": \"#31a354\"\n  },\n  \"hljs-literal\": {\n    \"color\": \"#31a354\"\n  },\n  \"hljs-bullet\": {\n    \"color\": \"#31a354\"\n  },\n  \"hljs-link\": {\n    \"color\": \"#31a354\"\n  },\n  \"hljs-deletion\": {\n    \"color\": \"#88f\"\n  },\n  \"hljs-variable\": {\n    \"color\": \"#88f\"\n  },\n  \"hljs-keyword\": {\n    \"color\": \"#3182bd\"\n  },\n  \"hljs-selector-tag\": {\n    \"color\": \"#3182bd\"\n  },\n  \"hljs-title\": {\n    \"color\": \"#3182bd\"\n  },\n  \"hljs-section\": {\n    \"color\": \"#3182bd\"\n  },\n  \"hljs-built_in\": {\n    \"color\": \"#3182bd\"\n  },\n  \"hljs-doctag\": {\n    \"color\": \"#3182bd\"\n  },\n  \"hljs-type\": {\n    \"color\": \"#3182bd\"\n  },\n  \"hljs-tag\": {\n    \"color\": \"#3182bd\"\n  },\n  \"hljs-name\": {\n    \"color\": \"#3182bd\"\n  },\n  \"hljs-selector-id\": {\n    \"color\": \"#3182bd\"\n  },\n  \"hljs-selector-class\": {\n    \"color\": \"#3182bd\"\n  },\n  \"hljs-strong\": {\n    \"color\": \"#3182bd\"\n  },\n  \"hljs-emphasis\": {\n    \"fontStyle\": \"italic\"\n  },\n  \"hljs-attribute\": {\n    \"color\": \"#e6550d\"\n  }\n};","/*\nLanguage: ISBL\nAuthor: Dmitriy Tarasov \nDescription: built-in language DIRECTUM\nCategory: enterprise\n*/\n\nfunction isbl(hljs) {\n  // Определение идентификаторов\n  const UNDERSCORE_IDENT_RE = \"[A-Za-zА-Яа-яёЁ_!][A-Za-zА-Яа-яёЁ_0-9]*\";\n\n  // Определение имен функций\n  const FUNCTION_NAME_IDENT_RE = \"[A-Za-zА-Яа-яёЁ_][A-Za-zА-Яа-яёЁ_0-9]*\";\n\n  // keyword : ключевые слова\n  const KEYWORD =\n    \"and и else иначе endexcept endfinally endforeach конецвсе endif конецесли endwhile конецпока \" +\n    \"except exitfor finally foreach все if если in в not не or или try while пока \";\n\n  // SYSRES Constants\n  const sysres_constants =\n    \"SYSRES_CONST_ACCES_RIGHT_TYPE_EDIT \" +\n    \"SYSRES_CONST_ACCES_RIGHT_TYPE_FULL \" +\n    \"SYSRES_CONST_ACCES_RIGHT_TYPE_VIEW \" +\n    \"SYSRES_CONST_ACCESS_MODE_REQUISITE_CODE \" +\n    \"SYSRES_CONST_ACCESS_NO_ACCESS_VIEW \" +\n    \"SYSRES_CONST_ACCESS_NO_ACCESS_VIEW_CODE \" +\n    \"SYSRES_CONST_ACCESS_RIGHTS_ADD_REQUISITE_CODE \" +\n    \"SYSRES_CONST_ACCESS_RIGHTS_ADD_REQUISITE_YES_CODE \" +\n    \"SYSRES_CONST_ACCESS_RIGHTS_CHANGE_REQUISITE_CODE \" +\n    \"SYSRES_CONST_ACCESS_RIGHTS_CHANGE_REQUISITE_YES_CODE \" +\n    \"SYSRES_CONST_ACCESS_RIGHTS_DELETE_REQUISITE_CODE \" +\n    \"SYSRES_CONST_ACCESS_RIGHTS_DELETE_REQUISITE_YES_CODE \" +\n    \"SYSRES_CONST_ACCESS_RIGHTS_EXECUTE_REQUISITE_CODE \" +\n    \"SYSRES_CONST_ACCESS_RIGHTS_EXECUTE_REQUISITE_YES_CODE \" +\n    \"SYSRES_CONST_ACCESS_RIGHTS_NO_ACCESS_REQUISITE_CODE \" +\n    \"SYSRES_CONST_ACCESS_RIGHTS_NO_ACCESS_REQUISITE_YES_CODE \" +\n    \"SYSRES_CONST_ACCESS_RIGHTS_RATIFY_REQUISITE_CODE \" +\n    \"SYSRES_CONST_ACCESS_RIGHTS_RATIFY_REQUISITE_YES_CODE \" +\n    \"SYSRES_CONST_ACCESS_RIGHTS_REQUISITE_CODE \" +\n    \"SYSRES_CONST_ACCESS_RIGHTS_VIEW \" +\n    \"SYSRES_CONST_ACCESS_RIGHTS_VIEW_CODE \" +\n    \"SYSRES_CONST_ACCESS_RIGHTS_VIEW_REQUISITE_CODE \" +\n    \"SYSRES_CONST_ACCESS_RIGHTS_VIEW_REQUISITE_YES_CODE \" +\n    \"SYSRES_CONST_ACCESS_TYPE_CHANGE \" +\n    \"SYSRES_CONST_ACCESS_TYPE_CHANGE_CODE \" +\n    \"SYSRES_CONST_ACCESS_TYPE_EXISTS \" +\n    \"SYSRES_CONST_ACCESS_TYPE_EXISTS_CODE \" +\n    \"SYSRES_CONST_ACCESS_TYPE_FULL \" +\n    \"SYSRES_CONST_ACCESS_TYPE_FULL_CODE \" +\n    \"SYSRES_CONST_ACCESS_TYPE_VIEW \" +\n    \"SYSRES_CONST_ACCESS_TYPE_VIEW_CODE \" +\n    \"SYSRES_CONST_ACTION_TYPE_ABORT \" +\n    \"SYSRES_CONST_ACTION_TYPE_ACCEPT \" +\n    \"SYSRES_CONST_ACTION_TYPE_ACCESS_RIGHTS \" +\n    \"SYSRES_CONST_ACTION_TYPE_ADD_ATTACHMENT \" +\n    \"SYSRES_CONST_ACTION_TYPE_CHANGE_CARD \" +\n    \"SYSRES_CONST_ACTION_TYPE_CHANGE_KIND \" +\n    \"SYSRES_CONST_ACTION_TYPE_CHANGE_STORAGE \" +\n    \"SYSRES_CONST_ACTION_TYPE_CONTINUE \" +\n    \"SYSRES_CONST_ACTION_TYPE_COPY \" +\n    \"SYSRES_CONST_ACTION_TYPE_CREATE \" +\n    \"SYSRES_CONST_ACTION_TYPE_CREATE_VERSION \" +\n    \"SYSRES_CONST_ACTION_TYPE_DELETE \" +\n    \"SYSRES_CONST_ACTION_TYPE_DELETE_ATTACHMENT \" +\n    \"SYSRES_CONST_ACTION_TYPE_DELETE_VERSION \" +\n    \"SYSRES_CONST_ACTION_TYPE_DISABLE_DELEGATE_ACCESS_RIGHTS \" +\n    \"SYSRES_CONST_ACTION_TYPE_ENABLE_DELEGATE_ACCESS_RIGHTS \" +\n    \"SYSRES_CONST_ACTION_TYPE_ENCRYPTION_BY_CERTIFICATE \" +\n    \"SYSRES_CONST_ACTION_TYPE_ENCRYPTION_BY_CERTIFICATE_AND_PASSWORD \" +\n    \"SYSRES_CONST_ACTION_TYPE_ENCRYPTION_BY_PASSWORD \" +\n    \"SYSRES_CONST_ACTION_TYPE_EXPORT_WITH_LOCK \" +\n    \"SYSRES_CONST_ACTION_TYPE_EXPORT_WITHOUT_LOCK \" +\n    \"SYSRES_CONST_ACTION_TYPE_IMPORT_WITH_UNLOCK \" +\n    \"SYSRES_CONST_ACTION_TYPE_IMPORT_WITHOUT_UNLOCK \" +\n    \"SYSRES_CONST_ACTION_TYPE_LIFE_CYCLE_STAGE \" +\n    \"SYSRES_CONST_ACTION_TYPE_LOCK \" +\n    \"SYSRES_CONST_ACTION_TYPE_LOCK_FOR_SERVER \" +\n    \"SYSRES_CONST_ACTION_TYPE_LOCK_MODIFY \" +\n    \"SYSRES_CONST_ACTION_TYPE_MARK_AS_READED \" +\n    \"SYSRES_CONST_ACTION_TYPE_MARK_AS_UNREADED \" +\n    \"SYSRES_CONST_ACTION_TYPE_MODIFY \" +\n    \"SYSRES_CONST_ACTION_TYPE_MODIFY_CARD \" +\n    \"SYSRES_CONST_ACTION_TYPE_MOVE_TO_ARCHIVE \" +\n    \"SYSRES_CONST_ACTION_TYPE_OFF_ENCRYPTION \" +\n    \"SYSRES_CONST_ACTION_TYPE_PASSWORD_CHANGE \" +\n    \"SYSRES_CONST_ACTION_TYPE_PERFORM \" +\n    \"SYSRES_CONST_ACTION_TYPE_RECOVER_FROM_LOCAL_COPY \" +\n    \"SYSRES_CONST_ACTION_TYPE_RESTART \" +\n    \"SYSRES_CONST_ACTION_TYPE_RESTORE_FROM_ARCHIVE \" +\n    \"SYSRES_CONST_ACTION_TYPE_REVISION \" +\n    \"SYSRES_CONST_ACTION_TYPE_SEND_BY_MAIL \" +\n    \"SYSRES_CONST_ACTION_TYPE_SIGN \" +\n    \"SYSRES_CONST_ACTION_TYPE_START \" +\n    \"SYSRES_CONST_ACTION_TYPE_UNLOCK \" +\n    \"SYSRES_CONST_ACTION_TYPE_UNLOCK_FROM_SERVER \" +\n    \"SYSRES_CONST_ACTION_TYPE_VERSION_STATE \" +\n    \"SYSRES_CONST_ACTION_TYPE_VERSION_VISIBILITY \" +\n    \"SYSRES_CONST_ACTION_TYPE_VIEW \" +\n    \"SYSRES_CONST_ACTION_TYPE_VIEW_SHADOW_COPY \" +\n    \"SYSRES_CONST_ACTION_TYPE_WORKFLOW_DESCRIPTION_MODIFY \" +\n    \"SYSRES_CONST_ACTION_TYPE_WRITE_HISTORY \" +\n    \"SYSRES_CONST_ACTIVE_VERSION_STATE_PICK_VALUE \" +\n    \"SYSRES_CONST_ADD_REFERENCE_MODE_NAME \" +\n    \"SYSRES_CONST_ADDITION_REQUISITE_CODE \" +\n    \"SYSRES_CONST_ADDITIONAL_PARAMS_REQUISITE_CODE \" +\n    \"SYSRES_CONST_ADITIONAL_JOB_END_DATE_REQUISITE_NAME \" +\n    \"SYSRES_CONST_ADITIONAL_JOB_READ_REQUISITE_NAME \" +\n    \"SYSRES_CONST_ADITIONAL_JOB_START_DATE_REQUISITE_NAME \" +\n    \"SYSRES_CONST_ADITIONAL_JOB_STATE_REQUISITE_NAME \" +\n    \"SYSRES_CONST_ADMINISTRATION_HISTORY_ADDING_USER_TO_GROUP_ACTION \" +\n    \"SYSRES_CONST_ADMINISTRATION_HISTORY_ADDING_USER_TO_GROUP_ACTION_CODE \" +\n    \"SYSRES_CONST_ADMINISTRATION_HISTORY_CREATION_COMP_ACTION \" +\n    \"SYSRES_CONST_ADMINISTRATION_HISTORY_CREATION_COMP_ACTION_CODE \" +\n    \"SYSRES_CONST_ADMINISTRATION_HISTORY_CREATION_GROUP_ACTION \" +\n    \"SYSRES_CONST_ADMINISTRATION_HISTORY_CREATION_GROUP_ACTION_CODE \" +\n    \"SYSRES_CONST_ADMINISTRATION_HISTORY_CREATION_USER_ACTION \" +\n    \"SYSRES_CONST_ADMINISTRATION_HISTORY_CREATION_USER_ACTION_CODE \" +\n    \"SYSRES_CONST_ADMINISTRATION_HISTORY_DATABASE_USER_CREATION \" +\n    \"SYSRES_CONST_ADMINISTRATION_HISTORY_DATABASE_USER_CREATION_ACTION \" +\n    \"SYSRES_CONST_ADMINISTRATION_HISTORY_DATABASE_USER_DELETION \" +\n    \"SYSRES_CONST_ADMINISTRATION_HISTORY_DATABASE_USER_DELETION_ACTION \" +\n    \"SYSRES_CONST_ADMINISTRATION_HISTORY_DELETION_COMP_ACTION \" +\n    \"SYSRES_CONST_ADMINISTRATION_HISTORY_DELETION_COMP_ACTION_CODE \" +\n    \"SYSRES_CONST_ADMINISTRATION_HISTORY_DELETION_GROUP_ACTION \" +\n    \"SYSRES_CONST_ADMINISTRATION_HISTORY_DELETION_GROUP_ACTION_CODE \" +\n    \"SYSRES_CONST_ADMINISTRATION_HISTORY_DELETION_USER_ACTION \" +\n    \"SYSRES_CONST_ADMINISTRATION_HISTORY_DELETION_USER_ACTION_CODE \" +\n    \"SYSRES_CONST_ADMINISTRATION_HISTORY_DELETION_USER_FROM_GROUP_ACTION \" +\n    \"SYSRES_CONST_ADMINISTRATION_HISTORY_DELETION_USER_FROM_GROUP_ACTION_CODE \" +\n    \"SYSRES_CONST_ADMINISTRATION_HISTORY_GRANTING_FILTERER_ACTION \" +\n    \"SYSRES_CONST_ADMINISTRATION_HISTORY_GRANTING_FILTERER_ACTION_CODE \" +\n    \"SYSRES_CONST_ADMINISTRATION_HISTORY_GRANTING_FILTERER_RESTRICTION_ACTION \" +\n    \"SYSRES_CONST_ADMINISTRATION_HISTORY_GRANTING_FILTERER_RESTRICTION_ACTION_CODE \" +\n    \"SYSRES_CONST_ADMINISTRATION_HISTORY_GRANTING_PRIVILEGE_ACTION \" +\n    \"SYSRES_CONST_ADMINISTRATION_HISTORY_GRANTING_PRIVILEGE_ACTION_CODE \" +\n    \"SYSRES_CONST_ADMINISTRATION_HISTORY_GRANTING_RIGHTS_ACTION \" +\n    \"SYSRES_CONST_ADMINISTRATION_HISTORY_GRANTING_RIGHTS_ACTION_CODE \" +\n    \"SYSRES_CONST_ADMINISTRATION_HISTORY_IS_MAIN_SERVER_CHANGED_ACTION \" +\n    \"SYSRES_CONST_ADMINISTRATION_HISTORY_IS_MAIN_SERVER_CHANGED_ACTION_CODE \" +\n    \"SYSRES_CONST_ADMINISTRATION_HISTORY_IS_PUBLIC_CHANGED_ACTION \" +\n    \"SYSRES_CONST_ADMINISTRATION_HISTORY_IS_PUBLIC_CHANGED_ACTION_CODE \" +\n    \"SYSRES_CONST_ADMINISTRATION_HISTORY_REMOVING_FILTERER_ACTION \" +\n    \"SYSRES_CONST_ADMINISTRATION_HISTORY_REMOVING_FILTERER_ACTION_CODE \" +\n    \"SYSRES_CONST_ADMINISTRATION_HISTORY_REMOVING_FILTERER_RESTRICTION_ACTION \" +\n    \"SYSRES_CONST_ADMINISTRATION_HISTORY_REMOVING_FILTERER_RESTRICTION_ACTION_CODE \" +\n    \"SYSRES_CONST_ADMINISTRATION_HISTORY_REMOVING_PRIVILEGE_ACTION \" +\n    \"SYSRES_CONST_ADMINISTRATION_HISTORY_REMOVING_PRIVILEGE_ACTION_CODE \" +\n    \"SYSRES_CONST_ADMINISTRATION_HISTORY_REMOVING_RIGHTS_ACTION \" +\n    \"SYSRES_CONST_ADMINISTRATION_HISTORY_REMOVING_RIGHTS_ACTION_CODE \" +\n    \"SYSRES_CONST_ADMINISTRATION_HISTORY_SERVER_LOGIN_CREATION \" +\n    \"SYSRES_CONST_ADMINISTRATION_HISTORY_SERVER_LOGIN_CREATION_ACTION \" +\n    \"SYSRES_CONST_ADMINISTRATION_HISTORY_SERVER_LOGIN_DELETION \" +\n    \"SYSRES_CONST_ADMINISTRATION_HISTORY_SERVER_LOGIN_DELETION_ACTION \" +\n    \"SYSRES_CONST_ADMINISTRATION_HISTORY_UPDATING_CATEGORY_ACTION \" +\n    \"SYSRES_CONST_ADMINISTRATION_HISTORY_UPDATING_CATEGORY_ACTION_CODE \" +\n    \"SYSRES_CONST_ADMINISTRATION_HISTORY_UPDATING_COMP_TITLE_ACTION \" +\n    \"SYSRES_CONST_ADMINISTRATION_HISTORY_UPDATING_COMP_TITLE_ACTION_CODE \" +\n    \"SYSRES_CONST_ADMINISTRATION_HISTORY_UPDATING_FULL_NAME_ACTION \" +\n    \"SYSRES_CONST_ADMINISTRATION_HISTORY_UPDATING_FULL_NAME_ACTION_CODE \" +\n    \"SYSRES_CONST_ADMINISTRATION_HISTORY_UPDATING_GROUP_ACTION \" +\n    \"SYSRES_CONST_ADMINISTRATION_HISTORY_UPDATING_GROUP_ACTION_CODE \" +\n    \"SYSRES_CONST_ADMINISTRATION_HISTORY_UPDATING_PARENT_GROUP_ACTION \" +\n    \"SYSRES_CONST_ADMINISTRATION_HISTORY_UPDATING_PARENT_GROUP_ACTION_CODE \" +\n    \"SYSRES_CONST_ADMINISTRATION_HISTORY_UPDATING_USER_AUTH_TYPE_ACTION \" +\n    \"SYSRES_CONST_ADMINISTRATION_HISTORY_UPDATING_USER_AUTH_TYPE_ACTION_CODE \" +\n    \"SYSRES_CONST_ADMINISTRATION_HISTORY_UPDATING_USER_LOGIN_ACTION \" +\n    \"SYSRES_CONST_ADMINISTRATION_HISTORY_UPDATING_USER_LOGIN_ACTION_CODE \" +\n    \"SYSRES_CONST_ADMINISTRATION_HISTORY_UPDATING_USER_STATUS_ACTION \" +\n    \"SYSRES_CONST_ADMINISTRATION_HISTORY_UPDATING_USER_STATUS_ACTION_CODE \" +\n    \"SYSRES_CONST_ADMINISTRATION_HISTORY_USER_PASSWORD_CHANGE \" +\n    \"SYSRES_CONST_ADMINISTRATION_HISTORY_USER_PASSWORD_CHANGE_ACTION \" +\n    \"SYSRES_CONST_ALL_ACCEPT_CONDITION_RUS \" +\n    \"SYSRES_CONST_ALL_USERS_GROUP \" +\n    \"SYSRES_CONST_ALL_USERS_GROUP_NAME \" +\n    \"SYSRES_CONST_ALL_USERS_SERVER_GROUP_NAME \" +\n    \"SYSRES_CONST_ALLOWED_ACCESS_TYPE_CODE \" +\n    \"SYSRES_CONST_ALLOWED_ACCESS_TYPE_NAME \" +\n    \"SYSRES_CONST_APP_VIEWER_TYPE_REQUISITE_CODE \" +\n    \"SYSRES_CONST_APPROVING_SIGNATURE_NAME \" +\n    \"SYSRES_CONST_APPROVING_SIGNATURE_REQUISITE_CODE \" +\n    \"SYSRES_CONST_ASSISTANT_SUBSTITUE_TYPE \" +\n    \"SYSRES_CONST_ASSISTANT_SUBSTITUE_TYPE_CODE \" +\n    \"SYSRES_CONST_ATTACH_TYPE_COMPONENT_TOKEN \" +\n    \"SYSRES_CONST_ATTACH_TYPE_DOC \" +\n    \"SYSRES_CONST_ATTACH_TYPE_EDOC \" +\n    \"SYSRES_CONST_ATTACH_TYPE_FOLDER \" +\n    \"SYSRES_CONST_ATTACH_TYPE_JOB \" +\n    \"SYSRES_CONST_ATTACH_TYPE_REFERENCE \" +\n    \"SYSRES_CONST_ATTACH_TYPE_TASK \" +\n    \"SYSRES_CONST_AUTH_ENCODED_PASSWORD \" +\n    \"SYSRES_CONST_AUTH_ENCODED_PASSWORD_CODE \" +\n    \"SYSRES_CONST_AUTH_NOVELL \" +\n    \"SYSRES_CONST_AUTH_PASSWORD \" +\n    \"SYSRES_CONST_AUTH_PASSWORD_CODE \" +\n    \"SYSRES_CONST_AUTH_WINDOWS \" +\n    \"SYSRES_CONST_AUTHENTICATING_SIGNATURE_NAME \" +\n    \"SYSRES_CONST_AUTHENTICATING_SIGNATURE_REQUISITE_CODE \" +\n    \"SYSRES_CONST_AUTO_ENUM_METHOD_FLAG \" +\n    \"SYSRES_CONST_AUTO_NUMERATION_CODE \" +\n    \"SYSRES_CONST_AUTO_STRONG_ENUM_METHOD_FLAG \" +\n    \"SYSRES_CONST_AUTOTEXT_NAME_REQUISITE_CODE \" +\n    \"SYSRES_CONST_AUTOTEXT_TEXT_REQUISITE_CODE \" +\n    \"SYSRES_CONST_AUTOTEXT_USAGE_ALL \" +\n    \"SYSRES_CONST_AUTOTEXT_USAGE_ALL_CODE \" +\n    \"SYSRES_CONST_AUTOTEXT_USAGE_SIGN \" +\n    \"SYSRES_CONST_AUTOTEXT_USAGE_SIGN_CODE \" +\n    \"SYSRES_CONST_AUTOTEXT_USAGE_WORK \" +\n    \"SYSRES_CONST_AUTOTEXT_USAGE_WORK_CODE \" +\n    \"SYSRES_CONST_AUTOTEXT_USE_ANYWHERE_CODE \" +\n    \"SYSRES_CONST_AUTOTEXT_USE_ON_SIGNING_CODE \" +\n    \"SYSRES_CONST_AUTOTEXT_USE_ON_WORK_CODE \" +\n    \"SYSRES_CONST_BEGIN_DATE_REQUISITE_CODE \" +\n    \"SYSRES_CONST_BLACK_LIFE_CYCLE_STAGE_FONT_COLOR \" +\n    \"SYSRES_CONST_BLUE_LIFE_CYCLE_STAGE_FONT_COLOR \" +\n    \"SYSRES_CONST_BTN_PART \" +\n    \"SYSRES_CONST_CALCULATED_ROLE_TYPE_CODE \" +\n    \"SYSRES_CONST_CALL_TYPE_VARIABLE_BUTTON_VALUE \" +\n    \"SYSRES_CONST_CALL_TYPE_VARIABLE_PROGRAM_VALUE \" +\n    \"SYSRES_CONST_CANCEL_MESSAGE_FUNCTION_RESULT \" +\n    \"SYSRES_CONST_CARD_PART \" +\n    \"SYSRES_CONST_CARD_REFERENCE_MODE_NAME \" +\n    \"SYSRES_CONST_CERTIFICATE_TYPE_REQUISITE_ENCRYPT_VALUE \" +\n    \"SYSRES_CONST_CERTIFICATE_TYPE_REQUISITE_SIGN_AND_ENCRYPT_VALUE \" +\n    \"SYSRES_CONST_CERTIFICATE_TYPE_REQUISITE_SIGN_VALUE \" +\n    \"SYSRES_CONST_CHECK_PARAM_VALUE_DATE_PARAM_TYPE \" +\n    \"SYSRES_CONST_CHECK_PARAM_VALUE_FLOAT_PARAM_TYPE \" +\n    \"SYSRES_CONST_CHECK_PARAM_VALUE_INTEGER_PARAM_TYPE \" +\n    \"SYSRES_CONST_CHECK_PARAM_VALUE_PICK_PARAM_TYPE \" +\n    \"SYSRES_CONST_CHECK_PARAM_VALUE_REEFRENCE_PARAM_TYPE \" +\n    \"SYSRES_CONST_CLOSED_RECORD_FLAG_VALUE_FEMININE \" +\n    \"SYSRES_CONST_CLOSED_RECORD_FLAG_VALUE_MASCULINE \" +\n    \"SYSRES_CONST_CODE_COMPONENT_TYPE_ADMIN \" +\n    \"SYSRES_CONST_CODE_COMPONENT_TYPE_DEVELOPER \" +\n    \"SYSRES_CONST_CODE_COMPONENT_TYPE_DOCS \" +\n    \"SYSRES_CONST_CODE_COMPONENT_TYPE_EDOC_CARDS \" +\n    \"SYSRES_CONST_CODE_COMPONENT_TYPE_EXTERNAL_EXECUTABLE \" +\n    \"SYSRES_CONST_CODE_COMPONENT_TYPE_OTHER \" +\n    \"SYSRES_CONST_CODE_COMPONENT_TYPE_REFERENCE \" +\n    \"SYSRES_CONST_CODE_COMPONENT_TYPE_REPORT \" +\n    \"SYSRES_CONST_CODE_COMPONENT_TYPE_SCRIPT \" +\n    \"SYSRES_CONST_CODE_COMPONENT_TYPE_URL \" +\n    \"SYSRES_CONST_CODE_REQUISITE_ACCESS \" +\n    \"SYSRES_CONST_CODE_REQUISITE_CODE \" +\n    \"SYSRES_CONST_CODE_REQUISITE_COMPONENT \" +\n    \"SYSRES_CONST_CODE_REQUISITE_DESCRIPTION \" +\n    \"SYSRES_CONST_CODE_REQUISITE_EXCLUDE_COMPONENT \" +\n    \"SYSRES_CONST_CODE_REQUISITE_RECORD \" +\n    \"SYSRES_CONST_COMMENT_REQ_CODE \" +\n    \"SYSRES_CONST_COMMON_SETTINGS_REQUISITE_CODE \" +\n    \"SYSRES_CONST_COMP_CODE_GRD \" +\n    \"SYSRES_CONST_COMPONENT_GROUP_TYPE_REQUISITE_CODE \" +\n    \"SYSRES_CONST_COMPONENT_TYPE_ADMIN_COMPONENTS \" +\n    \"SYSRES_CONST_COMPONENT_TYPE_DEVELOPER_COMPONENTS \" +\n    \"SYSRES_CONST_COMPONENT_TYPE_DOCS \" +\n    \"SYSRES_CONST_COMPONENT_TYPE_EDOC_CARDS \" +\n    \"SYSRES_CONST_COMPONENT_TYPE_EDOCS \" +\n    \"SYSRES_CONST_COMPONENT_TYPE_EXTERNAL_EXECUTABLE \" +\n    \"SYSRES_CONST_COMPONENT_TYPE_OTHER \" +\n    \"SYSRES_CONST_COMPONENT_TYPE_REFERENCE_TYPES \" +\n    \"SYSRES_CONST_COMPONENT_TYPE_REFERENCES \" +\n    \"SYSRES_CONST_COMPONENT_TYPE_REPORTS \" +\n    \"SYSRES_CONST_COMPONENT_TYPE_SCRIPTS \" +\n    \"SYSRES_CONST_COMPONENT_TYPE_URL \" +\n    \"SYSRES_CONST_COMPONENTS_REMOTE_SERVERS_VIEW_CODE \" +\n    \"SYSRES_CONST_CONDITION_BLOCK_DESCRIPTION \" +\n    \"SYSRES_CONST_CONST_FIRM_STATUS_COMMON \" +\n    \"SYSRES_CONST_CONST_FIRM_STATUS_INDIVIDUAL \" +\n    \"SYSRES_CONST_CONST_NEGATIVE_VALUE \" +\n    \"SYSRES_CONST_CONST_POSITIVE_VALUE \" +\n    \"SYSRES_CONST_CONST_SERVER_STATUS_DONT_REPLICATE \" +\n    \"SYSRES_CONST_CONST_SERVER_STATUS_REPLICATE \" +\n    \"SYSRES_CONST_CONTENTS_REQUISITE_CODE \" +\n    \"SYSRES_CONST_DATA_TYPE_BOOLEAN \" +\n    \"SYSRES_CONST_DATA_TYPE_DATE \" +\n    \"SYSRES_CONST_DATA_TYPE_FLOAT \" +\n    \"SYSRES_CONST_DATA_TYPE_INTEGER \" +\n    \"SYSRES_CONST_DATA_TYPE_PICK \" +\n    \"SYSRES_CONST_DATA_TYPE_REFERENCE \" +\n    \"SYSRES_CONST_DATA_TYPE_STRING \" +\n    \"SYSRES_CONST_DATA_TYPE_TEXT \" +\n    \"SYSRES_CONST_DATA_TYPE_VARIANT \" +\n    \"SYSRES_CONST_DATE_CLOSE_REQ_CODE \" +\n    \"SYSRES_CONST_DATE_FORMAT_DATE_ONLY_CHAR \" +\n    \"SYSRES_CONST_DATE_OPEN_REQ_CODE \" +\n    \"SYSRES_CONST_DATE_REQUISITE \" +\n    \"SYSRES_CONST_DATE_REQUISITE_CODE \" +\n    \"SYSRES_CONST_DATE_REQUISITE_NAME \" +\n    \"SYSRES_CONST_DATE_REQUISITE_TYPE \" +\n    \"SYSRES_CONST_DATE_TYPE_CHAR \" +\n    \"SYSRES_CONST_DATETIME_FORMAT_VALUE \" +\n    \"SYSRES_CONST_DEA_ACCESS_RIGHTS_ACTION_CODE \" +\n    \"SYSRES_CONST_DESCRIPTION_LOCALIZE_ID_REQUISITE_CODE \" +\n    \"SYSRES_CONST_DESCRIPTION_REQUISITE_CODE \" +\n    \"SYSRES_CONST_DET1_PART \" +\n    \"SYSRES_CONST_DET2_PART \" +\n    \"SYSRES_CONST_DET3_PART \" +\n    \"SYSRES_CONST_DET4_PART \" +\n    \"SYSRES_CONST_DET5_PART \" +\n    \"SYSRES_CONST_DET6_PART \" +\n    \"SYSRES_CONST_DETAIL_DATASET_KEY_REQUISITE_CODE \" +\n    \"SYSRES_CONST_DETAIL_PICK_REQUISITE_CODE \" +\n    \"SYSRES_CONST_DETAIL_REQ_CODE \" +\n    \"SYSRES_CONST_DO_NOT_USE_ACCESS_TYPE_CODE \" +\n    \"SYSRES_CONST_DO_NOT_USE_ACCESS_TYPE_NAME \" +\n    \"SYSRES_CONST_DO_NOT_USE_ON_VIEW_ACCESS_TYPE_CODE \" +\n    \"SYSRES_CONST_DO_NOT_USE_ON_VIEW_ACCESS_TYPE_NAME \" +\n    \"SYSRES_CONST_DOCUMENT_STORAGES_CODE \" +\n    \"SYSRES_CONST_DOCUMENT_TEMPLATES_TYPE_NAME \" +\n    \"SYSRES_CONST_DOUBLE_REQUISITE_CODE \" +\n    \"SYSRES_CONST_EDITOR_CLOSE_FILE_OBSERV_TYPE_CODE \" +\n    \"SYSRES_CONST_EDITOR_CLOSE_PROCESS_OBSERV_TYPE_CODE \" +\n    \"SYSRES_CONST_EDITOR_TYPE_REQUISITE_CODE \" +\n    \"SYSRES_CONST_EDITORS_APPLICATION_NAME_REQUISITE_CODE \" +\n    \"SYSRES_CONST_EDITORS_CREATE_SEVERAL_PROCESSES_REQUISITE_CODE \" +\n    \"SYSRES_CONST_EDITORS_EXTENSION_REQUISITE_CODE \" +\n    \"SYSRES_CONST_EDITORS_OBSERVER_BY_PROCESS_TYPE \" +\n    \"SYSRES_CONST_EDITORS_REFERENCE_CODE \" +\n    \"SYSRES_CONST_EDITORS_REPLACE_SPEC_CHARS_REQUISITE_CODE \" +\n    \"SYSRES_CONST_EDITORS_USE_PLUGINS_REQUISITE_CODE \" +\n    \"SYSRES_CONST_EDITORS_VIEW_DOCUMENT_OPENED_TO_EDIT_CODE \" +\n    \"SYSRES_CONST_EDOC_CARD_TYPE_REQUISITE_CODE \" +\n    \"SYSRES_CONST_EDOC_CARD_TYPES_LINK_REQUISITE_CODE \" +\n    \"SYSRES_CONST_EDOC_CERTIFICATE_AND_PASSWORD_ENCODE_CODE \" +\n    \"SYSRES_CONST_EDOC_CERTIFICATE_ENCODE_CODE \" +\n    \"SYSRES_CONST_EDOC_DATE_REQUISITE_CODE \" +\n    \"SYSRES_CONST_EDOC_KIND_REFERENCE_CODE \" +\n    \"SYSRES_CONST_EDOC_KINDS_BY_TEMPLATE_ACTION_CODE \" +\n    \"SYSRES_CONST_EDOC_MANAGE_ACCESS_CODE \" +\n    \"SYSRES_CONST_EDOC_NONE_ENCODE_CODE \" +\n    \"SYSRES_CONST_EDOC_NUMBER_REQUISITE_CODE \" +\n    \"SYSRES_CONST_EDOC_PASSWORD_ENCODE_CODE \" +\n    \"SYSRES_CONST_EDOC_READONLY_ACCESS_CODE \" +\n    \"SYSRES_CONST_EDOC_SHELL_LIFE_TYPE_VIEW_VALUE \" +\n    \"SYSRES_CONST_EDOC_SIZE_RESTRICTION_PRIORITY_REQUISITE_CODE \" +\n    \"SYSRES_CONST_EDOC_STORAGE_CHECK_ACCESS_RIGHTS_REQUISITE_CODE \" +\n    \"SYSRES_CONST_EDOC_STORAGE_COMPUTER_NAME_REQUISITE_CODE \" +\n    \"SYSRES_CONST_EDOC_STORAGE_DATABASE_NAME_REQUISITE_CODE \" +\n    \"SYSRES_CONST_EDOC_STORAGE_EDIT_IN_STORAGE_REQUISITE_CODE \" +\n    \"SYSRES_CONST_EDOC_STORAGE_LOCAL_PATH_REQUISITE_CODE \" +\n    \"SYSRES_CONST_EDOC_STORAGE_SHARED_SOURCE_NAME_REQUISITE_CODE \" +\n    \"SYSRES_CONST_EDOC_TEMPLATE_REQUISITE_CODE \" +\n    \"SYSRES_CONST_EDOC_TYPES_REFERENCE_CODE \" +\n    \"SYSRES_CONST_EDOC_VERSION_ACTIVE_STAGE_CODE \" +\n    \"SYSRES_CONST_EDOC_VERSION_DESIGN_STAGE_CODE \" +\n    \"SYSRES_CONST_EDOC_VERSION_OBSOLETE_STAGE_CODE \" +\n    \"SYSRES_CONST_EDOC_WRITE_ACCES_CODE \" +\n    \"SYSRES_CONST_EDOCUMENT_CARD_REQUISITES_REFERENCE_CODE_SELECTED_REQUISITE \" +\n    \"SYSRES_CONST_ENCODE_CERTIFICATE_TYPE_CODE \" +\n    \"SYSRES_CONST_END_DATE_REQUISITE_CODE \" +\n    \"SYSRES_CONST_ENUMERATION_TYPE_REQUISITE_CODE \" +\n    \"SYSRES_CONST_EXECUTE_ACCESS_RIGHTS_TYPE_CODE \" +\n    \"SYSRES_CONST_EXECUTIVE_FILE_STORAGE_TYPE \" +\n    \"SYSRES_CONST_EXIST_CONST \" +\n    \"SYSRES_CONST_EXIST_VALUE \" +\n    \"SYSRES_CONST_EXPORT_LOCK_TYPE_ASK \" +\n    \"SYSRES_CONST_EXPORT_LOCK_TYPE_WITH_LOCK \" +\n    \"SYSRES_CONST_EXPORT_LOCK_TYPE_WITHOUT_LOCK \" +\n    \"SYSRES_CONST_EXPORT_VERSION_TYPE_ASK \" +\n    \"SYSRES_CONST_EXPORT_VERSION_TYPE_LAST \" +\n    \"SYSRES_CONST_EXPORT_VERSION_TYPE_LAST_ACTIVE \" +\n    \"SYSRES_CONST_EXTENSION_REQUISITE_CODE \" +\n    \"SYSRES_CONST_FILTER_NAME_REQUISITE_CODE \" +\n    \"SYSRES_CONST_FILTER_REQUISITE_CODE \" +\n    \"SYSRES_CONST_FILTER_TYPE_COMMON_CODE \" +\n    \"SYSRES_CONST_FILTER_TYPE_COMMON_NAME \" +\n    \"SYSRES_CONST_FILTER_TYPE_USER_CODE \" +\n    \"SYSRES_CONST_FILTER_TYPE_USER_NAME \" +\n    \"SYSRES_CONST_FILTER_VALUE_REQUISITE_NAME \" +\n    \"SYSRES_CONST_FLOAT_NUMBER_FORMAT_CHAR \" +\n    \"SYSRES_CONST_FLOAT_REQUISITE_TYPE \" +\n    \"SYSRES_CONST_FOLDER_AUTHOR_VALUE \" +\n    \"SYSRES_CONST_FOLDER_KIND_ANY_OBJECTS \" +\n    \"SYSRES_CONST_FOLDER_KIND_COMPONENTS \" +\n    \"SYSRES_CONST_FOLDER_KIND_EDOCS \" +\n    \"SYSRES_CONST_FOLDER_KIND_JOBS \" +\n    \"SYSRES_CONST_FOLDER_KIND_TASKS \" +\n    \"SYSRES_CONST_FOLDER_TYPE_COMMON \" +\n    \"SYSRES_CONST_FOLDER_TYPE_COMPONENT \" +\n    \"SYSRES_CONST_FOLDER_TYPE_FAVORITES \" +\n    \"SYSRES_CONST_FOLDER_TYPE_INBOX \" +\n    \"SYSRES_CONST_FOLDER_TYPE_OUTBOX \" +\n    \"SYSRES_CONST_FOLDER_TYPE_QUICK_LAUNCH \" +\n    \"SYSRES_CONST_FOLDER_TYPE_SEARCH \" +\n    \"SYSRES_CONST_FOLDER_TYPE_SHORTCUTS \" +\n    \"SYSRES_CONST_FOLDER_TYPE_USER \" +\n    \"SYSRES_CONST_FROM_DICTIONARY_ENUM_METHOD_FLAG \" +\n    \"SYSRES_CONST_FULL_SUBSTITUTE_TYPE \" +\n    \"SYSRES_CONST_FULL_SUBSTITUTE_TYPE_CODE \" +\n    \"SYSRES_CONST_FUNCTION_CANCEL_RESULT \" +\n    \"SYSRES_CONST_FUNCTION_CATEGORY_SYSTEM \" +\n    \"SYSRES_CONST_FUNCTION_CATEGORY_USER \" +\n    \"SYSRES_CONST_FUNCTION_FAILURE_RESULT \" +\n    \"SYSRES_CONST_FUNCTION_SAVE_RESULT \" +\n    \"SYSRES_CONST_GENERATED_REQUISITE \" +\n    \"SYSRES_CONST_GREEN_LIFE_CYCLE_STAGE_FONT_COLOR \" +\n    \"SYSRES_CONST_GROUP_ACCOUNT_TYPE_VALUE_CODE \" +\n    \"SYSRES_CONST_GROUP_CATEGORY_NORMAL_CODE \" +\n    \"SYSRES_CONST_GROUP_CATEGORY_NORMAL_NAME \" +\n    \"SYSRES_CONST_GROUP_CATEGORY_SERVICE_CODE \" +\n    \"SYSRES_CONST_GROUP_CATEGORY_SERVICE_NAME \" +\n    \"SYSRES_CONST_GROUP_COMMON_CATEGORY_FIELD_VALUE \" +\n    \"SYSRES_CONST_GROUP_FULL_NAME_REQUISITE_CODE \" +\n    \"SYSRES_CONST_GROUP_NAME_REQUISITE_CODE \" +\n    \"SYSRES_CONST_GROUP_RIGHTS_T_REQUISITE_CODE \" +\n    \"SYSRES_CONST_GROUP_SERVER_CODES_REQUISITE_CODE \" +\n    \"SYSRES_CONST_GROUP_SERVER_NAME_REQUISITE_CODE \" +\n    \"SYSRES_CONST_GROUP_SERVICE_CATEGORY_FIELD_VALUE \" +\n    \"SYSRES_CONST_GROUP_USER_REQUISITE_CODE \" +\n    \"SYSRES_CONST_GROUPS_REFERENCE_CODE \" +\n    \"SYSRES_CONST_GROUPS_REQUISITE_CODE \" +\n    \"SYSRES_CONST_HIDDEN_MODE_NAME \" +\n    \"SYSRES_CONST_HIGH_LVL_REQUISITE_CODE \" +\n    \"SYSRES_CONST_HISTORY_ACTION_CREATE_CODE \" +\n    \"SYSRES_CONST_HISTORY_ACTION_DELETE_CODE \" +\n    \"SYSRES_CONST_HISTORY_ACTION_EDIT_CODE \" +\n    \"SYSRES_CONST_HOUR_CHAR \" +\n    \"SYSRES_CONST_ID_REQUISITE_CODE \" +\n    \"SYSRES_CONST_IDSPS_REQUISITE_CODE \" +\n    \"SYSRES_CONST_IMAGE_MODE_COLOR \" +\n    \"SYSRES_CONST_IMAGE_MODE_GREYSCALE \" +\n    \"SYSRES_CONST_IMAGE_MODE_MONOCHROME \" +\n    \"SYSRES_CONST_IMPORTANCE_HIGH \" +\n    \"SYSRES_CONST_IMPORTANCE_LOW \" +\n    \"SYSRES_CONST_IMPORTANCE_NORMAL \" +\n    \"SYSRES_CONST_IN_DESIGN_VERSION_STATE_PICK_VALUE \" +\n    \"SYSRES_CONST_INCOMING_WORK_RULE_TYPE_CODE \" +\n    \"SYSRES_CONST_INT_REQUISITE \" +\n    \"SYSRES_CONST_INT_REQUISITE_TYPE \" +\n    \"SYSRES_CONST_INTEGER_NUMBER_FORMAT_CHAR \" +\n    \"SYSRES_CONST_INTEGER_TYPE_CHAR \" +\n    \"SYSRES_CONST_IS_GENERATED_REQUISITE_NEGATIVE_VALUE \" +\n    \"SYSRES_CONST_IS_PUBLIC_ROLE_REQUISITE_CODE \" +\n    \"SYSRES_CONST_IS_REMOTE_USER_NEGATIVE_VALUE \" +\n    \"SYSRES_CONST_IS_REMOTE_USER_POSITIVE_VALUE \" +\n    \"SYSRES_CONST_IS_STORED_REQUISITE_NEGATIVE_VALUE \" +\n    \"SYSRES_CONST_IS_STORED_REQUISITE_STORED_VALUE \" +\n    \"SYSRES_CONST_ITALIC_LIFE_CYCLE_STAGE_DRAW_STYLE \" +\n    \"SYSRES_CONST_JOB_BLOCK_DESCRIPTION \" +\n    \"SYSRES_CONST_JOB_KIND_CONTROL_JOB \" +\n    \"SYSRES_CONST_JOB_KIND_JOB \" +\n    \"SYSRES_CONST_JOB_KIND_NOTICE \" +\n    \"SYSRES_CONST_JOB_STATE_ABORTED \" +\n    \"SYSRES_CONST_JOB_STATE_COMPLETE \" +\n    \"SYSRES_CONST_JOB_STATE_WORKING \" +\n    \"SYSRES_CONST_KIND_REQUISITE_CODE \" +\n    \"SYSRES_CONST_KIND_REQUISITE_NAME \" +\n    \"SYSRES_CONST_KINDS_CREATE_SHADOW_COPIES_REQUISITE_CODE \" +\n    \"SYSRES_CONST_KINDS_DEFAULT_EDOC_LIFE_STAGE_REQUISITE_CODE \" +\n    \"SYSRES_CONST_KINDS_EDOC_ALL_TEPLATES_ALLOWED_REQUISITE_CODE \" +\n    \"SYSRES_CONST_KINDS_EDOC_ALLOW_LIFE_CYCLE_STAGE_CHANGING_REQUISITE_CODE \" +\n    \"SYSRES_CONST_KINDS_EDOC_ALLOW_MULTIPLE_ACTIVE_VERSIONS_REQUISITE_CODE \" +\n    \"SYSRES_CONST_KINDS_EDOC_SHARE_ACCES_RIGHTS_BY_DEFAULT_CODE \" +\n    \"SYSRES_CONST_KINDS_EDOC_TEMPLATE_REQUISITE_CODE \" +\n    \"SYSRES_CONST_KINDS_EDOC_TYPE_REQUISITE_CODE \" +\n    \"SYSRES_CONST_KINDS_SIGNERS_REQUISITES_CODE \" +\n    \"SYSRES_CONST_KOD_INPUT_TYPE \" +\n    \"SYSRES_CONST_LAST_UPDATE_DATE_REQUISITE_CODE \" +\n    \"SYSRES_CONST_LIFE_CYCLE_START_STAGE_REQUISITE_CODE \" +\n    \"SYSRES_CONST_LILAC_LIFE_CYCLE_STAGE_FONT_COLOR \" +\n    \"SYSRES_CONST_LINK_OBJECT_KIND_COMPONENT \" +\n    \"SYSRES_CONST_LINK_OBJECT_KIND_DOCUMENT \" +\n    \"SYSRES_CONST_LINK_OBJECT_KIND_EDOC \" +\n    \"SYSRES_CONST_LINK_OBJECT_KIND_FOLDER \" +\n    \"SYSRES_CONST_LINK_OBJECT_KIND_JOB \" +\n    \"SYSRES_CONST_LINK_OBJECT_KIND_REFERENCE \" +\n    \"SYSRES_CONST_LINK_OBJECT_KIND_TASK \" +\n    \"SYSRES_CONST_LINK_REF_TYPE_REQUISITE_CODE \" +\n    \"SYSRES_CONST_LIST_REFERENCE_MODE_NAME \" +\n    \"SYSRES_CONST_LOCALIZATION_DICTIONARY_MAIN_VIEW_CODE \" +\n    \"SYSRES_CONST_MAIN_VIEW_CODE \" +\n    \"SYSRES_CONST_MANUAL_ENUM_METHOD_FLAG \" +\n    \"SYSRES_CONST_MASTER_COMP_TYPE_REQUISITE_CODE \" +\n    \"SYSRES_CONST_MASTER_TABLE_REC_ID_REQUISITE_CODE \" +\n    \"SYSRES_CONST_MAXIMIZED_MODE_NAME \" +\n    \"SYSRES_CONST_ME_VALUE \" +\n    \"SYSRES_CONST_MESSAGE_ATTENTION_CAPTION \" +\n    \"SYSRES_CONST_MESSAGE_CONFIRMATION_CAPTION \" +\n    \"SYSRES_CONST_MESSAGE_ERROR_CAPTION \" +\n    \"SYSRES_CONST_MESSAGE_INFORMATION_CAPTION \" +\n    \"SYSRES_CONST_MINIMIZED_MODE_NAME \" +\n    \"SYSRES_CONST_MINUTE_CHAR \" +\n    \"SYSRES_CONST_MODULE_REQUISITE_CODE \" +\n    \"SYSRES_CONST_MONITORING_BLOCK_DESCRIPTION \" +\n    \"SYSRES_CONST_MONTH_FORMAT_VALUE \" +\n    \"SYSRES_CONST_NAME_LOCALIZE_ID_REQUISITE_CODE \" +\n    \"SYSRES_CONST_NAME_REQUISITE_CODE \" +\n    \"SYSRES_CONST_NAME_SINGULAR_REQUISITE_CODE \" +\n    \"SYSRES_CONST_NAMEAN_INPUT_TYPE \" +\n    \"SYSRES_CONST_NEGATIVE_PICK_VALUE \" +\n    \"SYSRES_CONST_NEGATIVE_VALUE \" +\n    \"SYSRES_CONST_NO \" +\n    \"SYSRES_CONST_NO_PICK_VALUE \" +\n    \"SYSRES_CONST_NO_SIGNATURE_REQUISITE_CODE \" +\n    \"SYSRES_CONST_NO_VALUE \" +\n    \"SYSRES_CONST_NONE_ACCESS_RIGHTS_TYPE_CODE \" +\n    \"SYSRES_CONST_NONOPERATING_RECORD_FLAG_VALUE \" +\n    \"SYSRES_CONST_NONOPERATING_RECORD_FLAG_VALUE_MASCULINE \" +\n    \"SYSRES_CONST_NORMAL_ACCESS_RIGHTS_TYPE_CODE \" +\n    \"SYSRES_CONST_NORMAL_LIFE_CYCLE_STAGE_DRAW_STYLE \" +\n    \"SYSRES_CONST_NORMAL_MODE_NAME \" +\n    \"SYSRES_CONST_NOT_ALLOWED_ACCESS_TYPE_CODE \" +\n    \"SYSRES_CONST_NOT_ALLOWED_ACCESS_TYPE_NAME \" +\n    \"SYSRES_CONST_NOTE_REQUISITE_CODE \" +\n    \"SYSRES_CONST_NOTICE_BLOCK_DESCRIPTION \" +\n    \"SYSRES_CONST_NUM_REQUISITE \" +\n    \"SYSRES_CONST_NUM_STR_REQUISITE_CODE \" +\n    \"SYSRES_CONST_NUMERATION_AUTO_NOT_STRONG \" +\n    \"SYSRES_CONST_NUMERATION_AUTO_STRONG \" +\n    \"SYSRES_CONST_NUMERATION_FROM_DICTONARY \" +\n    \"SYSRES_CONST_NUMERATION_MANUAL \" +\n    \"SYSRES_CONST_NUMERIC_TYPE_CHAR \" +\n    \"SYSRES_CONST_NUMREQ_REQUISITE_CODE \" +\n    \"SYSRES_CONST_OBSOLETE_VERSION_STATE_PICK_VALUE \" +\n    \"SYSRES_CONST_OPERATING_RECORD_FLAG_VALUE \" +\n    \"SYSRES_CONST_OPERATING_RECORD_FLAG_VALUE_CODE \" +\n    \"SYSRES_CONST_OPERATING_RECORD_FLAG_VALUE_FEMININE \" +\n    \"SYSRES_CONST_OPERATING_RECORD_FLAG_VALUE_MASCULINE \" +\n    \"SYSRES_CONST_OPTIONAL_FORM_COMP_REQCODE_PREFIX \" +\n    \"SYSRES_CONST_ORANGE_LIFE_CYCLE_STAGE_FONT_COLOR \" +\n    \"SYSRES_CONST_ORIGINALREF_REQUISITE_CODE \" +\n    \"SYSRES_CONST_OURFIRM_REF_CODE \" +\n    \"SYSRES_CONST_OURFIRM_REQUISITE_CODE \" +\n    \"SYSRES_CONST_OURFIRM_VAR \" +\n    \"SYSRES_CONST_OUTGOING_WORK_RULE_TYPE_CODE \" +\n    \"SYSRES_CONST_PICK_NEGATIVE_RESULT \" +\n    \"SYSRES_CONST_PICK_POSITIVE_RESULT \" +\n    \"SYSRES_CONST_PICK_REQUISITE \" +\n    \"SYSRES_CONST_PICK_REQUISITE_TYPE \" +\n    \"SYSRES_CONST_PICK_TYPE_CHAR \" +\n    \"SYSRES_CONST_PLAN_STATUS_REQUISITE_CODE \" +\n    \"SYSRES_CONST_PLATFORM_VERSION_COMMENT \" +\n    \"SYSRES_CONST_PLUGINS_SETTINGS_DESCRIPTION_REQUISITE_CODE \" +\n    \"SYSRES_CONST_POSITIVE_PICK_VALUE \" +\n    \"SYSRES_CONST_POWER_TO_CREATE_ACTION_CODE \" +\n    \"SYSRES_CONST_POWER_TO_SIGN_ACTION_CODE \" +\n    \"SYSRES_CONST_PRIORITY_REQUISITE_CODE \" +\n    \"SYSRES_CONST_QUALIFIED_TASK_TYPE \" +\n    \"SYSRES_CONST_QUALIFIED_TASK_TYPE_CODE \" +\n    \"SYSRES_CONST_RECSTAT_REQUISITE_CODE \" +\n    \"SYSRES_CONST_RED_LIFE_CYCLE_STAGE_FONT_COLOR \" +\n    \"SYSRES_CONST_REF_ID_T_REF_TYPE_REQUISITE_CODE \" +\n    \"SYSRES_CONST_REF_REQUISITE \" +\n    \"SYSRES_CONST_REF_REQUISITE_TYPE \" +\n    \"SYSRES_CONST_REF_REQUISITES_REFERENCE_CODE_SELECTED_REQUISITE \" +\n    \"SYSRES_CONST_REFERENCE_RECORD_HISTORY_CREATE_ACTION_CODE \" +\n    \"SYSRES_CONST_REFERENCE_RECORD_HISTORY_DELETE_ACTION_CODE \" +\n    \"SYSRES_CONST_REFERENCE_RECORD_HISTORY_MODIFY_ACTION_CODE \" +\n    \"SYSRES_CONST_REFERENCE_TYPE_CHAR \" +\n    \"SYSRES_CONST_REFERENCE_TYPE_REQUISITE_NAME \" +\n    \"SYSRES_CONST_REFERENCES_ADD_PARAMS_REQUISITE_CODE \" +\n    \"SYSRES_CONST_REFERENCES_DISPLAY_REQUISITE_REQUISITE_CODE \" +\n    \"SYSRES_CONST_REMOTE_SERVER_STATUS_WORKING \" +\n    \"SYSRES_CONST_REMOTE_SERVER_TYPE_MAIN \" +\n    \"SYSRES_CONST_REMOTE_SERVER_TYPE_SECONDARY \" +\n    \"SYSRES_CONST_REMOTE_USER_FLAG_VALUE_CODE \" +\n    \"SYSRES_CONST_REPORT_APP_EDITOR_INTERNAL \" +\n    \"SYSRES_CONST_REPORT_BASE_REPORT_ID_REQUISITE_CODE \" +\n    \"SYSRES_CONST_REPORT_BASE_REPORT_REQUISITE_CODE \" +\n    \"SYSRES_CONST_REPORT_SCRIPT_REQUISITE_CODE \" +\n    \"SYSRES_CONST_REPORT_TEMPLATE_REQUISITE_CODE \" +\n    \"SYSRES_CONST_REPORT_VIEWER_CODE_REQUISITE_CODE \" +\n    \"SYSRES_CONST_REQ_ALLOW_COMPONENT_DEFAULT_VALUE \" +\n    \"SYSRES_CONST_REQ_ALLOW_RECORD_DEFAULT_VALUE \" +\n    \"SYSRES_CONST_REQ_ALLOW_SERVER_COMPONENT_DEFAULT_VALUE \" +\n    \"SYSRES_CONST_REQ_MODE_AVAILABLE_CODE \" +\n    \"SYSRES_CONST_REQ_MODE_EDIT_CODE \" +\n    \"SYSRES_CONST_REQ_MODE_HIDDEN_CODE \" +\n    \"SYSRES_CONST_REQ_MODE_NOT_AVAILABLE_CODE \" +\n    \"SYSRES_CONST_REQ_MODE_VIEW_CODE \" +\n    \"SYSRES_CONST_REQ_NUMBER_REQUISITE_CODE \" +\n    \"SYSRES_CONST_REQ_SECTION_VALUE \" +\n    \"SYSRES_CONST_REQ_TYPE_VALUE \" +\n    \"SYSRES_CONST_REQUISITE_FORMAT_BY_UNIT \" +\n    \"SYSRES_CONST_REQUISITE_FORMAT_DATE_FULL \" +\n    \"SYSRES_CONST_REQUISITE_FORMAT_DATE_TIME \" +\n    \"SYSRES_CONST_REQUISITE_FORMAT_LEFT \" +\n    \"SYSRES_CONST_REQUISITE_FORMAT_RIGHT \" +\n    \"SYSRES_CONST_REQUISITE_FORMAT_WITHOUT_UNIT \" +\n    \"SYSRES_CONST_REQUISITE_NUMBER_REQUISITE_CODE \" +\n    \"SYSRES_CONST_REQUISITE_SECTION_ACTIONS \" +\n    \"SYSRES_CONST_REQUISITE_SECTION_BUTTON \" +\n    \"SYSRES_CONST_REQUISITE_SECTION_BUTTONS \" +\n    \"SYSRES_CONST_REQUISITE_SECTION_CARD \" +\n    \"SYSRES_CONST_REQUISITE_SECTION_TABLE \" +\n    \"SYSRES_CONST_REQUISITE_SECTION_TABLE10 \" +\n    \"SYSRES_CONST_REQUISITE_SECTION_TABLE11 \" +\n    \"SYSRES_CONST_REQUISITE_SECTION_TABLE12 \" +\n    \"SYSRES_CONST_REQUISITE_SECTION_TABLE13 \" +\n    \"SYSRES_CONST_REQUISITE_SECTION_TABLE14 \" +\n    \"SYSRES_CONST_REQUISITE_SECTION_TABLE15 \" +\n    \"SYSRES_CONST_REQUISITE_SECTION_TABLE16 \" +\n    \"SYSRES_CONST_REQUISITE_SECTION_TABLE17 \" +\n    \"SYSRES_CONST_REQUISITE_SECTION_TABLE18 \" +\n    \"SYSRES_CONST_REQUISITE_SECTION_TABLE19 \" +\n    \"SYSRES_CONST_REQUISITE_SECTION_TABLE2 \" +\n    \"SYSRES_CONST_REQUISITE_SECTION_TABLE20 \" +\n    \"SYSRES_CONST_REQUISITE_SECTION_TABLE21 \" +\n    \"SYSRES_CONST_REQUISITE_SECTION_TABLE22 \" +\n    \"SYSRES_CONST_REQUISITE_SECTION_TABLE23 \" +\n    \"SYSRES_CONST_REQUISITE_SECTION_TABLE24 \" +\n    \"SYSRES_CONST_REQUISITE_SECTION_TABLE3 \" +\n    \"SYSRES_CONST_REQUISITE_SECTION_TABLE4 \" +\n    \"SYSRES_CONST_REQUISITE_SECTION_TABLE5 \" +\n    \"SYSRES_CONST_REQUISITE_SECTION_TABLE6 \" +\n    \"SYSRES_CONST_REQUISITE_SECTION_TABLE7 \" +\n    \"SYSRES_CONST_REQUISITE_SECTION_TABLE8 \" +\n    \"SYSRES_CONST_REQUISITE_SECTION_TABLE9 \" +\n    \"SYSRES_CONST_REQUISITES_PSEUDOREFERENCE_REQUISITE_NUMBER_REQUISITE_CODE \" +\n    \"SYSRES_CONST_RIGHT_ALIGNMENT_CODE \" +\n    \"SYSRES_CONST_ROLES_REFERENCE_CODE \" +\n    \"SYSRES_CONST_ROUTE_STEP_AFTER_RUS \" +\n    \"SYSRES_CONST_ROUTE_STEP_AND_CONDITION_RUS \" +\n    \"SYSRES_CONST_ROUTE_STEP_OR_CONDITION_RUS \" +\n    \"SYSRES_CONST_ROUTE_TYPE_COMPLEX \" +\n    \"SYSRES_CONST_ROUTE_TYPE_PARALLEL \" +\n    \"SYSRES_CONST_ROUTE_TYPE_SERIAL \" +\n    \"SYSRES_CONST_SBDATASETDESC_NEGATIVE_VALUE \" +\n    \"SYSRES_CONST_SBDATASETDESC_POSITIVE_VALUE \" +\n    \"SYSRES_CONST_SBVIEWSDESC_POSITIVE_VALUE \" +\n    \"SYSRES_CONST_SCRIPT_BLOCK_DESCRIPTION \" +\n    \"SYSRES_CONST_SEARCH_BY_TEXT_REQUISITE_CODE \" +\n    \"SYSRES_CONST_SEARCHES_COMPONENT_CONTENT \" +\n    \"SYSRES_CONST_SEARCHES_CRITERIA_ACTION_NAME \" +\n    \"SYSRES_CONST_SEARCHES_EDOC_CONTENT \" +\n    \"SYSRES_CONST_SEARCHES_FOLDER_CONTENT \" +\n    \"SYSRES_CONST_SEARCHES_JOB_CONTENT \" +\n    \"SYSRES_CONST_SEARCHES_REFERENCE_CODE \" +\n    \"SYSRES_CONST_SEARCHES_TASK_CONTENT \" +\n    \"SYSRES_CONST_SECOND_CHAR \" +\n    \"SYSRES_CONST_SECTION_REQUISITE_ACTIONS_VALUE \" +\n    \"SYSRES_CONST_SECTION_REQUISITE_CARD_VALUE \" +\n    \"SYSRES_CONST_SECTION_REQUISITE_CODE \" +\n    \"SYSRES_CONST_SECTION_REQUISITE_DETAIL_1_VALUE \" +\n    \"SYSRES_CONST_SECTION_REQUISITE_DETAIL_2_VALUE \" +\n    \"SYSRES_CONST_SECTION_REQUISITE_DETAIL_3_VALUE \" +\n    \"SYSRES_CONST_SECTION_REQUISITE_DETAIL_4_VALUE \" +\n    \"SYSRES_CONST_SECTION_REQUISITE_DETAIL_5_VALUE \" +\n    \"SYSRES_CONST_SECTION_REQUISITE_DETAIL_6_VALUE \" +\n    \"SYSRES_CONST_SELECT_REFERENCE_MODE_NAME \" +\n    \"SYSRES_CONST_SELECT_TYPE_SELECTABLE \" +\n    \"SYSRES_CONST_SELECT_TYPE_SELECTABLE_ONLY_CHILD \" +\n    \"SYSRES_CONST_SELECT_TYPE_SELECTABLE_WITH_CHILD \" +\n    \"SYSRES_CONST_SELECT_TYPE_UNSLECTABLE \" +\n    \"SYSRES_CONST_SERVER_TYPE_MAIN \" +\n    \"SYSRES_CONST_SERVICE_USER_CATEGORY_FIELD_VALUE \" +\n    \"SYSRES_CONST_SETTINGS_USER_REQUISITE_CODE \" +\n    \"SYSRES_CONST_SIGNATURE_AND_ENCODE_CERTIFICATE_TYPE_CODE \" +\n    \"SYSRES_CONST_SIGNATURE_CERTIFICATE_TYPE_CODE \" +\n    \"SYSRES_CONST_SINGULAR_TITLE_REQUISITE_CODE \" +\n    \"SYSRES_CONST_SQL_SERVER_AUTHENTIFICATION_FLAG_VALUE_CODE \" +\n    \"SYSRES_CONST_SQL_SERVER_ENCODE_AUTHENTIFICATION_FLAG_VALUE_CODE \" +\n    \"SYSRES_CONST_STANDART_ROUTE_REFERENCE_CODE \" +\n    \"SYSRES_CONST_STANDART_ROUTE_REFERENCE_COMMENT_REQUISITE_CODE \" +\n    \"SYSRES_CONST_STANDART_ROUTES_GROUPS_REFERENCE_CODE \" +\n    \"SYSRES_CONST_STATE_REQ_NAME \" +\n    \"SYSRES_CONST_STATE_REQUISITE_ACTIVE_VALUE \" +\n    \"SYSRES_CONST_STATE_REQUISITE_CLOSED_VALUE \" +\n    \"SYSRES_CONST_STATE_REQUISITE_CODE \" +\n    \"SYSRES_CONST_STATIC_ROLE_TYPE_CODE \" +\n    \"SYSRES_CONST_STATUS_PLAN_DEFAULT_VALUE \" +\n    \"SYSRES_CONST_STATUS_VALUE_AUTOCLEANING \" +\n    \"SYSRES_CONST_STATUS_VALUE_BLUE_SQUARE \" +\n    \"SYSRES_CONST_STATUS_VALUE_COMPLETE \" +\n    \"SYSRES_CONST_STATUS_VALUE_GREEN_SQUARE \" +\n    \"SYSRES_CONST_STATUS_VALUE_ORANGE_SQUARE \" +\n    \"SYSRES_CONST_STATUS_VALUE_PURPLE_SQUARE \" +\n    \"SYSRES_CONST_STATUS_VALUE_RED_SQUARE \" +\n    \"SYSRES_CONST_STATUS_VALUE_SUSPEND \" +\n    \"SYSRES_CONST_STATUS_VALUE_YELLOW_SQUARE \" +\n    \"SYSRES_CONST_STDROUTE_SHOW_TO_USERS_REQUISITE_CODE \" +\n    \"SYSRES_CONST_STORAGE_TYPE_FILE \" +\n    \"SYSRES_CONST_STORAGE_TYPE_SQL_SERVER \" +\n    \"SYSRES_CONST_STR_REQUISITE \" +\n    \"SYSRES_CONST_STRIKEOUT_LIFE_CYCLE_STAGE_DRAW_STYLE \" +\n    \"SYSRES_CONST_STRING_FORMAT_LEFT_ALIGN_CHAR \" +\n    \"SYSRES_CONST_STRING_FORMAT_RIGHT_ALIGN_CHAR \" +\n    \"SYSRES_CONST_STRING_REQUISITE_CODE \" +\n    \"SYSRES_CONST_STRING_REQUISITE_TYPE \" +\n    \"SYSRES_CONST_STRING_TYPE_CHAR \" +\n    \"SYSRES_CONST_SUBSTITUTES_PSEUDOREFERENCE_CODE \" +\n    \"SYSRES_CONST_SUBTASK_BLOCK_DESCRIPTION \" +\n    \"SYSRES_CONST_SYSTEM_SETTING_CURRENT_USER_PARAM_VALUE \" +\n    \"SYSRES_CONST_SYSTEM_SETTING_EMPTY_VALUE_PARAM_VALUE \" +\n    \"SYSRES_CONST_SYSTEM_VERSION_COMMENT \" +\n    \"SYSRES_CONST_TASK_ACCESS_TYPE_ALL \" +\n    \"SYSRES_CONST_TASK_ACCESS_TYPE_ALL_MEMBERS \" +\n    \"SYSRES_CONST_TASK_ACCESS_TYPE_MANUAL \" +\n    \"SYSRES_CONST_TASK_ENCODE_TYPE_CERTIFICATION \" +\n    \"SYSRES_CONST_TASK_ENCODE_TYPE_CERTIFICATION_AND_PASSWORD \" +\n    \"SYSRES_CONST_TASK_ENCODE_TYPE_NONE \" +\n    \"SYSRES_CONST_TASK_ENCODE_TYPE_PASSWORD \" +\n    \"SYSRES_CONST_TASK_ROUTE_ALL_CONDITION \" +\n    \"SYSRES_CONST_TASK_ROUTE_AND_CONDITION \" +\n    \"SYSRES_CONST_TASK_ROUTE_OR_CONDITION \" +\n    \"SYSRES_CONST_TASK_STATE_ABORTED \" +\n    \"SYSRES_CONST_TASK_STATE_COMPLETE \" +\n    \"SYSRES_CONST_TASK_STATE_CONTINUED \" +\n    \"SYSRES_CONST_TASK_STATE_CONTROL \" +\n    \"SYSRES_CONST_TASK_STATE_INIT \" +\n    \"SYSRES_CONST_TASK_STATE_WORKING \" +\n    \"SYSRES_CONST_TASK_TITLE \" +\n    \"SYSRES_CONST_TASK_TYPES_GROUPS_REFERENCE_CODE \" +\n    \"SYSRES_CONST_TASK_TYPES_REFERENCE_CODE \" +\n    \"SYSRES_CONST_TEMPLATES_REFERENCE_CODE \" +\n    \"SYSRES_CONST_TEST_DATE_REQUISITE_NAME \" +\n    \"SYSRES_CONST_TEST_DEV_DATABASE_NAME \" +\n    \"SYSRES_CONST_TEST_DEV_SYSTEM_CODE \" +\n    \"SYSRES_CONST_TEST_EDMS_DATABASE_NAME \" +\n    \"SYSRES_CONST_TEST_EDMS_MAIN_CODE \" +\n    \"SYSRES_CONST_TEST_EDMS_MAIN_DB_NAME \" +\n    \"SYSRES_CONST_TEST_EDMS_SECOND_CODE \" +\n    \"SYSRES_CONST_TEST_EDMS_SECOND_DB_NAME \" +\n    \"SYSRES_CONST_TEST_EDMS_SYSTEM_CODE \" +\n    \"SYSRES_CONST_TEST_NUMERIC_REQUISITE_NAME \" +\n    \"SYSRES_CONST_TEXT_REQUISITE \" +\n    \"SYSRES_CONST_TEXT_REQUISITE_CODE \" +\n    \"SYSRES_CONST_TEXT_REQUISITE_TYPE \" +\n    \"SYSRES_CONST_TEXT_TYPE_CHAR \" +\n    \"SYSRES_CONST_TYPE_CODE_REQUISITE_CODE \" +\n    \"SYSRES_CONST_TYPE_REQUISITE_CODE \" +\n    \"SYSRES_CONST_UNDEFINED_LIFE_CYCLE_STAGE_FONT_COLOR \" +\n    \"SYSRES_CONST_UNITS_SECTION_ID_REQUISITE_CODE \" +\n    \"SYSRES_CONST_UNITS_SECTION_REQUISITE_CODE \" +\n    \"SYSRES_CONST_UNOPERATING_RECORD_FLAG_VALUE_CODE \" +\n    \"SYSRES_CONST_UNSTORED_DATA_REQUISITE_CODE \" +\n    \"SYSRES_CONST_UNSTORED_DATA_REQUISITE_NAME \" +\n    \"SYSRES_CONST_USE_ACCESS_TYPE_CODE \" +\n    \"SYSRES_CONST_USE_ACCESS_TYPE_NAME \" +\n    \"SYSRES_CONST_USER_ACCOUNT_TYPE_VALUE_CODE \" +\n    \"SYSRES_CONST_USER_ADDITIONAL_INFORMATION_REQUISITE_CODE \" +\n    \"SYSRES_CONST_USER_AND_GROUP_ID_FROM_PSEUDOREFERENCE_REQUISITE_CODE \" +\n    \"SYSRES_CONST_USER_CATEGORY_NORMAL \" +\n    \"SYSRES_CONST_USER_CERTIFICATE_REQUISITE_CODE \" +\n    \"SYSRES_CONST_USER_CERTIFICATE_STATE_REQUISITE_CODE \" +\n    \"SYSRES_CONST_USER_CERTIFICATE_SUBJECT_NAME_REQUISITE_CODE \" +\n    \"SYSRES_CONST_USER_CERTIFICATE_THUMBPRINT_REQUISITE_CODE \" +\n    \"SYSRES_CONST_USER_COMMON_CATEGORY \" +\n    \"SYSRES_CONST_USER_COMMON_CATEGORY_CODE \" +\n    \"SYSRES_CONST_USER_FULL_NAME_REQUISITE_CODE \" +\n    \"SYSRES_CONST_USER_GROUP_TYPE_REQUISITE_CODE \" +\n    \"SYSRES_CONST_USER_LOGIN_REQUISITE_CODE \" +\n    \"SYSRES_CONST_USER_REMOTE_CONTROLLER_REQUISITE_CODE \" +\n    \"SYSRES_CONST_USER_REMOTE_SYSTEM_REQUISITE_CODE \" +\n    \"SYSRES_CONST_USER_RIGHTS_T_REQUISITE_CODE \" +\n    \"SYSRES_CONST_USER_SERVER_NAME_REQUISITE_CODE \" +\n    \"SYSRES_CONST_USER_SERVICE_CATEGORY \" +\n    \"SYSRES_CONST_USER_SERVICE_CATEGORY_CODE \" +\n    \"SYSRES_CONST_USER_STATUS_ADMINISTRATOR_CODE \" +\n    \"SYSRES_CONST_USER_STATUS_ADMINISTRATOR_NAME \" +\n    \"SYSRES_CONST_USER_STATUS_DEVELOPER_CODE \" +\n    \"SYSRES_CONST_USER_STATUS_DEVELOPER_NAME \" +\n    \"SYSRES_CONST_USER_STATUS_DISABLED_CODE \" +\n    \"SYSRES_CONST_USER_STATUS_DISABLED_NAME \" +\n    \"SYSRES_CONST_USER_STATUS_SYSTEM_DEVELOPER_CODE \" +\n    \"SYSRES_CONST_USER_STATUS_USER_CODE \" +\n    \"SYSRES_CONST_USER_STATUS_USER_NAME \" +\n    \"SYSRES_CONST_USER_STATUS_USER_NAME_DEPRECATED \" +\n    \"SYSRES_CONST_USER_TYPE_FIELD_VALUE_USER \" +\n    \"SYSRES_CONST_USER_TYPE_REQUISITE_CODE \" +\n    \"SYSRES_CONST_USERS_CONTROLLER_REQUISITE_CODE \" +\n    \"SYSRES_CONST_USERS_IS_MAIN_SERVER_REQUISITE_CODE \" +\n    \"SYSRES_CONST_USERS_REFERENCE_CODE \" +\n    \"SYSRES_CONST_USERS_REGISTRATION_CERTIFICATES_ACTION_NAME \" +\n    \"SYSRES_CONST_USERS_REQUISITE_CODE \" +\n    \"SYSRES_CONST_USERS_SYSTEM_REQUISITE_CODE \" +\n    \"SYSRES_CONST_USERS_USER_ACCESS_RIGHTS_TYPR_REQUISITE_CODE \" +\n    \"SYSRES_CONST_USERS_USER_AUTHENTICATION_REQUISITE_CODE \" +\n    \"SYSRES_CONST_USERS_USER_COMPONENT_REQUISITE_CODE \" +\n    \"SYSRES_CONST_USERS_USER_GROUP_REQUISITE_CODE \" +\n    \"SYSRES_CONST_USERS_VIEW_CERTIFICATES_ACTION_NAME \" +\n    \"SYSRES_CONST_VIEW_DEFAULT_CODE \" +\n    \"SYSRES_CONST_VIEW_DEFAULT_NAME \" +\n    \"SYSRES_CONST_VIEWER_REQUISITE_CODE \" +\n    \"SYSRES_CONST_WAITING_BLOCK_DESCRIPTION \" +\n    \"SYSRES_CONST_WIZARD_FORM_LABEL_TEST_STRING  \" +\n    \"SYSRES_CONST_WIZARD_QUERY_PARAM_HEIGHT_ETALON_STRING \" +\n    \"SYSRES_CONST_WIZARD_REFERENCE_COMMENT_REQUISITE_CODE \" +\n    \"SYSRES_CONST_WORK_RULES_DESCRIPTION_REQUISITE_CODE \" +\n    \"SYSRES_CONST_WORK_TIME_CALENDAR_REFERENCE_CODE \" +\n    \"SYSRES_CONST_WORK_WORKFLOW_HARD_ROUTE_TYPE_VALUE \" +\n    \"SYSRES_CONST_WORK_WORKFLOW_HARD_ROUTE_TYPE_VALUE_CODE \" +\n    \"SYSRES_CONST_WORK_WORKFLOW_HARD_ROUTE_TYPE_VALUE_CODE_RUS \" +\n    \"SYSRES_CONST_WORK_WORKFLOW_SOFT_ROUTE_TYPE_VALUE_CODE_RUS \" +\n    \"SYSRES_CONST_WORKFLOW_ROUTE_TYPR_HARD \" +\n    \"SYSRES_CONST_WORKFLOW_ROUTE_TYPR_SOFT \" +\n    \"SYSRES_CONST_XML_ENCODING \" +\n    \"SYSRES_CONST_XREC_STAT_REQUISITE_CODE \" +\n    \"SYSRES_CONST_XRECID_FIELD_NAME \" +\n    \"SYSRES_CONST_YES \" +\n    \"SYSRES_CONST_YES_NO_2_REQUISITE_CODE \" +\n    \"SYSRES_CONST_YES_NO_REQUISITE_CODE \" +\n    \"SYSRES_CONST_YES_NO_T_REF_TYPE_REQUISITE_CODE \" +\n    \"SYSRES_CONST_YES_PICK_VALUE \" +\n    \"SYSRES_CONST_YES_VALUE \";\n\n  // Base constant\n  const base_constants = \"CR FALSE nil NO_VALUE NULL TAB TRUE YES_VALUE \";\n\n  // Base group name\n  const base_group_name_constants =\n    \"ADMINISTRATORS_GROUP_NAME CUSTOMIZERS_GROUP_NAME DEVELOPERS_GROUP_NAME SERVICE_USERS_GROUP_NAME \";\n\n  // Decision block properties\n  const decision_block_properties_constants =\n    \"DECISION_BLOCK_FIRST_OPERAND_PROPERTY DECISION_BLOCK_NAME_PROPERTY DECISION_BLOCK_OPERATION_PROPERTY \" +\n    \"DECISION_BLOCK_RESULT_TYPE_PROPERTY DECISION_BLOCK_SECOND_OPERAND_PROPERTY \";\n\n  // File extension\n  const file_extension_constants =\n    \"ANY_FILE_EXTENTION COMPRESSED_DOCUMENT_EXTENSION EXTENDED_DOCUMENT_EXTENSION \" +\n    \"SHORT_COMPRESSED_DOCUMENT_EXTENSION SHORT_EXTENDED_DOCUMENT_EXTENSION \";\n\n  // Job block properties\n  const job_block_properties_constants =\n    \"JOB_BLOCK_ABORT_DEADLINE_PROPERTY \" +\n    \"JOB_BLOCK_AFTER_FINISH_EVENT \" +\n    \"JOB_BLOCK_AFTER_QUERY_PARAMETERS_EVENT \" +\n    \"JOB_BLOCK_ATTACHMENT_PROPERTY \" +\n    \"JOB_BLOCK_ATTACHMENTS_RIGHTS_GROUP_PROPERTY \" +\n    \"JOB_BLOCK_ATTACHMENTS_RIGHTS_TYPE_PROPERTY \" +\n    \"JOB_BLOCK_BEFORE_QUERY_PARAMETERS_EVENT \" +\n    \"JOB_BLOCK_BEFORE_START_EVENT \" +\n    \"JOB_BLOCK_CREATED_JOBS_PROPERTY \" +\n    \"JOB_BLOCK_DEADLINE_PROPERTY \" +\n    \"JOB_BLOCK_EXECUTION_RESULTS_PROPERTY \" +\n    \"JOB_BLOCK_IS_PARALLEL_PROPERTY \" +\n    \"JOB_BLOCK_IS_RELATIVE_ABORT_DEADLINE_PROPERTY \" +\n    \"JOB_BLOCK_IS_RELATIVE_DEADLINE_PROPERTY \" +\n    \"JOB_BLOCK_JOB_TEXT_PROPERTY \" +\n    \"JOB_BLOCK_NAME_PROPERTY \" +\n    \"JOB_BLOCK_NEED_SIGN_ON_PERFORM_PROPERTY \" +\n    \"JOB_BLOCK_PERFORMER_PROPERTY \" +\n    \"JOB_BLOCK_RELATIVE_ABORT_DEADLINE_TYPE_PROPERTY \" +\n    \"JOB_BLOCK_RELATIVE_DEADLINE_TYPE_PROPERTY \" +\n    \"JOB_BLOCK_SUBJECT_PROPERTY \";\n\n  // Language code\n  const language_code_constants = \"ENGLISH_LANGUAGE_CODE RUSSIAN_LANGUAGE_CODE \";\n\n  // Launching external applications\n  const launching_external_applications_constants =\n    \"smHidden smMaximized smMinimized smNormal wmNo wmYes \";\n\n  // Link kind\n  const link_kind_constants =\n    \"COMPONENT_TOKEN_LINK_KIND \" +\n    \"DOCUMENT_LINK_KIND \" +\n    \"EDOCUMENT_LINK_KIND \" +\n    \"FOLDER_LINK_KIND \" +\n    \"JOB_LINK_KIND \" +\n    \"REFERENCE_LINK_KIND \" +\n    \"TASK_LINK_KIND \";\n\n  // Lock type\n  const lock_type_constants =\n    \"COMPONENT_TOKEN_LOCK_TYPE EDOCUMENT_VERSION_LOCK_TYPE \";\n\n  // Monitor block properties\n  const monitor_block_properties_constants =\n    \"MONITOR_BLOCK_AFTER_FINISH_EVENT \" +\n    \"MONITOR_BLOCK_BEFORE_START_EVENT \" +\n    \"MONITOR_BLOCK_DEADLINE_PROPERTY \" +\n    \"MONITOR_BLOCK_INTERVAL_PROPERTY \" +\n    \"MONITOR_BLOCK_INTERVAL_TYPE_PROPERTY \" +\n    \"MONITOR_BLOCK_IS_RELATIVE_DEADLINE_PROPERTY \" +\n    \"MONITOR_BLOCK_NAME_PROPERTY \" +\n    \"MONITOR_BLOCK_RELATIVE_DEADLINE_TYPE_PROPERTY \" +\n    \"MONITOR_BLOCK_SEARCH_SCRIPT_PROPERTY \";\n\n  // Notice block properties\n  const notice_block_properties_constants =\n    \"NOTICE_BLOCK_AFTER_FINISH_EVENT \" +\n    \"NOTICE_BLOCK_ATTACHMENT_PROPERTY \" +\n    \"NOTICE_BLOCK_ATTACHMENTS_RIGHTS_GROUP_PROPERTY \" +\n    \"NOTICE_BLOCK_ATTACHMENTS_RIGHTS_TYPE_PROPERTY \" +\n    \"NOTICE_BLOCK_BEFORE_START_EVENT \" +\n    \"NOTICE_BLOCK_CREATED_NOTICES_PROPERTY \" +\n    \"NOTICE_BLOCK_DEADLINE_PROPERTY \" +\n    \"NOTICE_BLOCK_IS_RELATIVE_DEADLINE_PROPERTY \" +\n    \"NOTICE_BLOCK_NAME_PROPERTY \" +\n    \"NOTICE_BLOCK_NOTICE_TEXT_PROPERTY \" +\n    \"NOTICE_BLOCK_PERFORMER_PROPERTY \" +\n    \"NOTICE_BLOCK_RELATIVE_DEADLINE_TYPE_PROPERTY \" +\n    \"NOTICE_BLOCK_SUBJECT_PROPERTY \";\n\n  // Object events\n  const object_events_constants =\n    \"dseAfterCancel \" +\n    \"dseAfterClose \" +\n    \"dseAfterDelete \" +\n    \"dseAfterDeleteOutOfTransaction \" +\n    \"dseAfterInsert \" +\n    \"dseAfterOpen \" +\n    \"dseAfterScroll \" +\n    \"dseAfterUpdate \" +\n    \"dseAfterUpdateOutOfTransaction \" +\n    \"dseBeforeCancel \" +\n    \"dseBeforeClose \" +\n    \"dseBeforeDelete \" +\n    \"dseBeforeDetailUpdate \" +\n    \"dseBeforeInsert \" +\n    \"dseBeforeOpen \" +\n    \"dseBeforeUpdate \" +\n    \"dseOnAnyRequisiteChange \" +\n    \"dseOnCloseRecord \" +\n    \"dseOnDeleteError \" +\n    \"dseOnOpenRecord \" +\n    \"dseOnPrepareUpdate \" +\n    \"dseOnUpdateError \" +\n    \"dseOnUpdateRatifiedRecord \" +\n    \"dseOnValidDelete \" +\n    \"dseOnValidUpdate \" +\n    \"reOnChange \" +\n    \"reOnChangeValues \" +\n    \"SELECTION_BEGIN_ROUTE_EVENT \" +\n    \"SELECTION_END_ROUTE_EVENT \";\n\n  // Object params\n  const object_params_constants =\n    \"CURRENT_PERIOD_IS_REQUIRED \" +\n    \"PREVIOUS_CARD_TYPE_NAME \" +\n    \"SHOW_RECORD_PROPERTIES_FORM \";\n\n  // Other\n  const other_constants =\n    \"ACCESS_RIGHTS_SETTING_DIALOG_CODE \" +\n    \"ADMINISTRATOR_USER_CODE \" +\n    \"ANALYTIC_REPORT_TYPE \" +\n    \"asrtHideLocal \" +\n    \"asrtHideRemote \" +\n    \"CALCULATED_ROLE_TYPE_CODE \" +\n    \"COMPONENTS_REFERENCE_DEVELOPER_VIEW_CODE \" +\n    \"DCTS_TEST_PROTOCOLS_FOLDER_PATH \" +\n    \"E_EDOC_VERSION_ALREADY_APPROVINGLY_SIGNED \" +\n    \"E_EDOC_VERSION_ALREADY_APPROVINGLY_SIGNED_BY_USER \" +\n    \"E_EDOC_VERSION_ALREDY_SIGNED \" +\n    \"E_EDOC_VERSION_ALREDY_SIGNED_BY_USER \" +\n    \"EDOC_TYPES_CODE_REQUISITE_FIELD_NAME \" +\n    \"EDOCUMENTS_ALIAS_NAME \" +\n    \"FILES_FOLDER_PATH \" +\n    \"FILTER_OPERANDS_DELIMITER \" +\n    \"FILTER_OPERATIONS_DELIMITER \" +\n    \"FORMCARD_NAME \" +\n    \"FORMLIST_NAME \" +\n    \"GET_EXTENDED_DOCUMENT_EXTENSION_CREATION_MODE \" +\n    \"GET_EXTENDED_DOCUMENT_EXTENSION_IMPORT_MODE \" +\n    \"INTEGRATED_REPORT_TYPE \" +\n    \"IS_BUILDER_APPLICATION_ROLE \" +\n    \"IS_BUILDER_APPLICATION_ROLE2 \" +\n    \"IS_BUILDER_USERS \" +\n    \"ISBSYSDEV \" +\n    \"LOG_FOLDER_PATH \" +\n    \"mbCancel \" +\n    \"mbNo \" +\n    \"mbNoToAll \" +\n    \"mbOK \" +\n    \"mbYes \" +\n    \"mbYesToAll \" +\n    \"MEMORY_DATASET_DESRIPTIONS_FILENAME \" +\n    \"mrNo \" +\n    \"mrNoToAll \" +\n    \"mrYes \" +\n    \"mrYesToAll \" +\n    \"MULTIPLE_SELECT_DIALOG_CODE \" +\n    \"NONOPERATING_RECORD_FLAG_FEMININE \" +\n    \"NONOPERATING_RECORD_FLAG_MASCULINE \" +\n    \"OPERATING_RECORD_FLAG_FEMININE \" +\n    \"OPERATING_RECORD_FLAG_MASCULINE \" +\n    \"PROFILING_SETTINGS_COMMON_SETTINGS_CODE_VALUE \" +\n    \"PROGRAM_INITIATED_LOOKUP_ACTION \" +\n    \"ratDelete \" +\n    \"ratEdit \" +\n    \"ratInsert \" +\n    \"REPORT_TYPE \" +\n    \"REQUIRED_PICK_VALUES_VARIABLE \" +\n    \"rmCard \" +\n    \"rmList \" +\n    \"SBRTE_PROGID_DEV \" +\n    \"SBRTE_PROGID_RELEASE \" +\n    \"STATIC_ROLE_TYPE_CODE \" +\n    \"SUPPRESS_EMPTY_TEMPLATE_CREATION \" +\n    \"SYSTEM_USER_CODE \" +\n    \"UPDATE_DIALOG_DATASET \" +\n    \"USED_IN_OBJECT_HINT_PARAM \" +\n    \"USER_INITIATED_LOOKUP_ACTION \" +\n    \"USER_NAME_FORMAT \" +\n    \"USER_SELECTION_RESTRICTIONS \" +\n    \"WORKFLOW_TEST_PROTOCOLS_FOLDER_PATH \" +\n    \"ELS_SUBTYPE_CONTROL_NAME \" +\n    \"ELS_FOLDER_KIND_CONTROL_NAME \" +\n    \"REPEAT_PROCESS_CURRENT_OBJECT_EXCEPTION_NAME \";\n\n  // Privileges\n  const privileges_constants =\n    \"PRIVILEGE_COMPONENT_FULL_ACCESS \" +\n    \"PRIVILEGE_DEVELOPMENT_EXPORT \" +\n    \"PRIVILEGE_DEVELOPMENT_IMPORT \" +\n    \"PRIVILEGE_DOCUMENT_DELETE \" +\n    \"PRIVILEGE_ESD \" +\n    \"PRIVILEGE_FOLDER_DELETE \" +\n    \"PRIVILEGE_MANAGE_ACCESS_RIGHTS \" +\n    \"PRIVILEGE_MANAGE_REPLICATION \" +\n    \"PRIVILEGE_MANAGE_SESSION_SERVER \" +\n    \"PRIVILEGE_OBJECT_FULL_ACCESS \" +\n    \"PRIVILEGE_OBJECT_VIEW \" +\n    \"PRIVILEGE_RESERVE_LICENSE \" +\n    \"PRIVILEGE_SYSTEM_CUSTOMIZE \" +\n    \"PRIVILEGE_SYSTEM_DEVELOP \" +\n    \"PRIVILEGE_SYSTEM_INSTALL \" +\n    \"PRIVILEGE_TASK_DELETE \" +\n    \"PRIVILEGE_USER_PLUGIN_SETTINGS_CUSTOMIZE \" +\n    \"PRIVILEGES_PSEUDOREFERENCE_CODE \";\n\n  // Pseudoreference code\n  const pseudoreference_code_constants =\n    \"ACCESS_TYPES_PSEUDOREFERENCE_CODE \" +\n    \"ALL_AVAILABLE_COMPONENTS_PSEUDOREFERENCE_CODE \" +\n    \"ALL_AVAILABLE_PRIVILEGES_PSEUDOREFERENCE_CODE \" +\n    \"ALL_REPLICATE_COMPONENTS_PSEUDOREFERENCE_CODE \" +\n    \"AVAILABLE_DEVELOPERS_COMPONENTS_PSEUDOREFERENCE_CODE \" +\n    \"COMPONENTS_PSEUDOREFERENCE_CODE \" +\n    \"FILTRATER_SETTINGS_CONFLICTS_PSEUDOREFERENCE_CODE \" +\n    \"GROUPS_PSEUDOREFERENCE_CODE \" +\n    \"RECEIVE_PROTOCOL_PSEUDOREFERENCE_CODE \" +\n    \"REFERENCE_REQUISITE_PSEUDOREFERENCE_CODE \" +\n    \"REFERENCE_REQUISITES_PSEUDOREFERENCE_CODE \" +\n    \"REFTYPES_PSEUDOREFERENCE_CODE \" +\n    \"REPLICATION_SEANCES_DIARY_PSEUDOREFERENCE_CODE \" +\n    \"SEND_PROTOCOL_PSEUDOREFERENCE_CODE \" +\n    \"SUBSTITUTES_PSEUDOREFERENCE_CODE \" +\n    \"SYSTEM_SETTINGS_PSEUDOREFERENCE_CODE \" +\n    \"UNITS_PSEUDOREFERENCE_CODE \" +\n    \"USERS_PSEUDOREFERENCE_CODE \" +\n    \"VIEWERS_PSEUDOREFERENCE_CODE \";\n\n  // Requisite ISBCertificateType values\n  const requisite_ISBCertificateType_values_constants =\n    \"CERTIFICATE_TYPE_ENCRYPT \" +\n    \"CERTIFICATE_TYPE_SIGN \" +\n    \"CERTIFICATE_TYPE_SIGN_AND_ENCRYPT \";\n\n  // Requisite ISBEDocStorageType values\n  const requisite_ISBEDocStorageType_values_constants =\n    \"STORAGE_TYPE_FILE \" +\n    \"STORAGE_TYPE_NAS_CIFS \" +\n    \"STORAGE_TYPE_SAPERION \" +\n    \"STORAGE_TYPE_SQL_SERVER \";\n\n  // Requisite CompType2 values\n  const requisite_compType2_values_constants =\n    \"COMPTYPE2_REQUISITE_DOCUMENTS_VALUE \" +\n    \"COMPTYPE2_REQUISITE_TASKS_VALUE \" +\n    \"COMPTYPE2_REQUISITE_FOLDERS_VALUE \" +\n    \"COMPTYPE2_REQUISITE_REFERENCES_VALUE \";\n\n  // Requisite name\n  const requisite_name_constants =\n    \"SYSREQ_CODE \" +\n    \"SYSREQ_COMPTYPE2 \" +\n    \"SYSREQ_CONST_AVAILABLE_FOR_WEB \" +\n    \"SYSREQ_CONST_COMMON_CODE \" +\n    \"SYSREQ_CONST_COMMON_VALUE \" +\n    \"SYSREQ_CONST_FIRM_CODE \" +\n    \"SYSREQ_CONST_FIRM_STATUS \" +\n    \"SYSREQ_CONST_FIRM_VALUE \" +\n    \"SYSREQ_CONST_SERVER_STATUS \" +\n    \"SYSREQ_CONTENTS \" +\n    \"SYSREQ_DATE_OPEN \" +\n    \"SYSREQ_DATE_CLOSE \" +\n    \"SYSREQ_DESCRIPTION \" +\n    \"SYSREQ_DESCRIPTION_LOCALIZE_ID \" +\n    \"SYSREQ_DOUBLE \" +\n    \"SYSREQ_EDOC_ACCESS_TYPE \" +\n    \"SYSREQ_EDOC_AUTHOR \" +\n    \"SYSREQ_EDOC_CREATED \" +\n    \"SYSREQ_EDOC_DELEGATE_RIGHTS_REQUISITE_CODE \" +\n    \"SYSREQ_EDOC_EDITOR \" +\n    \"SYSREQ_EDOC_ENCODE_TYPE \" +\n    \"SYSREQ_EDOC_ENCRYPTION_PLUGIN_NAME \" +\n    \"SYSREQ_EDOC_ENCRYPTION_PLUGIN_VERSION \" +\n    \"SYSREQ_EDOC_EXPORT_DATE \" +\n    \"SYSREQ_EDOC_EXPORTER \" +\n    \"SYSREQ_EDOC_KIND \" +\n    \"SYSREQ_EDOC_LIFE_STAGE_NAME \" +\n    \"SYSREQ_EDOC_LOCKED_FOR_SERVER_CODE \" +\n    \"SYSREQ_EDOC_MODIFIED \" +\n    \"SYSREQ_EDOC_NAME \" +\n    \"SYSREQ_EDOC_NOTE \" +\n    \"SYSREQ_EDOC_QUALIFIED_ID \" +\n    \"SYSREQ_EDOC_SESSION_KEY \" +\n    \"SYSREQ_EDOC_SESSION_KEY_ENCRYPTION_PLUGIN_NAME \" +\n    \"SYSREQ_EDOC_SESSION_KEY_ENCRYPTION_PLUGIN_VERSION \" +\n    \"SYSREQ_EDOC_SIGNATURE_TYPE \" +\n    \"SYSREQ_EDOC_SIGNED \" +\n    \"SYSREQ_EDOC_STORAGE \" +\n    \"SYSREQ_EDOC_STORAGES_ARCHIVE_STORAGE \" +\n    \"SYSREQ_EDOC_STORAGES_CHECK_RIGHTS \" +\n    \"SYSREQ_EDOC_STORAGES_COMPUTER_NAME \" +\n    \"SYSREQ_EDOC_STORAGES_EDIT_IN_STORAGE \" +\n    \"SYSREQ_EDOC_STORAGES_EXECUTIVE_STORAGE \" +\n    \"SYSREQ_EDOC_STORAGES_FUNCTION \" +\n    \"SYSREQ_EDOC_STORAGES_INITIALIZED \" +\n    \"SYSREQ_EDOC_STORAGES_LOCAL_PATH \" +\n    \"SYSREQ_EDOC_STORAGES_SAPERION_DATABASE_NAME \" +\n    \"SYSREQ_EDOC_STORAGES_SEARCH_BY_TEXT \" +\n    \"SYSREQ_EDOC_STORAGES_SERVER_NAME \" +\n    \"SYSREQ_EDOC_STORAGES_SHARED_SOURCE_NAME \" +\n    \"SYSREQ_EDOC_STORAGES_TYPE \" +\n    \"SYSREQ_EDOC_TEXT_MODIFIED \" +\n    \"SYSREQ_EDOC_TYPE_ACT_CODE \" +\n    \"SYSREQ_EDOC_TYPE_ACT_DESCRIPTION \" +\n    \"SYSREQ_EDOC_TYPE_ACT_DESCRIPTION_LOCALIZE_ID \" +\n    \"SYSREQ_EDOC_TYPE_ACT_ON_EXECUTE \" +\n    \"SYSREQ_EDOC_TYPE_ACT_ON_EXECUTE_EXISTS \" +\n    \"SYSREQ_EDOC_TYPE_ACT_SECTION \" +\n    \"SYSREQ_EDOC_TYPE_ADD_PARAMS \" +\n    \"SYSREQ_EDOC_TYPE_COMMENT \" +\n    \"SYSREQ_EDOC_TYPE_EVENT_TEXT \" +\n    \"SYSREQ_EDOC_TYPE_NAME_IN_SINGULAR \" +\n    \"SYSREQ_EDOC_TYPE_NAME_IN_SINGULAR_LOCALIZE_ID \" +\n    \"SYSREQ_EDOC_TYPE_NAME_LOCALIZE_ID \" +\n    \"SYSREQ_EDOC_TYPE_NUMERATION_METHOD \" +\n    \"SYSREQ_EDOC_TYPE_PSEUDO_REQUISITE_CODE \" +\n    \"SYSREQ_EDOC_TYPE_REQ_CODE \" +\n    \"SYSREQ_EDOC_TYPE_REQ_DESCRIPTION \" +\n    \"SYSREQ_EDOC_TYPE_REQ_DESCRIPTION_LOCALIZE_ID \" +\n    \"SYSREQ_EDOC_TYPE_REQ_IS_LEADING \" +\n    \"SYSREQ_EDOC_TYPE_REQ_IS_REQUIRED \" +\n    \"SYSREQ_EDOC_TYPE_REQ_NUMBER \" +\n    \"SYSREQ_EDOC_TYPE_REQ_ON_CHANGE \" +\n    \"SYSREQ_EDOC_TYPE_REQ_ON_CHANGE_EXISTS \" +\n    \"SYSREQ_EDOC_TYPE_REQ_ON_SELECT \" +\n    \"SYSREQ_EDOC_TYPE_REQ_ON_SELECT_KIND \" +\n    \"SYSREQ_EDOC_TYPE_REQ_SECTION \" +\n    \"SYSREQ_EDOC_TYPE_VIEW_CARD \" +\n    \"SYSREQ_EDOC_TYPE_VIEW_CODE \" +\n    \"SYSREQ_EDOC_TYPE_VIEW_COMMENT \" +\n    \"SYSREQ_EDOC_TYPE_VIEW_IS_MAIN \" +\n    \"SYSREQ_EDOC_TYPE_VIEW_NAME \" +\n    \"SYSREQ_EDOC_TYPE_VIEW_NAME_LOCALIZE_ID \" +\n    \"SYSREQ_EDOC_VERSION_AUTHOR \" +\n    \"SYSREQ_EDOC_VERSION_CRC \" +\n    \"SYSREQ_EDOC_VERSION_DATA \" +\n    \"SYSREQ_EDOC_VERSION_EDITOR \" +\n    \"SYSREQ_EDOC_VERSION_EXPORT_DATE \" +\n    \"SYSREQ_EDOC_VERSION_EXPORTER \" +\n    \"SYSREQ_EDOC_VERSION_HIDDEN \" +\n    \"SYSREQ_EDOC_VERSION_LIFE_STAGE \" +\n    \"SYSREQ_EDOC_VERSION_MODIFIED \" +\n    \"SYSREQ_EDOC_VERSION_NOTE \" +\n    \"SYSREQ_EDOC_VERSION_SIGNATURE_TYPE \" +\n    \"SYSREQ_EDOC_VERSION_SIGNED \" +\n    \"SYSREQ_EDOC_VERSION_SIZE \" +\n    \"SYSREQ_EDOC_VERSION_SOURCE \" +\n    \"SYSREQ_EDOC_VERSION_TEXT_MODIFIED \" +\n    \"SYSREQ_EDOCKIND_DEFAULT_VERSION_STATE_CODE \" +\n    \"SYSREQ_FOLDER_KIND \" +\n    \"SYSREQ_FUNC_CATEGORY \" +\n    \"SYSREQ_FUNC_COMMENT \" +\n    \"SYSREQ_FUNC_GROUP \" +\n    \"SYSREQ_FUNC_GROUP_COMMENT \" +\n    \"SYSREQ_FUNC_GROUP_NUMBER \" +\n    \"SYSREQ_FUNC_HELP \" +\n    \"SYSREQ_FUNC_PARAM_DEF_VALUE \" +\n    \"SYSREQ_FUNC_PARAM_IDENT \" +\n    \"SYSREQ_FUNC_PARAM_NUMBER \" +\n    \"SYSREQ_FUNC_PARAM_TYPE \" +\n    \"SYSREQ_FUNC_TEXT \" +\n    \"SYSREQ_GROUP_CATEGORY \" +\n    \"SYSREQ_ID \" +\n    \"SYSREQ_LAST_UPDATE \" +\n    \"SYSREQ_LEADER_REFERENCE \" +\n    \"SYSREQ_LINE_NUMBER \" +\n    \"SYSREQ_MAIN_RECORD_ID \" +\n    \"SYSREQ_NAME \" +\n    \"SYSREQ_NAME_LOCALIZE_ID \" +\n    \"SYSREQ_NOTE \" +\n    \"SYSREQ_ORIGINAL_RECORD \" +\n    \"SYSREQ_OUR_FIRM \" +\n    \"SYSREQ_PROFILING_SETTINGS_BATCH_LOGING \" +\n    \"SYSREQ_PROFILING_SETTINGS_BATCH_SIZE \" +\n    \"SYSREQ_PROFILING_SETTINGS_PROFILING_ENABLED \" +\n    \"SYSREQ_PROFILING_SETTINGS_SQL_PROFILING_ENABLED \" +\n    \"SYSREQ_PROFILING_SETTINGS_START_LOGGED \" +\n    \"SYSREQ_RECORD_STATUS \" +\n    \"SYSREQ_REF_REQ_FIELD_NAME \" +\n    \"SYSREQ_REF_REQ_FORMAT \" +\n    \"SYSREQ_REF_REQ_GENERATED \" +\n    \"SYSREQ_REF_REQ_LENGTH \" +\n    \"SYSREQ_REF_REQ_PRECISION \" +\n    \"SYSREQ_REF_REQ_REFERENCE \" +\n    \"SYSREQ_REF_REQ_SECTION \" +\n    \"SYSREQ_REF_REQ_STORED \" +\n    \"SYSREQ_REF_REQ_TOKENS \" +\n    \"SYSREQ_REF_REQ_TYPE \" +\n    \"SYSREQ_REF_REQ_VIEW \" +\n    \"SYSREQ_REF_TYPE_ACT_CODE \" +\n    \"SYSREQ_REF_TYPE_ACT_DESCRIPTION \" +\n    \"SYSREQ_REF_TYPE_ACT_DESCRIPTION_LOCALIZE_ID \" +\n    \"SYSREQ_REF_TYPE_ACT_ON_EXECUTE \" +\n    \"SYSREQ_REF_TYPE_ACT_ON_EXECUTE_EXISTS \" +\n    \"SYSREQ_REF_TYPE_ACT_SECTION \" +\n    \"SYSREQ_REF_TYPE_ADD_PARAMS \" +\n    \"SYSREQ_REF_TYPE_COMMENT \" +\n    \"SYSREQ_REF_TYPE_COMMON_SETTINGS \" +\n    \"SYSREQ_REF_TYPE_DISPLAY_REQUISITE_NAME \" +\n    \"SYSREQ_REF_TYPE_EVENT_TEXT \" +\n    \"SYSREQ_REF_TYPE_MAIN_LEADING_REF \" +\n    \"SYSREQ_REF_TYPE_NAME_IN_SINGULAR \" +\n    \"SYSREQ_REF_TYPE_NAME_IN_SINGULAR_LOCALIZE_ID \" +\n    \"SYSREQ_REF_TYPE_NAME_LOCALIZE_ID \" +\n    \"SYSREQ_REF_TYPE_NUMERATION_METHOD \" +\n    \"SYSREQ_REF_TYPE_REQ_CODE \" +\n    \"SYSREQ_REF_TYPE_REQ_DESCRIPTION \" +\n    \"SYSREQ_REF_TYPE_REQ_DESCRIPTION_LOCALIZE_ID \" +\n    \"SYSREQ_REF_TYPE_REQ_IS_CONTROL \" +\n    \"SYSREQ_REF_TYPE_REQ_IS_FILTER \" +\n    \"SYSREQ_REF_TYPE_REQ_IS_LEADING \" +\n    \"SYSREQ_REF_TYPE_REQ_IS_REQUIRED \" +\n    \"SYSREQ_REF_TYPE_REQ_NUMBER \" +\n    \"SYSREQ_REF_TYPE_REQ_ON_CHANGE \" +\n    \"SYSREQ_REF_TYPE_REQ_ON_CHANGE_EXISTS \" +\n    \"SYSREQ_REF_TYPE_REQ_ON_SELECT \" +\n    \"SYSREQ_REF_TYPE_REQ_ON_SELECT_KIND \" +\n    \"SYSREQ_REF_TYPE_REQ_SECTION \" +\n    \"SYSREQ_REF_TYPE_VIEW_CARD \" +\n    \"SYSREQ_REF_TYPE_VIEW_CODE \" +\n    \"SYSREQ_REF_TYPE_VIEW_COMMENT \" +\n    \"SYSREQ_REF_TYPE_VIEW_IS_MAIN \" +\n    \"SYSREQ_REF_TYPE_VIEW_NAME \" +\n    \"SYSREQ_REF_TYPE_VIEW_NAME_LOCALIZE_ID \" +\n    \"SYSREQ_REFERENCE_TYPE_ID \" +\n    \"SYSREQ_STATE \" +\n    \"SYSREQ_STATЕ \" +\n    \"SYSREQ_SYSTEM_SETTINGS_VALUE \" +\n    \"SYSREQ_TYPE \" +\n    \"SYSREQ_UNIT \" +\n    \"SYSREQ_UNIT_ID \" +\n    \"SYSREQ_USER_GROUPS_GROUP_FULL_NAME \" +\n    \"SYSREQ_USER_GROUPS_GROUP_NAME \" +\n    \"SYSREQ_USER_GROUPS_GROUP_SERVER_NAME \" +\n    \"SYSREQ_USERS_ACCESS_RIGHTS \" +\n    \"SYSREQ_USERS_AUTHENTICATION \" +\n    \"SYSREQ_USERS_CATEGORY \" +\n    \"SYSREQ_USERS_COMPONENT \" +\n    \"SYSREQ_USERS_COMPONENT_USER_IS_PUBLIC \" +\n    \"SYSREQ_USERS_DOMAIN \" +\n    \"SYSREQ_USERS_FULL_USER_NAME \" +\n    \"SYSREQ_USERS_GROUP \" +\n    \"SYSREQ_USERS_IS_MAIN_SERVER \" +\n    \"SYSREQ_USERS_LOGIN \" +\n    \"SYSREQ_USERS_REFERENCE_USER_IS_PUBLIC \" +\n    \"SYSREQ_USERS_STATUS \" +\n    \"SYSREQ_USERS_USER_CERTIFICATE \" +\n    \"SYSREQ_USERS_USER_CERTIFICATE_INFO \" +\n    \"SYSREQ_USERS_USER_CERTIFICATE_PLUGIN_NAME \" +\n    \"SYSREQ_USERS_USER_CERTIFICATE_PLUGIN_VERSION \" +\n    \"SYSREQ_USERS_USER_CERTIFICATE_STATE \" +\n    \"SYSREQ_USERS_USER_CERTIFICATE_SUBJECT_NAME \" +\n    \"SYSREQ_USERS_USER_CERTIFICATE_THUMBPRINT \" +\n    \"SYSREQ_USERS_USER_DEFAULT_CERTIFICATE \" +\n    \"SYSREQ_USERS_USER_DESCRIPTION \" +\n    \"SYSREQ_USERS_USER_GLOBAL_NAME \" +\n    \"SYSREQ_USERS_USER_LOGIN \" +\n    \"SYSREQ_USERS_USER_MAIN_SERVER \" +\n    \"SYSREQ_USERS_USER_TYPE \" +\n    \"SYSREQ_WORK_RULES_FOLDER_ID \";\n\n  // Result\n  const result_constants = \"RESULT_VAR_NAME RESULT_VAR_NAME_ENG \";\n\n  // Rule identification\n  const rule_identification_constants =\n    \"AUTO_NUMERATION_RULE_ID \" +\n    \"CANT_CHANGE_ID_REQUISITE_RULE_ID \" +\n    \"CANT_CHANGE_OURFIRM_REQUISITE_RULE_ID \" +\n    \"CHECK_CHANGING_REFERENCE_RECORD_USE_RULE_ID \" +\n    \"CHECK_CODE_REQUISITE_RULE_ID \" +\n    \"CHECK_DELETING_REFERENCE_RECORD_USE_RULE_ID \" +\n    \"CHECK_FILTRATER_CHANGES_RULE_ID \" +\n    \"CHECK_RECORD_INTERVAL_RULE_ID \" +\n    \"CHECK_REFERENCE_INTERVAL_RULE_ID \" +\n    \"CHECK_REQUIRED_DATA_FULLNESS_RULE_ID \" +\n    \"CHECK_REQUIRED_REQUISITES_FULLNESS_RULE_ID \" +\n    \"MAKE_RECORD_UNRATIFIED_RULE_ID \" +\n    \"RESTORE_AUTO_NUMERATION_RULE_ID \" +\n    \"SET_FIRM_CONTEXT_FROM_RECORD_RULE_ID \" +\n    \"SET_FIRST_RECORD_IN_LIST_FORM_RULE_ID \" +\n    \"SET_IDSPS_VALUE_RULE_ID \" +\n    \"SET_NEXT_CODE_VALUE_RULE_ID \" +\n    \"SET_OURFIRM_BOUNDS_RULE_ID \" +\n    \"SET_OURFIRM_REQUISITE_RULE_ID \";\n\n  // Script block properties\n  const script_block_properties_constants =\n    \"SCRIPT_BLOCK_AFTER_FINISH_EVENT \" +\n    \"SCRIPT_BLOCK_BEFORE_START_EVENT \" +\n    \"SCRIPT_BLOCK_EXECUTION_RESULTS_PROPERTY \" +\n    \"SCRIPT_BLOCK_NAME_PROPERTY \" +\n    \"SCRIPT_BLOCK_SCRIPT_PROPERTY \";\n\n  // Subtask block properties\n  const subtask_block_properties_constants =\n    \"SUBTASK_BLOCK_ABORT_DEADLINE_PROPERTY \" +\n    \"SUBTASK_BLOCK_AFTER_FINISH_EVENT \" +\n    \"SUBTASK_BLOCK_ASSIGN_PARAMS_EVENT \" +\n    \"SUBTASK_BLOCK_ATTACHMENTS_PROPERTY \" +\n    \"SUBTASK_BLOCK_ATTACHMENTS_RIGHTS_GROUP_PROPERTY \" +\n    \"SUBTASK_BLOCK_ATTACHMENTS_RIGHTS_TYPE_PROPERTY \" +\n    \"SUBTASK_BLOCK_BEFORE_START_EVENT \" +\n    \"SUBTASK_BLOCK_CREATED_TASK_PROPERTY \" +\n    \"SUBTASK_BLOCK_CREATION_EVENT \" +\n    \"SUBTASK_BLOCK_DEADLINE_PROPERTY \" +\n    \"SUBTASK_BLOCK_IMPORTANCE_PROPERTY \" +\n    \"SUBTASK_BLOCK_INITIATOR_PROPERTY \" +\n    \"SUBTASK_BLOCK_IS_RELATIVE_ABORT_DEADLINE_PROPERTY \" +\n    \"SUBTASK_BLOCK_IS_RELATIVE_DEADLINE_PROPERTY \" +\n    \"SUBTASK_BLOCK_JOBS_TYPE_PROPERTY \" +\n    \"SUBTASK_BLOCK_NAME_PROPERTY \" +\n    \"SUBTASK_BLOCK_PARALLEL_ROUTE_PROPERTY \" +\n    \"SUBTASK_BLOCK_PERFORMERS_PROPERTY \" +\n    \"SUBTASK_BLOCK_RELATIVE_ABORT_DEADLINE_TYPE_PROPERTY \" +\n    \"SUBTASK_BLOCK_RELATIVE_DEADLINE_TYPE_PROPERTY \" +\n    \"SUBTASK_BLOCK_REQUIRE_SIGN_PROPERTY \" +\n    \"SUBTASK_BLOCK_STANDARD_ROUTE_PROPERTY \" +\n    \"SUBTASK_BLOCK_START_EVENT \" +\n    \"SUBTASK_BLOCK_STEP_CONTROL_PROPERTY \" +\n    \"SUBTASK_BLOCK_SUBJECT_PROPERTY \" +\n    \"SUBTASK_BLOCK_TASK_CONTROL_PROPERTY \" +\n    \"SUBTASK_BLOCK_TEXT_PROPERTY \" +\n    \"SUBTASK_BLOCK_UNLOCK_ATTACHMENTS_ON_STOP_PROPERTY \" +\n    \"SUBTASK_BLOCK_USE_STANDARD_ROUTE_PROPERTY \" +\n    \"SUBTASK_BLOCK_WAIT_FOR_TASK_COMPLETE_PROPERTY \";\n\n  // System component\n  const system_component_constants =\n    \"SYSCOMP_CONTROL_JOBS \" +\n    \"SYSCOMP_FOLDERS \" +\n    \"SYSCOMP_JOBS \" +\n    \"SYSCOMP_NOTICES \" +\n    \"SYSCOMP_TASKS \";\n\n  // System dialogs\n  const system_dialogs_constants =\n    \"SYSDLG_CREATE_EDOCUMENT \" +\n    \"SYSDLG_CREATE_EDOCUMENT_VERSION \" +\n    \"SYSDLG_CURRENT_PERIOD \" +\n    \"SYSDLG_EDIT_FUNCTION_HELP \" +\n    \"SYSDLG_EDOCUMENT_KINDS_FOR_TEMPLATE \" +\n    \"SYSDLG_EXPORT_MULTIPLE_EDOCUMENTS \" +\n    \"SYSDLG_EXPORT_SINGLE_EDOCUMENT \" +\n    \"SYSDLG_IMPORT_EDOCUMENT \" +\n    \"SYSDLG_MULTIPLE_SELECT \" +\n    \"SYSDLG_SETUP_ACCESS_RIGHTS \" +\n    \"SYSDLG_SETUP_DEFAULT_RIGHTS \" +\n    \"SYSDLG_SETUP_FILTER_CONDITION \" +\n    \"SYSDLG_SETUP_SIGN_RIGHTS \" +\n    \"SYSDLG_SETUP_TASK_OBSERVERS \" +\n    \"SYSDLG_SETUP_TASK_ROUTE \" +\n    \"SYSDLG_SETUP_USERS_LIST \" +\n    \"SYSDLG_SIGN_EDOCUMENT \" +\n    \"SYSDLG_SIGN_MULTIPLE_EDOCUMENTS \";\n\n  // System reference names\n  const system_reference_names_constants =\n    \"SYSREF_ACCESS_RIGHTS_TYPES \" +\n    \"SYSREF_ADMINISTRATION_HISTORY \" +\n    \"SYSREF_ALL_AVAILABLE_COMPONENTS \" +\n    \"SYSREF_ALL_AVAILABLE_PRIVILEGES \" +\n    \"SYSREF_ALL_REPLICATING_COMPONENTS \" +\n    \"SYSREF_AVAILABLE_DEVELOPERS_COMPONENTS \" +\n    \"SYSREF_CALENDAR_EVENTS \" +\n    \"SYSREF_COMPONENT_TOKEN_HISTORY \" +\n    \"SYSREF_COMPONENT_TOKENS \" +\n    \"SYSREF_COMPONENTS \" +\n    \"SYSREF_CONSTANTS \" +\n    \"SYSREF_DATA_RECEIVE_PROTOCOL \" +\n    \"SYSREF_DATA_SEND_PROTOCOL \" +\n    \"SYSREF_DIALOGS \" +\n    \"SYSREF_DIALOGS_REQUISITES \" +\n    \"SYSREF_EDITORS \" +\n    \"SYSREF_EDOC_CARDS \" +\n    \"SYSREF_EDOC_TYPES \" +\n    \"SYSREF_EDOCUMENT_CARD_REQUISITES \" +\n    \"SYSREF_EDOCUMENT_CARD_TYPES \" +\n    \"SYSREF_EDOCUMENT_CARD_TYPES_REFERENCE \" +\n    \"SYSREF_EDOCUMENT_CARDS \" +\n    \"SYSREF_EDOCUMENT_HISTORY \" +\n    \"SYSREF_EDOCUMENT_KINDS \" +\n    \"SYSREF_EDOCUMENT_REQUISITES \" +\n    \"SYSREF_EDOCUMENT_SIGNATURES \" +\n    \"SYSREF_EDOCUMENT_TEMPLATES \" +\n    \"SYSREF_EDOCUMENT_TEXT_STORAGES \" +\n    \"SYSREF_EDOCUMENT_VIEWS \" +\n    \"SYSREF_FILTERER_SETUP_CONFLICTS \" +\n    \"SYSREF_FILTRATER_SETTING_CONFLICTS \" +\n    \"SYSREF_FOLDER_HISTORY \" +\n    \"SYSREF_FOLDERS \" +\n    \"SYSREF_FUNCTION_GROUPS \" +\n    \"SYSREF_FUNCTION_PARAMS \" +\n    \"SYSREF_FUNCTIONS \" +\n    \"SYSREF_JOB_HISTORY \" +\n    \"SYSREF_LINKS \" +\n    \"SYSREF_LOCALIZATION_DICTIONARY \" +\n    \"SYSREF_LOCALIZATION_LANGUAGES \" +\n    \"SYSREF_MODULES \" +\n    \"SYSREF_PRIVILEGES \" +\n    \"SYSREF_RECORD_HISTORY \" +\n    \"SYSREF_REFERENCE_REQUISITES \" +\n    \"SYSREF_REFERENCE_TYPE_VIEWS \" +\n    \"SYSREF_REFERENCE_TYPES \" +\n    \"SYSREF_REFERENCES \" +\n    \"SYSREF_REFERENCES_REQUISITES \" +\n    \"SYSREF_REMOTE_SERVERS \" +\n    \"SYSREF_REPLICATION_SESSIONS_LOG \" +\n    \"SYSREF_REPLICATION_SESSIONS_PROTOCOL \" +\n    \"SYSREF_REPORTS \" +\n    \"SYSREF_ROLES \" +\n    \"SYSREF_ROUTE_BLOCK_GROUPS \" +\n    \"SYSREF_ROUTE_BLOCKS \" +\n    \"SYSREF_SCRIPTS \" +\n    \"SYSREF_SEARCHES \" +\n    \"SYSREF_SERVER_EVENTS \" +\n    \"SYSREF_SERVER_EVENTS_HISTORY \" +\n    \"SYSREF_STANDARD_ROUTE_GROUPS \" +\n    \"SYSREF_STANDARD_ROUTES \" +\n    \"SYSREF_STATUSES \" +\n    \"SYSREF_SYSTEM_SETTINGS \" +\n    \"SYSREF_TASK_HISTORY \" +\n    \"SYSREF_TASK_KIND_GROUPS \" +\n    \"SYSREF_TASK_KINDS \" +\n    \"SYSREF_TASK_RIGHTS \" +\n    \"SYSREF_TASK_SIGNATURES \" +\n    \"SYSREF_TASKS \" +\n    \"SYSREF_UNITS \" +\n    \"SYSREF_USER_GROUPS \" +\n    \"SYSREF_USER_GROUPS_REFERENCE \" +\n    \"SYSREF_USER_SUBSTITUTION \" +\n    \"SYSREF_USERS \" +\n    \"SYSREF_USERS_REFERENCE \" +\n    \"SYSREF_VIEWERS \" +\n    \"SYSREF_WORKING_TIME_CALENDARS \";\n\n  // Table name\n  const table_name_constants =\n    \"ACCESS_RIGHTS_TABLE_NAME \" +\n    \"EDMS_ACCESS_TABLE_NAME \" +\n    \"EDOC_TYPES_TABLE_NAME \";\n\n  // Test\n  const test_constants =\n    \"TEST_DEV_DB_NAME \" +\n    \"TEST_DEV_SYSTEM_CODE \" +\n    \"TEST_EDMS_DB_NAME \" +\n    \"TEST_EDMS_MAIN_CODE \" +\n    \"TEST_EDMS_MAIN_DB_NAME \" +\n    \"TEST_EDMS_SECOND_CODE \" +\n    \"TEST_EDMS_SECOND_DB_NAME \" +\n    \"TEST_EDMS_SYSTEM_CODE \" +\n    \"TEST_ISB5_MAIN_CODE \" +\n    \"TEST_ISB5_SECOND_CODE \" +\n    \"TEST_SQL_SERVER_2005_NAME \" +\n    \"TEST_SQL_SERVER_NAME \";\n\n  // Using the dialog windows\n  const using_the_dialog_windows_constants =\n    \"ATTENTION_CAPTION \" +\n    \"cbsCommandLinks \" +\n    \"cbsDefault \" +\n    \"CONFIRMATION_CAPTION \" +\n    \"ERROR_CAPTION \" +\n    \"INFORMATION_CAPTION \" +\n    \"mrCancel \" +\n    \"mrOk \";\n\n  // Using the document\n  const using_the_document_constants =\n    \"EDOC_VERSION_ACTIVE_STAGE_CODE \" +\n    \"EDOC_VERSION_DESIGN_STAGE_CODE \" +\n    \"EDOC_VERSION_OBSOLETE_STAGE_CODE \";\n\n  // Using the EA and encryption\n  const using_the_EA_and_encryption_constants =\n    \"cpDataEnciphermentEnabled \" +\n    \"cpDigitalSignatureEnabled \" +\n    \"cpID \" +\n    \"cpIssuer \" +\n    \"cpPluginVersion \" +\n    \"cpSerial \" +\n    \"cpSubjectName \" +\n    \"cpSubjSimpleName \" +\n    \"cpValidFromDate \" +\n    \"cpValidToDate \";\n\n  // Using the ISBL-editor\n  const using_the_ISBL_editor_constants =\n    \"ISBL_SYNTAX \" + \"NO_SYNTAX \" + \"XML_SYNTAX \";\n\n  // Wait block properties\n  const wait_block_properties_constants =\n    \"WAIT_BLOCK_AFTER_FINISH_EVENT \" +\n    \"WAIT_BLOCK_BEFORE_START_EVENT \" +\n    \"WAIT_BLOCK_DEADLINE_PROPERTY \" +\n    \"WAIT_BLOCK_IS_RELATIVE_DEADLINE_PROPERTY \" +\n    \"WAIT_BLOCK_NAME_PROPERTY \" +\n    \"WAIT_BLOCK_RELATIVE_DEADLINE_TYPE_PROPERTY \";\n\n  // SYSRES Common\n  const sysres_common_constants =\n    \"SYSRES_COMMON \" +\n    \"SYSRES_CONST \" +\n    \"SYSRES_MBFUNC \" +\n    \"SYSRES_SBDATA \" +\n    \"SYSRES_SBGUI \" +\n    \"SYSRES_SBINTF \" +\n    \"SYSRES_SBREFDSC \" +\n    \"SYSRES_SQLERRORS \" +\n    \"SYSRES_SYSCOMP \";\n\n  // Константы ==> built_in\n  const CONSTANTS =\n    sysres_constants +\n    base_constants +\n    base_group_name_constants +\n    decision_block_properties_constants +\n    file_extension_constants +\n    job_block_properties_constants +\n    language_code_constants +\n    launching_external_applications_constants +\n    link_kind_constants +\n    lock_type_constants +\n    monitor_block_properties_constants +\n    notice_block_properties_constants +\n    object_events_constants +\n    object_params_constants +\n    other_constants +\n    privileges_constants +\n    pseudoreference_code_constants +\n    requisite_ISBCertificateType_values_constants +\n    requisite_ISBEDocStorageType_values_constants +\n    requisite_compType2_values_constants +\n    requisite_name_constants +\n    result_constants +\n    rule_identification_constants +\n    script_block_properties_constants +\n    subtask_block_properties_constants +\n    system_component_constants +\n    system_dialogs_constants +\n    system_reference_names_constants +\n    table_name_constants +\n    test_constants +\n    using_the_dialog_windows_constants +\n    using_the_document_constants +\n    using_the_EA_and_encryption_constants +\n    using_the_ISBL_editor_constants +\n    wait_block_properties_constants +\n    sysres_common_constants;\n\n  // enum TAccountType\n  const TAccountType = \"atUser atGroup atRole \";\n\n  // enum TActionEnabledMode\n  const TActionEnabledMode =\n    \"aemEnabledAlways \" +\n    \"aemDisabledAlways \" +\n    \"aemEnabledOnBrowse \" +\n    \"aemEnabledOnEdit \" +\n    \"aemDisabledOnBrowseEmpty \";\n\n  // enum TAddPosition\n  const TAddPosition = \"apBegin apEnd \";\n\n  // enum TAlignment\n  const TAlignment = \"alLeft alRight \";\n\n  // enum TAreaShowMode\n  const TAreaShowMode =\n    \"asmNever \" +\n    \"asmNoButCustomize \" +\n    \"asmAsLastTime \" +\n    \"asmYesButCustomize \" +\n    \"asmAlways \";\n\n  // enum TCertificateInvalidationReason\n  const TCertificateInvalidationReason = \"cirCommon cirRevoked \";\n\n  // enum TCertificateType\n  const TCertificateType = \"ctSignature ctEncode ctSignatureEncode \";\n\n  // enum TCheckListBoxItemState\n  const TCheckListBoxItemState = \"clbUnchecked clbChecked clbGrayed \";\n\n  // enum TCloseOnEsc\n  const TCloseOnEsc = \"ceISB ceAlways ceNever \";\n\n  // enum TCompType\n  const TCompType =\n    \"ctDocument \" +\n    \"ctReference \" +\n    \"ctScript \" +\n    \"ctUnknown \" +\n    \"ctReport \" +\n    \"ctDialog \" +\n    \"ctFunction \" +\n    \"ctFolder \" +\n    \"ctEDocument \" +\n    \"ctTask \" +\n    \"ctJob \" +\n    \"ctNotice \" +\n    \"ctControlJob \";\n\n  // enum TConditionFormat\n  const TConditionFormat = \"cfInternal cfDisplay \";\n\n  // enum TConnectionIntent\n  const TConnectionIntent = \"ciUnspecified ciWrite ciRead \";\n\n  // enum TContentKind\n  const TContentKind =\n    \"ckFolder \" +\n    \"ckEDocument \" +\n    \"ckTask \" +\n    \"ckJob \" +\n    \"ckComponentToken \" +\n    \"ckAny \" +\n    \"ckReference \" +\n    \"ckScript \" +\n    \"ckReport \" +\n    \"ckDialog \";\n\n  // enum TControlType\n  const TControlType =\n    \"ctISBLEditor \" +\n    \"ctBevel \" +\n    \"ctButton \" +\n    \"ctCheckListBox \" +\n    \"ctComboBox \" +\n    \"ctComboEdit \" +\n    \"ctGrid \" +\n    \"ctDBCheckBox \" +\n    \"ctDBComboBox \" +\n    \"ctDBEdit \" +\n    \"ctDBEllipsis \" +\n    \"ctDBMemo \" +\n    \"ctDBNavigator \" +\n    \"ctDBRadioGroup \" +\n    \"ctDBStatusLabel \" +\n    \"ctEdit \" +\n    \"ctGroupBox \" +\n    \"ctInplaceHint \" +\n    \"ctMemo \" +\n    \"ctPanel \" +\n    \"ctListBox \" +\n    \"ctRadioButton \" +\n    \"ctRichEdit \" +\n    \"ctTabSheet \" +\n    \"ctWebBrowser \" +\n    \"ctImage \" +\n    \"ctHyperLink \" +\n    \"ctLabel \" +\n    \"ctDBMultiEllipsis \" +\n    \"ctRibbon \" +\n    \"ctRichView \" +\n    \"ctInnerPanel \" +\n    \"ctPanelGroup \" +\n    \"ctBitButton \";\n\n  // enum TCriterionContentType\n  const TCriterionContentType =\n    \"cctDate \" +\n    \"cctInteger \" +\n    \"cctNumeric \" +\n    \"cctPick \" +\n    \"cctReference \" +\n    \"cctString \" +\n    \"cctText \";\n\n  // enum TCultureType\n  const TCultureType = \"cltInternal cltPrimary cltGUI \";\n\n  // enum TDataSetEventType\n  const TDataSetEventType =\n    \"dseBeforeOpen \" +\n    \"dseAfterOpen \" +\n    \"dseBeforeClose \" +\n    \"dseAfterClose \" +\n    \"dseOnValidDelete \" +\n    \"dseBeforeDelete \" +\n    \"dseAfterDelete \" +\n    \"dseAfterDeleteOutOfTransaction \" +\n    \"dseOnDeleteError \" +\n    \"dseBeforeInsert \" +\n    \"dseAfterInsert \" +\n    \"dseOnValidUpdate \" +\n    \"dseBeforeUpdate \" +\n    \"dseOnUpdateRatifiedRecord \" +\n    \"dseAfterUpdate \" +\n    \"dseAfterUpdateOutOfTransaction \" +\n    \"dseOnUpdateError \" +\n    \"dseAfterScroll \" +\n    \"dseOnOpenRecord \" +\n    \"dseOnCloseRecord \" +\n    \"dseBeforeCancel \" +\n    \"dseAfterCancel \" +\n    \"dseOnUpdateDeadlockError \" +\n    \"dseBeforeDetailUpdate \" +\n    \"dseOnPrepareUpdate \" +\n    \"dseOnAnyRequisiteChange \";\n\n  // enum TDataSetState\n  const TDataSetState = \"dssEdit dssInsert dssBrowse dssInActive \";\n\n  // enum TDateFormatType\n  const TDateFormatType = \"dftDate dftShortDate dftDateTime dftTimeStamp \";\n\n  // enum TDateOffsetType\n  const TDateOffsetType = \"dotDays dotHours dotMinutes dotSeconds \";\n\n  // enum TDateTimeKind\n  const TDateTimeKind = \"dtkndLocal dtkndUTC \";\n\n  // enum TDeaAccessRights\n  const TDeaAccessRights = \"arNone arView arEdit arFull \";\n\n  // enum TDocumentDefaultAction\n  const TDocumentDefaultAction = \"ddaView ddaEdit \";\n\n  // enum TEditMode\n  const TEditMode =\n    \"emLock \" +\n    \"emEdit \" +\n    \"emSign \" +\n    \"emExportWithLock \" +\n    \"emImportWithUnlock \" +\n    \"emChangeVersionNote \" +\n    \"emOpenForModify \" +\n    \"emChangeLifeStage \" +\n    \"emDelete \" +\n    \"emCreateVersion \" +\n    \"emImport \" +\n    \"emUnlockExportedWithLock \" +\n    \"emStart \" +\n    \"emAbort \" +\n    \"emReInit \" +\n    \"emMarkAsReaded \" +\n    \"emMarkAsUnreaded \" +\n    \"emPerform \" +\n    \"emAccept \" +\n    \"emResume \" +\n    \"emChangeRights \" +\n    \"emEditRoute \" +\n    \"emEditObserver \" +\n    \"emRecoveryFromLocalCopy \" +\n    \"emChangeWorkAccessType \" +\n    \"emChangeEncodeTypeToCertificate \" +\n    \"emChangeEncodeTypeToPassword \" +\n    \"emChangeEncodeTypeToNone \" +\n    \"emChangeEncodeTypeToCertificatePassword \" +\n    \"emChangeStandardRoute \" +\n    \"emGetText \" +\n    \"emOpenForView \" +\n    \"emMoveToStorage \" +\n    \"emCreateObject \" +\n    \"emChangeVersionHidden \" +\n    \"emDeleteVersion \" +\n    \"emChangeLifeCycleStage \" +\n    \"emApprovingSign \" +\n    \"emExport \" +\n    \"emContinue \" +\n    \"emLockFromEdit \" +\n    \"emUnLockForEdit \" +\n    \"emLockForServer \" +\n    \"emUnlockFromServer \" +\n    \"emDelegateAccessRights \" +\n    \"emReEncode \";\n\n  // enum TEditorCloseObservType\n  const TEditorCloseObservType = \"ecotFile ecotProcess \";\n\n  // enum TEdmsApplicationAction\n  const TEdmsApplicationAction = \"eaGet eaCopy eaCreate eaCreateStandardRoute \";\n\n  // enum TEDocumentLockType\n  const TEDocumentLockType = \"edltAll edltNothing edltQuery \";\n\n  // enum TEDocumentStepShowMode\n  const TEDocumentStepShowMode = \"essmText essmCard \";\n\n  // enum TEDocumentStepVersionType\n  const TEDocumentStepVersionType = \"esvtLast esvtLastActive esvtSpecified \";\n\n  // enum TEDocumentStorageFunction\n  const TEDocumentStorageFunction = \"edsfExecutive edsfArchive \";\n\n  // enum TEDocumentStorageType\n  const TEDocumentStorageType = \"edstSQLServer edstFile \";\n\n  // enum TEDocumentVersionSourceType\n  const TEDocumentVersionSourceType =\n    \"edvstNone edvstEDocumentVersionCopy edvstFile edvstTemplate edvstScannedFile \";\n\n  // enum TEDocumentVersionState\n  const TEDocumentVersionState = \"vsDefault vsDesign vsActive vsObsolete \";\n\n  // enum TEncodeType\n  const TEncodeType = \"etNone etCertificate etPassword etCertificatePassword \";\n\n  // enum TExceptionCategory\n  const TExceptionCategory = \"ecException ecWarning ecInformation \";\n\n  // enum TExportedSignaturesType\n  const TExportedSignaturesType = \"estAll estApprovingOnly \";\n\n  // enum TExportedVersionType\n  const TExportedVersionType = \"evtLast evtLastActive evtQuery \";\n\n  // enum TFieldDataType\n  const TFieldDataType =\n    \"fdtString \" +\n    \"fdtNumeric \" +\n    \"fdtInteger \" +\n    \"fdtDate \" +\n    \"fdtText \" +\n    \"fdtUnknown \" +\n    \"fdtWideString \" +\n    \"fdtLargeInteger \";\n\n  // enum TFolderType\n  const TFolderType =\n    \"ftInbox \" +\n    \"ftOutbox \" +\n    \"ftFavorites \" +\n    \"ftCommonFolder \" +\n    \"ftUserFolder \" +\n    \"ftComponents \" +\n    \"ftQuickLaunch \" +\n    \"ftShortcuts \" +\n    \"ftSearch \";\n\n  // enum TGridRowHeight\n  const TGridRowHeight = \"grhAuto \" + \"grhX1 \" + \"grhX2 \" + \"grhX3 \";\n\n  // enum THyperlinkType\n  const THyperlinkType = \"hltText \" + \"hltRTF \" + \"hltHTML \";\n\n  // enum TImageFileFormat\n  const TImageFileFormat =\n    \"iffBMP \" +\n    \"iffJPEG \" +\n    \"iffMultiPageTIFF \" +\n    \"iffSinglePageTIFF \" +\n    \"iffTIFF \" +\n    \"iffPNG \";\n\n  // enum TImageMode\n  const TImageMode = \"im8bGrayscale \" + \"im24bRGB \" + \"im1bMonochrome \";\n\n  // enum TImageType\n  const TImageType = \"itBMP \" + \"itJPEG \" + \"itWMF \" + \"itPNG \";\n\n  // enum TInplaceHintKind\n  const TInplaceHintKind =\n    \"ikhInformation \" + \"ikhWarning \" + \"ikhError \" + \"ikhNoIcon \";\n\n  // enum TISBLContext\n  const TISBLContext =\n    \"icUnknown \" +\n    \"icScript \" +\n    \"icFunction \" +\n    \"icIntegratedReport \" +\n    \"icAnalyticReport \" +\n    \"icDataSetEventHandler \" +\n    \"icActionHandler \" +\n    \"icFormEventHandler \" +\n    \"icLookUpEventHandler \" +\n    \"icRequisiteChangeEventHandler \" +\n    \"icBeforeSearchEventHandler \" +\n    \"icRoleCalculation \" +\n    \"icSelectRouteEventHandler \" +\n    \"icBlockPropertyCalculation \" +\n    \"icBlockQueryParamsEventHandler \" +\n    \"icChangeSearchResultEventHandler \" +\n    \"icBlockEventHandler \" +\n    \"icSubTaskInitEventHandler \" +\n    \"icEDocDataSetEventHandler \" +\n    \"icEDocLookUpEventHandler \" +\n    \"icEDocActionHandler \" +\n    \"icEDocFormEventHandler \" +\n    \"icEDocRequisiteChangeEventHandler \" +\n    \"icStructuredConversionRule \" +\n    \"icStructuredConversionEventBefore \" +\n    \"icStructuredConversionEventAfter \" +\n    \"icWizardEventHandler \" +\n    \"icWizardFinishEventHandler \" +\n    \"icWizardStepEventHandler \" +\n    \"icWizardStepFinishEventHandler \" +\n    \"icWizardActionEnableEventHandler \" +\n    \"icWizardActionExecuteEventHandler \" +\n    \"icCreateJobsHandler \" +\n    \"icCreateNoticesHandler \" +\n    \"icBeforeLookUpEventHandler \" +\n    \"icAfterLookUpEventHandler \" +\n    \"icTaskAbortEventHandler \" +\n    \"icWorkflowBlockActionHandler \" +\n    \"icDialogDataSetEventHandler \" +\n    \"icDialogActionHandler \" +\n    \"icDialogLookUpEventHandler \" +\n    \"icDialogRequisiteChangeEventHandler \" +\n    \"icDialogFormEventHandler \" +\n    \"icDialogValidCloseEventHandler \" +\n    \"icBlockFormEventHandler \" +\n    \"icTaskFormEventHandler \" +\n    \"icReferenceMethod \" +\n    \"icEDocMethod \" +\n    \"icDialogMethod \" +\n    \"icProcessMessageHandler \";\n\n  // enum TItemShow\n  const TItemShow = \"isShow \" + \"isHide \" + \"isByUserSettings \";\n\n  // enum TJobKind\n  const TJobKind = \"jkJob \" + \"jkNotice \" + \"jkControlJob \";\n\n  // enum TJoinType\n  const TJoinType = \"jtInner \" + \"jtLeft \" + \"jtRight \" + \"jtFull \" + \"jtCross \";\n\n  // enum TLabelPos\n  const TLabelPos = \"lbpAbove \" + \"lbpBelow \" + \"lbpLeft \" + \"lbpRight \";\n\n  // enum TLicensingType\n  const TLicensingType = \"eltPerConnection \" + \"eltPerUser \";\n\n  // enum TLifeCycleStageFontColor\n  const TLifeCycleStageFontColor =\n    \"sfcUndefined \" +\n    \"sfcBlack \" +\n    \"sfcGreen \" +\n    \"sfcRed \" +\n    \"sfcBlue \" +\n    \"sfcOrange \" +\n    \"sfcLilac \";\n\n  // enum TLifeCycleStageFontStyle\n  const TLifeCycleStageFontStyle = \"sfsItalic \" + \"sfsStrikeout \" + \"sfsNormal \";\n\n  // enum TLockableDevelopmentComponentType\n  const TLockableDevelopmentComponentType =\n    \"ldctStandardRoute \" +\n    \"ldctWizard \" +\n    \"ldctScript \" +\n    \"ldctFunction \" +\n    \"ldctRouteBlock \" +\n    \"ldctIntegratedReport \" +\n    \"ldctAnalyticReport \" +\n    \"ldctReferenceType \" +\n    \"ldctEDocumentType \" +\n    \"ldctDialog \" +\n    \"ldctServerEvents \";\n\n  // enum TMaxRecordCountRestrictionType\n  const TMaxRecordCountRestrictionType =\n    \"mrcrtNone \" + \"mrcrtUser \" + \"mrcrtMaximal \" + \"mrcrtCustom \";\n\n  // enum TRangeValueType\n  const TRangeValueType =\n    \"vtEqual \" + \"vtGreaterOrEqual \" + \"vtLessOrEqual \" + \"vtRange \";\n\n  // enum TRelativeDate\n  const TRelativeDate =\n    \"rdYesterday \" +\n    \"rdToday \" +\n    \"rdTomorrow \" +\n    \"rdThisWeek \" +\n    \"rdThisMonth \" +\n    \"rdThisYear \" +\n    \"rdNextMonth \" +\n    \"rdNextWeek \" +\n    \"rdLastWeek \" +\n    \"rdLastMonth \";\n\n  // enum TReportDestination\n  const TReportDestination = \"rdWindow \" + \"rdFile \" + \"rdPrinter \";\n\n  // enum TReqDataType\n  const TReqDataType =\n    \"rdtString \" +\n    \"rdtNumeric \" +\n    \"rdtInteger \" +\n    \"rdtDate \" +\n    \"rdtReference \" +\n    \"rdtAccount \" +\n    \"rdtText \" +\n    \"rdtPick \" +\n    \"rdtUnknown \" +\n    \"rdtLargeInteger \" +\n    \"rdtDocument \";\n\n  // enum TRequisiteEventType\n  const TRequisiteEventType = \"reOnChange \" + \"reOnChangeValues \";\n\n  // enum TSBTimeType\n  const TSBTimeType = \"ttGlobal \" + \"ttLocal \" + \"ttUser \" + \"ttSystem \";\n\n  // enum TSearchShowMode\n  const TSearchShowMode =\n    \"ssmBrowse \" + \"ssmSelect \" + \"ssmMultiSelect \" + \"ssmBrowseModal \";\n\n  // enum TSelectMode\n  const TSelectMode = \"smSelect \" + \"smLike \" + \"smCard \";\n\n  // enum TSignatureType\n  const TSignatureType = \"stNone \" + \"stAuthenticating \" + \"stApproving \";\n\n  // enum TSignerContentType\n  const TSignerContentType = \"sctString \" + \"sctStream \";\n\n  // enum TStringsSortType\n  const TStringsSortType = \"sstAnsiSort \" + \"sstNaturalSort \";\n\n  // enum TStringValueType\n  const TStringValueType = \"svtEqual \" + \"svtContain \";\n\n  // enum TStructuredObjectAttributeType\n  const TStructuredObjectAttributeType =\n    \"soatString \" +\n    \"soatNumeric \" +\n    \"soatInteger \" +\n    \"soatDatetime \" +\n    \"soatReferenceRecord \" +\n    \"soatText \" +\n    \"soatPick \" +\n    \"soatBoolean \" +\n    \"soatEDocument \" +\n    \"soatAccount \" +\n    \"soatIntegerCollection \" +\n    \"soatNumericCollection \" +\n    \"soatStringCollection \" +\n    \"soatPickCollection \" +\n    \"soatDatetimeCollection \" +\n    \"soatBooleanCollection \" +\n    \"soatReferenceRecordCollection \" +\n    \"soatEDocumentCollection \" +\n    \"soatAccountCollection \" +\n    \"soatContents \" +\n    \"soatUnknown \";\n\n  // enum TTaskAbortReason\n  const TTaskAbortReason = \"tarAbortByUser \" + \"tarAbortByWorkflowException \";\n\n  // enum TTextValueType\n  const TTextValueType = \"tvtAllWords \" + \"tvtExactPhrase \" + \"tvtAnyWord \";\n\n  // enum TUserObjectStatus\n  const TUserObjectStatus =\n    \"usNone \" +\n    \"usCompleted \" +\n    \"usRedSquare \" +\n    \"usBlueSquare \" +\n    \"usYellowSquare \" +\n    \"usGreenSquare \" +\n    \"usOrangeSquare \" +\n    \"usPurpleSquare \" +\n    \"usFollowUp \";\n\n  // enum TUserType\n  const TUserType =\n    \"utUnknown \" +\n    \"utUser \" +\n    \"utDeveloper \" +\n    \"utAdministrator \" +\n    \"utSystemDeveloper \" +\n    \"utDisconnected \";\n\n  // enum TValuesBuildType\n  const TValuesBuildType =\n    \"btAnd \" + \"btDetailAnd \" + \"btOr \" + \"btNotOr \" + \"btOnly \";\n\n  // enum TViewMode\n  const TViewMode = \"vmView \" + \"vmSelect \" + \"vmNavigation \";\n\n  // enum TViewSelectionMode\n  const TViewSelectionMode =\n    \"vsmSingle \" + \"vsmMultiple \" + \"vsmMultipleCheck \" + \"vsmNoSelection \";\n\n  // enum TWizardActionType\n  const TWizardActionType =\n    \"wfatPrevious \" + \"wfatNext \" + \"wfatCancel \" + \"wfatFinish \";\n\n  // enum TWizardFormElementProperty\n  const TWizardFormElementProperty =\n    \"wfepUndefined \" +\n    \"wfepText3 \" +\n    \"wfepText6 \" +\n    \"wfepText9 \" +\n    \"wfepSpinEdit \" +\n    \"wfepDropDown \" +\n    \"wfepRadioGroup \" +\n    \"wfepFlag \" +\n    \"wfepText12 \" +\n    \"wfepText15 \" +\n    \"wfepText18 \" +\n    \"wfepText21 \" +\n    \"wfepText24 \" +\n    \"wfepText27 \" +\n    \"wfepText30 \" +\n    \"wfepRadioGroupColumn1 \" +\n    \"wfepRadioGroupColumn2 \" +\n    \"wfepRadioGroupColumn3 \";\n\n  // enum TWizardFormElementType\n  const TWizardFormElementType =\n    \"wfetQueryParameter \" + \"wfetText \" + \"wfetDelimiter \" + \"wfetLabel \";\n\n  // enum TWizardParamType\n  const TWizardParamType =\n    \"wptString \" +\n    \"wptInteger \" +\n    \"wptNumeric \" +\n    \"wptBoolean \" +\n    \"wptDateTime \" +\n    \"wptPick \" +\n    \"wptText \" +\n    \"wptUser \" +\n    \"wptUserList \" +\n    \"wptEDocumentInfo \" +\n    \"wptEDocumentInfoList \" +\n    \"wptReferenceRecordInfo \" +\n    \"wptReferenceRecordInfoList \" +\n    \"wptFolderInfo \" +\n    \"wptTaskInfo \" +\n    \"wptContents \" +\n    \"wptFileName \" +\n    \"wptDate \";\n\n  // enum TWizardStepResult\n  const TWizardStepResult =\n    \"wsrComplete \" +\n    \"wsrGoNext \" +\n    \"wsrGoPrevious \" +\n    \"wsrCustom \" +\n    \"wsrCancel \" +\n    \"wsrGoFinal \";\n\n  // enum TWizardStepType\n  const TWizardStepType =\n    \"wstForm \" +\n    \"wstEDocument \" +\n    \"wstTaskCard \" +\n    \"wstReferenceRecordCard \" +\n    \"wstFinal \";\n\n  // enum TWorkAccessType\n  const TWorkAccessType = \"waAll \" + \"waPerformers \" + \"waManual \";\n\n  // enum TWorkflowBlockType\n  const TWorkflowBlockType =\n    \"wsbStart \" +\n    \"wsbFinish \" +\n    \"wsbNotice \" +\n    \"wsbStep \" +\n    \"wsbDecision \" +\n    \"wsbWait \" +\n    \"wsbMonitor \" +\n    \"wsbScript \" +\n    \"wsbConnector \" +\n    \"wsbSubTask \" +\n    \"wsbLifeCycleStage \" +\n    \"wsbPause \";\n\n  // enum TWorkflowDataType\n  const TWorkflowDataType =\n    \"wdtInteger \" +\n    \"wdtFloat \" +\n    \"wdtString \" +\n    \"wdtPick \" +\n    \"wdtDateTime \" +\n    \"wdtBoolean \" +\n    \"wdtTask \" +\n    \"wdtJob \" +\n    \"wdtFolder \" +\n    \"wdtEDocument \" +\n    \"wdtReferenceRecord \" +\n    \"wdtUser \" +\n    \"wdtGroup \" +\n    \"wdtRole \" +\n    \"wdtIntegerCollection \" +\n    \"wdtFloatCollection \" +\n    \"wdtStringCollection \" +\n    \"wdtPickCollection \" +\n    \"wdtDateTimeCollection \" +\n    \"wdtBooleanCollection \" +\n    \"wdtTaskCollection \" +\n    \"wdtJobCollection \" +\n    \"wdtFolderCollection \" +\n    \"wdtEDocumentCollection \" +\n    \"wdtReferenceRecordCollection \" +\n    \"wdtUserCollection \" +\n    \"wdtGroupCollection \" +\n    \"wdtRoleCollection \" +\n    \"wdtContents \" +\n    \"wdtUserList \" +\n    \"wdtSearchDescription \" +\n    \"wdtDeadLine \" +\n    \"wdtPickSet \" +\n    \"wdtAccountCollection \";\n\n  // enum TWorkImportance\n  const TWorkImportance = \"wiLow \" + \"wiNormal \" + \"wiHigh \";\n\n  // enum TWorkRouteType\n  const TWorkRouteType = \"wrtSoft \" + \"wrtHard \";\n\n  // enum TWorkState\n  const TWorkState =\n    \"wsInit \" +\n    \"wsRunning \" +\n    \"wsDone \" +\n    \"wsControlled \" +\n    \"wsAborted \" +\n    \"wsContinued \";\n\n  // enum TWorkTextBuildingMode\n  const TWorkTextBuildingMode =\n    \"wtmFull \" + \"wtmFromCurrent \" + \"wtmOnlyCurrent \";\n\n  // Перечисления\n  const ENUMS =\n    TAccountType +\n    TActionEnabledMode +\n    TAddPosition +\n    TAlignment +\n    TAreaShowMode +\n    TCertificateInvalidationReason +\n    TCertificateType +\n    TCheckListBoxItemState +\n    TCloseOnEsc +\n    TCompType +\n    TConditionFormat +\n    TConnectionIntent +\n    TContentKind +\n    TControlType +\n    TCriterionContentType +\n    TCultureType +\n    TDataSetEventType +\n    TDataSetState +\n    TDateFormatType +\n    TDateOffsetType +\n    TDateTimeKind +\n    TDeaAccessRights +\n    TDocumentDefaultAction +\n    TEditMode +\n    TEditorCloseObservType +\n    TEdmsApplicationAction +\n    TEDocumentLockType +\n    TEDocumentStepShowMode +\n    TEDocumentStepVersionType +\n    TEDocumentStorageFunction +\n    TEDocumentStorageType +\n    TEDocumentVersionSourceType +\n    TEDocumentVersionState +\n    TEncodeType +\n    TExceptionCategory +\n    TExportedSignaturesType +\n    TExportedVersionType +\n    TFieldDataType +\n    TFolderType +\n    TGridRowHeight +\n    THyperlinkType +\n    TImageFileFormat +\n    TImageMode +\n    TImageType +\n    TInplaceHintKind +\n    TISBLContext +\n    TItemShow +\n    TJobKind +\n    TJoinType +\n    TLabelPos +\n    TLicensingType +\n    TLifeCycleStageFontColor +\n    TLifeCycleStageFontStyle +\n    TLockableDevelopmentComponentType +\n    TMaxRecordCountRestrictionType +\n    TRangeValueType +\n    TRelativeDate +\n    TReportDestination +\n    TReqDataType +\n    TRequisiteEventType +\n    TSBTimeType +\n    TSearchShowMode +\n    TSelectMode +\n    TSignatureType +\n    TSignerContentType +\n    TStringsSortType +\n    TStringValueType +\n    TStructuredObjectAttributeType +\n    TTaskAbortReason +\n    TTextValueType +\n    TUserObjectStatus +\n    TUserType +\n    TValuesBuildType +\n    TViewMode +\n    TViewSelectionMode +\n    TWizardActionType +\n    TWizardFormElementProperty +\n    TWizardFormElementType +\n    TWizardParamType +\n    TWizardStepResult +\n    TWizardStepType +\n    TWorkAccessType +\n    TWorkflowBlockType +\n    TWorkflowDataType +\n    TWorkImportance +\n    TWorkRouteType +\n    TWorkState +\n    TWorkTextBuildingMode;\n\n  // Системные функции ==> SYSFUNCTIONS\n  const system_functions =\n    \"AddSubString \" +\n    \"AdjustLineBreaks \" +\n    \"AmountInWords \" +\n    \"Analysis \" +\n    \"ArrayDimCount \" +\n    \"ArrayHighBound \" +\n    \"ArrayLowBound \" +\n    \"ArrayOf \" +\n    \"ArrayReDim \" +\n    \"Assert \" +\n    \"Assigned \" +\n    \"BeginOfMonth \" +\n    \"BeginOfPeriod \" +\n    \"BuildProfilingOperationAnalysis \" +\n    \"CallProcedure \" +\n    \"CanReadFile \" +\n    \"CArrayElement \" +\n    \"CDataSetRequisite \" +\n    \"ChangeDate \" +\n    \"ChangeReferenceDataset \" +\n    \"Char \" +\n    \"CharPos \" +\n    \"CheckParam \" +\n    \"CheckParamValue \" +\n    \"CompareStrings \" +\n    \"ConstantExists \" +\n    \"ControlState \" +\n    \"ConvertDateStr \" +\n    \"Copy \" +\n    \"CopyFile \" +\n    \"CreateArray \" +\n    \"CreateCachedReference \" +\n    \"CreateConnection \" +\n    \"CreateDialog \" +\n    \"CreateDualListDialog \" +\n    \"CreateEditor \" +\n    \"CreateException \" +\n    \"CreateFile \" +\n    \"CreateFolderDialog \" +\n    \"CreateInputDialog \" +\n    \"CreateLinkFile \" +\n    \"CreateList \" +\n    \"CreateLock \" +\n    \"CreateMemoryDataSet \" +\n    \"CreateObject \" +\n    \"CreateOpenDialog \" +\n    \"CreateProgress \" +\n    \"CreateQuery \" +\n    \"CreateReference \" +\n    \"CreateReport \" +\n    \"CreateSaveDialog \" +\n    \"CreateScript \" +\n    \"CreateSQLPivotFunction \" +\n    \"CreateStringList \" +\n    \"CreateTreeListSelectDialog \" +\n    \"CSelectSQL \" +\n    \"CSQL \" +\n    \"CSubString \" +\n    \"CurrentUserID \" +\n    \"CurrentUserName \" +\n    \"CurrentVersion \" +\n    \"DataSetLocateEx \" +\n    \"DateDiff \" +\n    \"DateTimeDiff \" +\n    \"DateToStr \" +\n    \"DayOfWeek \" +\n    \"DeleteFile \" +\n    \"DirectoryExists \" +\n    \"DisableCheckAccessRights \" +\n    \"DisableCheckFullShowingRestriction \" +\n    \"DisableMassTaskSendingRestrictions \" +\n    \"DropTable \" +\n    \"DupeString \" +\n    \"EditText \" +\n    \"EnableCheckAccessRights \" +\n    \"EnableCheckFullShowingRestriction \" +\n    \"EnableMassTaskSendingRestrictions \" +\n    \"EndOfMonth \" +\n    \"EndOfPeriod \" +\n    \"ExceptionExists \" +\n    \"ExceptionsOff \" +\n    \"ExceptionsOn \" +\n    \"Execute \" +\n    \"ExecuteProcess \" +\n    \"Exit \" +\n    \"ExpandEnvironmentVariables \" +\n    \"ExtractFileDrive \" +\n    \"ExtractFileExt \" +\n    \"ExtractFileName \" +\n    \"ExtractFilePath \" +\n    \"ExtractParams \" +\n    \"FileExists \" +\n    \"FileSize \" +\n    \"FindFile \" +\n    \"FindSubString \" +\n    \"FirmContext \" +\n    \"ForceDirectories \" +\n    \"Format \" +\n    \"FormatDate \" +\n    \"FormatNumeric \" +\n    \"FormatSQLDate \" +\n    \"FormatString \" +\n    \"FreeException \" +\n    \"GetComponent \" +\n    \"GetComponentLaunchParam \" +\n    \"GetConstant \" +\n    \"GetLastException \" +\n    \"GetReferenceRecord \" +\n    \"GetRefTypeByRefID \" +\n    \"GetTableID \" +\n    \"GetTempFolder \" +\n    \"IfThen \" +\n    \"In \" +\n    \"IndexOf \" +\n    \"InputDialog \" +\n    \"InputDialogEx \" +\n    \"InteractiveMode \" +\n    \"IsFileLocked \" +\n    \"IsGraphicFile \" +\n    \"IsNumeric \" +\n    \"Length \" +\n    \"LoadString \" +\n    \"LoadStringFmt \" +\n    \"LocalTimeToUTC \" +\n    \"LowerCase \" +\n    \"Max \" +\n    \"MessageBox \" +\n    \"MessageBoxEx \" +\n    \"MimeDecodeBinary \" +\n    \"MimeDecodeString \" +\n    \"MimeEncodeBinary \" +\n    \"MimeEncodeString \" +\n    \"Min \" +\n    \"MoneyInWords \" +\n    \"MoveFile \" +\n    \"NewID \" +\n    \"Now \" +\n    \"OpenFile \" +\n    \"Ord \" +\n    \"Precision \" +\n    \"Raise \" +\n    \"ReadCertificateFromFile \" +\n    \"ReadFile \" +\n    \"ReferenceCodeByID \" +\n    \"ReferenceNumber \" +\n    \"ReferenceRequisiteMode \" +\n    \"ReferenceRequisiteValue \" +\n    \"RegionDateSettings \" +\n    \"RegionNumberSettings \" +\n    \"RegionTimeSettings \" +\n    \"RegRead \" +\n    \"RegWrite \" +\n    \"RenameFile \" +\n    \"Replace \" +\n    \"Round \" +\n    \"SelectServerCode \" +\n    \"SelectSQL \" +\n    \"ServerDateTime \" +\n    \"SetConstant \" +\n    \"SetManagedFolderFieldsState \" +\n    \"ShowConstantsInputDialog \" +\n    \"ShowMessage \" +\n    \"Sleep \" +\n    \"Split \" +\n    \"SQL \" +\n    \"SQL2XLSTAB \" +\n    \"SQLProfilingSendReport \" +\n    \"StrToDate \" +\n    \"SubString \" +\n    \"SubStringCount \" +\n    \"SystemSetting \" +\n    \"Time \" +\n    \"TimeDiff \" +\n    \"Today \" +\n    \"Transliterate \" +\n    \"Trim \" +\n    \"UpperCase \" +\n    \"UserStatus \" +\n    \"UTCToLocalTime \" +\n    \"ValidateXML \" +\n    \"VarIsClear \" +\n    \"VarIsEmpty \" +\n    \"VarIsNull \" +\n    \"WorkTimeDiff \" +\n    \"WriteFile \" +\n    \"WriteFileEx \" +\n    \"WriteObjectHistory \" +\n    \"Анализ \" +\n    \"БазаДанных \" +\n    \"БлокЕсть \" +\n    \"БлокЕстьРасш \" +\n    \"БлокИнфо \" +\n    \"БлокСнять \" +\n    \"БлокСнятьРасш \" +\n    \"БлокУстановить \" +\n    \"Ввод \" +\n    \"ВводМеню \" +\n    \"ВедС \" +\n    \"ВедСпр \" +\n    \"ВерхняяГраницаМассива \" +\n    \"ВнешПрогр \" +\n    \"Восст \" +\n    \"ВременнаяПапка \" +\n    \"Время \" +\n    \"ВыборSQL \" +\n    \"ВыбратьЗапись \" +\n    \"ВыделитьСтр \" +\n    \"Вызвать \" +\n    \"Выполнить \" +\n    \"ВыпПрогр \" +\n    \"ГрафическийФайл \" +\n    \"ГруппаДополнительно \" +\n    \"ДатаВремяСерв \" +\n    \"ДеньНедели \" +\n    \"ДиалогДаНет \" +\n    \"ДлинаСтр \" +\n    \"ДобПодстр \" +\n    \"ЕПусто \" +\n    \"ЕслиТо \" +\n    \"ЕЧисло \" +\n    \"ЗамПодстр \" +\n    \"ЗаписьСправочника \" +\n    \"ЗначПоляСпр \" +\n    \"ИДТипСпр \" +\n    \"ИзвлечьДиск \" +\n    \"ИзвлечьИмяФайла \" +\n    \"ИзвлечьПуть \" +\n    \"ИзвлечьРасширение \" +\n    \"ИзмДат \" +\n    \"ИзменитьРазмерМассива \" +\n    \"ИзмеренийМассива \" +\n    \"ИмяОрг \" +\n    \"ИмяПоляСпр \" +\n    \"Индекс \" +\n    \"ИндикаторЗакрыть \" +\n    \"ИндикаторОткрыть \" +\n    \"ИндикаторШаг \" +\n    \"ИнтерактивныйРежим \" +\n    \"ИтогТблСпр \" +\n    \"КодВидВедСпр \" +\n    \"КодВидСпрПоИД \" +\n    \"КодПоAnalit \" +\n    \"КодСимвола \" +\n    \"КодСпр \" +\n    \"КолПодстр \" +\n    \"КолПроп \" +\n    \"КонМес \" +\n    \"Конст \" +\n    \"КонстЕсть \" +\n    \"КонстЗнач \" +\n    \"КонТран \" +\n    \"КопироватьФайл \" +\n    \"КопияСтр \" +\n    \"КПериод \" +\n    \"КСтрТблСпр \" +\n    \"Макс \" +\n    \"МаксСтрТблСпр \" +\n    \"Массив \" +\n    \"Меню \" +\n    \"МенюРасш \" +\n    \"Мин \" +\n    \"НаборДанныхНайтиРасш \" +\n    \"НаимВидСпр \" +\n    \"НаимПоAnalit \" +\n    \"НаимСпр \" +\n    \"НастроитьПереводыСтрок \" +\n    \"НачМес \" +\n    \"НачТран \" +\n    \"НижняяГраницаМассива \" +\n    \"НомерСпр \" +\n    \"НПериод \" +\n    \"Окно \" +\n    \"Окр \" +\n    \"Окружение \" +\n    \"ОтлИнфДобавить \" +\n    \"ОтлИнфУдалить \" +\n    \"Отчет \" +\n    \"ОтчетАнал \" +\n    \"ОтчетИнт \" +\n    \"ПапкаСуществует \" +\n    \"Пауза \" +\n    \"ПВыборSQL \" +\n    \"ПереименоватьФайл \" +\n    \"Переменные \" +\n    \"ПереместитьФайл \" +\n    \"Подстр \" +\n    \"ПоискПодстр \" +\n    \"ПоискСтр \" +\n    \"ПолучитьИДТаблицы \" +\n    \"ПользовательДополнительно \" +\n    \"ПользовательИД \" +\n    \"ПользовательИмя \" +\n    \"ПользовательСтатус \" +\n    \"Прервать \" +\n    \"ПроверитьПараметр \" +\n    \"ПроверитьПараметрЗнач \" +\n    \"ПроверитьУсловие \" +\n    \"РазбСтр \" +\n    \"РазнВремя \" +\n    \"РазнДат \" +\n    \"РазнДатаВремя \" +\n    \"РазнРабВремя \" +\n    \"РегУстВрем \" +\n    \"РегУстДат \" +\n    \"РегУстЧсл \" +\n    \"РедТекст \" +\n    \"РеестрЗапись \" +\n    \"РеестрСписокИменПарам \" +\n    \"РеестрЧтение \" +\n    \"РеквСпр \" +\n    \"РеквСпрПр \" +\n    \"Сегодня \" +\n    \"Сейчас \" +\n    \"Сервер \" +\n    \"СерверПроцессИД \" +\n    \"СертификатФайлСчитать \" +\n    \"СжПроб \" +\n    \"Символ \" +\n    \"СистемаДиректумКод \" +\n    \"СистемаИнформация \" +\n    \"СистемаКод \" +\n    \"Содержит \" +\n    \"СоединениеЗакрыть \" +\n    \"СоединениеОткрыть \" +\n    \"СоздатьДиалог \" +\n    \"СоздатьДиалогВыбораИзДвухСписков \" +\n    \"СоздатьДиалогВыбораПапки \" +\n    \"СоздатьДиалогОткрытияФайла \" +\n    \"СоздатьДиалогСохраненияФайла \" +\n    \"СоздатьЗапрос \" +\n    \"СоздатьИндикатор \" +\n    \"СоздатьИсключение \" +\n    \"СоздатьКэшированныйСправочник \" +\n    \"СоздатьМассив \" +\n    \"СоздатьНаборДанных \" +\n    \"СоздатьОбъект \" +\n    \"СоздатьОтчет \" +\n    \"СоздатьПапку \" +\n    \"СоздатьРедактор \" +\n    \"СоздатьСоединение \" +\n    \"СоздатьСписок \" +\n    \"СоздатьСписокСтрок \" +\n    \"СоздатьСправочник \" +\n    \"СоздатьСценарий \" +\n    \"СоздСпр \" +\n    \"СостСпр \" +\n    \"Сохр \" +\n    \"СохрСпр \" +\n    \"СписокСистем \" +\n    \"Спр \" +\n    \"Справочник \" +\n    \"СпрБлокЕсть \" +\n    \"СпрБлокСнять \" +\n    \"СпрБлокСнятьРасш \" +\n    \"СпрБлокУстановить \" +\n    \"СпрИзмНабДан \" +\n    \"СпрКод \" +\n    \"СпрНомер \" +\n    \"СпрОбновить \" +\n    \"СпрОткрыть \" +\n    \"СпрОтменить \" +\n    \"СпрПарам \" +\n    \"СпрПолеЗнач \" +\n    \"СпрПолеИмя \" +\n    \"СпрРекв \" +\n    \"СпрРеквВведЗн \" +\n    \"СпрРеквНовые \" +\n    \"СпрРеквПр \" +\n    \"СпрРеквПредЗн \" +\n    \"СпрРеквРежим \" +\n    \"СпрРеквТипТекст \" +\n    \"СпрСоздать \" +\n    \"СпрСост \" +\n    \"СпрСохранить \" +\n    \"СпрТблИтог \" +\n    \"СпрТблСтр \" +\n    \"СпрТблСтрКол \" +\n    \"СпрТблСтрМакс \" +\n    \"СпрТблСтрМин \" +\n    \"СпрТблСтрПред \" +\n    \"СпрТблСтрСлед \" +\n    \"СпрТблСтрСозд \" +\n    \"СпрТблСтрУд \" +\n    \"СпрТекПредст \" +\n    \"СпрУдалить \" +\n    \"СравнитьСтр \" +\n    \"СтрВерхРегистр \" +\n    \"СтрНижнРегистр \" +\n    \"СтрТблСпр \" +\n    \"СумПроп \" +\n    \"Сценарий \" +\n    \"СценарийПарам \" +\n    \"ТекВерсия \" +\n    \"ТекОрг \" +\n    \"Точн \" +\n    \"Тран \" +\n    \"Транслитерация \" +\n    \"УдалитьТаблицу \" +\n    \"УдалитьФайл \" +\n    \"УдСпр \" +\n    \"УдСтрТблСпр \" +\n    \"Уст \" +\n    \"УстановкиКонстант \" +\n    \"ФайлАтрибутСчитать \" +\n    \"ФайлАтрибутУстановить \" +\n    \"ФайлВремя \" +\n    \"ФайлВремяУстановить \" +\n    \"ФайлВыбрать \" +\n    \"ФайлЗанят \" +\n    \"ФайлЗаписать \" +\n    \"ФайлИскать \" +\n    \"ФайлКопировать \" +\n    \"ФайлМожноЧитать \" +\n    \"ФайлОткрыть \" +\n    \"ФайлПереименовать \" +\n    \"ФайлПерекодировать \" +\n    \"ФайлПереместить \" +\n    \"ФайлПросмотреть \" +\n    \"ФайлРазмер \" +\n    \"ФайлСоздать \" +\n    \"ФайлСсылкаСоздать \" +\n    \"ФайлСуществует \" +\n    \"ФайлСчитать \" +\n    \"ФайлУдалить \" +\n    \"ФмтSQLДат \" +\n    \"ФмтДат \" +\n    \"ФмтСтр \" +\n    \"ФмтЧсл \" +\n    \"Формат \" +\n    \"ЦМассивЭлемент \" +\n    \"ЦНаборДанныхРеквизит \" +\n    \"ЦПодстр \";\n\n  // Предопределенные переменные ==> built_in\n  const predefined_variables =\n    \"AltState \" +\n    \"Application \" +\n    \"CallType \" +\n    \"ComponentTokens \" +\n    \"CreatedJobs \" +\n    \"CreatedNotices \" +\n    \"ControlState \" +\n    \"DialogResult \" +\n    \"Dialogs \" +\n    \"EDocuments \" +\n    \"EDocumentVersionSource \" +\n    \"Folders \" +\n    \"GlobalIDs \" +\n    \"Job \" +\n    \"Jobs \" +\n    \"InputValue \" +\n    \"LookUpReference \" +\n    \"LookUpRequisiteNames \" +\n    \"LookUpSearch \" +\n    \"Object \" +\n    \"ParentComponent \" +\n    \"Processes \" +\n    \"References \" +\n    \"Requisite \" +\n    \"ReportName \" +\n    \"Reports \" +\n    \"Result \" +\n    \"Scripts \" +\n    \"Searches \" +\n    \"SelectedAttachments \" +\n    \"SelectedItems \" +\n    \"SelectMode \" +\n    \"Sender \" +\n    \"ServerEvents \" +\n    \"ServiceFactory \" +\n    \"ShiftState \" +\n    \"SubTask \" +\n    \"SystemDialogs \" +\n    \"Tasks \" +\n    \"Wizard \" +\n    \"Wizards \" +\n    \"Work \" +\n    \"ВызовСпособ \" +\n    \"ИмяОтчета \" +\n    \"РеквЗнач \";\n\n  // Интерфейсы ==> type\n  const interfaces =\n    \"IApplication \" +\n    \"IAccessRights \" +\n    \"IAccountRepository \" +\n    \"IAccountSelectionRestrictions \" +\n    \"IAction \" +\n    \"IActionList \" +\n    \"IAdministrationHistoryDescription \" +\n    \"IAnchors \" +\n    \"IApplication \" +\n    \"IArchiveInfo \" +\n    \"IAttachment \" +\n    \"IAttachmentList \" +\n    \"ICheckListBox \" +\n    \"ICheckPointedList \" +\n    \"IColumn \" +\n    \"IComponent \" +\n    \"IComponentDescription \" +\n    \"IComponentToken \" +\n    \"IComponentTokenFactory \" +\n    \"IComponentTokenInfo \" +\n    \"ICompRecordInfo \" +\n    \"IConnection \" +\n    \"IContents \" +\n    \"IControl \" +\n    \"IControlJob \" +\n    \"IControlJobInfo \" +\n    \"IControlList \" +\n    \"ICrypto \" +\n    \"ICrypto2 \" +\n    \"ICustomJob \" +\n    \"ICustomJobInfo \" +\n    \"ICustomListBox \" +\n    \"ICustomObjectWizardStep \" +\n    \"ICustomWork \" +\n    \"ICustomWorkInfo \" +\n    \"IDataSet \" +\n    \"IDataSetAccessInfo \" +\n    \"IDataSigner \" +\n    \"IDateCriterion \" +\n    \"IDateRequisite \" +\n    \"IDateRequisiteDescription \" +\n    \"IDateValue \" +\n    \"IDeaAccessRights \" +\n    \"IDeaObjectInfo \" +\n    \"IDevelopmentComponentLock \" +\n    \"IDialog \" +\n    \"IDialogFactory \" +\n    \"IDialogPickRequisiteItems \" +\n    \"IDialogsFactory \" +\n    \"IDICSFactory \" +\n    \"IDocRequisite \" +\n    \"IDocumentInfo \" +\n    \"IDualListDialog \" +\n    \"IECertificate \" +\n    \"IECertificateInfo \" +\n    \"IECertificates \" +\n    \"IEditControl \" +\n    \"IEditorForm \" +\n    \"IEdmsExplorer \" +\n    \"IEdmsObject \" +\n    \"IEdmsObjectDescription \" +\n    \"IEdmsObjectFactory \" +\n    \"IEdmsObjectInfo \" +\n    \"IEDocument \" +\n    \"IEDocumentAccessRights \" +\n    \"IEDocumentDescription \" +\n    \"IEDocumentEditor \" +\n    \"IEDocumentFactory \" +\n    \"IEDocumentInfo \" +\n    \"IEDocumentStorage \" +\n    \"IEDocumentVersion \" +\n    \"IEDocumentVersionListDialog \" +\n    \"IEDocumentVersionSource \" +\n    \"IEDocumentWizardStep \" +\n    \"IEDocVerSignature \" +\n    \"IEDocVersionState \" +\n    \"IEnabledMode \" +\n    \"IEncodeProvider \" +\n    \"IEncrypter \" +\n    \"IEvent \" +\n    \"IEventList \" +\n    \"IException \" +\n    \"IExternalEvents \" +\n    \"IExternalHandler \" +\n    \"IFactory \" +\n    \"IField \" +\n    \"IFileDialog \" +\n    \"IFolder \" +\n    \"IFolderDescription \" +\n    \"IFolderDialog \" +\n    \"IFolderFactory \" +\n    \"IFolderInfo \" +\n    \"IForEach \" +\n    \"IForm \" +\n    \"IFormTitle \" +\n    \"IFormWizardStep \" +\n    \"IGlobalIDFactory \" +\n    \"IGlobalIDInfo \" +\n    \"IGrid \" +\n    \"IHasher \" +\n    \"IHistoryDescription \" +\n    \"IHyperLinkControl \" +\n    \"IImageButton \" +\n    \"IImageControl \" +\n    \"IInnerPanel \" +\n    \"IInplaceHint \" +\n    \"IIntegerCriterion \" +\n    \"IIntegerList \" +\n    \"IIntegerRequisite \" +\n    \"IIntegerValue \" +\n    \"IISBLEditorForm \" +\n    \"IJob \" +\n    \"IJobDescription \" +\n    \"IJobFactory \" +\n    \"IJobForm \" +\n    \"IJobInfo \" +\n    \"ILabelControl \" +\n    \"ILargeIntegerCriterion \" +\n    \"ILargeIntegerRequisite \" +\n    \"ILargeIntegerValue \" +\n    \"ILicenseInfo \" +\n    \"ILifeCycleStage \" +\n    \"IList \" +\n    \"IListBox \" +\n    \"ILocalIDInfo \" +\n    \"ILocalization \" +\n    \"ILock \" +\n    \"IMemoryDataSet \" +\n    \"IMessagingFactory \" +\n    \"IMetadataRepository \" +\n    \"INotice \" +\n    \"INoticeInfo \" +\n    \"INumericCriterion \" +\n    \"INumericRequisite \" +\n    \"INumericValue \" +\n    \"IObject \" +\n    \"IObjectDescription \" +\n    \"IObjectImporter \" +\n    \"IObjectInfo \" +\n    \"IObserver \" +\n    \"IPanelGroup \" +\n    \"IPickCriterion \" +\n    \"IPickProperty \" +\n    \"IPickRequisite \" +\n    \"IPickRequisiteDescription \" +\n    \"IPickRequisiteItem \" +\n    \"IPickRequisiteItems \" +\n    \"IPickValue \" +\n    \"IPrivilege \" +\n    \"IPrivilegeList \" +\n    \"IProcess \" +\n    \"IProcessFactory \" +\n    \"IProcessMessage \" +\n    \"IProgress \" +\n    \"IProperty \" +\n    \"IPropertyChangeEvent \" +\n    \"IQuery \" +\n    \"IReference \" +\n    \"IReferenceCriterion \" +\n    \"IReferenceEnabledMode \" +\n    \"IReferenceFactory \" +\n    \"IReferenceHistoryDescription \" +\n    \"IReferenceInfo \" +\n    \"IReferenceRecordCardWizardStep \" +\n    \"IReferenceRequisiteDescription \" +\n    \"IReferencesFactory \" +\n    \"IReferenceValue \" +\n    \"IRefRequisite \" +\n    \"IReport \" +\n    \"IReportFactory \" +\n    \"IRequisite \" +\n    \"IRequisiteDescription \" +\n    \"IRequisiteDescriptionList \" +\n    \"IRequisiteFactory \" +\n    \"IRichEdit \" +\n    \"IRouteStep \" +\n    \"IRule \" +\n    \"IRuleList \" +\n    \"ISchemeBlock \" +\n    \"IScript \" +\n    \"IScriptFactory \" +\n    \"ISearchCriteria \" +\n    \"ISearchCriterion \" +\n    \"ISearchDescription \" +\n    \"ISearchFactory \" +\n    \"ISearchFolderInfo \" +\n    \"ISearchForObjectDescription \" +\n    \"ISearchResultRestrictions \" +\n    \"ISecuredContext \" +\n    \"ISelectDialog \" +\n    \"IServerEvent \" +\n    \"IServerEventFactory \" +\n    \"IServiceDialog \" +\n    \"IServiceFactory \" +\n    \"ISignature \" +\n    \"ISignProvider \" +\n    \"ISignProvider2 \" +\n    \"ISignProvider3 \" +\n    \"ISimpleCriterion \" +\n    \"IStringCriterion \" +\n    \"IStringList \" +\n    \"IStringRequisite \" +\n    \"IStringRequisiteDescription \" +\n    \"IStringValue \" +\n    \"ISystemDialogsFactory \" +\n    \"ISystemInfo \" +\n    \"ITabSheet \" +\n    \"ITask \" +\n    \"ITaskAbortReasonInfo \" +\n    \"ITaskCardWizardStep \" +\n    \"ITaskDescription \" +\n    \"ITaskFactory \" +\n    \"ITaskInfo \" +\n    \"ITaskRoute \" +\n    \"ITextCriterion \" +\n    \"ITextRequisite \" +\n    \"ITextValue \" +\n    \"ITreeListSelectDialog \" +\n    \"IUser \" +\n    \"IUserList \" +\n    \"IValue \" +\n    \"IView \" +\n    \"IWebBrowserControl \" +\n    \"IWizard \" +\n    \"IWizardAction \" +\n    \"IWizardFactory \" +\n    \"IWizardFormElement \" +\n    \"IWizardParam \" +\n    \"IWizardPickParam \" +\n    \"IWizardReferenceParam \" +\n    \"IWizardStep \" +\n    \"IWorkAccessRights \" +\n    \"IWorkDescription \" +\n    \"IWorkflowAskableParam \" +\n    \"IWorkflowAskableParams \" +\n    \"IWorkflowBlock \" +\n    \"IWorkflowBlockResult \" +\n    \"IWorkflowEnabledMode \" +\n    \"IWorkflowParam \" +\n    \"IWorkflowPickParam \" +\n    \"IWorkflowReferenceParam \" +\n    \"IWorkState \" +\n    \"IWorkTreeCustomNode \" +\n    \"IWorkTreeJobNode \" +\n    \"IWorkTreeTaskNode \" +\n    \"IXMLEditorForm \" +\n    \"SBCrypto \";\n\n  // built_in : встроенные или библиотечные объекты (константы, перечисления)\n  const BUILTIN = CONSTANTS + ENUMS;\n\n  // class: встроенные наборы значений, системные объекты, фабрики\n  const CLASS = predefined_variables;\n\n  // literal : примитивные типы\n  const LITERAL = \"null true false nil \";\n\n  // number : числа\n  const NUMBERS = {\n    className: \"number\",\n    begin: hljs.NUMBER_RE,\n    relevance: 0\n  };\n\n  // string : строки\n  const STRINGS = {\n    className: \"string\",\n    variants: [\n      {\n        begin: '\"',\n        end: '\"'\n      },\n      {\n        begin: \"'\",\n        end: \"'\"\n      }\n    ]\n  };\n\n  // Токены\n  const DOCTAGS = {\n    className: \"doctag\",\n    begin: \"\\\\b(?:TODO|DONE|BEGIN|END|STUB|CHG|FIXME|NOTE|BUG|XXX)\\\\b\",\n    relevance: 0\n  };\n\n  // Однострочный комментарий\n  const ISBL_LINE_COMMENT_MODE = {\n    className: \"comment\",\n    begin: \"//\",\n    end: \"$\",\n    relevance: 0,\n    contains: [\n      hljs.PHRASAL_WORDS_MODE,\n      DOCTAGS\n    ]\n  };\n\n  // Многострочный комментарий\n  const ISBL_BLOCK_COMMENT_MODE = {\n    className: \"comment\",\n    begin: \"/\\\\*\",\n    end: \"\\\\*/\",\n    relevance: 0,\n    contains: [\n      hljs.PHRASAL_WORDS_MODE,\n      DOCTAGS\n    ]\n  };\n\n  // comment : комментарии\n  const COMMENTS = {\n    variants: [\n      ISBL_LINE_COMMENT_MODE,\n      ISBL_BLOCK_COMMENT_MODE\n    ]\n  };\n\n  // keywords : ключевые слова\n  const KEYWORDS = {\n    $pattern: UNDERSCORE_IDENT_RE,\n    keyword: KEYWORD,\n    built_in: BUILTIN,\n    class: CLASS,\n    literal: LITERAL\n  };\n\n  // methods : методы\n  const METHODS = {\n    begin: \"\\\\.\\\\s*\" + hljs.UNDERSCORE_IDENT_RE,\n    keywords: KEYWORDS,\n    relevance: 0\n  };\n\n  // type : встроенные типы\n  const TYPES = {\n    className: \"type\",\n    begin: \":[ \\\\t]*(\" + interfaces.trim().replace(/\\s/g, \"|\") + \")\",\n    end: \"[ \\\\t]*=\",\n    excludeEnd: true\n  };\n\n  // variables : переменные\n  const VARIABLES = {\n    className: \"variable\",\n    keywords: KEYWORDS,\n    begin: UNDERSCORE_IDENT_RE,\n    relevance: 0,\n    contains: [\n      TYPES,\n      METHODS\n    ]\n  };\n\n  // Имена функций\n  const FUNCTION_TITLE = FUNCTION_NAME_IDENT_RE + \"\\\\(\";\n\n  const TITLE_MODE = {\n    className: \"title\",\n    keywords: {\n      $pattern: UNDERSCORE_IDENT_RE,\n      built_in: system_functions\n    },\n    begin: FUNCTION_TITLE,\n    end: \"\\\\(\",\n    returnBegin: true,\n    excludeEnd: true\n  };\n\n  // function : функции\n  const FUNCTIONS = {\n    className: \"function\",\n    begin: FUNCTION_TITLE,\n    end: \"\\\\)$\",\n    returnBegin: true,\n    keywords: KEYWORDS,\n    illegal: \"[\\\\[\\\\]\\\\|\\\\$\\\\?%,~#@]\",\n    contains: [\n      TITLE_MODE,\n      METHODS,\n      VARIABLES,\n      STRINGS,\n      NUMBERS,\n      COMMENTS\n    ]\n  };\n\n  return {\n    name: 'ISBL',\n    case_insensitive: true,\n    keywords: KEYWORDS,\n    illegal: \"\\\\$|\\\\?|%|,|;$|~|#|@|\nDescription: An extensible programming language, based on parse tree rewriting\nWebsite: http://xlr.sf.net\n*/\n\nfunction xl(hljs) {\n  const BUILTIN_MODULES =\n    'ObjectLoader Animate MovieCredits Slides Filters Shading Materials LensFlare Mapping VLCAudioVideo ' +\n    'StereoDecoder PointCloud NetworkAccess RemoteControl RegExp ChromaKey Snowfall NodeJS Speech Charts';\n\n  const XL_KEYWORDS = {\n    $pattern: /[a-zA-Z][a-zA-Z0-9_?]*/,\n    keyword:\n      'if then else do while until for loop import with is as where when by data constant ' +\n      'integer real text name boolean symbol infix prefix postfix block tree',\n    literal:\n      'true false nil',\n    built_in:\n      'in mod rem and or xor not abs sign floor ceil sqrt sin cos tan asin ' +\n      'acos atan exp expm1 log log2 log10 log1p pi at text_length text_range ' +\n      'text_find text_replace contains page slide basic_slide title_slide ' +\n      'title subtitle fade_in fade_out fade_at clear_color color line_color ' +\n      'line_width texture_wrap texture_transform texture scale_?x scale_?y ' +\n      'scale_?z? translate_?x translate_?y translate_?z? rotate_?x rotate_?y ' +\n      'rotate_?z? rectangle circle ellipse sphere path line_to move_to ' +\n      'quad_to curve_to theme background contents locally time mouse_?x ' +\n      'mouse_?y mouse_buttons ' +\n      BUILTIN_MODULES\n  };\n\n  const DOUBLE_QUOTE_TEXT = {\n    className: 'string',\n    begin: '\"',\n    end: '\"',\n    illegal: '\\\\n'\n  };\n  const SINGLE_QUOTE_TEXT = {\n    className: 'string',\n    begin: '\\'',\n    end: '\\'',\n    illegal: '\\\\n'\n  };\n  const LONG_TEXT = {\n    className: 'string',\n    begin: '<<',\n    end: '>>'\n  };\n  const BASED_NUMBER = {\n    className: 'number',\n    begin: '[0-9]+#[0-9A-Z_]+(\\\\.[0-9-A-Z_]+)?#?([Ee][+-]?[0-9]+)?'\n  };\n  const IMPORT = {\n    beginKeywords: 'import',\n    end: '$',\n    keywords: XL_KEYWORDS,\n    contains: [ DOUBLE_QUOTE_TEXT ]\n  };\n  const FUNCTION_DEFINITION = {\n    className: 'function',\n    begin: /[a-z][^\\n]*->/,\n    returnBegin: true,\n    end: /->/,\n    contains: [\n      hljs.inherit(hljs.TITLE_MODE, {\n        starts: {\n          endsWithParent: true,\n          keywords: XL_KEYWORDS\n        }\n      })\n    ]\n  };\n  return {\n    name: 'XL',\n    aliases: [ 'tao' ],\n    keywords: XL_KEYWORDS,\n    contains: [\n      hljs.C_LINE_COMMENT_MODE,\n      hljs.C_BLOCK_COMMENT_MODE,\n      DOUBLE_QUOTE_TEXT,\n      SINGLE_QUOTE_TEXT,\n      LONG_TEXT,\n      FUNCTION_DEFINITION,\n      IMPORT,\n      BASED_NUMBER,\n      hljs.NUMBER_MODE\n    ]\n  };\n}\n\nmodule.exports = xl;\n","/*\nLanguage: Crystal\nAuthor: TSUYUSATO Kitsune \nWebsite: https://crystal-lang.org\n*/\n\n/** @type LanguageFn */\nfunction crystal(hljs) {\n  const INT_SUFFIX = '(_?[ui](8|16|32|64|128))?';\n  const FLOAT_SUFFIX = '(_?f(32|64))?';\n  const CRYSTAL_IDENT_RE = '[a-zA-Z_]\\\\w*[!?=]?';\n  const CRYSTAL_METHOD_RE = '[a-zA-Z_]\\\\w*[!?=]?|[-+~]@|<<|>>|[=!]~|===?|<=>|[<>]=?|\\\\*\\\\*|[-/+%^&*~|]|//|//=|&[-+*]=?|&\\\\*\\\\*|\\\\[\\\\][=?]?';\n  const CRYSTAL_PATH_RE = '[A-Za-z_]\\\\w*(::\\\\w+)*(\\\\?|!)?';\n  const CRYSTAL_KEYWORDS = {\n    $pattern: CRYSTAL_IDENT_RE,\n    keyword:\n      'abstract alias annotation as as? asm begin break case class def do else elsif end ensure enum extend for fun if ' +\n      'include instance_sizeof is_a? lib macro module next nil? of out pointerof private protected rescue responds_to? ' +\n      'return require select self sizeof struct super then type typeof union uninitialized unless until verbatim when while with yield ' +\n      '__DIR__ __END_LINE__ __FILE__ __LINE__',\n    literal: 'false nil true'\n  };\n  const SUBST = {\n    className: 'subst',\n    begin: /#\\{/,\n    end: /\\}/,\n    keywords: CRYSTAL_KEYWORDS\n  };\n  const EXPANSION = {\n    className: 'template-variable',\n    variants: [\n      {\n        begin: '\\\\{\\\\{',\n        end: '\\\\}\\\\}'\n      },\n      {\n        begin: '\\\\{%',\n        end: '%\\\\}'\n      }\n    ],\n    keywords: CRYSTAL_KEYWORDS\n  };\n\n  function recursiveParen(begin, end) {\n    const\n        contains = [\n          {\n            begin: begin,\n            end: end\n          }\n        ];\n    contains[0].contains = contains;\n    return contains;\n  }\n  const STRING = {\n    className: 'string',\n    contains: [\n      hljs.BACKSLASH_ESCAPE,\n      SUBST\n    ],\n    variants: [\n      {\n        begin: /'/,\n        end: /'/\n      },\n      {\n        begin: /\"/,\n        end: /\"/\n      },\n      {\n        begin: /`/,\n        end: /`/\n      },\n      {\n        begin: '%[Qwi]?\\\\(',\n        end: '\\\\)',\n        contains: recursiveParen('\\\\(', '\\\\)')\n      },\n      {\n        begin: '%[Qwi]?\\\\[',\n        end: '\\\\]',\n        contains: recursiveParen('\\\\[', '\\\\]')\n      },\n      {\n        begin: '%[Qwi]?\\\\{',\n        end: /\\}/,\n        contains: recursiveParen(/\\{/, /\\}/)\n      },\n      {\n        begin: '%[Qwi]?<',\n        end: '>',\n        contains: recursiveParen('<', '>')\n      },\n      {\n        begin: '%[Qwi]?\\\\|',\n        end: '\\\\|'\n      },\n      {\n        begin: /<<-\\w+$/,\n        end: /^\\s*\\w+$/\n      }\n    ],\n    relevance: 0\n  };\n  const Q_STRING = {\n    className: 'string',\n    variants: [\n      {\n        begin: '%q\\\\(',\n        end: '\\\\)',\n        contains: recursiveParen('\\\\(', '\\\\)')\n      },\n      {\n        begin: '%q\\\\[',\n        end: '\\\\]',\n        contains: recursiveParen('\\\\[', '\\\\]')\n      },\n      {\n        begin: '%q\\\\{',\n        end: /\\}/,\n        contains: recursiveParen(/\\{/, /\\}/)\n      },\n      {\n        begin: '%q<',\n        end: '>',\n        contains: recursiveParen('<', '>')\n      },\n      {\n        begin: '%q\\\\|',\n        end: '\\\\|'\n      },\n      {\n        begin: /<<-'\\w+'$/,\n        end: /^\\s*\\w+$/\n      }\n    ],\n    relevance: 0\n  };\n  const REGEXP = {\n    begin: '(?!%\\\\})(' + hljs.RE_STARTERS_RE + '|\\\\n|\\\\b(case|if|select|unless|until|when|while)\\\\b)\\\\s*',\n    keywords: 'case if select unless until when while',\n    contains: [\n      {\n        className: 'regexp',\n        contains: [\n          hljs.BACKSLASH_ESCAPE,\n          SUBST\n        ],\n        variants: [\n          {\n            begin: '//[a-z]*',\n            relevance: 0\n          },\n          {\n            begin: '/(?!\\\\/)',\n            end: '/[a-z]*'\n          }\n        ]\n      }\n    ],\n    relevance: 0\n  };\n  const REGEXP2 = {\n    className: 'regexp',\n    contains: [\n      hljs.BACKSLASH_ESCAPE,\n      SUBST\n    ],\n    variants: [\n      {\n        begin: '%r\\\\(',\n        end: '\\\\)',\n        contains: recursiveParen('\\\\(', '\\\\)')\n      },\n      {\n        begin: '%r\\\\[',\n        end: '\\\\]',\n        contains: recursiveParen('\\\\[', '\\\\]')\n      },\n      {\n        begin: '%r\\\\{',\n        end: /\\}/,\n        contains: recursiveParen(/\\{/, /\\}/)\n      },\n      {\n        begin: '%r<',\n        end: '>',\n        contains: recursiveParen('<', '>')\n      },\n      {\n        begin: '%r\\\\|',\n        end: '\\\\|'\n      }\n    ],\n    relevance: 0\n  };\n  const ATTRIBUTE = {\n    className: 'meta',\n    begin: '@\\\\[',\n    end: '\\\\]',\n    contains: [\n      hljs.inherit(hljs.QUOTE_STRING_MODE, {\n        className: 'meta-string'\n      })\n    ]\n  };\n  const CRYSTAL_DEFAULT_CONTAINS = [\n    EXPANSION,\n    STRING,\n    Q_STRING,\n    REGEXP2,\n    REGEXP,\n    ATTRIBUTE,\n    hljs.HASH_COMMENT_MODE,\n    {\n      className: 'class',\n      beginKeywords: 'class module struct',\n      end: '$|;',\n      illegal: /=/,\n      contains: [\n        hljs.HASH_COMMENT_MODE,\n        hljs.inherit(hljs.TITLE_MODE, {\n          begin: CRYSTAL_PATH_RE\n        }),\n        { // relevance booster for inheritance\n          begin: '<'\n        }\n      ]\n    },\n    {\n      className: 'class',\n      beginKeywords: 'lib enum union',\n      end: '$|;',\n      illegal: /=/,\n      contains: [\n        hljs.HASH_COMMENT_MODE,\n        hljs.inherit(hljs.TITLE_MODE, {\n          begin: CRYSTAL_PATH_RE\n        })\n      ]\n    },\n    {\n      beginKeywords: 'annotation',\n      end: '$|;',\n      illegal: /=/,\n      contains: [\n        hljs.HASH_COMMENT_MODE,\n        hljs.inherit(hljs.TITLE_MODE, {\n          begin: CRYSTAL_PATH_RE\n        })\n      ],\n      relevance: 2\n    },\n    {\n      className: 'function',\n      beginKeywords: 'def',\n      end: /\\B\\b/,\n      contains: [\n        hljs.inherit(hljs.TITLE_MODE, {\n          begin: CRYSTAL_METHOD_RE,\n          endsParent: true\n        })\n      ]\n    },\n    {\n      className: 'function',\n      beginKeywords: 'fun macro',\n      end: /\\B\\b/,\n      contains: [\n        hljs.inherit(hljs.TITLE_MODE, {\n          begin: CRYSTAL_METHOD_RE,\n          endsParent: true\n        })\n      ],\n      relevance: 2\n    },\n    {\n      className: 'symbol',\n      begin: hljs.UNDERSCORE_IDENT_RE + '(!|\\\\?)?:',\n      relevance: 0\n    },\n    {\n      className: 'symbol',\n      begin: ':',\n      contains: [\n        STRING,\n        {\n          begin: CRYSTAL_METHOD_RE\n        }\n      ],\n      relevance: 0\n    },\n    {\n      className: 'number',\n      variants: [\n        {\n          begin: '\\\\b0b([01_]+)' + INT_SUFFIX\n        },\n        {\n          begin: '\\\\b0o([0-7_]+)' + INT_SUFFIX\n        },\n        {\n          begin: '\\\\b0x([A-Fa-f0-9_]+)' + INT_SUFFIX\n        },\n        {\n          begin: '\\\\b([1-9][0-9_]*[0-9]|[0-9])(\\\\.[0-9][0-9_]*)?([eE]_?[-+]?[0-9_]*)?' + FLOAT_SUFFIX + '(?!_)'\n        },\n        {\n          begin: '\\\\b([1-9][0-9_]*|0)' + INT_SUFFIX\n        }\n      ],\n      relevance: 0\n    }\n  ];\n  SUBST.contains = CRYSTAL_DEFAULT_CONTAINS;\n  EXPANSION.contains = CRYSTAL_DEFAULT_CONTAINS.slice(1); // without EXPANSION\n\n  return {\n    name: 'Crystal',\n    aliases: [ 'cr' ],\n    keywords: CRYSTAL_KEYWORDS,\n    contains: CRYSTAL_DEFAULT_CONTAINS\n  };\n}\n\nmodule.exports = crystal;\n","/*\nLanguage: ReasonML\nDescription: Reason lets you write simple, fast and quality type safe code while leveraging both the JavaScript & OCaml ecosystems.\nWebsite: https://reasonml.github.io\nAuthor: Gidi Meir Morris \nCategory: functional\n*/\nfunction reasonml(hljs) {\n  function orReValues(ops) {\n    return ops\n      .map(function(op) {\n        return op\n          .split('')\n          .map(function(char) {\n            return '\\\\' + char;\n          })\n          .join('');\n      })\n      .join('|');\n  }\n\n  const RE_IDENT = '~?[a-z$_][0-9a-zA-Z$_]*';\n  const RE_MODULE_IDENT = '`?[A-Z$_][0-9a-zA-Z$_]*';\n\n  const RE_PARAM_TYPEPARAM = '\\'?[a-z$_][0-9a-z$_]*';\n  const RE_PARAM_TYPE = '\\\\s*:\\\\s*[a-z$_][0-9a-z$_]*(\\\\(\\\\s*(' + RE_PARAM_TYPEPARAM + '\\\\s*(,' + RE_PARAM_TYPEPARAM + '\\\\s*)*)?\\\\))?';\n  const RE_PARAM = RE_IDENT + '(' + RE_PARAM_TYPE + '){0,2}';\n  const RE_OPERATOR = \"(\" + orReValues([\n    '||',\n    '++',\n    '**',\n    '+.',\n    '*',\n    '/',\n    '*.',\n    '/.',\n    '...'\n  ]) + \"|\\\\|>|&&|==|===)\";\n  const RE_OPERATOR_SPACED = \"\\\\s+\" + RE_OPERATOR + \"\\\\s+\";\n\n  const KEYWORDS = {\n    keyword:\n      'and as asr assert begin class constraint do done downto else end exception external ' +\n      'for fun function functor if in include inherit initializer ' +\n      'land lazy let lor lsl lsr lxor match method mod module mutable new nonrec ' +\n      'object of open or private rec sig struct then to try type val virtual when while with',\n    built_in:\n      'array bool bytes char exn|5 float int int32 int64 list lazy_t|5 nativeint|5 ref string unit ',\n    literal:\n      'true false'\n  };\n\n  const RE_NUMBER = '\\\\b(0[xX][a-fA-F0-9_]+[Lln]?|' +\n    '0[oO][0-7_]+[Lln]?|' +\n    '0[bB][01_]+[Lln]?|' +\n    '[0-9][0-9_]*([Lln]|(\\\\.[0-9_]*)?([eE][-+]?[0-9_]+)?)?)';\n\n  const NUMBER_MODE = {\n    className: 'number',\n    relevance: 0,\n    variants: [\n      {\n        begin: RE_NUMBER\n      },\n      {\n        begin: '\\\\(-' + RE_NUMBER + '\\\\)'\n      }\n    ]\n  };\n\n  const OPERATOR_MODE = {\n    className: 'operator',\n    relevance: 0,\n    begin: RE_OPERATOR\n  };\n  const LIST_CONTENTS_MODES = [\n    {\n      className: 'identifier',\n      relevance: 0,\n      begin: RE_IDENT\n    },\n    OPERATOR_MODE,\n    NUMBER_MODE\n  ];\n\n  const MODULE_ACCESS_CONTENTS = [\n    hljs.QUOTE_STRING_MODE,\n    OPERATOR_MODE,\n    {\n      className: 'module',\n      begin: \"\\\\b\" + RE_MODULE_IDENT,\n      returnBegin: true,\n      end: \"\\.\",\n      contains: [\n        {\n          className: 'identifier',\n          begin: RE_MODULE_IDENT,\n          relevance: 0\n        }\n      ]\n    }\n  ];\n\n  const PARAMS_CONTENTS = [\n    {\n      className: 'module',\n      begin: \"\\\\b\" + RE_MODULE_IDENT,\n      returnBegin: true,\n      end: \"\\.\",\n      relevance: 0,\n      contains: [\n        {\n          className: 'identifier',\n          begin: RE_MODULE_IDENT,\n          relevance: 0\n        }\n      ]\n    }\n  ];\n\n  const PARAMS_MODE = {\n    begin: RE_IDENT,\n    end: '(,|\\\\n|\\\\))',\n    relevance: 0,\n    contains: [\n      OPERATOR_MODE,\n      {\n        className: 'typing',\n        begin: ':',\n        end: '(,|\\\\n)',\n        returnBegin: true,\n        relevance: 0,\n        contains: PARAMS_CONTENTS\n      }\n    ]\n  };\n\n  const FUNCTION_BLOCK_MODE = {\n    className: 'function',\n    relevance: 0,\n    keywords: KEYWORDS,\n    variants: [\n      {\n        begin: '\\\\s(\\\\(\\\\.?.*?\\\\)|' + RE_IDENT + ')\\\\s*=>',\n        end: '\\\\s*=>',\n        returnBegin: true,\n        relevance: 0,\n        contains: [\n          {\n            className: 'params',\n            variants: [\n              {\n                begin: RE_IDENT\n              },\n              {\n                begin: RE_PARAM\n              },\n              {\n                begin: /\\(\\s*\\)/\n              }\n            ]\n          }\n        ]\n      },\n      {\n        begin: '\\\\s\\\\(\\\\.?[^;\\\\|]*\\\\)\\\\s*=>',\n        end: '\\\\s=>',\n        returnBegin: true,\n        relevance: 0,\n        contains: [\n          {\n            className: 'params',\n            relevance: 0,\n            variants: [ PARAMS_MODE ]\n          }\n        ]\n      },\n      {\n        begin: '\\\\(\\\\.\\\\s' + RE_IDENT + '\\\\)\\\\s*=>'\n      }\n    ]\n  };\n  MODULE_ACCESS_CONTENTS.push(FUNCTION_BLOCK_MODE);\n\n  const CONSTRUCTOR_MODE = {\n    className: 'constructor',\n    begin: RE_MODULE_IDENT + '\\\\(',\n    end: '\\\\)',\n    illegal: '\\\\n',\n    keywords: KEYWORDS,\n    contains: [\n      hljs.QUOTE_STRING_MODE,\n      OPERATOR_MODE,\n      {\n        className: 'params',\n        begin: '\\\\b' + RE_IDENT\n      }\n    ]\n  };\n\n  const PATTERN_MATCH_BLOCK_MODE = {\n    className: 'pattern-match',\n    begin: '\\\\|',\n    returnBegin: true,\n    keywords: KEYWORDS,\n    end: '=>',\n    relevance: 0,\n    contains: [\n      CONSTRUCTOR_MODE,\n      OPERATOR_MODE,\n      {\n        relevance: 0,\n        className: 'constructor',\n        begin: RE_MODULE_IDENT\n      }\n    ]\n  };\n\n  const MODULE_ACCESS_MODE = {\n    className: 'module-access',\n    keywords: KEYWORDS,\n    returnBegin: true,\n    variants: [\n      {\n        begin: \"\\\\b(\" + RE_MODULE_IDENT + \"\\\\.)+\" + RE_IDENT\n      },\n      {\n        begin: \"\\\\b(\" + RE_MODULE_IDENT + \"\\\\.)+\\\\(\",\n        end: \"\\\\)\",\n        returnBegin: true,\n        contains: [\n          FUNCTION_BLOCK_MODE,\n          {\n            begin: '\\\\(',\n            end: '\\\\)',\n            skip: true\n          }\n        ].concat(MODULE_ACCESS_CONTENTS)\n      },\n      {\n        begin: \"\\\\b(\" + RE_MODULE_IDENT + \"\\\\.)+\\\\{\",\n        end: /\\}/\n      }\n    ],\n    contains: MODULE_ACCESS_CONTENTS\n  };\n\n  PARAMS_CONTENTS.push(MODULE_ACCESS_MODE);\n\n  return {\n    name: 'ReasonML',\n    aliases: [ 're' ],\n    keywords: KEYWORDS,\n    illegal: '(:-|:=|\\\\$\\\\{|\\\\+=)',\n    contains: [\n      hljs.COMMENT('/\\\\*', '\\\\*/', {\n        illegal: '^(#,\\\\/\\\\/)'\n      }),\n      {\n        className: 'character',\n        begin: '\\'(\\\\\\\\[^\\']+|[^\\'])\\'',\n        illegal: '\\\\n',\n        relevance: 0\n      },\n      hljs.QUOTE_STRING_MODE,\n      {\n        className: 'literal',\n        begin: '\\\\(\\\\)',\n        relevance: 0\n      },\n      {\n        className: 'literal',\n        begin: '\\\\[\\\\|',\n        end: '\\\\|\\\\]',\n        relevance: 0,\n        contains: LIST_CONTENTS_MODES\n      },\n      {\n        className: 'literal',\n        begin: '\\\\[',\n        end: '\\\\]',\n        relevance: 0,\n        contains: LIST_CONTENTS_MODES\n      },\n      CONSTRUCTOR_MODE,\n      {\n        className: 'operator',\n        begin: RE_OPERATOR_SPACED,\n        illegal: '-->',\n        relevance: 0\n      },\n      NUMBER_MODE,\n      hljs.C_LINE_COMMENT_MODE,\n      PATTERN_MATCH_BLOCK_MODE,\n      FUNCTION_BLOCK_MODE,\n      {\n        className: 'module-def',\n        begin: \"\\\\bmodule\\\\s+\" + RE_IDENT + \"\\\\s+\" + RE_MODULE_IDENT + \"\\\\s+=\\\\s+\\\\{\",\n        end: /\\}/,\n        returnBegin: true,\n        keywords: KEYWORDS,\n        relevance: 0,\n        contains: [\n          {\n            className: 'module',\n            relevance: 0,\n            begin: RE_MODULE_IDENT\n          },\n          {\n            begin: /\\{/,\n            end: /\\}/,\n            skip: true\n          }\n        ].concat(MODULE_ACCESS_CONTENTS)\n      },\n      MODULE_ACCESS_MODE\n    ]\n  };\n}\n\nmodule.exports = reasonml;\n","'use strict'\n\nvar low = require('./lib/core.js')\n\nmodule.exports = low\n\nlow.registerLanguage('1c', require('highlight.js/lib/languages/1c'))\nlow.registerLanguage('abnf', require('highlight.js/lib/languages/abnf'))\nlow.registerLanguage(\n  'accesslog',\n  require('highlight.js/lib/languages/accesslog')\n)\nlow.registerLanguage(\n  'actionscript',\n  require('highlight.js/lib/languages/actionscript')\n)\nlow.registerLanguage('ada', require('highlight.js/lib/languages/ada'))\nlow.registerLanguage(\n  'angelscript',\n  require('highlight.js/lib/languages/angelscript')\n)\nlow.registerLanguage('apache', require('highlight.js/lib/languages/apache'))\nlow.registerLanguage(\n  'applescript',\n  require('highlight.js/lib/languages/applescript')\n)\nlow.registerLanguage('arcade', require('highlight.js/lib/languages/arcade'))\nlow.registerLanguage('arduino', require('highlight.js/lib/languages/arduino'))\nlow.registerLanguage('armasm', require('highlight.js/lib/languages/armasm'))\nlow.registerLanguage('xml', require('highlight.js/lib/languages/xml'))\nlow.registerLanguage('asciidoc', require('highlight.js/lib/languages/asciidoc'))\nlow.registerLanguage('aspectj', require('highlight.js/lib/languages/aspectj'))\nlow.registerLanguage(\n  'autohotkey',\n  require('highlight.js/lib/languages/autohotkey')\n)\nlow.registerLanguage('autoit', require('highlight.js/lib/languages/autoit'))\nlow.registerLanguage('avrasm', require('highlight.js/lib/languages/avrasm'))\nlow.registerLanguage('awk', require('highlight.js/lib/languages/awk'))\nlow.registerLanguage('axapta', require('highlight.js/lib/languages/axapta'))\nlow.registerLanguage('bash', require('highlight.js/lib/languages/bash'))\nlow.registerLanguage('basic', require('highlight.js/lib/languages/basic'))\nlow.registerLanguage('bnf', require('highlight.js/lib/languages/bnf'))\nlow.registerLanguage(\n  'brainfuck',\n  require('highlight.js/lib/languages/brainfuck')\n)\nlow.registerLanguage('c-like', require('highlight.js/lib/languages/c-like'))\nlow.registerLanguage('c', require('highlight.js/lib/languages/c'))\nlow.registerLanguage('cal', require('highlight.js/lib/languages/cal'))\nlow.registerLanguage(\n  'capnproto',\n  require('highlight.js/lib/languages/capnproto')\n)\nlow.registerLanguage('ceylon', require('highlight.js/lib/languages/ceylon'))\nlow.registerLanguage('clean', require('highlight.js/lib/languages/clean'))\nlow.registerLanguage('clojure', require('highlight.js/lib/languages/clojure'))\nlow.registerLanguage(\n  'clojure-repl',\n  require('highlight.js/lib/languages/clojure-repl')\n)\nlow.registerLanguage('cmake', require('highlight.js/lib/languages/cmake'))\nlow.registerLanguage(\n  'coffeescript',\n  require('highlight.js/lib/languages/coffeescript')\n)\nlow.registerLanguage('coq', require('highlight.js/lib/languages/coq'))\nlow.registerLanguage('cos', require('highlight.js/lib/languages/cos'))\nlow.registerLanguage('cpp', require('highlight.js/lib/languages/cpp'))\nlow.registerLanguage('crmsh', require('highlight.js/lib/languages/crmsh'))\nlow.registerLanguage('crystal', require('highlight.js/lib/languages/crystal'))\nlow.registerLanguage('csharp', require('highlight.js/lib/languages/csharp'))\nlow.registerLanguage('csp', require('highlight.js/lib/languages/csp'))\nlow.registerLanguage('css', require('highlight.js/lib/languages/css'))\nlow.registerLanguage('d', require('highlight.js/lib/languages/d'))\nlow.registerLanguage('markdown', require('highlight.js/lib/languages/markdown'))\nlow.registerLanguage('dart', require('highlight.js/lib/languages/dart'))\nlow.registerLanguage('delphi', require('highlight.js/lib/languages/delphi'))\nlow.registerLanguage('diff', require('highlight.js/lib/languages/diff'))\nlow.registerLanguage('django', require('highlight.js/lib/languages/django'))\nlow.registerLanguage('dns', require('highlight.js/lib/languages/dns'))\nlow.registerLanguage(\n  'dockerfile',\n  require('highlight.js/lib/languages/dockerfile')\n)\nlow.registerLanguage('dos', require('highlight.js/lib/languages/dos'))\nlow.registerLanguage('dsconfig', require('highlight.js/lib/languages/dsconfig'))\nlow.registerLanguage('dts', require('highlight.js/lib/languages/dts'))\nlow.registerLanguage('dust', require('highlight.js/lib/languages/dust'))\nlow.registerLanguage('ebnf', require('highlight.js/lib/languages/ebnf'))\nlow.registerLanguage('elixir', require('highlight.js/lib/languages/elixir'))\nlow.registerLanguage('elm', require('highlight.js/lib/languages/elm'))\nlow.registerLanguage('ruby', require('highlight.js/lib/languages/ruby'))\nlow.registerLanguage('erb', require('highlight.js/lib/languages/erb'))\nlow.registerLanguage(\n  'erlang-repl',\n  require('highlight.js/lib/languages/erlang-repl')\n)\nlow.registerLanguage('erlang', require('highlight.js/lib/languages/erlang'))\nlow.registerLanguage('excel', require('highlight.js/lib/languages/excel'))\nlow.registerLanguage('fix', require('highlight.js/lib/languages/fix'))\nlow.registerLanguage('flix', require('highlight.js/lib/languages/flix'))\nlow.registerLanguage('fortran', require('highlight.js/lib/languages/fortran'))\nlow.registerLanguage('fsharp', require('highlight.js/lib/languages/fsharp'))\nlow.registerLanguage('gams', require('highlight.js/lib/languages/gams'))\nlow.registerLanguage('gauss', require('highlight.js/lib/languages/gauss'))\nlow.registerLanguage('gcode', require('highlight.js/lib/languages/gcode'))\nlow.registerLanguage('gherkin', require('highlight.js/lib/languages/gherkin'))\nlow.registerLanguage('glsl', require('highlight.js/lib/languages/glsl'))\nlow.registerLanguage('gml', require('highlight.js/lib/languages/gml'))\nlow.registerLanguage('go', require('highlight.js/lib/languages/go'))\nlow.registerLanguage('golo', require('highlight.js/lib/languages/golo'))\nlow.registerLanguage('gradle', require('highlight.js/lib/languages/gradle'))\nlow.registerLanguage('groovy', require('highlight.js/lib/languages/groovy'))\nlow.registerLanguage('haml', require('highlight.js/lib/languages/haml'))\nlow.registerLanguage(\n  'handlebars',\n  require('highlight.js/lib/languages/handlebars')\n)\nlow.registerLanguage('haskell', require('highlight.js/lib/languages/haskell'))\nlow.registerLanguage('haxe', require('highlight.js/lib/languages/haxe'))\nlow.registerLanguage('hsp', require('highlight.js/lib/languages/hsp'))\nlow.registerLanguage('htmlbars', require('highlight.js/lib/languages/htmlbars'))\nlow.registerLanguage('http', require('highlight.js/lib/languages/http'))\nlow.registerLanguage('hy', require('highlight.js/lib/languages/hy'))\nlow.registerLanguage('inform7', require('highlight.js/lib/languages/inform7'))\nlow.registerLanguage('ini', require('highlight.js/lib/languages/ini'))\nlow.registerLanguage('irpf90', require('highlight.js/lib/languages/irpf90'))\nlow.registerLanguage('isbl', require('highlight.js/lib/languages/isbl'))\nlow.registerLanguage('java', require('highlight.js/lib/languages/java'))\nlow.registerLanguage(\n  'javascript',\n  require('highlight.js/lib/languages/javascript')\n)\nlow.registerLanguage(\n  'jboss-cli',\n  require('highlight.js/lib/languages/jboss-cli')\n)\nlow.registerLanguage('json', require('highlight.js/lib/languages/json'))\nlow.registerLanguage('julia', require('highlight.js/lib/languages/julia'))\nlow.registerLanguage(\n  'julia-repl',\n  require('highlight.js/lib/languages/julia-repl')\n)\nlow.registerLanguage('kotlin', require('highlight.js/lib/languages/kotlin'))\nlow.registerLanguage('lasso', require('highlight.js/lib/languages/lasso'))\nlow.registerLanguage('latex', require('highlight.js/lib/languages/latex'))\nlow.registerLanguage('ldif', require('highlight.js/lib/languages/ldif'))\nlow.registerLanguage('leaf', require('highlight.js/lib/languages/leaf'))\nlow.registerLanguage('less', require('highlight.js/lib/languages/less'))\nlow.registerLanguage('lisp', require('highlight.js/lib/languages/lisp'))\nlow.registerLanguage(\n  'livecodeserver',\n  require('highlight.js/lib/languages/livecodeserver')\n)\nlow.registerLanguage(\n  'livescript',\n  require('highlight.js/lib/languages/livescript')\n)\nlow.registerLanguage('llvm', require('highlight.js/lib/languages/llvm'))\nlow.registerLanguage('lsl', require('highlight.js/lib/languages/lsl'))\nlow.registerLanguage('lua', require('highlight.js/lib/languages/lua'))\nlow.registerLanguage('makefile', require('highlight.js/lib/languages/makefile'))\nlow.registerLanguage(\n  'mathematica',\n  require('highlight.js/lib/languages/mathematica')\n)\nlow.registerLanguage('matlab', require('highlight.js/lib/languages/matlab'))\nlow.registerLanguage('maxima', require('highlight.js/lib/languages/maxima'))\nlow.registerLanguage('mel', require('highlight.js/lib/languages/mel'))\nlow.registerLanguage('mercury', require('highlight.js/lib/languages/mercury'))\nlow.registerLanguage('mipsasm', require('highlight.js/lib/languages/mipsasm'))\nlow.registerLanguage('mizar', require('highlight.js/lib/languages/mizar'))\nlow.registerLanguage('perl', require('highlight.js/lib/languages/perl'))\nlow.registerLanguage(\n  'mojolicious',\n  require('highlight.js/lib/languages/mojolicious')\n)\nlow.registerLanguage('monkey', require('highlight.js/lib/languages/monkey'))\nlow.registerLanguage(\n  'moonscript',\n  require('highlight.js/lib/languages/moonscript')\n)\nlow.registerLanguage('n1ql', require('highlight.js/lib/languages/n1ql'))\nlow.registerLanguage('nginx', require('highlight.js/lib/languages/nginx'))\nlow.registerLanguage('nim', require('highlight.js/lib/languages/nim'))\nlow.registerLanguage('nix', require('highlight.js/lib/languages/nix'))\nlow.registerLanguage(\n  'node-repl',\n  require('highlight.js/lib/languages/node-repl')\n)\nlow.registerLanguage('nsis', require('highlight.js/lib/languages/nsis'))\nlow.registerLanguage(\n  'objectivec',\n  require('highlight.js/lib/languages/objectivec')\n)\nlow.registerLanguage('ocaml', require('highlight.js/lib/languages/ocaml'))\nlow.registerLanguage('openscad', require('highlight.js/lib/languages/openscad'))\nlow.registerLanguage('oxygene', require('highlight.js/lib/languages/oxygene'))\nlow.registerLanguage('parser3', require('highlight.js/lib/languages/parser3'))\nlow.registerLanguage('pf', require('highlight.js/lib/languages/pf'))\nlow.registerLanguage('pgsql', require('highlight.js/lib/languages/pgsql'))\nlow.registerLanguage('php', require('highlight.js/lib/languages/php'))\nlow.registerLanguage(\n  'php-template',\n  require('highlight.js/lib/languages/php-template')\n)\nlow.registerLanguage(\n  'plaintext',\n  require('highlight.js/lib/languages/plaintext')\n)\nlow.registerLanguage('pony', require('highlight.js/lib/languages/pony'))\nlow.registerLanguage(\n  'powershell',\n  require('highlight.js/lib/languages/powershell')\n)\nlow.registerLanguage(\n  'processing',\n  require('highlight.js/lib/languages/processing')\n)\nlow.registerLanguage('profile', require('highlight.js/lib/languages/profile'))\nlow.registerLanguage('prolog', require('highlight.js/lib/languages/prolog'))\nlow.registerLanguage(\n  'properties',\n  require('highlight.js/lib/languages/properties')\n)\nlow.registerLanguage('protobuf', require('highlight.js/lib/languages/protobuf'))\nlow.registerLanguage('puppet', require('highlight.js/lib/languages/puppet'))\nlow.registerLanguage(\n  'purebasic',\n  require('highlight.js/lib/languages/purebasic')\n)\nlow.registerLanguage('python', require('highlight.js/lib/languages/python'))\nlow.registerLanguage(\n  'python-repl',\n  require('highlight.js/lib/languages/python-repl')\n)\nlow.registerLanguage('q', require('highlight.js/lib/languages/q'))\nlow.registerLanguage('qml', require('highlight.js/lib/languages/qml'))\nlow.registerLanguage('r', require('highlight.js/lib/languages/r'))\nlow.registerLanguage('reasonml', require('highlight.js/lib/languages/reasonml'))\nlow.registerLanguage('rib', require('highlight.js/lib/languages/rib'))\nlow.registerLanguage('roboconf', require('highlight.js/lib/languages/roboconf'))\nlow.registerLanguage('routeros', require('highlight.js/lib/languages/routeros'))\nlow.registerLanguage('rsl', require('highlight.js/lib/languages/rsl'))\nlow.registerLanguage(\n  'ruleslanguage',\n  require('highlight.js/lib/languages/ruleslanguage')\n)\nlow.registerLanguage('rust', require('highlight.js/lib/languages/rust'))\nlow.registerLanguage('sas', require('highlight.js/lib/languages/sas'))\nlow.registerLanguage('scala', require('highlight.js/lib/languages/scala'))\nlow.registerLanguage('scheme', require('highlight.js/lib/languages/scheme'))\nlow.registerLanguage('scilab', require('highlight.js/lib/languages/scilab'))\nlow.registerLanguage('scss', require('highlight.js/lib/languages/scss'))\nlow.registerLanguage('shell', require('highlight.js/lib/languages/shell'))\nlow.registerLanguage('smali', require('highlight.js/lib/languages/smali'))\nlow.registerLanguage(\n  'smalltalk',\n  require('highlight.js/lib/languages/smalltalk')\n)\nlow.registerLanguage('sml', require('highlight.js/lib/languages/sml'))\nlow.registerLanguage('sqf', require('highlight.js/lib/languages/sqf'))\nlow.registerLanguage('sql_more', require('highlight.js/lib/languages/sql_more'))\nlow.registerLanguage('sql', require('highlight.js/lib/languages/sql'))\nlow.registerLanguage('stan', require('highlight.js/lib/languages/stan'))\nlow.registerLanguage('stata', require('highlight.js/lib/languages/stata'))\nlow.registerLanguage('step21', require('highlight.js/lib/languages/step21'))\nlow.registerLanguage('stylus', require('highlight.js/lib/languages/stylus'))\nlow.registerLanguage('subunit', require('highlight.js/lib/languages/subunit'))\nlow.registerLanguage('swift', require('highlight.js/lib/languages/swift'))\nlow.registerLanguage(\n  'taggerscript',\n  require('highlight.js/lib/languages/taggerscript')\n)\nlow.registerLanguage('yaml', require('highlight.js/lib/languages/yaml'))\nlow.registerLanguage('tap', require('highlight.js/lib/languages/tap'))\nlow.registerLanguage('tcl', require('highlight.js/lib/languages/tcl'))\nlow.registerLanguage('thrift', require('highlight.js/lib/languages/thrift'))\nlow.registerLanguage('tp', require('highlight.js/lib/languages/tp'))\nlow.registerLanguage('twig', require('highlight.js/lib/languages/twig'))\nlow.registerLanguage(\n  'typescript',\n  require('highlight.js/lib/languages/typescript')\n)\nlow.registerLanguage('vala', require('highlight.js/lib/languages/vala'))\nlow.registerLanguage('vbnet', require('highlight.js/lib/languages/vbnet'))\nlow.registerLanguage('vbscript', require('highlight.js/lib/languages/vbscript'))\nlow.registerLanguage(\n  'vbscript-html',\n  require('highlight.js/lib/languages/vbscript-html')\n)\nlow.registerLanguage('verilog', require('highlight.js/lib/languages/verilog'))\nlow.registerLanguage('vhdl', require('highlight.js/lib/languages/vhdl'))\nlow.registerLanguage('vim', require('highlight.js/lib/languages/vim'))\nlow.registerLanguage('x86asm', require('highlight.js/lib/languages/x86asm'))\nlow.registerLanguage('xl', require('highlight.js/lib/languages/xl'))\nlow.registerLanguage('xquery', require('highlight.js/lib/languages/xquery'))\nlow.registerLanguage('zephir', require('highlight.js/lib/languages/zephir'))\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports[\"default\"] = void 0;\nvar _default = exports[\"default\"] = {\n  \"hljs\": {\n    \"display\": \"block\",\n    \"overflowX\": \"auto\",\n    \"padding\": \"0.5em\",\n    \"background\": \"#fdf6e3\",\n    \"color\": \"#657b83\"\n  },\n  \"hljs-comment\": {\n    \"color\": \"#93a1a1\"\n  },\n  \"hljs-quote\": {\n    \"color\": \"#93a1a1\"\n  },\n  \"hljs-keyword\": {\n    \"color\": \"#859900\"\n  },\n  \"hljs-selector-tag\": {\n    \"color\": \"#859900\"\n  },\n  \"hljs-addition\": {\n    \"color\": \"#859900\"\n  },\n  \"hljs-number\": {\n    \"color\": \"#2aa198\"\n  },\n  \"hljs-string\": {\n    \"color\": \"#2aa198\"\n  },\n  \"hljs-meta .hljs-meta-string\": {\n    \"color\": \"#2aa198\"\n  },\n  \"hljs-literal\": {\n    \"color\": \"#2aa198\"\n  },\n  \"hljs-doctag\": {\n    \"color\": \"#2aa198\"\n  },\n  \"hljs-regexp\": {\n    \"color\": \"#2aa198\"\n  },\n  \"hljs-title\": {\n    \"color\": \"#268bd2\"\n  },\n  \"hljs-section\": {\n    \"color\": \"#268bd2\"\n  },\n  \"hljs-name\": {\n    \"color\": \"#268bd2\"\n  },\n  \"hljs-selector-id\": {\n    \"color\": \"#268bd2\"\n  },\n  \"hljs-selector-class\": {\n    \"color\": \"#268bd2\"\n  },\n  \"hljs-attribute\": {\n    \"color\": \"#b58900\"\n  },\n  \"hljs-attr\": {\n    \"color\": \"#b58900\"\n  },\n  \"hljs-variable\": {\n    \"color\": \"#b58900\"\n  },\n  \"hljs-template-variable\": {\n    \"color\": \"#b58900\"\n  },\n  \"hljs-class .hljs-title\": {\n    \"color\": \"#b58900\"\n  },\n  \"hljs-type\": {\n    \"color\": \"#b58900\"\n  },\n  \"hljs-symbol\": {\n    \"color\": \"#cb4b16\"\n  },\n  \"hljs-bullet\": {\n    \"color\": \"#cb4b16\"\n  },\n  \"hljs-subst\": {\n    \"color\": \"#cb4b16\"\n  },\n  \"hljs-meta\": {\n    \"color\": \"#cb4b16\"\n  },\n  \"hljs-meta .hljs-keyword\": {\n    \"color\": \"#cb4b16\"\n  },\n  \"hljs-selector-attr\": {\n    \"color\": \"#cb4b16\"\n  },\n  \"hljs-selector-pseudo\": {\n    \"color\": \"#cb4b16\"\n  },\n  \"hljs-link\": {\n    \"color\": \"#cb4b16\"\n  },\n  \"hljs-built_in\": {\n    \"color\": \"#dc322f\"\n  },\n  \"hljs-deletion\": {\n    \"color\": \"#dc322f\"\n  },\n  \"hljs-formula\": {\n    \"background\": \"#eee8d5\"\n  },\n  \"hljs-emphasis\": {\n    \"fontStyle\": \"italic\"\n  },\n  \"hljs-strong\": {\n    \"fontWeight\": \"bold\"\n  }\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports[\"default\"] = void 0;\nvar _default = exports[\"default\"] = {\n  \"hljs\": {\n    \"display\": \"block\",\n    \"overflowX\": \"auto\",\n    \"padding\": \"0.5em\",\n    \"background\": \"#F0F0F0\",\n    \"color\": \"#444\"\n  },\n  \"hljs-subst\": {\n    \"color\": \"#444\"\n  },\n  \"hljs-comment\": {\n    \"color\": \"#888888\"\n  },\n  \"hljs-keyword\": {\n    \"fontWeight\": \"bold\"\n  },\n  \"hljs-attribute\": {\n    \"fontWeight\": \"bold\"\n  },\n  \"hljs-selector-tag\": {\n    \"fontWeight\": \"bold\"\n  },\n  \"hljs-meta-keyword\": {\n    \"fontWeight\": \"bold\"\n  },\n  \"hljs-doctag\": {\n    \"fontWeight\": \"bold\"\n  },\n  \"hljs-name\": {\n    \"fontWeight\": \"bold\"\n  },\n  \"hljs-type\": {\n    \"color\": \"#880000\"\n  },\n  \"hljs-string\": {\n    \"color\": \"#880000\"\n  },\n  \"hljs-number\": {\n    \"color\": \"#880000\"\n  },\n  \"hljs-selector-id\": {\n    \"color\": \"#880000\"\n  },\n  \"hljs-selector-class\": {\n    \"color\": \"#880000\"\n  },\n  \"hljs-quote\": {\n    \"color\": \"#880000\"\n  },\n  \"hljs-template-tag\": {\n    \"color\": \"#880000\"\n  },\n  \"hljs-deletion\": {\n    \"color\": \"#880000\"\n  },\n  \"hljs-title\": {\n    \"color\": \"#880000\",\n    \"fontWeight\": \"bold\"\n  },\n  \"hljs-section\": {\n    \"color\": \"#880000\",\n    \"fontWeight\": \"bold\"\n  },\n  \"hljs-regexp\": {\n    \"color\": \"#BC6060\"\n  },\n  \"hljs-symbol\": {\n    \"color\": \"#BC6060\"\n  },\n  \"hljs-variable\": {\n    \"color\": \"#BC6060\"\n  },\n  \"hljs-template-variable\": {\n    \"color\": \"#BC6060\"\n  },\n  \"hljs-link\": {\n    \"color\": \"#BC6060\"\n  },\n  \"hljs-selector-attr\": {\n    \"color\": \"#BC6060\"\n  },\n  \"hljs-selector-pseudo\": {\n    \"color\": \"#BC6060\"\n  },\n  \"hljs-literal\": {\n    \"color\": \"#78A960\"\n  },\n  \"hljs-built_in\": {\n    \"color\": \"#397300\"\n  },\n  \"hljs-bullet\": {\n    \"color\": \"#397300\"\n  },\n  \"hljs-code\": {\n    \"color\": \"#397300\"\n  },\n  \"hljs-addition\": {\n    \"color\": \"#397300\"\n  },\n  \"hljs-meta\": {\n    \"color\": \"#1f7199\"\n  },\n  \"hljs-meta-string\": {\n    \"color\": \"#4d99bf\"\n  },\n  \"hljs-emphasis\": {\n    \"fontStyle\": \"italic\"\n  },\n  \"hljs-strong\": {\n    \"fontWeight\": \"bold\"\n  }\n};","/*\nLanguage: TP\nAuthor: Jay Strybis \nDescription: FANUC TP programming language (TPP).\n*/\n\nfunction tp(hljs) {\n  const TPID = {\n    className: 'number',\n    begin: '[1-9][0-9]*', /* no leading zeros */\n    relevance: 0\n  };\n  const TPLABEL = {\n    className: 'symbol',\n    begin: ':[^\\\\]]+'\n  };\n  const TPDATA = {\n    className: 'built_in',\n    begin: '(AR|P|PAYLOAD|PR|R|SR|RSR|LBL|VR|UALM|MESSAGE|UTOOL|UFRAME|TIMER|' +\n    'TIMER_OVERFLOW|JOINT_MAX_SPEED|RESUME_PROG|DIAG_REC)\\\\[',\n    end: '\\\\]',\n    contains: [\n      'self',\n      TPID,\n      TPLABEL\n    ]\n  };\n  const TPIO = {\n    className: 'built_in',\n    begin: '(AI|AO|DI|DO|F|RI|RO|UI|UO|GI|GO|SI|SO)\\\\[',\n    end: '\\\\]',\n    contains: [\n      'self',\n      TPID,\n      hljs.QUOTE_STRING_MODE, /* for pos section at bottom */\n      TPLABEL\n    ]\n  };\n\n  return {\n    name: 'TP',\n    keywords: {\n      keyword:\n        'ABORT ACC ADJUST AND AP_LD BREAK CALL CNT COL CONDITION CONFIG DA DB ' +\n        'DIV DETECT ELSE END ENDFOR ERR_NUM ERROR_PROG FINE FOR GP GUARD INC ' +\n        'IF JMP LINEAR_MAX_SPEED LOCK MOD MONITOR OFFSET Offset OR OVERRIDE ' +\n        'PAUSE PREG PTH RT_LD RUN SELECT SKIP Skip TA TB TO TOOL_OFFSET ' +\n        'Tool_Offset UF UT UFRAME_NUM UTOOL_NUM UNLOCK WAIT X Y Z W P R STRLEN ' +\n        'SUBSTR FINDSTR VOFFSET PROG ATTR MN POS',\n      literal:\n        'ON OFF max_speed LPOS JPOS ENABLE DISABLE START STOP RESET'\n    },\n    contains: [\n      TPDATA,\n      TPIO,\n      {\n        className: 'keyword',\n        begin: '/(PROG|ATTR|MN|POS|END)\\\\b'\n      },\n      {\n        /* this is for cases like ,CALL */\n        className: 'keyword',\n        begin: '(CALL|RUN|POINT_LOGIC|LBL)\\\\b'\n      },\n      {\n        /* this is for cases like CNT100 where the default lexemes do not\n         * separate the keyword and the number */\n        className: 'keyword',\n        begin: '\\\\b(ACC|CNT|Skip|Offset|PSPD|RT_LD|AP_LD|Tool_Offset)'\n      },\n      {\n        /* to catch numbers that do not have a word boundary on the left */\n        className: 'number',\n        begin: '\\\\d+(sec|msec|mm/sec|cm/min|inch/min|deg/sec|mm|in|cm)?\\\\b',\n        relevance: 0\n      },\n      hljs.COMMENT('//', '[;$]'),\n      hljs.COMMENT('!', '[;$]'),\n      hljs.COMMENT('--eg:', '$'),\n      hljs.QUOTE_STRING_MODE,\n      {\n        className: 'string',\n        begin: '\\'',\n        end: '\\''\n      },\n      hljs.C_NUMBER_MODE,\n      {\n        className: 'variable',\n        begin: '\\\\$[A-Za-z0-9_]+'\n      }\n    ]\n  };\n}\n\nmodule.exports = tp;\n","'use strict';\n\nvar isArray = Array.isArray;\nvar keyList = Object.keys;\nvar hasProp = Object.prototype.hasOwnProperty;\nvar hasElementType = typeof Element !== 'undefined';\n\nfunction equal(a, b) {\n  // fast-deep-equal index.js 2.0.1\n  if (a === b) return true;\n\n  if (a && b && typeof a == 'object' && typeof b == 'object') {\n    var arrA = isArray(a)\n      , arrB = isArray(b)\n      , i\n      , length\n      , key;\n\n    if (arrA && arrB) {\n      length = a.length;\n      if (length != b.length) return false;\n      for (i = length; i-- !== 0;)\n        if (!equal(a[i], b[i])) return false;\n      return true;\n    }\n\n    if (arrA != arrB) return false;\n\n    var dateA = a instanceof Date\n      , dateB = b instanceof Date;\n    if (dateA != dateB) return false;\n    if (dateA && dateB) return a.getTime() == b.getTime();\n\n    var regexpA = a instanceof RegExp\n      , regexpB = b instanceof RegExp;\n    if (regexpA != regexpB) return false;\n    if (regexpA && regexpB) return a.toString() == b.toString();\n\n    var keys = keyList(a);\n    length = keys.length;\n\n    if (length !== keyList(b).length)\n      return false;\n\n    for (i = length; i-- !== 0;)\n      if (!hasProp.call(b, keys[i])) return false;\n    // end fast-deep-equal\n\n    // start react-fast-compare\n    // custom handling for DOM elements\n    if (hasElementType && a instanceof Element && b instanceof Element)\n      return a === b;\n\n    // custom handling for React\n    for (i = length; i-- !== 0;) {\n      key = keys[i];\n      if (key === '_owner' && a.$$typeof) {\n        // React-specific: avoid traversing React elements' _owner.\n        //  _owner contains circular references\n        // and is not needed when comparing the actual elements (and not their owners)\n        // .$$typeof and ._store on just reasonable markers of a react element\n        continue;\n      } else {\n        // all other properties should be traversed as usual\n        if (!equal(a[key], b[key])) return false;\n      }\n    }\n    // end react-fast-compare\n\n    // fast-deep-equal index.js 2.0.1\n    return true;\n  }\n\n  return a !== a && b !== b;\n}\n// end fast-deep-equal\n\nmodule.exports = function exportedEqual(a, b) {\n  try {\n    return equal(a, b);\n  } catch (error) {\n    if ((error.message && error.message.match(/stack|recursion/i)) || (error.number === -2146828260)) {\n      // warn on circular references, don't crash\n      // browsers give this different errors name and messages:\n      // chrome/safari: \"RangeError\", \"Maximum call stack size exceeded\"\n      // firefox: \"InternalError\", too much recursion\"\n      // edge: \"Error\", \"Out of stack space\"\n      console.warn('Warning: react-fast-compare does not handle circular references.', error.name, error.message);\n      return false;\n    }\n    // some other error. we should definitely know about these\n    throw error;\n  }\n};\n","/*\nLanguage: Twig\nRequires: xml.js\nAuthor: Luke Holder \nDescription: Twig is a templating language for PHP\nWebsite: https://twig.symfony.com\nCategory: template\n*/\n\nfunction twig(hljs) {\n  var PARAMS = {\n    className: 'params',\n    begin: '\\\\(', end: '\\\\)'\n  };\n\n  var FUNCTION_NAMES = 'attribute block constant cycle date dump include ' +\n                  'max min parent random range source template_from_string';\n\n  var FUNCTIONS = {\n    beginKeywords: FUNCTION_NAMES,\n    keywords: {name: FUNCTION_NAMES},\n    relevance: 0,\n    contains: [\n      PARAMS\n    ]\n  };\n\n  var FILTER = {\n    begin: /\\|[A-Za-z_]+:?/,\n    keywords:\n      'abs batch capitalize column convert_encoding date date_modify default ' +\n      'escape filter first format inky_to_html inline_css join json_encode keys last ' +\n      'length lower map markdown merge nl2br number_format raw reduce replace ' +\n      'reverse round slice sort spaceless split striptags title trim upper url_encode',\n    contains: [\n      FUNCTIONS\n    ]\n  };\n\n  var TAGS = 'apply autoescape block deprecated do embed extends filter flush for from ' +\n    'if import include macro sandbox set use verbatim with';\n\n  TAGS = TAGS + ' ' + TAGS.split(' ').map(function(t){return 'end' + t}).join(' ');\n\n  return {\n    name: 'Twig',\n    aliases: ['craftcms'],\n    case_insensitive: true,\n    subLanguage: 'xml',\n    contains: [\n      hljs.COMMENT(/\\{#/, /#\\}/),\n      {\n        className: 'template-tag',\n        begin: /\\{%/, end: /%\\}/,\n        contains: [\n          {\n            className: 'name',\n            begin: /\\w+/,\n            keywords: TAGS,\n            starts: {\n              endsWithParent: true,\n              contains: [FILTER, FUNCTIONS],\n              relevance: 0\n            }\n          }\n        ]\n      },\n      {\n        className: 'template-variable',\n        begin: /\\{\\{/, end: /\\}\\}/,\n        contains: ['self', FILTER, FUNCTIONS]\n      }\n    ]\n  };\n}\n\nmodule.exports = twig;\n","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n/**\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\n\nvar __DEV__ = process.env.NODE_ENV !== 'production';\n\nvar warning = function() {};\n\nif (__DEV__) {\n  var printWarning = function printWarning(format, args) {\n    var len = arguments.length;\n    args = new Array(len > 1 ? len - 1 : 0);\n    for (var key = 1; key < len; key++) {\n      args[key - 1] = arguments[key];\n    }\n    var argIndex = 0;\n    var message = 'Warning: ' +\n      format.replace(/%s/g, function() {\n        return args[argIndex++];\n      });\n    if (typeof console !== 'undefined') {\n      console.error(message);\n    }\n    try {\n      // --- Welcome to debugging React ---\n      // This error was thrown as a convenience so that you can use this stack\n      // to find the callsite that caused this warning to fire.\n      throw new Error(message);\n    } catch (x) {}\n  }\n\n  warning = function(condition, format, args) {\n    var len = arguments.length;\n    args = new Array(len > 2 ? len - 2 : 0);\n    for (var key = 2; key < len; key++) {\n      args[key - 2] = arguments[key];\n    }\n    if (format === undefined) {\n      throw new Error(\n          '`warning(condition, format, ...args)` requires a warning ' +\n          'message argument'\n      );\n    }\n    if (!condition) {\n      printWarning.apply(null, [format].concat(args));\n    }\n  };\n}\n\nmodule.exports = warning;\n","/*\nLanguage: Test Anything Protocol\nDescription: TAP, the Test Anything Protocol, is a simple text-based interface between testing modules in a test harness.\nRequires: yaml.js\nAuthor: Sergey Bronnikov \nWebsite: https://testanything.org\n*/\n\nfunction tap(hljs) {\n  return {\n    name: 'Test Anything Protocol',\n    case_insensitive: true,\n    contains: [\n      hljs.HASH_COMMENT_MODE,\n      // version of format and total amount of testcases\n      {\n        className: 'meta',\n        variants: [\n          {\n            begin: '^TAP version (\\\\d+)$'\n          },\n          {\n            begin: '^1\\\\.\\\\.(\\\\d+)$'\n          }\n        ]\n      },\n      // YAML block\n      {\n        begin: /---$/,\n        end: '\\\\.\\\\.\\\\.$',\n        subLanguage: 'yaml',\n        relevance: 0\n      },\n      // testcase number\n      {\n        className: 'number',\n        begin: ' (\\\\d+) '\n      },\n      // testcase status and description\n      {\n        className: 'symbol',\n        variants: [\n          {\n            begin: '^ok'\n          },\n          {\n            begin: '^not ok'\n          }\n        ]\n      }\n    ]\n  };\n}\n\nmodule.exports = tap;\n","/*\nLanguage: Scala\nCategory: functional\nAuthor: Jan Berkel \nContributors: Erik Osheim \nWebsite: https://www.scala-lang.org\n*/\n\nfunction scala(hljs) {\n  const ANNOTATION = {\n    className: 'meta',\n    begin: '@[A-Za-z]+'\n  };\n\n  // used in strings for escaping/interpolation/substitution\n  const SUBST = {\n    className: 'subst',\n    variants: [\n      {\n        begin: '\\\\$[A-Za-z0-9_]+'\n      },\n      {\n        begin: /\\$\\{/,\n        end: /\\}/\n      }\n    ]\n  };\n\n  const STRING = {\n    className: 'string',\n    variants: [\n      {\n        begin: '\"\"\"',\n        end: '\"\"\"'\n      },\n      {\n        begin: '\"',\n        end: '\"',\n        illegal: '\\\\n',\n        contains: [ hljs.BACKSLASH_ESCAPE ]\n      },\n      {\n        begin: '[a-z]+\"',\n        end: '\"',\n        illegal: '\\\\n',\n        contains: [\n          hljs.BACKSLASH_ESCAPE,\n          SUBST\n        ]\n      },\n      {\n        className: 'string',\n        begin: '[a-z]+\"\"\"',\n        end: '\"\"\"',\n        contains: [ SUBST ],\n        relevance: 10\n      }\n    ]\n\n  };\n\n  const SYMBOL = {\n    className: 'symbol',\n    begin: '\\'\\\\w[\\\\w\\\\d_]*(?!\\')'\n  };\n\n  const TYPE = {\n    className: 'type',\n    begin: '\\\\b[A-Z][A-Za-z0-9_]*',\n    relevance: 0\n  };\n\n  const NAME = {\n    className: 'title',\n    begin: /[^0-9\\n\\t \"'(),.`{}\\[\\]:;][^\\n\\t \"'(),.`{}\\[\\]:;]+|[^0-9\\n\\t \"'(),.`{}\\[\\]:;=]/,\n    relevance: 0\n  };\n\n  const CLASS = {\n    className: 'class',\n    beginKeywords: 'class object trait type',\n    end: /[:={\\[\\n;]/,\n    excludeEnd: true,\n    contains: [\n      hljs.C_LINE_COMMENT_MODE,\n      hljs.C_BLOCK_COMMENT_MODE,\n      {\n        beginKeywords: 'extends with',\n        relevance: 10\n      },\n      {\n        begin: /\\[/,\n        end: /\\]/,\n        excludeBegin: true,\n        excludeEnd: true,\n        relevance: 0,\n        contains: [ TYPE ]\n      },\n      {\n        className: 'params',\n        begin: /\\(/,\n        end: /\\)/,\n        excludeBegin: true,\n        excludeEnd: true,\n        relevance: 0,\n        contains: [ TYPE ]\n      },\n      NAME\n    ]\n  };\n\n  const METHOD = {\n    className: 'function',\n    beginKeywords: 'def',\n    end: /[:={\\[(\\n;]/,\n    excludeEnd: true,\n    contains: [ NAME ]\n  };\n\n  return {\n    name: 'Scala',\n    keywords: {\n      literal: 'true false null',\n      keyword: 'type yield lazy override def with val var sealed abstract private trait object if forSome for while throw finally protected extends import final return else break new catch super class case package default try this match continue throws implicit'\n    },\n    contains: [\n      hljs.C_LINE_COMMENT_MODE,\n      hljs.C_BLOCK_COMMENT_MODE,\n      STRING,\n      SYMBOL,\n      TYPE,\n      METHOD,\n      CLASS,\n      hljs.C_NUMBER_MODE,\n      ANNOTATION\n    ]\n  };\n}\n\nmodule.exports = scala;\n","/**\n * @param {string} value\n * @returns {RegExp}\n * */\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction source(re) {\n  if (!re) return null;\n  if (typeof re === \"string\") return re;\n\n  return re.source;\n}\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction lookahead(re) {\n  return concat('(?=', re, ')');\n}\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction optional(re) {\n  return concat('(', re, ')?');\n}\n\n/**\n * @param {...(RegExp | string) } args\n * @returns {string}\n */\nfunction concat(...args) {\n  const joined = args.map((x) => source(x)).join(\"\");\n  return joined;\n}\n\n/**\n * Any of the passed expresssions may match\n *\n * Creates a huge this | this | that | that match\n * @param {(RegExp | string)[] } args\n * @returns {string}\n */\nfunction either(...args) {\n  const joined = '(' + args.map((x) => source(x)).join(\"|\") + \")\";\n  return joined;\n}\n\n/*\nLanguage: HTML, XML\nWebsite: https://www.w3.org/XML/\nCategory: common\nAudit: 2020\n*/\n\n/** @type LanguageFn */\nfunction xml(hljs) {\n  // Element names can contain letters, digits, hyphens, underscores, and periods\n  const TAG_NAME_RE = concat(/[A-Z_]/, optional(/[A-Z0-9_.-]*:/), /[A-Z0-9_.-]*/);\n  const XML_IDENT_RE = /[A-Za-z0-9._:-]+/;\n  const XML_ENTITIES = {\n    className: 'symbol',\n    begin: /&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/\n  };\n  const XML_META_KEYWORDS = {\n    begin: /\\s/,\n    contains: [\n      {\n        className: 'meta-keyword',\n        begin: /#?[a-z_][a-z1-9_-]+/,\n        illegal: /\\n/\n      }\n    ]\n  };\n  const XML_META_PAR_KEYWORDS = hljs.inherit(XML_META_KEYWORDS, {\n    begin: /\\(/,\n    end: /\\)/\n  });\n  const APOS_META_STRING_MODE = hljs.inherit(hljs.APOS_STRING_MODE, {\n    className: 'meta-string'\n  });\n  const QUOTE_META_STRING_MODE = hljs.inherit(hljs.QUOTE_STRING_MODE, {\n    className: 'meta-string'\n  });\n  const TAG_INTERNALS = {\n    endsWithParent: true,\n    illegal: /`]+/\n              }\n            ]\n          }\n        ]\n      }\n    ]\n  };\n  return {\n    name: 'HTML, XML',\n    aliases: [\n      'html',\n      'xhtml',\n      'rss',\n      'atom',\n      'xjb',\n      'xsd',\n      'xsl',\n      'plist',\n      'wsf',\n      'svg'\n    ],\n    case_insensitive: true,\n    contains: [\n      {\n        className: 'meta',\n        begin: //,\n        relevance: 10,\n        contains: [\n          XML_META_KEYWORDS,\n          QUOTE_META_STRING_MODE,\n          APOS_META_STRING_MODE,\n          XML_META_PAR_KEYWORDS,\n          {\n            begin: /\\[/,\n            end: /\\]/,\n            contains: [\n              {\n                className: 'meta',\n                begin: //,\n                contains: [\n                  XML_META_KEYWORDS,\n                  XML_META_PAR_KEYWORDS,\n                  QUOTE_META_STRING_MODE,\n                  APOS_META_STRING_MODE\n                ]\n              }\n            ]\n          }\n        ]\n      },\n      hljs.COMMENT(\n        //,\n        {\n          relevance: 10\n        }\n      ),\n      {\n        begin: //,\n        relevance: 10\n      },\n      XML_ENTITIES,\n      {\n        className: 'meta',\n        begin: /<\\?xml/,\n        end: /\\?>/,\n        relevance: 10\n      },\n      {\n        className: 'tag',\n        /*\n        The lookahead pattern (?=...) ensures that 'begin' only matches\n        ')/,\n        end: />/,\n        keywords: {\n          name: 'style'\n        },\n        contains: [ TAG_INTERNALS ],\n        starts: {\n          end: /<\\/style>/,\n          returnEnd: true,\n          subLanguage: [\n            'css',\n            'xml'\n          ]\n        }\n      },\n      {\n        className: 'tag',\n        // See the comment in the `;\n  };\n\n  collectStyles(children: any): React.JSX.Element {\n    if (this.sealed) {\n      throw styledError(2);\n    }\n\n    return {children};\n  }\n\n  getStyleTags = (): string => {\n    if (this.sealed) {\n      throw styledError(2);\n    }\n\n    return this._emitSheetCSS();\n  };\n\n  getStyleElement = () => {\n    if (this.sealed) {\n      throw styledError(2);\n    }\n\n    const css = this.instance.toString();\n    if (!css) return [];\n\n    const props = {\n      [SC_ATTR]: '',\n      [SC_ATTR_VERSION]: SC_VERSION,\n      dangerouslySetInnerHTML: {\n        __html: css,\n      },\n    };\n\n    const nonce = getNonce();\n    if (nonce) {\n      (props as any).nonce = nonce;\n    }\n\n    // v4 returned an array for this fn, so we'll do the same for v5 for backward compat\n    return [\n    \n  )\n}\n\nconst ReviewCard: React.FC<{\n  datasetName: string\n  numFiles: number\n  hasLabels: boolean\n  labelsFileName?: string\n  labelsFormat?: string\n}> = ({ datasetName, numFiles, hasLabels, labelsFileName, labelsFormat }) => (\n  \n    \n      
Review Your Selections
\n\n \n
\n Dataset Details\n
\n \n Dataset Name:\n {datasetName}\n \n
\n\n \n
\n Upload Details\n
\n \n Images Selected:\n \n {numFiles} file{numFiles !== 1 ? 's' : ''}\n \n \n \n Labels:\n {hasLabels ? 'Yes' : 'No'}\n \n {hasLabels && labelsFileName && (\n <>\n \n Labels File:\n {labelsFileName}\n \n \n Format:\n {labelsFormat?.toUpperCase()}\n \n \n )}\n
\n
\n
\n)\n\ninterface UploadFinalizeStepProps {\n onHide: () => void\n}\n\nconst MAX_CONCURRENT_FILES = 10\nconst MAX_CONCURRENT_FILES_WITH_LABELS = 25\nconst UploadFinalizeStep: React.FC = ({ onHide }) => {\n const dispatch = useAppDispatch()\n const selectedProjectId = useAppSelector(selectSelectedProjectId)\n const { data: project } = useGetProjectQuery(selectedProjectId || '', { skip: !selectedProjectId })\n const selectedDataset = useAppSelector(selectDatasetSources)\n\n const {\n fileMap,\n tiffFileMap,\n selectedFiles,\n selectedTiffFiles,\n uploading,\n progress,\n error,\n setUploading,\n setProgress,\n setError,\n labelsFile,\n labelsFormat,\n datasetName,\n clearFiles,\n datasetSources,\n } = useProject()\n\n const [uploadProjectContent] = useUploadProjectContentMutation()\n const [uploadTiff] = useUploadTiffMutation()\n\n const uploadFiles = async () => {\n dispatch(resetAllStats())\n if (selectedProjectId && (datasetName || selectedDataset?.[0])) {\n const dsName = datasetName ? datasetName : selectedDataset[0]\n\n setUploading(true)\n setProgress(0)\n setError(null)\n const metadata = { datasource: dsName }\n\n try {\n // Process TIFF files\n const tiffFilesToUpload = selectedTiffFiles.map((meta) => tiffFileMap.get(meta.id)).filter(Boolean) as File[]\n const regularFilesToUpload = selectedFiles.map((meta) => fileMap.get(meta.id)).filter(Boolean) as File[]\n\n // Calculate total files for progress excluding labels.json\n const totalFilesCount = tiffFilesToUpload.length + regularFilesToUpload.length - (labelsFile ? 1 : 0)\n let filesProcessed = 0\n\n // Process files in parallel batches\n const processFileBatch = async (files: File[], isTiff: boolean) => {\n const batchSize = labelsFile ? MAX_CONCURRENT_FILES_WITH_LABELS : MAX_CONCURRENT_FILES\n const batches: File[][] = []\n\n // Split files into batches\n for (let i = 0; i < files.length; i += batchSize) {\n batches.push(files.slice(i, i + batchSize))\n }\n\n // Process batches in groups of 10\n const MAX_CONCURRENT_BATCHES = 5\n\n // Helper function to process a single batch\n const processBatch = async (batchFiles: File[]) => {\n if (isTiff) {\n await uploadTiff({\n id: selectedProjectId,\n datasetid: project?.datasetid || '',\n files: batchFiles,\n clip_size: 1024,\n metadata,\n })\n } else {\n const resp = await uploadProjectContent({\n id: selectedProjectId,\n datasetid: project?.datasetid || '',\n files: labelsFile ? [...batchFiles, labelsFile] : batchFiles,\n ...(labelsFile && {\n labels_file: labelsFile.name,\n labels_format: labelsFormat,\n }),\n metadata,\n }).unwrap()\n const adjustedForLabels = labelsFile\n ? {\n ...resp,\n total_bytes: resp.total_bytes - labelsFile.size,\n }\n : { ...resp }\n dispatch(updateDatasetStats(adjustedForLabels))\n }\n filesProcessed += batchFiles.length\n const progress = Math.round((filesProcessed / totalFilesCount) * 100)\n setProgress(progress)\n }\n\n // Process batches in groups\n for (let i = 0; i < batches.length; i += MAX_CONCURRENT_BATCHES) {\n const batchGroup = batches.slice(i, i + MAX_CONCURRENT_BATCHES)\n await Promise.all(batchGroup.map(processBatch))\n }\n }\n\n // Process TIFF files first\n await processFileBatch(tiffFilesToUpload, true)\n // Then process regular files\n await processFileBatch(regularFilesToUpload, false)\n\n // Invalidate caches after successful upload\n dispatch(\n annotationsApi.util.invalidateTags([\n { type: apiTags.AnnotationStats, id: project?.datasetid || '' },\n { type: apiTags.AnnotationStats, id: 'LIST' },\n { type: apiTags.Annotation, id: 'LIST' },\n ])\n )\n\n dispatch(\n contentApi.util.invalidateTags([\n { type: apiTags.Content, id: 'LIST' },\n { type: apiTags.Metadata, id: selectedProjectId },\n { type: apiTags.Metadata, id: 'LIST' },\n ])\n )\n\n dispatch(\n datasetApi.util.invalidateTags([\n { type: apiTags.Dataset, id: project?.datasetid || '' },\n { type: apiTags.DatasetList, id: 'LIST' },\n ])\n )\n\n dispatch(\n tagApi.util.invalidateTags([\n { type: apiTags.Tag, id: 'LIST' },\n { type: apiTags.TagProperties, id: project?.datasetid || '' },\n ])\n )\n\n onHide()\n clearFiles()\n dispatch(setDatasetSources([]))\n } catch (err) {\n setError('An error occurred during upload. Please try again.')\n } finally {\n setUploading(false)\n }\n }\n }\n\n return (\n
\n \n \n {!uploading ? (\n <>\n \n\n {error && (\n \n {error}\n \n )}\n\n 0)\n }\n >\n \n Start Upload\n \n \n ) : (\n \n \n
Upload Progress
\n \n\n \n
\n Uploading your files\n {progress}%\n
\n \n
\n
\n
\n )}\n \n
\n
\n )\n}\n\nexport default UploadFinalizeStep\n","// Path: /home/jason/src/AgileView/autovision-ui/src/components/wizards/UploadDatasetNameStep.tsx\n\n// src/components/wizards/DatasetNameStep.tsx\nimport React, { useState } from 'react'\nimport { Row, Col } from 'react-bootstrap'\nimport { useProject } from './NewProjectContext'\nimport { useAppDispatch, useAppSelector } from '../../store/hooks'\nimport { setUploadSource } from '../../store/slices/datasetSlice'\nimport DatasetSelectorStepTable from './DatasetSelectorStepTable'\nimport { useGetContentMetadataQuery } from '../../services/contentApi'\nimport { selectSelectedProjectId } from '../../store/slices/projectSlice'\nimport { useGetProjectQuery } from '../../services/projectsApi'\nimport { useDatasetStats } from '../../utils/datasetStats'\n\nconst UploadDatasetNameStep: React.FC = () => {\n const dispatch = useAppDispatch()\n const selectedProjectId = useAppSelector(selectSelectedProjectId)\n const { data: project } = useGetProjectQuery(selectedProjectId || '', { skip: !selectedProjectId })\n const { setDatasetName, setDatasetSources } = useProject()\n const [localDatasets, setLocalDatasets] = useState([])\n\n const { data: metadata } = useGetContentMetadataQuery(\n {\n project_id: selectedProjectId || '',\n },\n { skip: !selectedProjectId }\n )\n\n const handleAcceptSelections = (sources: string[]) => {\n if (!sources || !Array.isArray(sources)) {\n return // Early return if sources is invalid\n }\n\n if (sources.length > 0) {\n setDatasetName(sources[0])\n setDatasetSources(sources)\n dispatch(setUploadSource(sources[0]))\n setLocalDatasets((prev) => {\n const newDatasets = sources.filter((ds) => !(metadata?.metadata?.datasource || []).includes(ds))\n return [...new Set([...prev, ...newDatasets])]\n })\n } else {\n setDatasetName(undefined)\n setDatasetSources([])\n }\n }\n\n const availableDatasets = [...new Set([...(metadata?.metadata?.datasource || []), ...localDatasets])]\n\n const datasetStats = useDatasetStats(selectedProjectId || '', project?.datasetid || '', availableDatasets)\n\n return (\n \n \n \n \n \n )\n}\n\nexport default UploadDatasetNameStep\n","import React from 'react'\nimport { Modal, Button } from 'react-bootstrap'\nimport Wizard from './Wizard'\nimport { ProjectProvider } from './NewProjectContext'\nimport UploadSelectFilesStep from './UploadSelectFilesStep'\nimport UploadFinalizeStep from './UploadFinalizeStep'\nimport styled from 'styled-components'\nimport UploadDatasetNameStep from './UploadDatasetNameStep'\n\nconst StyledModal = styled(Modal)`\n .modal-content {\n background: #1a1a1a;\n border: none;\n }\n\n .modal-header {\n background: linear-gradient(45deg, #402563, #114ee0);\n border-bottom: none;\n padding: 1.25rem 1.5rem;\n\n .modal-title {\n color: white;\n font-weight: 600;\n font-size: 1.25rem;\n }\n\n .btn-danger {\n background: transparent;\n border: 1px solid rgba(255, 255, 255, 0.2);\n padding: 0.5rem 1rem;\n\n &:hover {\n background: rgba(255, 255, 255, 0.1);\n border-color: rgba(255, 255, 255, 0.3);\n }\n }\n }\n\n .modal-body {\n padding: 0;\n background: #2a2a2a;\n }\n`\n\ninterface UploadWizardProps {\n show: boolean\n onHide: () => void\n}\n\nconst UploadWizard: React.FC = ({ show, onHide }) => {\n const handleCancel = () => {\n onHide()\n }\n\n const steps = () => {\n const s = [\n {\n name: 'Dataset Name',\n component: UploadDatasetNameStep,\n title: 'Choose Dataset',\n description: 'Select or create a dataset for your images',\n },\n {\n name: 'Add Data',\n component: UploadSelectFilesStep,\n title: 'Add Data',\n description: 'Add your images and optional labels file',\n },\n {\n name: 'Review',\n component: UploadFinalizeStep,\n title: 'Review & Upload',\n description: 'Review your selections and start the upload',\n },\n ]\n return s\n }\n\n return (\n \n \n Upload Dataset\n \n \n \n \n \n \n \n \n )\n}\n\nexport default UploadWizard\n","import React, { useState } from 'react'\nimport { Card, Row } from 'react-bootstrap'\nimport { CloudUpload } from 'lucide-react'\nimport UploadWizard from './wizards/UploadWizard'\nimport { useAppSelector, useAnnotationStats } from '../store/hooks'\nimport { selectSelectedProjectId } from '../store/slices/projectSlice'\nimport { useGetProjectQuery } from '../services/projectsApi'\nimport styled, { keyframes, css } from 'styled-components'\n\nconst borderPulseAnimation = keyframes`\n 0% {\n opacity: 1;\n transform: scale(1);\n }\n 50% {\n opacity: 0.8;\n transform: scale(1.02);\n }\n 100% {\n opacity: 1;\n transform: scale(1);\n }\n`\n\nconst iconPulseAnimation = keyframes`\n 0% {\n transform: scale(1);\n color: #0d6efd;\n }\n 50% {\n transform: scale(1.1);\n color: #2850e6;\n filter: drop-shadow(0 0 8px rgba(13, 110, 253, 0.5));\n }\n 100% {\n transform: scale(1);\n color: #0d6efd;\n }\n`\n\nconst PulsingCard = styled(Card)<{ $shouldPulse: boolean }>`\n position: relative;\n background: #2d2d2d;\n border: none;\n transition: all 0.3s ease;\n overflow: visible;\n\n ${(props) =>\n props.$shouldPulse &&\n css`\n &::before {\n content: '';\n position: absolute;\n inset: -3px;\n background: linear-gradient(45deg, #402563, #2042ba);\n border-radius: 14px;\n z-index: -1;\n animation: ${borderPulseAnimation} 2s infinite ease-in-out;\n }\n\n .upload-icon {\n animation: ${iconPulseAnimation} 2s infinite ease-in-out;\n }\n `}\n\n .card-title {\n color: #ffffff;\n font-weight: 600;\n padding: 1rem 1rem 0;\n margin: 0;\n }\n\n .card-body {\n padding: 1rem;\n }\n\n .upload-icon {\n color: #0d6efd !important;\n transition: all 0.3s ease;\n }\n\n &:hover {\n transform: translateY(-2px);\n box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);\n }\n`\n\nconst DatasetUploadToolsCard: React.FC = () => {\n const [showUploadWizard, setShowUploadWizard] = useState(false)\n const selectedProjectId = useAppSelector(selectSelectedProjectId)\n const { data: project } = useGetProjectQuery(selectedProjectId || '', { skip: !selectedProjectId })\n\n const { data: annoStats, isLoading: isLoadingStats } = useAnnotationStats(\n selectedProjectId || '',\n project?.datasetid || '',\n undefined\n )\n\n const totalImages =\n (annoStats?.statistics?.total_annotated_images || 0) + (annoStats?.statistics?.total_unannotated_images || 0)\n\n const handleOpen = (e: React.MouseEvent) => {\n e.stopPropagation() // Prevent click propagation\n setShowUploadWizard(true)\n }\n\n const handleClose = () => {\n setShowUploadWizard(false)\n }\n\n return (\n <>\n \n Upload Data\n \n \n \n \n \n \n\n \n \n )\n}\n\nexport default DatasetUploadToolsCard\n","\"use client\";\n\nimport * as React from 'react';\nexport function isAccordionItemSelected(activeEventKey, eventKey) {\n return Array.isArray(activeEventKey) ? activeEventKey.includes(eventKey) : activeEventKey === eventKey;\n}\nconst context = /*#__PURE__*/React.createContext({});\ncontext.displayName = 'AccordionContext';\nexport default context;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useContext } from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport Collapse from './Collapse';\nimport AccordionContext, { isAccordionItemSelected } from './AccordionContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n/**\n * This component accepts all of [`Collapse`'s props](/docs/utilities/transitions#collapse-1).\n */\nconst AccordionCollapse = /*#__PURE__*/React.forwardRef(({\n as: Component = 'div',\n bsPrefix,\n className,\n children,\n eventKey,\n ...props\n}, ref) => {\n const {\n activeEventKey\n } = useContext(AccordionContext);\n bsPrefix = useBootstrapPrefix(bsPrefix, 'accordion-collapse');\n return /*#__PURE__*/_jsx(Collapse, {\n ref: ref,\n in: isAccordionItemSelected(activeEventKey, eventKey),\n ...props,\n className: classNames(className, bsPrefix),\n children: /*#__PURE__*/_jsx(Component, {\n children: React.Children.only(children)\n })\n });\n});\nAccordionCollapse.displayName = 'AccordionCollapse';\nexport default AccordionCollapse;","\"use client\";\n\nimport * as React from 'react';\nconst context = /*#__PURE__*/React.createContext({\n eventKey: ''\n});\ncontext.displayName = 'AccordionItemContext';\nexport default context;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useContext } from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport AccordionCollapse from './AccordionCollapse';\nimport AccordionItemContext from './AccordionItemContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst AccordionBody = /*#__PURE__*/React.forwardRef(({\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = 'div',\n bsPrefix,\n className,\n onEnter,\n onEntering,\n onEntered,\n onExit,\n onExiting,\n onExited,\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'accordion-body');\n const {\n eventKey\n } = useContext(AccordionItemContext);\n return /*#__PURE__*/_jsx(AccordionCollapse, {\n eventKey: eventKey,\n onEnter: onEnter,\n onEntering: onEntering,\n onEntered: onEntered,\n onExit: onExit,\n onExiting: onExiting,\n onExited: onExited,\n children: /*#__PURE__*/_jsx(Component, {\n ref: ref,\n ...props,\n className: classNames(className, bsPrefix)\n })\n });\n});\nAccordionBody.displayName = 'AccordionBody';\nexport default AccordionBody;","\"use client\";\n\nimport * as React from 'react';\nimport { useContext } from 'react';\nimport classNames from 'classnames';\nimport AccordionContext, { isAccordionItemSelected } from './AccordionContext';\nimport AccordionItemContext from './AccordionItemContext';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport function useAccordionButton(eventKey, onClick) {\n const {\n activeEventKey,\n onSelect,\n alwaysOpen\n } = useContext(AccordionContext);\n return e => {\n /*\n Compare the event key in context with the given event key.\n If they are the same, then collapse the component.\n */\n let eventKeyPassed = eventKey === activeEventKey ? null : eventKey;\n if (alwaysOpen) {\n if (Array.isArray(activeEventKey)) {\n if (activeEventKey.includes(eventKey)) {\n eventKeyPassed = activeEventKey.filter(k => k !== eventKey);\n } else {\n eventKeyPassed = [...activeEventKey, eventKey];\n }\n } else {\n // activeEventKey is undefined.\n eventKeyPassed = [eventKey];\n }\n }\n onSelect == null || onSelect(eventKeyPassed, e);\n onClick == null || onClick(e);\n };\n}\nconst AccordionButton = /*#__PURE__*/React.forwardRef(({\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = 'button',\n bsPrefix,\n className,\n onClick,\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'accordion-button');\n const {\n eventKey\n } = useContext(AccordionItemContext);\n const accordionOnClick = useAccordionButton(eventKey, onClick);\n const {\n activeEventKey\n } = useContext(AccordionContext);\n if (Component === 'button') {\n props.type = 'button';\n }\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n onClick: accordionOnClick,\n ...props,\n \"aria-expanded\": Array.isArray(activeEventKey) ? activeEventKey.includes(eventKey) : eventKey === activeEventKey,\n className: classNames(className, bsPrefix, !isAccordionItemSelected(activeEventKey, eventKey) && 'collapsed')\n });\n});\nAccordionButton.displayName = 'AccordionButton';\nexport default AccordionButton;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport AccordionButton from './AccordionButton';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst AccordionHeader = /*#__PURE__*/React.forwardRef(({\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = 'h2',\n 'aria-controls': ariaControls,\n bsPrefix,\n className,\n children,\n onClick,\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'accordion-header');\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n ...props,\n className: classNames(className, bsPrefix),\n children: /*#__PURE__*/_jsx(AccordionButton, {\n onClick: onClick,\n \"aria-controls\": ariaControls,\n children: children\n })\n });\n});\nAccordionHeader.displayName = 'AccordionHeader';\nexport default AccordionHeader;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useMemo } from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport AccordionItemContext from './AccordionItemContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst AccordionItem = /*#__PURE__*/React.forwardRef(({\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = 'div',\n bsPrefix,\n className,\n eventKey,\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'accordion-item');\n const contextValue = useMemo(() => ({\n eventKey\n }), [eventKey]);\n return /*#__PURE__*/_jsx(AccordionItemContext.Provider, {\n value: contextValue,\n children: /*#__PURE__*/_jsx(Component, {\n ref: ref,\n ...props,\n className: classNames(className, bsPrefix)\n })\n });\n});\nAccordionItem.displayName = 'AccordionItem';\nexport default AccordionItem;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useMemo } from 'react';\nimport { useUncontrolled } from 'uncontrollable';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport AccordionBody from './AccordionBody';\nimport AccordionButton from './AccordionButton';\nimport AccordionCollapse from './AccordionCollapse';\nimport AccordionContext from './AccordionContext';\nimport AccordionHeader from './AccordionHeader';\nimport AccordionItem from './AccordionItem';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst Accordion = /*#__PURE__*/React.forwardRef((props, ref) => {\n const {\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = 'div',\n activeKey,\n bsPrefix,\n className,\n onSelect,\n flush,\n alwaysOpen,\n ...controlledProps\n } = useUncontrolled(props, {\n activeKey: 'onSelect'\n });\n const prefix = useBootstrapPrefix(bsPrefix, 'accordion');\n const contextValue = useMemo(() => ({\n activeEventKey: activeKey,\n onSelect,\n alwaysOpen\n }), [activeKey, onSelect, alwaysOpen]);\n return /*#__PURE__*/_jsx(AccordionContext.Provider, {\n value: contextValue,\n children: /*#__PURE__*/_jsx(Component, {\n ref: ref,\n ...controlledProps,\n className: classNames(className, prefix, flush && `${prefix}-flush`)\n })\n });\n});\nAccordion.displayName = 'Accordion';\nexport default Object.assign(Accordion, {\n Button: AccordionButton,\n Collapse: AccordionCollapse,\n Item: AccordionItem,\n Header: AccordionHeader,\n Body: AccordionBody\n});","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport const propTypes = {\n /**\n * @default 'img'\n */\n bsPrefix: PropTypes.string,\n /**\n * Sets image as fluid image.\n */\n fluid: PropTypes.bool,\n /**\n * Sets image shape as rounded.\n */\n rounded: PropTypes.bool,\n /**\n * Sets image shape as circle.\n */\n roundedCircle: PropTypes.bool,\n /**\n * Sets image shape as thumbnail.\n */\n thumbnail: PropTypes.bool\n};\nconst Image = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n className,\n fluid = false,\n rounded = false,\n roundedCircle = false,\n thumbnail = false,\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'img');\n return /*#__PURE__*/_jsx(\"img\", {\n // eslint-disable-line jsx-a11y/alt-text\n ref: ref,\n ...props,\n className: classNames(className, fluid && `${bsPrefix}-fluid`, rounded && `rounded`, roundedCircle && `rounded-circle`, thumbnail && `${bsPrefix}-thumbnail`)\n });\n});\nImage.displayName = 'Image';\nexport default Image;","var _excluded = [\"color\", \"size\", \"title\", \"className\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport React, { forwardRef } from 'react';\nimport PropTypes from 'prop-types';\nvar CheckCircleFill = /*#__PURE__*/forwardRef(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? '1em' : _ref$size,\n _ref$title = _ref.title,\n title = _ref$title === void 0 ? null : _ref$title,\n _ref$className = _ref.className,\n className = _ref$className === void 0 ? '' : _ref$className,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 16 16\",\n width: size,\n height: size,\n fill: color,\n className: ['bi', 'bi-check-circle-fill', className].filter(Boolean).join(' ')\n }, rest), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0m-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z\"\n }));\n});\nCheckCircleFill.propTypes = {\n color: PropTypes.string,\n size: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n title: PropTypes.string,\n className: PropTypes.string\n};\nexport default CheckCircleFill;","var _excluded = [\"color\", \"size\", \"title\", \"className\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport React, { forwardRef } from 'react';\nimport PropTypes from 'prop-types';\nvar StarFill = /*#__PURE__*/forwardRef(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? '1em' : _ref$size,\n _ref$title = _ref.title,\n title = _ref$title === void 0 ? null : _ref$title,\n _ref$className = _ref.className,\n className = _ref$className === void 0 ? '' : _ref$className,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 16 16\",\n width: size,\n height: size,\n fill: color,\n className: ['bi', 'bi-star-fill', className].filter(Boolean).join(' ')\n }, rest), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3.612 15.443c-.386.198-.824-.149-.746-.592l.83-4.73L.173 6.765c-.329-.314-.158-.888.283-.95l4.898-.696L7.538.792c.197-.39.73-.39.927 0l2.184 4.327 4.898.696c.441.062.612.636.282.95l-3.522 3.356.83 4.73c.078.443-.36.79-.746.592L8 13.187l-4.389 2.256z\"\n }));\n});\nStarFill.propTypes = {\n color: PropTypes.string,\n size: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n title: PropTypes.string,\n className: PropTypes.string\n};\nexport default StarFill;","var _excluded = [\"color\", \"size\", \"title\", \"className\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport React, { forwardRef } from 'react';\nimport PropTypes from 'prop-types';\nvar Star = /*#__PURE__*/forwardRef(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? '1em' : _ref$size,\n _ref$title = _ref.title,\n title = _ref$title === void 0 ? null : _ref$title,\n _ref$className = _ref.className,\n className = _ref$className === void 0 ? '' : _ref$className,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 16 16\",\n width: size,\n height: size,\n fill: color,\n className: ['bi', 'bi-star', className].filter(Boolean).join(' ')\n }, rest), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2.866 14.85c-.078.444.36.791.746.593l4.39-2.256 4.389 2.256c.386.198.824-.149.746-.592l-.83-4.73 3.522-3.356c.33-.314.16-.888-.282-.95l-4.898-.696L8.465.792a.513.513 0 0 0-.927 0L5.354 5.12l-4.898.696c-.441.062-.612.636-.283.95l3.523 3.356-.83 4.73zm4.905-2.767-3.686 1.894.694-3.957a.56.56 0 0 0-.163-.505L1.71 6.745l4.052-.576a.53.53 0 0 0 .393-.288L8 2.223l1.847 3.658a.53.53 0 0 0 .393.288l4.052.575-2.906 2.77a.56.56 0 0 0-.163.506l.694 3.957-3.686-1.894a.5.5 0 0 0-.461 0z\"\n }));\n});\nStar.propTypes = {\n color: PropTypes.string,\n size: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n title: PropTypes.string,\n className: PropTypes.string\n};\nexport default Star;","var _excluded = [\"color\", \"size\", \"title\", \"className\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport React, { forwardRef } from 'react';\nimport PropTypes from 'prop-types';\nvar XLg = /*#__PURE__*/forwardRef(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? '1em' : _ref$size,\n _ref$title = _ref.title,\n title = _ref$title === void 0 ? null : _ref$title,\n _ref$className = _ref.className,\n className = _ref$className === void 0 ? '' : _ref$className,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 16 16\",\n width: size,\n height: size,\n fill: color,\n className: ['bi', 'bi-x-lg', className].filter(Boolean).join(' ')\n }, rest), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2.146 2.854a.5.5 0 1 1 .708-.708L8 7.293l5.146-5.147a.5.5 0 0 1 .708.708L8.707 8l5.147 5.146a.5.5 0 0 1-.708.708L8 8.707l-5.146 5.147a.5.5 0 0 1-.708-.708L7.293 8z\"\n }));\n});\nXLg.propTypes = {\n color: PropTypes.string,\n size: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n title: PropTypes.string,\n className: PropTypes.string\n};\nexport default XLg;","var _excluded = [\"color\", \"size\", \"title\", \"className\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport React, { forwardRef } from 'react';\nimport PropTypes from 'prop-types';\nvar Cpu = /*#__PURE__*/forwardRef(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? '1em' : _ref$size,\n _ref$title = _ref.title,\n title = _ref$title === void 0 ? null : _ref$title,\n _ref$className = _ref.className,\n className = _ref$className === void 0 ? '' : _ref$className,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 16 16\",\n width: size,\n height: size,\n fill: color,\n className: ['bi', 'bi-cpu', className].filter(Boolean).join(' ')\n }, rest), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5 0a.5.5 0 0 1 .5.5V2h1V.5a.5.5 0 0 1 1 0V2h1V.5a.5.5 0 0 1 1 0V2h1V.5a.5.5 0 0 1 1 0V2A2.5 2.5 0 0 1 14 4.5h1.5a.5.5 0 0 1 0 1H14v1h1.5a.5.5 0 0 1 0 1H14v1h1.5a.5.5 0 0 1 0 1H14v1h1.5a.5.5 0 0 1 0 1H14a2.5 2.5 0 0 1-2.5 2.5v1.5a.5.5 0 0 1-1 0V14h-1v1.5a.5.5 0 0 1-1 0V14h-1v1.5a.5.5 0 0 1-1 0V14h-1v1.5a.5.5 0 0 1-1 0V14A2.5 2.5 0 0 1 2 11.5H.5a.5.5 0 0 1 0-1H2v-1H.5a.5.5 0 0 1 0-1H2v-1H.5a.5.5 0 0 1 0-1H2v-1H.5a.5.5 0 0 1 0-1H2A2.5 2.5 0 0 1 4.5 2V.5A.5.5 0 0 1 5 0m-.5 3A1.5 1.5 0 0 0 3 4.5v7A1.5 1.5 0 0 0 4.5 13h7a1.5 1.5 0 0 0 1.5-1.5v-7A1.5 1.5 0 0 0 11.5 3zM5 6.5A1.5 1.5 0 0 1 6.5 5h3A1.5 1.5 0 0 1 11 6.5v3A1.5 1.5 0 0 1 9.5 11h-3A1.5 1.5 0 0 1 5 9.5zM6.5 6a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-3a.5.5 0 0 0-.5-.5z\"\n }));\n});\nCpu.propTypes = {\n color: PropTypes.string,\n size: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n title: PropTypes.string,\n className: PropTypes.string\n};\nexport default Cpu;","var _excluded = [\"color\", \"size\", \"title\", \"className\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport React, { forwardRef } from 'react';\nimport PropTypes from 'prop-types';\nvar Lightning = /*#__PURE__*/forwardRef(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? '1em' : _ref$size,\n _ref$title = _ref.title,\n title = _ref$title === void 0 ? null : _ref$title,\n _ref$className = _ref.className,\n className = _ref$className === void 0 ? '' : _ref$className,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 16 16\",\n width: size,\n height: size,\n fill: color,\n className: ['bi', 'bi-lightning', className].filter(Boolean).join(' ')\n }, rest), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5.52.359A.5.5 0 0 1 6 0h4a.5.5 0 0 1 .474.658L8.694 6H12.5a.5.5 0 0 1 .395.807l-7 9a.5.5 0 0 1-.873-.454L6.823 9.5H3.5a.5.5 0 0 1-.48-.641zM6.374 1 4.168 8.5H7.5a.5.5 0 0 1 .478.647L6.78 13.04 11.478 7H8a.5.5 0 0 1-.474-.658L9.306 1z\"\n }));\n});\nLightning.propTypes = {\n color: PropTypes.string,\n size: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n title: PropTypes.string,\n className: PropTypes.string\n};\nexport default Lightning;","var _excluded = [\"color\", \"size\", \"title\", \"className\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport React, { forwardRef } from 'react';\nimport PropTypes from 'prop-types';\nvar ArrowsAngleExpand = /*#__PURE__*/forwardRef(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? '1em' : _ref$size,\n _ref$title = _ref.title,\n title = _ref$title === void 0 ? null : _ref$title,\n _ref$className = _ref.className,\n className = _ref$className === void 0 ? '' : _ref$className,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 16 16\",\n width: size,\n height: size,\n fill: color,\n className: ['bi', 'bi-arrows-angle-expand', className].filter(Boolean).join(' ')\n }, rest), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n d: \"M5.828 10.172a.5.5 0 0 0-.707 0l-4.096 4.096V11.5a.5.5 0 0 0-1 0v3.975a.5.5 0 0 0 .5.5H4.5a.5.5 0 0 0 0-1H1.732l4.096-4.096a.5.5 0 0 0 0-.707m4.344-4.344a.5.5 0 0 0 .707 0l4.096-4.096V4.5a.5.5 0 1 0 1 0V.525a.5.5 0 0 0-.5-.5H11.5a.5.5 0 0 0 0 1h2.768l-4.096 4.096a.5.5 0 0 0 0 .707\"\n }));\n});\nArrowsAngleExpand.propTypes = {\n color: PropTypes.string,\n size: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n title: PropTypes.string,\n className: PropTypes.string\n};\nexport default ArrowsAngleExpand;","var _excluded = [\"color\", \"size\", \"title\", \"className\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport React, { forwardRef } from 'react';\nimport PropTypes from 'prop-types';\nvar Search = /*#__PURE__*/forwardRef(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? '1em' : _ref$size,\n _ref$title = _ref.title,\n title = _ref$title === void 0 ? null : _ref$title,\n _ref$className = _ref.className,\n className = _ref$className === void 0 ? '' : _ref$className,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 16 16\",\n width: size,\n height: size,\n fill: color,\n className: ['bi', 'bi-search', className].filter(Boolean).join(' ')\n }, rest), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.742 10.344a6.5 6.5 0 1 0-1.397 1.398h-.001q.044.06.098.115l3.85 3.85a1 1 0 0 0 1.415-1.414l-3.85-3.85a1 1 0 0 0-.115-.1zM12 6.5a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0\"\n }));\n});\nSearch.propTypes = {\n color: PropTypes.string,\n size: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n title: PropTypes.string,\n className: PropTypes.string\n};\nexport default Search;","var _excluded = [\"color\", \"size\", \"title\", \"className\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport React, { forwardRef } from 'react';\nimport PropTypes from 'prop-types';\nvar ChevronLeft = /*#__PURE__*/forwardRef(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? '1em' : _ref$size,\n _ref$title = _ref.title,\n title = _ref$title === void 0 ? null : _ref$title,\n _ref$className = _ref.className,\n className = _ref$className === void 0 ? '' : _ref$className,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 16 16\",\n width: size,\n height: size,\n fill: color,\n className: ['bi', 'bi-chevron-left', className].filter(Boolean).join(' ')\n }, rest), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n d: \"M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0\"\n }));\n});\nChevronLeft.propTypes = {\n color: PropTypes.string,\n size: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n title: PropTypes.string,\n className: PropTypes.string\n};\nexport default ChevronLeft;","var _excluded = [\"color\", \"size\", \"title\", \"className\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport React, { forwardRef } from 'react';\nimport PropTypes from 'prop-types';\nvar ChevronRight = /*#__PURE__*/forwardRef(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? '1em' : _ref$size,\n _ref$title = _ref.title,\n title = _ref$title === void 0 ? null : _ref$title,\n _ref$className = _ref.className,\n className = _ref$className === void 0 ? '' : _ref$className,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 16 16\",\n width: size,\n height: size,\n fill: color,\n className: ['bi', 'bi-chevron-right', className].filter(Boolean).join(' ')\n }, rest), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n d: \"M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708\"\n }));\n});\nChevronRight.propTypes = {\n color: PropTypes.string,\n size: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n title: PropTypes.string,\n className: PropTypes.string\n};\nexport default ChevronRight;","import React, { useState } from 'react'\nimport { Image, Modal, Button, Row, Col, Form, Badge } from 'react-bootstrap'\nimport {\n Search,\n Star,\n StarFill,\n CheckCircleFill,\n ChevronLeft,\n ChevronRight,\n XLg,\n Cpu,\n Lightning,\n Diagram3,\n ArrowsAngleExpand,\n} from 'react-bootstrap-icons'\nimport { selectSelectedModelId, setSelectedModelId } from '../../store/slices/modelSlice'\nimport { useGetModelQuery } from '../../services/modelsApi'\nimport { useAppSelector } from '../../store/hooks'\n\n// Mock data for pretrained models\nconst MOCK_PRETRAINED_MODELS = [\n {\n id: 'pt-1',\n name: 'AG Vision - Satellite Pro',\n description: 'High-resolution satellite imagery detection model optimized for small object detection from space',\n rating: 5,\n image: '/DALLE-AI-Model-Logo-1.jpg',\n metrics: {\n mAP: 0.94,\n precision: 0.96,\n f1: 0.95,\n },\n },\n {\n id: 'pt-2',\n name: 'AG Vision - Maritime Vessels',\n description:\n 'Specialized in detecting and classifying ships, boats, and maritime infrastructure from satellite imagery',\n rating: 4,\n image: '/DALLE-AI-Model-Logo-1.jpg',\n metrics: {\n mAP: 0.91,\n precision: 0.93,\n f1: 0.92,\n },\n },\n {\n id: 'pt-3',\n name: 'AG Vision - Urban Analytics',\n description: 'Optimized for urban infrastructure detection - buildings, roads, vehicles from aerial imagery',\n rating: 5,\n image: '/DALLE-AI-Model-Logo-1.jpg',\n metrics: {\n mAP: 0.93,\n precision: 0.94,\n f1: 0.93,\n },\n },\n {\n id: 'pt-4',\n name: 'AG Vision - Agriculture Monitor',\n description:\n 'Specialized in crop field analysis, irrigation systems, and agricultural equipment detection from above',\n rating: 4,\n image: '/DALLE-AI-Model-Logo-1.jpg',\n metrics: {\n mAP: 0.89,\n precision: 0.91,\n f1: 0.9,\n },\n },\n {\n id: 'pt-5',\n name: 'AG Vision - Defense & Security',\n description: 'Advanced model for detecting military assets, security infrastructure, and strategic facilities',\n rating: 5,\n image: '/DALLE-AI-Model-Logo-1.jpg',\n metrics: {\n mAP: 0.95,\n precision: 0.97,\n f1: 0.96,\n },\n },\n]\n\ninterface NewModelModalProps {\n show: boolean\n onClose: () => void\n baseModels: { id: string; name: string; image: string }[]\n filterText: string\n setFilterText: (text: string) => void\n selectedBaseModel: { id: string; name: string } | null\n onBaseModelSelect: (model: { id: string; name: string }) => void\n onGenerateNewModel: () => void\n}\n\ninterface BaseModelDetails {\n type: 'base'\n architecture: string\n framework: string\n input_size: string\n flops: string\n parameters: string\n features: string[]\n optimizations: string[]\n}\n\ninterface PretrainedModelDetails {\n type: 'pretrained'\n architecture: string\n framework: string\n input_size: string\n flops: string\n parameters: string\n training_data: string\n specializations: string[]\n fine_tuning: string[]\n}\n\ntype ModelDetails = BaseModelDetails | PretrainedModelDetails\n\nconst NewModelModal: React.FC = ({\n show,\n onClose,\n baseModels,\n filterText,\n setFilterText,\n selectedBaseModel,\n onBaseModelSelect,\n onGenerateNewModel,\n}) => {\n const selectedModelId = useAppSelector(selectSelectedModelId)\n const { data: selectedModel } = useGetModelQuery(selectedModelId || '', { skip: !selectedModelId })\n\n const [scrollPosition, setScrollPosition] = useState(0)\n const [showDetails, setShowDetails] = useState(false)\n const [selectedModelDetails, setSelectedModelDetails] = useState(null)\n\n const handleScroll = (direction: 'left' | 'right') => {\n const container = document.querySelector('.pretrained-models-carousel')\n if (container) {\n const scrollAmount = direction === 'left' ? -400 : 400\n const newPosition = scrollPosition + scrollAmount\n container.scrollTo({\n left: newPosition,\n behavior: 'smooth',\n })\n setScrollPosition(newPosition)\n }\n }\n\n const getModelDetails = (model: any, type: 'base' | 'pretrained'): ModelDetails => {\n if (type === 'base') {\n return {\n type: 'base',\n architecture: 'YOLOv8-Large',\n framework: 'PyTorch 2.0',\n input_size: '1024x1024',\n flops: '117.4 GFLOPS',\n parameters: '43.7M params',\n\n features: [\n 'Multi-scale predictions',\n 'Anchor-free detection',\n 'Mosaic and MixUp augmentation',\n 'Cross mini-batch normalization',\n 'Adaptive image scaling',\n ],\n optimizations: [\n 'FP16 precision support',\n 'ONNX export capability',\n 'TensorRT compatibility',\n 'Multi-GPU training support',\n ],\n }\n }\n return {\n type: 'pretrained',\n architecture: 'YOLOv8-Large (Fine-tuned)',\n framework: 'PyTorch 2.0',\n input_size: '640x640',\n flops: '117.4 GFLOPS',\n parameters: '43.7M params',\n training_data: 'Custom satellite imagery dataset',\n specializations: [\n 'Small object detection optimization',\n 'Scale-variant feature extraction',\n 'Aerial perspective adaptation',\n 'Multi-resolution processing',\n ],\n fine_tuning: [\n 'Custom anchor optimization',\n 'Domain-specific augmentations',\n 'Modified loss function weights',\n 'Specialized NMS parameters',\n ],\n }\n }\n\n const renderModelCard = (model: any, type: 'base' | 'pretrained') => {\n const isSelected = type === 'base' ? selectedBaseModel?.id === model.id : selectedModel?.id === model.id\n\n // Base model default metrics\n const baseModelMetrics = {\n mAP: 0.85,\n precision: 0.87,\n f1: 0.86,\n }\n\n return (\n {\n if (type === 'base') {\n onBaseModelSelect(model)\n } else {\n setSelectedModelId(model.id)\n }\n setSelectedModelDetails({ ...model, type })\n setShowDetails(true)\n }}\n >\n {isSelected && type === 'base' && (\n
\n \n Selected for Launch\n
\n )}\n
\n {model.name}\n
\n {[...Array(5)].map((_, index) =>\n index < (model.rating || 4) ? : \n )}\n
\n
\n
\n
{model.name}
\n

\n {type === 'base'\n ? 'Base AG Vision model optimized for general object detection'\n : model.description || 'Pre-trained model fine-tuned on custom dataset'}\n

\n
\n \n mAP: {(type === 'pretrained' ? model.metrics.mAP : baseModelMetrics.mAP).toFixed(2)}\n \n \n Precision: {(type === 'pretrained' ? model.metrics.precision : baseModelMetrics.precision).toFixed(2)}\n \n \n F1: {(type === 'pretrained' ? model.metrics.f1 : baseModelMetrics.f1).toFixed(2)}\n \n
\n
\n \n )\n }\n\n const filteredPretrainedModels = MOCK_PRETRAINED_MODELS.filter((model) =>\n model.name.toLowerCase().includes(filterText.toLowerCase())\n )\n\n return (\n \n \n Model Catalog\n {selectedBaseModel && (\n
\n Selected: \n {selectedBaseModel.name}\n
\n )}\n \n
\n \n \n {showDetails && (\n \n
\n \n {selectedModelDetails && (\n
\n

{selectedModelDetails.name}

\n

{selectedModelDetails.description}

\n\n
\n

Technical Specifications

\n
\n
\n \n
\n Architecture\n \n {getModelDetails(selectedModelDetails, selectedModelDetails.type)?.architecture}\n \n
\n
\n
\n \n
\n Framework\n {getModelDetails(selectedModelDetails, selectedModelDetails.type)?.framework}\n
\n
\n
\n \n
\n Input Size\n {getModelDetails(selectedModelDetails, selectedModelDetails.type)?.input_size}\n
\n
\n
\n \n
\n Model Size\n {getModelDetails(selectedModelDetails, selectedModelDetails.type)?.parameters}\n
\n
\n
\n
\n\n {selectedModelDetails.type === 'base' ? (\n <>\n
\n

Key Features

\n
    \n {(() => {\n const details = getModelDetails(selectedModelDetails, 'base')\n return (\n details.type === 'base' &&\n details.features.map((feature: string, index: number) =>
  • {feature}
  • )\n )\n })()}\n
\n
\n
\n

Optimizations

\n
    \n {(() => {\n const details = getModelDetails(selectedModelDetails, 'base')\n return (\n details.type === 'base' &&\n details.optimizations.map((opt: string, index: number) =>
  • {opt}
  • )\n )\n })()}\n
\n
\n \n ) : (\n <>\n
\n

Specializations

\n
    \n {(() => {\n const details = getModelDetails(selectedModelDetails, 'pretrained')\n return (\n details.type === 'pretrained' &&\n details.specializations.map((spec: string, index: number) => (\n
  • {spec}
  • \n ))\n )\n })()}\n
\n
\n
\n

Fine-tuning Details

\n
    \n {(() => {\n const details = getModelDetails(selectedModelDetails, 'pretrained')\n return (\n details.type === 'pretrained' &&\n details.fine_tuning.map((detail: string, index: number) => (\n
  • {detail}
  • \n ))\n )\n })()}\n
\n
\n \n )}\n
\n )}\n
\n \n )}\n \n
\n \n
\n \n setFilterText(e.target.value)}\n className=\"search-input\"\n />\n
\n
\n
\n\n
\n
\n

Base Models

\n
\n {baseModels\n ?.filter((model) => model.name.toLowerCase().includes(filterText.toLowerCase()))\n .map((model) => (\n
\n {renderModelCard(model, 'base')}\n
\n ))}\n
\n
\n\n
\n

Pre-trained Models (Coming Soon)

\n \n \n
\n handleScroll('left')}\n disabled={scrollPosition <= 0}\n >\n \n \n
\n {filteredPretrainedModels.map((model) => renderModelCard(model, 'pretrained'))}\n
\n handleScroll('right')}\n disabled={scrollPosition >= (filteredPretrainedModels.length - 3) * 400}\n >\n \n \n
\n \n
\n
\n
\n \n
\n
\n \n \n Launch Model\n \n \n
\n )\n}\n\nexport default NewModelModal\n","import styled from 'styled-components'\nimport { Accordion, Button, Card } from 'react-bootstrap'\n\nexport const ModelCard = styled(Card)`\n background: #1a1a1a !important;\n border: none !important;\n border-radius: 12px;\n margin-bottom: 1rem;\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);\n max-height: calc(100vh - 2rem);\n display: flex;\n flex-direction: column;\n\n .card-body {\n padding: 1.5rem;\n overflow-y: auto;\n display: flex;\n flex-direction: column;\n gap: 1rem;\n scrollbar-width: none; /* Firefox */\n -ms-overflow-style: none; /* IE and Edge */\n\n &::-webkit-scrollbar {\n display: none; /* Chrome, Safari and Opera */\n }\n }\n\n .nav-link {\n background: #2a2a2a;\n border: 1px solid rgba(255, 255, 255, 0.1);\n border-radius: 8px;\n padding: 1.25rem;\n margin-bottom: 1rem;\n transition: all 0.2s ease;\n\n &:hover {\n transform: translateY(-2px);\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);\n }\n\n &.active {\n background: #2a2a2a;\n border-color: rgba(147, 51, 234, 0.5);\n box-shadow: 0 0 15px rgba(147, 51, 234, 0.2);\n }\n }\n\n .model-content {\n display: flex;\n flex-direction: column;\n gap: 1rem;\n\n .model-header {\n .model-name {\n font-size: 1.2rem;\n font-weight: 600;\n color: #fff;\n margin-bottom: 0.25rem;\n }\n\n .model-type {\n font-size: 0.9rem;\n color: #8c8c8c;\n }\n }\n\n .model-info-container {\n background: #2d1b3b;\n border: 1px solid rgba(147, 51, 234, 0.2);\n border-radius: 8px;\n padding: 1rem;\n display: flex;\n flex-direction: column;\n gap: 0.75rem;\n\n .info-row {\n display: flex;\n justify-content: space-between;\n align-items: center;\n\n .label {\n color: #8c8c8c;\n font-size: 0.9rem;\n }\n\n .value {\n color: #fff;\n font-size: 0.9rem;\n }\n }\n\n .model-status-badge {\n align-self: flex-start;\n padding: 0.4rem 1rem;\n border-radius: 20px;\n font-weight: 500;\n font-size: 0.85rem;\n }\n\n .badge-initialized {\n background: #2c5282 !important;\n color: #fff !important;\n border: 1px solid #2b6cb0;\n }\n\n .badge-training {\n background: #553c9a !important;\n color: #fff !important;\n border: 1px solid #6b46c1;\n }\n\n .badge-stopping {\n background: rgb(154, 60, 65) !important;\n color: #fff !important;\n border: 1px solid rgba(154, 60, 65, 0.34);\n }\n\n .badge-trained {\n background: #276749 !important;\n color: #fff !important;\n border: 1px solid #2f855a;\n }\n\n .badge-deploying {\n background: #975a16 !important;\n color: #fff !important;\n border: 1px solid #b7791f;\n }\n\n .badge-deployed {\n background: #285e61 !important;\n color: #fff !important;\n border: 1px solid #319795;\n }\n\n .badge-danger {\n background: #9b2c2c !important;\n color: #fff !important;\n border: 1px solid #c53030;\n }\n }\n\n .deploy-button-container {\n margin-top: 0.5rem;\n width: 100%;\n\n .deployment-btn-wrapper {\n width: 100%;\n }\n }\n }\n`\n\nexport const GenerateButton = styled(Button).attrs({\n as: 'button',\n type: 'button',\n})`\n position: relative;\n width: 100%;\n min-width: 100%;\n padding: 1rem 1.25rem;\n border: none;\n border-radius: 12px;\n cursor: pointer;\n overflow: hidden;\n transition: all 0.3s ease;\n min-height: 64px;\n margin-bottom: 2rem;\n background: none !important;\n\n &::before {\n content: '';\n position: absolute;\n inset: 0;\n border-radius: 12px;\n padding: 2px;\n background: linear-gradient(to bottom, #654358, #17092a, #2f0d64);\n mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);\n -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);\n -webkit-mask-composite: xor;\n mask-composite: exclude;\n }\n\n &::after {\n content: '';\n position: absolute;\n inset: 2px;\n border-radius: 10px;\n background: #170928;\n opacity: 0.95;\n }\n\n .button-content {\n position: relative;\n z-index: 2;\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 0.75rem;\n font-size: 1.25rem;\n font-weight: 600;\n color: #ffffff;\n text-shadow: 0 0 10px rgba(199, 135, 246, 0.5);\n letter-spacing: 0.02em;\n }\n\n .gradient-overlay {\n position: absolute;\n inset: 2px;\n border-radius: 10px;\n background: linear-gradient(to right, #170928, #1d0d33, #170928);\n opacity: 0.9;\n z-index: 1;\n }\n\n .gradient-overlay-2 {\n position: absolute;\n inset: 2px;\n border-radius: 10px;\n background: linear-gradient(to bottom, rgba(101, 67, 88, 0.4), #1d0d33, rgba(47, 13, 100, 0.3));\n opacity: 0.8;\n z-index: 1;\n }\n\n .gradient-overlay-3 {\n position: absolute;\n inset: 2px;\n border-radius: 10px;\n background: linear-gradient(to bottom right, rgba(199, 135, 246, 0.1), #1d0d33, rgba(42, 23, 54, 0.5));\n z-index: 1;\n }\n\n .twinkle-overlay {\n position: absolute;\n inset: 2px;\n border-radius: 10px;\n overflow: hidden;\n z-index: 1;\n\n &::before {\n content: '';\n position: absolute;\n inset: 0;\n background: linear-gradient(\n 90deg,\n transparent,\n rgba(199, 135, 246, 0.1),\n rgba(199, 135, 246, 0.2),\n rgba(199, 135, 246, 0.1),\n transparent\n );\n background-size: 200% 100%;\n animation: shimmer 8s linear infinite;\n }\n }\n\n .inner-shadow {\n position: absolute;\n inset: 2px;\n border-radius: 10px;\n box-shadow: inset 0 0 15px rgba(199, 135, 246, 0.15);\n z-index: 1;\n }\n\n @keyframes shimmer {\n 0% {\n background-position: 200% 0;\n }\n 100% {\n background-position: -200% 0;\n }\n }\n\n svg {\n width: 20px;\n height: 20px;\n filter: drop-shadow(0 0 4px rgba(199, 135, 246, 0.5));\n }\n` as typeof Button\n\nexport const AccordionStyled = styled(Accordion)`\n .accordion-item {\n background: transparent;\n border: none;\n }\n\n .accordion-button {\n background: #2a2a2a;\n color: #fff;\n border-radius: 8px;\n padding: 1rem;\n\n &:not(.collapsed) {\n background: #2d3748;\n }\n\n &:focus {\n box-shadow: none;\n }\n\n &::after {\n filter: invert(1);\n }\n }\n\n .accordion-body {\n padding: 1rem 0 0;\n background: transparent;\n max-height: calc(90vh - 45rem);\n overflow-y: auto;\n scrollbar-width: none; /* Firefox */\n -ms-overflow-style: none; /* IE and Edge */\n\n &::-webkit-scrollbar {\n display: none; /* Chrome, Safari and Opera */\n }\n }\n`\n\nexport const ModelHeaderRow = styled.div`\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 1rem;\n`\n\nexport const ModelTypeContainer = styled.div`\n display: flex;\n align-items: center;\n gap: 0.5rem;\n color: #8c8c8c;\n font-size: 0.9rem;\n\n svg {\n width: 16px;\n height: 16px;\n stroke-width: 2px;\n }\n`\n\nexport const StarRatingContainer = styled.div`\n display: flex;\n align-items: center;\n gap: 0.5rem;\n\n .star-rating {\n display: flex;\n gap: 0.25rem;\n }\n`\n","import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name Tag\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIuNTg2IDIuNTg2QTIgMiAwIDAgMCAxMS4xNzIgMkg0YTIgMiAwIDAgMC0yIDJ2Ny4xNzJhMiAyIDAgMCAwIC41ODYgMS40MTRsOC43MDQgOC43MDRhMi40MjYgMi40MjYgMCAwIDAgMy40MiAwbDYuNTgtNi41OGEyLjQyNiAyLjQyNiAwIDAgMCAwLTMuNDJ6IiAvPgogIDxjaXJjbGUgY3g9IjcuNSIgY3k9IjcuNSIgcj0iLjUiIGZpbGw9ImN1cnJlbnRDb2xvciIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/tag\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Tag = createLucideIcon('Tag', [\n [\n 'path',\n {\n d: 'M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z',\n key: 'vktsd0',\n },\n ],\n ['circle', { cx: '7.5', cy: '7.5', r: '.5', fill: 'currentColor', key: 'kqv944' }],\n]);\n\nexport default Tag;\n","var _excluded = [\"color\", \"size\", \"title\", \"className\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport React, { forwardRef } from 'react';\nimport PropTypes from 'prop-types';\nvar StarHalf = /*#__PURE__*/forwardRef(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? '1em' : _ref$size,\n _ref$title = _ref.title,\n title = _ref$title === void 0 ? null : _ref$title,\n _ref$className = _ref.className,\n className = _ref$className === void 0 ? '' : _ref$className,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 16 16\",\n width: size,\n height: size,\n fill: color,\n className: ['bi', 'bi-star-half', className].filter(Boolean).join(' ')\n }, rest), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5.354 5.119 7.538.792A.52.52 0 0 1 8 .5c.183 0 .366.097.465.292l2.184 4.327 4.898.696A.54.54 0 0 1 16 6.32a.55.55 0 0 1-.17.445l-3.523 3.356.83 4.73c.078.443-.36.79-.746.592L8 13.187l-4.389 2.256a.5.5 0 0 1-.146.05c-.342.06-.668-.254-.6-.642l.83-4.73L.173 6.765a.55.55 0 0 1-.172-.403.6.6 0 0 1 .085-.302.51.51 0 0 1 .37-.245zM8 12.027a.5.5 0 0 1 .232.056l3.686 1.894-.694-3.957a.56.56 0 0 1 .162-.505l2.907-2.77-4.052-.576a.53.53 0 0 1-.393-.288L8.001 2.223 8 2.226z\"\n }));\n});\nStarHalf.propTypes = {\n color: PropTypes.string,\n size: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n title: PropTypes.string,\n className: PropTypes.string\n};\nexport default StarHalf;","import React from 'react'\nimport { Star, StarFill, StarHalf } from 'react-bootstrap-icons'\n\ninterface StarRatingProps {\n rating: number\n small?: boolean\n}\n\nconst StarRating: React.FC = ({ rating, small = false }) => {\n const fullStars = Math.floor(rating)\n const hasHalfStar = rating % 1 >= 0.5\n\n return (\n \n {small && rating >= 4 && (\n <>\n \n {Math.floor(rating * 10) / 10}\n \n )}\n {small && rating < 4 && (\n <>\n \n {Math.floor(rating * 10) / 10}\n \n )}\n {!small && (\n
\n {[...Array(5)].map((_, index) => {\n if (index < fullStars) {\n return \n } else if (index === fullStars && hasHalfStar) {\n return \n } else {\n return \n }\n })}\n
\n )}\n
\n )\n}\n\nexport default StarRating\n","import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name Trash2\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMyA2aDE4IiAvPgogIDxwYXRoIGQ9Ik0xOSA2djE0YzAgMS0xIDItMiAySDdjLTEgMC0yLTEtMi0yVjYiIC8+CiAgPHBhdGggZD0iTTggNlY0YzAtMSAxLTIgMi0yaDRjMSAwIDIgMSAyIDJ2MiIgLz4KICA8bGluZSB4MT0iMTAiIHgyPSIxMCIgeTE9IjExIiB5Mj0iMTciIC8+CiAgPGxpbmUgeDE9IjE0IiB4Mj0iMTQiIHkxPSIxMSIgeTI9IjE3IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/trash-2\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Trash2 = createLucideIcon('Trash2', [\n ['path', { d: 'M3 6h18', key: 'd0wm0j' }],\n ['path', { d: 'M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6', key: '4alrt4' }],\n ['path', { d: 'M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2', key: 'v07s0e' }],\n ['line', { x1: '10', x2: '10', y1: '11', y2: '17', key: '1uufr5' }],\n ['line', { x1: '14', x2: '14', y1: '11', y2: '17', key: 'xtxkd' }],\n]);\n\nexport default Trash2;\n","import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name Rocket\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNC41IDE2LjVjLTEuNSAxLjI2LTIgNS0yIDVzMy43NC0uNSA1LTJjLjcxLS44NC43LTIuMTMtLjA5LTIuOTFhMi4xOCAyLjE4IDAgMCAwLTIuOTEtLjA5eiIgLz4KICA8cGF0aCBkPSJtMTIgMTUtMy0zYTIyIDIyIDAgMCAxIDItMy45NUExMi44OCAxMi44OCAwIDAgMSAyMiAyYzAgMi43Mi0uNzggNy41LTYgMTFhMjIuMzUgMjIuMzUgMCAwIDEtNCAyeiIgLz4KICA8cGF0aCBkPSJNOSAxMkg0cy41NS0zLjAzIDItNGMxLjYyLTEuMDggNSAwIDUgMCIgLz4KICA8cGF0aCBkPSJNMTIgMTV2NXMzLjAzLS41NSA0LTJjMS4wOC0xLjYyIDAtNSAwLTUiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/rocket\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Rocket = createLucideIcon('Rocket', [\n [\n 'path',\n {\n d: 'M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09z',\n key: 'm3kijz',\n },\n ],\n [\n 'path',\n {\n d: 'm12 15-3-3a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.35 22.35 0 0 1-4 2z',\n key: '1fmvmk',\n },\n ],\n ['path', { d: 'M9 12H4s.55-3.03 2-4c1.62-1.08 5 0 5 0', key: '1f8sc4' }],\n ['path', { d: 'M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5', key: 'qeys4' }],\n]);\n\nexport default Rocket;\n","// Path: /home/jason/src/AgileView/autovision-ui/src/components/ButtonDeployModel.tsx\n\nimport React, { useState } from 'react'\nimport { Button } from 'react-bootstrap'\nimport { Model } from '../types/model'\nimport { useDeleteModelDeploymentMutation, useDeployModelMutation } from '../services/modelsApi'\nimport { Rocket, Trash2 } from 'lucide-react'\nimport './ButtonDeployModel.css'\nimport ConfirmDialog from './modals/ConfirmDialog'\n\ninterface ButtonDeployModelProps {\n model: Model\n}\n\nconst ButtonDeployModel: React.FC = ({ model }) => {\n const [deployModel] = useDeployModelMutation()\n const [deleteDeployment] = useDeleteModelDeploymentMutation()\n const [showDeleteDeploymentConfirm, setShowDeleteDeploymentConfirm] = useState(false)\n\n const handleDeploy = async () => {\n try {\n await deployModel({ id: model.id }).unwrap()\n } catch (err) {\n console.error('Failed to deploy model:', err)\n }\n }\n\n const handleDeleteDeploy = async () => {\n try {\n await deleteDeployment({ id: model.id }).unwrap()\n } catch (err) {\n console.error('Failed to delete deployment:', err)\n }\n }\n\n if (showDeleteDeploymentConfirm) {\n return (\n setShowDeleteDeploymentConfirm(false)}\n onConfirm={() => {\n handleDeleteDeploy()\n }}\n title=\"Delete Content\"\n message={'You are about to delete this model's deployment'}\n confirmText=\"Delete Content\"\n cancelText=\"Cancel\"\n variant=\"danger\"\n />\n )\n }\n if (model.state.toLowerCase() !== 'trained') {\n return
\n }\n\n if (model.deployment?.status.toLowerCase() === 'in_service') {\n return (\n \n )\n }\n\n if (model.deployment?.status.toLowerCase() === 'creating') {\n return (\n \n )\n }\n\n return (\n \n )\n}\n\nexport default ButtonDeployModel\n","import React from 'react'\nimport { Button, Badge, Row, Col, OverlayTrigger, Tooltip } from 'react-bootstrap'\nimport { Box, Tag } from 'lucide-react'\nimport styled from 'styled-components'\nimport { useNavigate } from 'react-router-dom'\nimport { Model } from '../../../types/model'\nimport StarRating from '../../StarRating'\nimport ButtonDeployModel from '../../ButtonDeployModel'\nimport { rateBBoxModel, rateClassificationModel } from '../../../utils'\nimport { useGetPredictionStatisticsQuery } from '../../../services/predictionApi'\nimport { FaLightbulb } from 'react-icons/fa'\nimport { useLocation } from 'react-router-dom'\nconst ModelHeaderRow = styled.div`\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 1rem;\n`\n\nconst ModelTypeContainer = styled.div`\n display: flex;\n align-items: center;\n gap: 0.5rem;\n color: #8c8c8c;\n font-size: 0.9rem;\n\n svg {\n width: 16px;\n height: 16px;\n stroke-width: 2px;\n }\n`\n\nconst StarRatingContainer = styled.div`\n display: flex;\n align-items: center;\n gap: 0.5rem;\n\n .star-rating {\n display: flex;\n gap: 0.25rem;\n }\n`\n\nexport interface ModelItemProps {\n model: Model\n isComparing: boolean\n selectedModelId: string | null\n selectedProjectId: string\n project?: {\n annotation_type?: string\n id?: string\n }\n setIsComparing: (isComparing: boolean) => void\n setAccordionKey: (key: string) => void\n navigate: ReturnType\n}\n\nconst getModelStatusBadge = (model: Model) => {\n // Handle error states first\n if (model.state.toLowerCase() === 'err' || model.deployment?.status.toLowerCase() === 'err') {\n return (\n \n ERROR\n \n )\n }\n\n // Handle deployment states\n if (model.state.toLowerCase() === 'trained') {\n const deploymentStatus = model.deployment?.status.toLowerCase()\n\n switch (deploymentStatus) {\n case 'creating':\n return (\n \n Deploying\n \n )\n case 'in_service':\n return (\n \n Deployed\n \n )\n case 'deleted':\n default:\n return (\n \n Trained\n \n )\n }\n }\n\n // Handle training states\n switch (model.state.toLowerCase()) {\n case 'initialized':\n return (\n \n Initialized\n \n )\n case 'training':\n return (\n \n Training\n \n )\n case 'stopping':\n return (\n \n Stopping\n \n )\n default:\n return null\n }\n}\n\nconst ModelItem: React.FC = ({\n model,\n isComparing,\n selectedModelId,\n selectedProjectId,\n project,\n setIsComparing,\n setAccordionKey,\n navigate,\n}) => {\n const bBoxRating = (model: Model) => rateBBoxModel(model).bBoxRating\n const classificationRating = (model: Model) => rateClassificationModel(model).classificationRating\n const location = useLocation()\n const { data: predictionStats } = useGetPredictionStatisticsQuery(\n {\n model_id: model.id || '',\n uncertainty_threshold: 0.1,\n },\n {\n skip: !model.id,\n }\n )\n\n return (\n
\n
\n \n {model.name}\n {predictionStats?.Body?.total_predictions && predictionStats?.Body?.total_predictions > 0 ? (\n \n \n {predictionStats?.Body?.total_predictions} Predictions available\n \n }\n >\n \n \n \n \n \n ) : null}\n \n \n \n {project?.annotation_type === 'classification' ? (\n <>\n \n Classification\n \n ) : (\n <>\n \n Object Detection\n \n )}\n \n {model.state.toLowerCase() === 'trained' && (\n \n {project?.annotation_type === 'classification' && (\n
\n \n
\n )}\n {project?.annotation_type === 'bounding_box' && (\n
\n \n
\n )}\n
\n )}\n
\n
\n\n
\n
\n Created\n {new Date(model.created_at).toLocaleDateString()}\n
\n
\n Status\n
{getModelStatusBadge(model)}
\n
\n
\n\n
\n
\n \n {model.state.toLowerCase() === 'trained' &&\n model.id === selectedModelId &&\n location.pathname.includes('/models') && (\n {\n e.stopPropagation()\n if (isComparing) {\n setIsComparing(false)\n setAccordionKey('')\n navigate(`/models/${selectedProjectId}`)\n } else {\n setIsComparing(true)\n setAccordionKey('0')\n }\n }}\n style={{\n background: 'rgba(0, 0, 0, 0.2)',\n border: isComparing ? '1px solid rgba(220, 53, 69, 0.5)' : '1px solid rgba(147, 51, 234, 0.5)',\n color: '#fff',\n padding: '0.5rem 1rem',\n borderRadius: '8px',\n transition: 'all 0.2s ease',\n width: 'auto',\n flex: '0 0 auto',\n }}\n >\n {isComparing ? 'Cancel Compare' : 'Compare'}\n \n )}\n
\n
\n
\n )\n}\n\nexport default ModelItem\n","export const adjectives = [\n 'glorious',\n 'righteous',\n 'valiant',\n 'relentless',\n 'unyielding',\n 'merciless',\n 'indomitable',\n 'unbreakable',\n 'fearless',\n 'dauntless',\n 'unwavering',\n 'steadfast',\n 'noble',\n 'devoted',\n 'supreme',\n 'ironclad',\n 'resolute',\n 'vigilant',\n 'heroic',\n 'stalwart',\n 'unshaken',\n 'disciplined',\n 'obedient',\n 'triumphant',\n 'indestructible',\n 'honor-bound',\n 'mighty',\n 'formidable',\n 'dominant',\n 'unyielding',\n 'ruthless',\n 'tenacious',\n 'loyal',\n 'gallant',\n 'fearsome',\n 'epic',\n 'invincible',\n 'thunderous',\n 'unrelenting',\n 'colossal',\n 'unassailable',\n 'sovereign',\n 'titanic',\n 'unforgiving',\n 'resplendent',\n 'ferocious',\n 'undeniable',\n 'commanding',\n 'unstoppable',\n 'steadfast',\n 'undaunted',\n 'indomitable',\n 'glimmering',\n 'unyielding',\n 'rampant',\n 'defiant',\n 'unbowed',\n 'impervious',\n 'sacred',\n 'divine',\n 'eternal',\n 'peerless',\n 'magnificent',\n 'absolute',\n 'resurgent',\n 'crushing',\n 'furious',\n 'imposing',\n 'undying',\n 'adamant',\n 'invulnerable',\n 'fearsome',\n 'supreme',\n 'unerring',\n 'immovable',\n 'unshakable',\n 'tactical',\n 'peerless',\n 'unstained',\n 'revered',\n 'untouchable',\n 'war-born',\n 'selfless',\n 'unyielding',\n 'imperial',\n 'legendary',\n 'unquestionable',\n 'steadfast',\n 'hardened',\n 'valorous',\n 'eternal',\n 'righteous',\n 'reckoning',\n 'thunderous',\n 'immortal',\n 'unrelenting',\n 'tactical',\n 'mighty',\n 'commanding',\n 'unswerving',\n 'infallible',\n 'irrefutable',\n]\n\nexport const nouns = [\n 'liberator',\n 'justice',\n 'vengeance',\n 'patriot',\n 'sentinel',\n 'champion',\n 'executor',\n 'crusader',\n 'conqueror',\n 'purifier',\n 'judgment',\n 'protector',\n 'avenger',\n 'defender',\n 'watchman',\n 'warrior',\n 'guardian',\n 'savior',\n 'bastion',\n 'shield',\n 'hammer',\n 'legion',\n 'banner',\n 'spear',\n 'dominator',\n 'supremacy',\n 'annihilator',\n 'battlemaster',\n 'herald',\n 'oathkeeper',\n 'discipline',\n 'martyr',\n 'beacon',\n 'sentinel',\n 'overlord',\n 'bulwark',\n 'vindicator',\n 'preserver',\n 'justice',\n 'authority',\n 'saber',\n 'retribution',\n 'storm',\n 'flagship',\n 'glory',\n 'indignation',\n 'retaliation',\n 'sovereignty',\n 'pinnacle',\n 'wrath',\n 'renegade',\n 'fortress',\n 'dominion',\n 'valor',\n 'virtue',\n 'triumph',\n]\n","import React, { useEffect, useMemo, useState } from 'react'\nimport { Card, Nav, Badge, OverlayTrigger, Tooltip, Accordion } from 'react-bootstrap'\nimport { Plus } from 'lucide-react'\nimport { useFetchModelsQuery, useCreateModelMutation } from '../../../services/modelsApi'\nimport { setSelectedModelId, selectSelectedModelId, clearSelectedModelId } from '../../../store/slices/modelSlice'\nimport { Model, ModelCreateParams } from '../../../types/model'\nimport { useAppDispatch, useAppSelector } from '../../../store/hooks'\nimport { selectSelectedProjectId } from '../../../store/slices/projectSlice'\nimport NewModelModal from '../../modals/NewModelModal'\nimport ConfirmDialog from '../../modals/ConfirmDialog'\nimport { useNavigate, useLocation } from 'react-router-dom'\nimport { useGetProjectQuery } from '../../../services/projectsApi'\nimport { AccordionStyled, GenerateButton, ModelCard } from './ModelList.styles'\nimport ModelItem from './ModelItem'\nimport { adjectives, nouns } from '../../../utils/modelNameWords'\n\ninterface ModelListCardProps {\n allowCreate?: boolean\n showInitialized?: boolean\n}\n\nconst ModelListCard: React.FC = ({ allowCreate = true, showInitialized = true }) => {\n const dispatch = useAppDispatch()\n const navigate = useNavigate()\n const location = useLocation()\n const selectedProjectId = useAppSelector(selectSelectedProjectId)\n const { data: project } = useGetProjectQuery(selectedProjectId || '', { skip: !selectedProjectId })\n const selectedModelId = useAppSelector(selectSelectedModelId) || null\n const [showNewModelModal, setShowNewModelModal] = useState(false)\n const [selectedBaseModel, setSelectedBaseModel] = useState<{ id: string; name: string } | null>(null)\n const [modalFilterText, setModalFilterText] = useState('')\n const [canCreateNewModel, setCanCreateNewModel] = useState(true)\n const [showNewModelError, setShowNewModelError] = useState(false)\n const [newModelErrorMsg, setNewModelErrorMsg] = useState('')\n const [showNeedToFinish, setShowNeedToFinish] = useState(false)\n const [isComparing, setIsComparing] = useState(false)\n const [accordionKey, setAccordionKey] = useState('')\n\n const [createModel] = useCreateModelMutation()\n\n const {\n data: modelsData,\n isLoading,\n error,\n } = useFetchModelsQuery(\n { project_id: selectedProjectId || '' },\n {\n skip: !selectedProjectId,\n refetchOnMountOrArgChange: true,\n refetchOnFocus: true,\n refetchOnReconnect: true,\n pollingInterval: 5000,\n }\n )\n\n const selectedModel = useMemo(\n () => modelsData?.models?.find((model) => model.id === selectedModelId),\n [modelsData, selectedModelId]\n )\n\n useEffect(() => {\n if (modelsData?.models) {\n const modelExists = selectedModelId && modelsData.models.some((model) => model.id === selectedModelId)\n if (modelsData.models.length === 0 || !modelExists) {\n dispatch(clearSelectedModelId())\n }\n }\n }, [dispatch, modelsData, selectedModelId])\n\n useEffect(() => {\n if (\n modelsData?.models?.some(\n (model: Model) => model.state.toLowerCase() === 'initialized' || model.state.toLowerCase() === 'training'\n )\n ) {\n setCanCreateNewModel(false)\n } else {\n setCanCreateNewModel(true)\n }\n }, [dispatch, modelsData, modelsData?.models, selectedModelId])\n\n const generateModelName = () => {\n const randomAdjective = adjectives[Math.floor(Math.random() * adjectives.length)]\n const randomNoun = nouns[Math.floor(Math.random() * nouns.length)]\n return `${randomAdjective}-${randomNoun}`\n }\n\n const handleCreateNewModel = () => {\n if (canCreateNewModel) {\n setShowNewModelModal(true)\n } else {\n setShowNeedToFinish(true)\n }\n }\n\n const handleGenerateNewModel = async () => {\n if (project && selectedBaseModel) {\n try {\n const newModelName = generateModelName()\n const newModel = await createModel({\n project_id: project.id,\n name: newModelName,\n description: '',\n } as ModelCreateParams).unwrap()\n\n // Wait for a brief moment to allow the cache to update\n await new Promise((resolve) => setTimeout(resolve, 100))\n\n // Set the selected model ID\n dispatch(setSelectedModelId(newModel.id))\n\n // Close the modal\n setShowNewModelModal(false)\n } catch (err: unknown) {\n setShowNewModelError(true)\n setNewModelErrorMsg(\n err instanceof Error\n ? err.message\n : (err as { data?: { message?: string } })?.data?.message || 'Unknown error'\n )\n console.error('Failed to create new model:', err)\n }\n }\n }\n\n const handleModelSelect = (model: Model) => {\n // Check if we're in the comparison view\n const isInComparisonView = location.pathname.includes('/compare')\n\n if (isInComparisonView && model.id === selectedModelId) {\n // Return to models view\n setIsComparing(false)\n navigate(`/models/${selectedProjectId}`)\n return\n }\n\n if (isComparing) {\n // Navigate to comparison view with both models\n navigate(`/models/${selectedProjectId}/compare?model1=${selectedModelId}&model2=${model.id}`)\n // setIsComparing(false)\n setAccordionKey('') // Close the accordion after selecting second model\n } else {\n dispatch(setSelectedModelId(model.id))\n setAccordionKey('') // Close the accordion\n }\n }\n\n const baseModels = [{ id: 'baseModel1', name: 'AG Base', image: '/agileview-eye.png' }]\n\n if (isLoading) return
Loading models...
\n if (error) return
Error loading models
\n\n return (\n <>\n setShowNewModelError(false)}\n onConfirm={() => setShowNewModelError(false)}\n title=\"Error Creating Model\"\n message={newModelErrorMsg}\n confirmText=\"Okay\"\n variant=\"primary\"\n />\n \n \n {allowCreate && (\n \n {canCreateNewModel ? 'Create new model' : 'Must finish initializing model first'}\n \n }\n >\n \n
\n
\n
\n
\n
\n
\n \n New Model\n
\n \n \n )}\n\n {/* Selected Model */}\n {selectedModelId && selectedModel && (\n \n )}\n\n {/* Other Models Accordion */}\n {modelsData?.models && modelsData.models.length > 1 && (\n \n \n setAccordionKey(accordionKey === '0' ? '' : '0')}>\n
\n {isComparing ? 'Select Model to Compare' : 'Other Models'}\n \n {\n modelsData.models.filter((model: Model) => {\n const baseFilter = model.id !== selectedModelId\n return isComparing ? baseFilter && model.state.toLowerCase() === 'trained' : baseFilter\n }).length\n }\n \n
\n
\n \n \n \n
\n
\n )}\n \n \n\n setShowNeedToFinish(false)}\n onConfirm={() => setShowNeedToFinish(false)}\n title=\"Finish Training\"\n message=\"You need to finish initializing and training your model before you can create a new one.\"\n confirmText=\"Okay\"\n cancelText=\"\"\n variant=\"primary\"\n />\n\n setShowNewModelModal(false)}\n baseModels={baseModels}\n filterText={modalFilterText}\n setFilterText={setModalFilterText}\n selectedBaseModel={selectedBaseModel}\n onBaseModelSelect={setSelectedBaseModel}\n onGenerateNewModel={handleGenerateNewModel}\n />\n \n )\n}\n\nexport default ModelListCard\n","import React, { useEffect, useState } from 'react'\nimport { Col } from 'react-bootstrap'\n\nimport { useAppSelector } from '../../store/hooks'\nimport {\n selectActiveDatasetSubView,\n selectSelectedModelTab,\n selectSelectedProjectId,\n} from '../../store/slices/projectSlice'\nimport MiniClassDistributionCard from '../MiniClassDistributionCard'\nimport SelectedDatasetsCard from '../SelectedDatasetsCard'\nimport PredictionStatisticsTable from '../PredictionStatisticsTable'\nimport { useFetchModelsQuery } from '../../services/modelsApi'\nimport { Model } from '../../types/model'\nimport DatasetUploadToolsCard from '../DatasetUploadToolsCard'\nimport ModelListCard from '../styled/ModelList/ModelListCard'\nconst DatasetTools: React.FC = () => {\n const activeDatasetSubView = useAppSelector(selectActiveDatasetSubView)\n const selectedProjectId = useAppSelector(selectSelectedProjectId)\n const selectedModelTab = useAppSelector(selectSelectedModelTab)\n const [selectedModel, setSelectedModel] = useState(undefined)\n\n const { data: modelsData } = useFetchModelsQuery(\n { project_id: selectedProjectId || '' },\n { skip: !selectedProjectId }\n )\n\n useEffect(() => {\n const filteredModel = modelsData?.models?.find((model) => model.id === selectedModelTab)\n setSelectedModel(filteredModel)\n }, [modelsData?.models, selectedModelTab])\n\n switch (activeDatasetSubView) {\n case 'Overview':\n return (\n \n \n \n \n )\n case 'Annotations':\n return (\n <>\n \n \n {selectedModelTab && selectedModel && }\n \n )\n case 'Manage (Content, Tags)':\n return (\n <>\n \n \n \n \n )\n case 'Export':\n return (\n <>\n \n \n )\n default:\n return null\n }\n}\n\nexport default DatasetTools\n","import React, { useEffect, useState } from 'react'\nimport { Card, Nav, Badge, Accordion } from 'react-bootstrap'\nimport { Box, Tag } from 'lucide-react'\nimport { useFetchModelsQuery } from '../../services/modelsApi'\nimport { setSelectedModelId, selectSelectedModelId, clearSelectedModelId } from '../../store/slices/modelSlice'\nimport { rateBBoxModel, rateClassificationModel } from '../../utils'\nimport StarRating from '../StarRating'\nimport { Model } from '../../types/model'\nimport { useAppDispatch, useAppSelector } from '../../store/hooks'\nimport { selectSelectedProjectId } from '../../store/slices/projectSlice'\nimport ButtonDeployModel from '../ButtonDeployModel'\nimport styled from 'styled-components'\nimport { useGetProjectQuery } from '../../services/projectsApi'\nimport { useGetModelQuery } from '../../services/modelsApi'\n\n// Reuse the same styled components from ModelListCard\nconst ModelCard = styled(Card)`\n background: #1a1a1a !important;\n border: none !important;\n border-radius: 12px;\n margin-bottom: 1rem;\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);\n max-height: calc(100vh - 2rem);\n display: flex;\n flex-direction: column;\n\n .card-body {\n padding: 1.5rem;\n overflow-y: auto;\n display: flex;\n flex-direction: column;\n gap: 1rem;\n scrollbar-width: none; /* Firefox */\n -ms-overflow-style: none; /* IE and Edge */\n\n &::-webkit-scrollbar {\n display: none; /* Chrome, Safari and Opera */\n }\n }\n\n .nav-link {\n background: #2a2a2a;\n border: 1px solid rgba(255, 255, 255, 0.1);\n border-radius: 8px;\n padding: 1.25rem;\n margin-bottom: 1rem;\n transition: all 0.2s ease;\n\n &:hover {\n transform: translateY(-2px);\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);\n }\n\n &.active {\n background: #2a2a2a;\n border-color: rgba(147, 51, 234, 0.5);\n box-shadow: 0 0 15px rgba(147, 51, 234, 0.2);\n }\n }\n\n .model-content {\n display: flex;\n flex-direction: column;\n gap: 1rem;\n\n .model-header {\n .model-name {\n font-size: 1.2rem;\n font-weight: 600;\n color: #fff;\n margin-bottom: 0.25rem;\n }\n\n .model-type {\n font-size: 0.9rem;\n color: #8c8c8c;\n }\n }\n\n .model-info-container {\n background: #2d1b3b;\n border: 1px solid rgba(147, 51, 234, 0.2);\n border-radius: 8px;\n padding: 1rem;\n display: flex;\n flex-direction: column;\n gap: 0.75rem;\n\n .info-row {\n display: flex;\n justify-content: space-between;\n align-items: center;\n\n .label {\n color: #8c8c8c;\n font-size: 0.9rem;\n }\n\n .value {\n color: #fff;\n font-size: 0.9rem;\n }\n }\n\n .model-status-badge {\n align-self: flex-start;\n padding: 0.4rem 1rem;\n border-radius: 20px;\n font-weight: 500;\n font-size: 0.85rem;\n }\n\n .badge-initialized {\n background: #2c5282 !important;\n color: #fff !important;\n border: 1px solid #2b6cb0;\n }\n\n .badge-training {\n background: #553c9a !important;\n color: #fff !important;\n border: 1px solid #6b46c1;\n }\n\n .badge-stopping {\n background: rgb(154, 60, 65) !important;\n color: #fff !important;\n border: 1px solid rgba(154, 60, 65, 0.34);\n }\n\n .badge-trained {\n background: #276749 !important;\n color: #fff !important;\n border: 1px solid #2f855a;\n }\n\n .badge-deploying {\n background: #975a16 !important;\n color: #fff !important;\n border: 1px solid #b7791f;\n }\n\n .badge-deployed {\n background: #285e61 !important;\n color: #fff !important;\n border: 1px solid #319795;\n }\n\n .badge-danger {\n background: #9b2c2c !important;\n color: #fff !important;\n border: 1px solid #c53030;\n }\n }\n\n .deploy-button-container {\n margin-top: 0.5rem;\n width: 100%;\n\n .deployment-btn-wrapper {\n width: 100%;\n }\n }\n }\n`\n\nconst AccordionStyled = styled(Accordion)`\n .accordion-item {\n background: transparent;\n border: none;\n }\n\n .accordion-button {\n background: #2a2a2a;\n color: #fff;\n border-radius: 8px;\n padding: 1rem;\n\n &:not(.collapsed) {\n background: #2d3748;\n }\n\n &:focus {\n box-shadow: none;\n }\n\n &::after {\n filter: invert(1);\n }\n }\n\n .accordion-body {\n padding: 1rem 0 0;\n background: transparent;\n max-height: calc(90vh - 45rem);\n overflow-y: auto;\n scrollbar-width: none; /* Firefox */\n -ms-overflow-style: none; /* IE and Edge */\n\n &::-webkit-scrollbar {\n display: none; /* Chrome, Safari and Opera */\n }\n }\n`\n\nconst ModelHeaderRow = styled.div`\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 1rem;\n`\n\nconst ModelTypeContainer = styled.div`\n display: flex;\n align-items: center;\n gap: 0.5rem;\n color: #8c8c8c;\n font-size: 0.9rem;\n\n svg {\n width: 16px;\n height: 16px;\n stroke-width: 2px;\n }\n`\n\nconst StarRatingContainer = styled.div`\n display: flex;\n align-items: center;\n gap: 0.5rem;\n\n .star-rating {\n display: flex;\n gap: 0.25rem;\n }\n`\n\nconst InferenceModelListCard: React.FC = () => {\n const dispatch = useAppDispatch()\n const selectedProjectId = useAppSelector(selectSelectedProjectId)\n const { data: project } = useGetProjectQuery(selectedProjectId || '', { skip: !selectedProjectId })\n const selectedModelId = useAppSelector(selectSelectedModelId)\n const [accordionKey, setAccordionKey] = useState('')\n\n const { data: selectedModel } = useGetModelQuery(selectedModelId || '', { skip: !selectedModelId })\n\n const {\n data: modelsData,\n isLoading,\n error,\n } = useFetchModelsQuery(\n { project_id: selectedProjectId || '' },\n {\n skip: !selectedProjectId,\n refetchOnMountOrArgChange: true,\n refetchOnFocus: true,\n refetchOnReconnect: true,\n pollingInterval: 2000,\n }\n )\n\n // Handle empty models list\n useEffect(() => {\n if (modelsData?.models) {\n if (modelsData.models.length === 0) {\n dispatch(clearSelectedModelId())\n } else {\n if (!selectedModelId) {\n const deployedModel = modelsData.models.find(\n (model) => model.deployment.status.toLowerCase() === 'in_service'\n )\n if (deployedModel) {\n dispatch(setSelectedModelId(deployedModel.id))\n }\n }\n }\n }\n }, [dispatch, modelsData, selectedModelId])\n\n const handleModelSelect = (modelId: string) => {\n dispatch(setSelectedModelId(modelId))\n setAccordionKey('') // Close the accordion\n }\n\n const bBoxRating = (model: Model) => rateBBoxModel(model).bBoxRating\n const classificationRating = (model: Model) => rateClassificationModel(model).classificationRating\n\n const renderModelItem = (model: Model) => (\n
\n
\n
{model.name}
\n \n \n {project?.annotation_type === 'classification' ? (\n <>\n \n Classification\n \n ) : (\n <>\n \n Object Detection\n \n )}\n \n {model.state.toLowerCase() === 'trained' && (\n \n {project?.annotation_type === 'classification' && (\n
\n \n
\n )}\n {project?.annotation_type === 'bounding_box' && (\n
\n \n
\n )}\n
\n )}\n
\n
\n\n
\n
\n Created\n {new Date(model.created_at).toLocaleDateString()}\n
\n
\n Status\n
\n {model.state.toLowerCase() === 'trained' && model.deployment?.status.toLowerCase() === 'in_service' && (\n \n Deployed\n \n )}\n\n {model.state.toLowerCase() === 'trained' && model.deployment?.status.toLowerCase() !== 'in_service' && (\n \n Trained\n \n )}\n
\n
\n
\n\n
\n
\n \n
\n
\n
\n )\n\n if (isLoading) return
Loading models...
\n if (error) return
Error loading models
\n\n return (\n \n \n {/* Selected Model */}\n {selectedModel && (\n \n )}\n\n {/* Other Models Accordion */}\n {modelsData?.models &&\n modelsData.models.filter(\n (m) =>\n m.id !== selectedModelId &&\n (m.deployment.status.toLowerCase() === 'in_service' || m.state.toLowerCase() === 'trained')\n ).length > 0 && (\n \n \n setAccordionKey(accordionKey === '0' ? '' : '0')}>\n
\n Available Models\n \n {\n modelsData.models.filter(\n (m) =>\n m.id !== selectedModelId &&\n (m.deployment.status.toLowerCase() === 'in_service' || m.state.toLowerCase() === 'trained')\n ).length\n }\n \n
\n
\n \n \n \n
\n
\n )}\n
\n
\n )\n}\n\nexport default InferenceModelListCard\n","// Path: /home/jason/src/AgileView/autovision-ui/src/components/tools/InferenceTools.tsx\n\nimport React from 'react'\n\nimport { useAppSelector } from '../../store/hooks'\nimport { selectActiveInferenceSubView } from '../../store/slices/projectSlice'\nimport InferenceModelListCard from './InferenceModelListCard'\nimport SelectedDatasetsCard from '../SelectedDatasetsCard'\n\nconst InferenceTools: React.FC = () => {\n const activeInferenceSubView = useAppSelector(selectActiveInferenceSubView)\n\n switch (activeInferenceSubView) {\n case 'Real Time':\n return \n case 'Map (Coming Soon)':\n return \n case 'Adaptive Active Learning':\n return (\n <>\n \n \n \n )\n case 'Custom Inference':\n return (\n <>\n \n \n )\n default:\n return null\n }\n}\n\nexport default InferenceTools\n","import React, { useState, useRef } from 'react'\nimport styled from 'styled-components'\n\nconst shimmerKeyframes = `\n @keyframes shimmer {\n 0% {\n background-position: 200% 0;\n }\n 100% {\n background-position: -200% 0;\n }\n }\n`\n\nconst DropdownContainer = styled.div`\n position: relative;\n width: 100%;\n min-width: 100%;\n display: block;\n`\n\nconst DropdownButton = styled.button`\n position: relative;\n display: flex;\n align-items: center;\n justify-content: space-between;\n width: 100%;\n min-width: 100%;\n padding: 1rem 1.25rem;\n border: none;\n border-radius: 12px;\n cursor: pointer;\n overflow: hidden;\n transition: all 0.3s ease;\n min-height: 64px;\n`\n\nconst GradientBorder = styled.div`\n position: absolute;\n inset: 0;\n border-radius: 12px;\n padding: 2px;\n background: linear-gradient(to bottom, #654358, #17092a, #2f0d64);\n\n &::before {\n content: '';\n position: absolute;\n inset: 0;\n border-radius: 12px;\n background: #170928;\n opacity: 0.9;\n }\n`\n\nconst InnerBackground = styled.div`\n position: absolute;\n inset: 2px;\n border-radius: 10px;\n background: #170928;\n opacity: 0.95;\n`\n\nconst GradientOverlay1 = styled.div`\n position: absolute;\n inset: 2px;\n border-radius: 10px;\n background: linear-gradient(to right, #170928, #1d0d33, #170928);\n opacity: 0.9;\n`\n\nconst GradientOverlay2 = styled.div`\n position: absolute;\n inset: 2px;\n border-radius: 10px;\n background: linear-gradient(to bottom, rgba(101, 67, 88, 0.4), #1d0d33, rgba(47, 13, 100, 0.3));\n opacity: 0.8;\n`\n\nconst GradientOverlay3 = styled.div`\n position: absolute;\n inset: 2px;\n border-radius: 10px;\n background: linear-gradient(to bottom right, rgba(199, 135, 246, 0.1), #1d0d33, rgba(42, 23, 54, 0.5));\n`\n\nconst TwinkleOverlay = styled.div`\n position: absolute;\n inset: 2px;\n border-radius: 10px;\n overflow: hidden;\n\n &::before {\n content: '';\n position: absolute;\n inset: 0;\n background: linear-gradient(\n 90deg,\n transparent,\n rgba(199, 135, 246, 0.1),\n rgba(199, 135, 246, 0.2),\n rgba(199, 135, 246, 0.1),\n transparent\n );\n background-size: 200% 100%;\n animation: shimmer 8s linear infinite;\n }\n\n ${shimmerKeyframes}\n`\n\nconst TwinkleOverlay2 = styled.div`\n position: absolute;\n inset: 2px;\n border-radius: 10px;\n overflow: hidden;\n opacity: 0.7;\n\n &::before {\n content: '';\n position: absolute;\n inset: 0;\n background: linear-gradient(\n 45deg,\n transparent,\n rgba(199, 135, 246, 0.05),\n rgba(199, 135, 246, 0.1),\n rgba(199, 135, 246, 0.05),\n transparent\n );\n background-size: 200% 200%;\n animation: shimmer 12s linear infinite;\n }\n\n ${shimmerKeyframes}\n`\n\nconst InnerShadow = styled.div`\n position: absolute;\n inset: 2px;\n border-radius: 10px;\n box-shadow: inset 0 0 15px rgba(199, 135, 246, 0.15);\n`\n\nconst ButtonContent = styled.div`\n position: relative;\n display: flex;\n align-items: center;\n justify-content: space-between;\n width: 100%;\n gap: 8px;\n`\n\nconst Label = styled.span`\n font-size: 1.25rem;\n font-weight: 600;\n color: #ffffff;\n text-shadow: 0 0 10px rgba(199, 135, 246, 0.5);\n letter-spacing: 0.02em;\n`\n\nconst ChevronIcon = styled.svg<{ $isOpen: boolean }>`\n width: 20px;\n height: 20px;\n transition: transform 0.3s ease;\n transform: rotate(${(props) => (props.$isOpen ? '180deg' : '0deg')});\n stroke: #ffffff;\n stroke-width: 2.5;\n filter: drop-shadow(0 0 4px rgba(199, 135, 246, 0.5));\n`\n\nconst Backdrop = styled.div<{ $isOpen: boolean }>`\n position: fixed;\n inset: 0;\n background: rgba(0, 0, 0, 0.5);\n opacity: ${(props) => (props.$isOpen ? 1 : 0)};\n visibility: ${(props) => (props.$isOpen ? 'visible' : 'hidden')};\n transition: all 0.3s ease;\n z-index: 100;\n`\n\nconst DropdownMenu = styled.div<{ $isOpen: boolean }>`\n position: absolute;\n top: calc(100% + 8px);\n left: 0;\n right: 0;\n width: 100%;\n min-width: 100%;\n background: #170928;\n border-radius: 8px;\n padding: 2px;\n background: linear-gradient(to bottom, #654358, #17092a, #2f0d64);\n opacity: ${(props) => (props.$isOpen ? 1 : 0)};\n visibility: ${(props) => (props.$isOpen ? 'visible' : 'hidden')};\n transform: translateY(${(props) => (props.$isOpen ? '0' : '-10px')});\n transition: all 0.3s ease;\n z-index: 1000;\n`\n\nconst MenuInner = styled.div`\n width: 100%;\n min-width: 100%;\n background: #170928;\n border-radius: 6px;\n padding: 0.5rem;\n`\n\nconst MenuItem = styled.button`\n width: 100%;\n padding: 0.75rem 1.25rem;\n background: none;\n border: none;\n border-radius: 4px;\n text-align: left;\n cursor: pointer;\n position: relative;\n overflow: hidden;\n transition: all 0.2s ease;\n\n span {\n position: relative;\n z-index: 1;\n font-size: 1.125rem;\n font-weight: 500;\n color: #ffffff;\n text-shadow: 0 0 10px rgba(199, 135, 246, 0.3);\n }\n\n &:hover {\n &::before {\n content: '';\n position: absolute;\n inset: 0;\n background: rgba(199, 135, 246, 0.15);\n }\n }\n`\n\nexport interface DropdownProps {\n title: React.ReactNode\n items: Array<{\n label: string\n onClick: () => void\n }>\n className?: string\n}\n\nexport const Dropdown: React.FC = ({ title, items, className = '' }) => {\n const [isOpen, setIsOpen] = useState(false)\n const dropdownRef = useRef(null)\n\n const handleClickOutside = (event: MouseEvent) => {\n if (dropdownRef.current && !dropdownRef.current.contains(event.target as Node)) {\n setIsOpen(false)\n }\n }\n\n React.useEffect(() => {\n document.addEventListener('mousedown', handleClickOutside)\n return () => {\n document.removeEventListener('mousedown', handleClickOutside)\n }\n }, [])\n\n return (\n <>\n setIsOpen(false)} />\n \n setIsOpen(!isOpen)}>\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n {items.map((item, index) => (\n {\n item.onClick()\n setIsOpen(false)\n }}\n >\n {item.label}\n \n ))}\n \n \n \n \n )\n}\n\nexport default Dropdown\n","// src/components/layout/InteractiveArea.tsx\nimport React from 'react'\nimport { useLocation } from 'react-router-dom'\nimport DatasetTools from '../tools/DatasetTools'\nimport ModelListCard from '../styled/ModelList/ModelListCard'\nimport {\n DatasetSubNavItems,\n DatasetSubView,\n InferenceSubNavItems,\n InferenceSubView,\n selectActiveDatasetSubView,\n selectActiveInferenceSubView,\n setActiveDatasetSubView,\n setActiveInferenceSubView,\n} from '../../store/slices/projectSlice'\nimport { useAppDispatch, useAppSelector } from '../../store/hooks'\nimport InferenceTools from '../tools/InferenceTools'\nimport { Dropdown } from '../ui/Dropdown'\nimport styled from 'styled-components'\n\nconst ScrollableContainer = styled.div`\n width: 100%;\n min-width: 100%;\n display: flex;\n flex-direction: column;\n flex: 1;\n`\n\nconst DropdownContainer = styled.div`\n width: 100%;\n min-width: 100%;\n padding: 0.5rem;\n flex-shrink: 0;\n`\n\nconst Sidebar: React.FC = () => {\n const dispatch = useAppDispatch()\n const location = useLocation()\n const activeDatasetSubView = useAppSelector(selectActiveDatasetSubView)\n const activeInferenceSubView = useAppSelector(selectActiveInferenceSubView)\n\n const handleDatasetSubNavSelect = (item: DatasetSubView) => {\n dispatch(setActiveDatasetSubView(item))\n }\n\n const handleInferenceSubNavSelect = (item: InferenceSubView) => {\n dispatch(setActiveInferenceSubView(item))\n }\n\n const getDatasetNavItems = () => {\n return DatasetSubNavItems.map((item) => ({\n label: item.replace('-', ' '),\n onClick: () => handleDatasetSubNavSelect(item),\n }))\n }\n\n const getInferenceNavItems = () => {\n return InferenceSubNavItems.map((item) => ({\n label: item.replace('-', ' '),\n onClick: () => handleInferenceSubNavSelect(item),\n }))\n }\n\n switch (location.pathname.split('/')[1]) {\n case 'datasets':\n return (\n \n \n \n \n \n \n )\n\n case 'models':\n return (\n \n \n \n )\n\n case 'inference':\n return (\n \n \n \n \n \n \n )\n\n default:\n return null\n }\n}\n\nexport default Sidebar\n","// src/components/layout.tsx\n\nimport React from 'react'\nimport { useAppSelector } from '../../store/hooks'\nimport { selectIsAuthenticated } from '../../store/slices/authSlice'\nimport { selectSelectedProjectId } from '../../store/slices/projectSlice'\nimport { useGetProjectQuery } from '../../services/projectsApi'\nimport AvNavbar from '../AvNavBar'\nimport { useLocation, useNavigate } from 'react-router-dom'\nimport { Badge, Card, Col, Row } from 'react-bootstrap'\nimport { toTitleCase } from '../../utils/helpers'\nimport Sidebar from './Sidebar'\n\n// List of routes that don't require project selection\nconst noProjectRoutes = [\n '/login',\n '/projects',\n '/error-test',\n '/termsconditions',\n '/privacypolicy',\n '/docs',\n '/dashboard',\n]\n\ninterface LayoutProps {\n children: React.ReactNode\n}\n\nconst Layout: React.FC = ({ children }) => {\n const isAuthenticated = useAppSelector(selectIsAuthenticated)\n const selectedProjectId = useAppSelector(selectSelectedProjectId)\n const { data: project } = useGetProjectQuery(selectedProjectId || '', { skip: !selectedProjectId })\n const location = useLocation()\n const navigate = useNavigate()\n\n React.useEffect(() => {\n const currentPath = location.pathname\n const requiresProject = !noProjectRoutes.some((route) => currentPath.startsWith(route))\n\n console.log(\n 'Layout check - Path:',\n currentPath,\n 'Requires project:',\n requiresProject,\n 'Selected project ID:',\n selectedProjectId\n )\n\n if (requiresProject && !selectedProjectId && !localStorage.getItem('selectedProjectId')) {\n console.log('Layout redirecting to /projects')\n navigate('/projects')\n }\n }, [selectedProjectId, location.pathname, navigate])\n\n return (\n <>\n {isAuthenticated && !location.pathname.startsWith('/docs') && (\n <>\n \n\n
\n {location.pathname !== '/projects' &&\n location.pathname.split('/')[1] !== 'overview' &&\n location.pathname.split('/')[1] !== 'dashboard' &&\n location.pathname.split('/')[1] !== 'annotationsreview' &&\n location.pathname.split('/')[1] !== 'predictionsreview' &&\n location.pathname.split('/')[1] !== 'error-test' && (\n
\n \n \n \n \n
\n
\n \n {toTitleCase(project?.annotation_type || '')}\n \n
\n

{project?.name}

\n
\n
\n
\n \n
\n\n \n \n
\n )}\n
\n {children}\n
\n
\n \n )}\n {(!isAuthenticated || location.pathname.split('/')[1] === 'docs') && children}\n \n )\n}\n\nexport default Layout\n","var _excluded = [\"color\", \"size\", \"title\", \"className\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport React, { forwardRef } from 'react';\nimport PropTypes from 'prop-types';\nvar ArrowLeft = /*#__PURE__*/forwardRef(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? '1em' : _ref$size,\n _ref$title = _ref.title,\n title = _ref$title === void 0 ? null : _ref$title,\n _ref$className = _ref.className,\n className = _ref$className === void 0 ? '' : _ref$className,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 16 16\",\n width: size,\n height: size,\n fill: color,\n className: ['bi', 'bi-arrow-left', className].filter(Boolean).join(' ')\n }, rest), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n d: \"M15 8a.5.5 0 0 0-.5-.5H2.707l3.147-3.146a.5.5 0 1 0-.708-.708l-4 4a.5.5 0 0 0 0 .708l4 4a.5.5 0 0 0 .708-.708L2.707 8.5H14.5A.5.5 0 0 0 15 8\"\n }));\n});\nArrowLeft.propTypes = {\n color: PropTypes.string,\n size: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n title: PropTypes.string,\n className: PropTypes.string\n};\nexport default ArrowLeft;","var _excluded = [\"color\", \"size\", \"title\", \"className\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport React, { forwardRef } from 'react';\nimport PropTypes from 'prop-types';\nvar Person = /*#__PURE__*/forwardRef(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? '1em' : _ref$size,\n _ref$title = _ref.title,\n title = _ref$title === void 0 ? null : _ref$title,\n _ref$className = _ref.className,\n className = _ref$className === void 0 ? '' : _ref$className,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 16 16\",\n width: size,\n height: size,\n fill: color,\n className: ['bi', 'bi-person', className].filter(Boolean).join(' ')\n }, rest), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8 8a3 3 0 1 0 0-6 3 3 0 0 0 0 6m2-3a2 2 0 1 1-4 0 2 2 0 0 1 4 0m4 8c0 1-1 1-1 1H3s-1 0-1-1 1-4 6-4 6 3 6 4m-1-.004c-.001-.246-.154-.986-.832-1.664C11.516 10.68 10.289 10 8 10s-3.516.68-4.168 1.332c-.678.678-.83 1.418-.832 1.664z\"\n }));\n});\nPerson.propTypes = {\n color: PropTypes.string,\n size: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n title: PropTypes.string,\n className: PropTypes.string\n};\nexport default Person;","import React from 'react'\nimport { useFetchUserProfileQuery } from '../services/authApi'\nimport { Row, Col, Card, Image } from 'react-bootstrap'\nimport { Person, ArrowLeft } from 'react-bootstrap-icons'\nimport { useNavigate } from 'react-router-dom'\n\nconst Profile: React.FC = () => {\n const { data: user, isLoading } = useFetchUserProfileQuery()\n\n const navigate = useNavigate()\n\n const handleGoBack = () => {\n navigate(-1)\n }\n\n if (isLoading) {\n return
Loading...
\n }\n\n const profileImage = user?.profile_400 || user?.profile_200 || user?.profile_100\n\n return (\n <>\n
\n \n
\n \n \n \n \n
\n {profileImage ? (\n \n ) : (\n \n )}\n
\n

{`${user?.first_name} ${user?.last_name}`}

\n \n \n

\n Username: {user?.username}\n

\n

\n Email: {user?.email}\n

\n

\n User ID: {user?.id}\n

\n \n \n

\n Created: {new Date(user?.created_at || '').toLocaleDateString()}\n

\n

\n Last Login: {new Date(user?.last_login || '').toLocaleDateString()}\n

\n

\n Last Password Change:{' '}\n {new Date(user?.last_password_change || '').toLocaleDateString()}\n

\n \n
\n
\n
\n \n
\n \n )\n}\n\nexport default Profile\n","// src/components/ErrorBoundary.tsx\nimport React, { ErrorInfo, ReactNode } from 'react'\nimport { Modal, Button } from 'react-bootstrap'\nimport styled from 'styled-components'\n\nconst StyledModal = styled(Modal)`\n .modal-content {\n background: #1a1a1a;\n border: none;\n }\n\n .modal-header {\n background: linear-gradient(45deg, #402563, #114ee0);\n border-bottom: none;\n padding: 1.25rem 1.5rem;\n\n .modal-title {\n color: white;\n font-weight: 600;\n font-size: 1.25rem;\n }\n }\n\n .modal-body {\n background: #2a2a2a;\n color: #fff;\n padding: 1.5rem;\n }\n\n .error-details {\n background: #1a1a1a;\n padding: 1rem;\n border-radius: 4px;\n font-family: monospace;\n white-space: pre-wrap;\n max-height: 200px;\n overflow-y: auto;\n margin-top: 1rem;\n }\n\n .modal-footer {\n background: #2a2a2a;\n border-top: 1px solid rgba(255, 255, 255, 0.1);\n\n .btn {\n min-width: 120px;\n }\n }\n`\n\ninterface ErrorBoundaryProps {\n children: ReactNode\n testMode?: boolean\n}\n\ninterface ErrorBoundaryState {\n hasError: boolean\n error: Error | null\n errorInfo: ErrorInfo | null\n}\n\nclass ErrorBoundary extends React.Component {\n constructor(props: ErrorBoundaryProps) {\n super(props)\n console.log('ErrorBoundary constructor, testMode:', props.testMode)\n this.state = {\n hasError: false,\n error: null,\n errorInfo: null,\n }\n }\n\n static getDerivedStateFromError(error: Error): ErrorBoundaryState {\n console.log('ErrorBoundary.getDerivedStateFromError called with:', error.message)\n // This is called during render phase, immediately capture the error\n return {\n hasError: true,\n error: error,\n errorInfo: null,\n }\n }\n\n componentDidCatch(error: Error, errorInfo: ErrorInfo) {\n console.log('ErrorBoundary.componentDidCatch called, testMode:', this.props.testMode)\n // This is called during commit phase\n this.setState({\n hasError: true,\n error: error,\n errorInfo: errorInfo,\n })\n\n // Log the error\n console.log('Application Error:', error.message)\n console.log('Component Stack:', errorInfo.componentStack)\n }\n\n handleClose = () => {\n console.log('ErrorBoundary.handleClose called')\n this.setState(\n {\n hasError: false,\n error: null,\n errorInfo: null,\n },\n () => {\n // Only redirect if not in test mode\n if (!this.props.testMode) {\n console.log('Redirecting to /projects')\n window.location.href = '/projects'\n } else {\n console.log('In test mode - not redirecting on close')\n // Just reload the current page in test mode\n window.location.reload()\n }\n }\n )\n }\n\n handleCopyError = () => {\n console.log('ErrorBoundary.handleCopyError called')\n const { error, errorInfo } = this.state\n const errorText = `Error: ${error?.message}\\n\\nStack Trace:\\n${errorInfo?.componentStack}`\n navigator.clipboard.writeText(errorText).then(() => {\n console.log('Error details copied to clipboard')\n })\n }\n\n handleReload = () => {\n console.log('ErrorBoundary.handleReload called')\n this.setState(\n {\n hasError: false,\n error: null,\n errorInfo: null,\n },\n () => {\n window.location.reload()\n }\n )\n }\n\n render() {\n if (this.state.hasError && this.state.error) {\n console.log('ErrorBoundary rendering error UI, testMode:', this.props.testMode)\n const errorDetails = `${this.state.error?.message}\\n\\n${this.state.errorInfo?.componentStack || ''}`\n\n return (\n \n \n {this.props.testMode ? 'Test Error Detected' : 'An Error Occurred'}\n \n \n {this.props.testMode ? (\n

This is a test error. The error boundary is working correctly!

\n ) : (\n

We apologize, but something went wrong. Our team has been notified of this issue.

\n )}\n

You can try:

\n
    \n
  • Reloading the page
  • \n
  • Going back to the projects page
  • \n
  • Copying the error details for the tech team
  • \n
\n
{errorDetails}
\n
\n \n
\n \n \n
\n \n
\n
\n )\n }\n\n return this.props.children\n }\n}\n\nexport default ErrorBoundary\n","import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name ZoomIn\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMSIgY3k9IjExIiByPSI4IiAvPgogIDxsaW5lIHgxPSIyMSIgeDI9IjE2LjY1IiB5MT0iMjEiIHkyPSIxNi42NSIgLz4KICA8bGluZSB4MT0iMTEiIHgyPSIxMSIgeTE9IjgiIHkyPSIxNCIgLz4KICA8bGluZSB4MT0iOCIgeDI9IjE0IiB5MT0iMTEiIHkyPSIxMSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/zoom-in\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst ZoomIn = createLucideIcon('ZoomIn', [\n ['circle', { cx: '11', cy: '11', r: '8', key: '4ej97u' }],\n ['line', { x1: '21', x2: '16.65', y1: '21', y2: '16.65', key: '13gj7c' }],\n ['line', { x1: '11', x2: '11', y1: '8', y2: '14', key: '1vmskp' }],\n ['line', { x1: '8', x2: '14', y1: '11', y2: '11', key: 'durymu' }],\n]);\n\nexport default ZoomIn;\n","import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name ZoomOut\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMSIgY3k9IjExIiByPSI4IiAvPgogIDxsaW5lIHgxPSIyMSIgeDI9IjE2LjY1IiB5MT0iMjEiIHkyPSIxNi42NSIgLz4KICA8bGluZSB4MT0iOCIgeDI9IjE0IiB5MT0iMTEiIHkyPSIxMSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/zoom-out\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst ZoomOut = createLucideIcon('ZoomOut', [\n ['circle', { cx: '11', cy: '11', r: '8', key: '4ej97u' }],\n ['line', { x1: '21', x2: '16.65', y1: '21', y2: '16.65', key: '13gj7c' }],\n ['line', { x1: '8', x2: '14', y1: '11', y2: '11', key: 'durymu' }],\n]);\n\nexport default ZoomOut;\n","import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name RotateCcw\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMyAxMmE5IDkgMCAxIDAgOS05IDkuNzUgOS43NSAwIDAgMC02Ljc0IDIuNzRMMyA4IiAvPgogIDxwYXRoIGQ9Ik0zIDN2NWg1IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/rotate-ccw\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst RotateCcw = createLucideIcon('RotateCcw', [\n ['path', { d: 'M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8', key: '1357e3' }],\n ['path', { d: 'M3 3v5h5', key: '1xhq8a' }],\n]);\n\nexport default RotateCcw;\n","import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name Undo\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMyA3djZoNiIgLz4KICA8cGF0aCBkPSJNMjEgMTdhOSA5IDAgMCAwLTktOSA5IDkgMCAwIDAtNiAyLjNMMyAxMyIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/undo\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Undo = createLucideIcon('Undo', [\n ['path', { d: 'M3 7v6h6', key: '1v2h90' }],\n ['path', { d: 'M21 17a9 9 0 0 0-9-9 9 9 0 0 0-6 2.3L3 13', key: '1r6uu6' }],\n]);\n\nexport default Undo;\n","import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name Redo\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjEgN3Y2aC02IiAvPgogIDxwYXRoIGQ9Ik0zIDE3YTkgOSAwIDAgMSA5LTkgOSA5IDAgMCAxIDYgMi4zbDMgMi43IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/redo\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Redo = createLucideIcon('Redo', [\n ['path', { d: 'M21 7v6h-6', key: '3ptur4' }],\n ['path', { d: 'M3 17a9 9 0 0 1 9-9 9 9 0 0 1 6 2.3l3 2.7', key: '1kgawr' }],\n]);\n\nexport default Redo;\n","import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name EyeOff\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNOS44OCA5Ljg4YTMgMyAwIDEgMCA0LjI0IDQuMjQiIC8+CiAgPHBhdGggZD0iTTEwLjczIDUuMDhBMTAuNDMgMTAuNDMgMCAwIDEgMTIgNWM3IDAgMTAgNyAxMCA3YTEzLjE2IDEzLjE2IDAgMCAxLTEuNjcgMi42OCIgLz4KICA8cGF0aCBkPSJNNi42MSA2LjYxQTEzLjUyNiAxMy41MjYgMCAwIDAgMiAxMnMzIDcgMTAgN2E5Ljc0IDkuNzQgMCAwIDAgNS4zOS0xLjYxIiAvPgogIDxsaW5lIHgxPSIyIiB4Mj0iMjIiIHkxPSIyIiB5Mj0iMjIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/eye-off\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst EyeOff = createLucideIcon('EyeOff', [\n ['path', { d: 'M9.88 9.88a3 3 0 1 0 4.24 4.24', key: '1jxqfv' }],\n [\n 'path',\n {\n d: 'M10.73 5.08A10.43 10.43 0 0 1 12 5c7 0 10 7 10 7a13.16 13.16 0 0 1-1.67 2.68',\n key: '9wicm4',\n },\n ],\n [\n 'path',\n { d: 'M6.61 6.61A13.526 13.526 0 0 0 2 12s3 7 10 7a9.74 9.74 0 0 0 5.39-1.61', key: '1jreej' },\n ],\n ['line', { x1: '2', x2: '22', y1: '2', y2: '22', key: 'a6p6uj' }],\n]);\n\nexport default EyeOff;\n","import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name Eye\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMiAxMnMzLTcgMTAtNyAxMCA3IDEwIDctMyA3LTEwIDctMTAtNy0xMC03WiIgLz4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIzIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/eye\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Eye = createLucideIcon('Eye', [\n ['path', { d: 'M2 12s3-7 10-7 10 7 10 7-3 7-10 7-10-7-10-7Z', key: 'rwhkz3' }],\n ['circle', { cx: '12', cy: '12', r: '3', key: '1v7zrd' }],\n]);\n\nexport default Eye;\n","const _excluded = [\"active\", \"eventKey\", \"mountOnEnter\", \"transition\", \"unmountOnExit\", \"role\", \"onEnter\", \"onEntering\", \"onEntered\", \"onExit\", \"onExiting\", \"onExited\"],\n _excluded2 = [\"activeKey\", \"getControlledId\", \"getControllerId\"],\n _excluded3 = [\"as\"];\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.indexOf(n) >= 0) continue; t[n] = r[n]; } return t; }\nimport * as React from 'react';\nimport { useContext } from 'react';\nimport TabContext from './TabContext';\nimport SelectableContext, { makeEventKey } from './SelectableContext';\nimport NoopTransition from './NoopTransition';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport function useTabPanel(_ref) {\n let {\n active,\n eventKey,\n mountOnEnter,\n transition,\n unmountOnExit,\n role = 'tabpanel',\n onEnter,\n onEntering,\n onEntered,\n onExit,\n onExiting,\n onExited\n } = _ref,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n const context = useContext(TabContext);\n if (!context) return [Object.assign({}, props, {\n role\n }), {\n eventKey,\n isActive: active,\n mountOnEnter,\n transition,\n unmountOnExit,\n onEnter,\n onEntering,\n onEntered,\n onExit,\n onExiting,\n onExited\n }];\n const {\n activeKey,\n getControlledId,\n getControllerId\n } = context,\n rest = _objectWithoutPropertiesLoose(context, _excluded2);\n const key = makeEventKey(eventKey);\n return [Object.assign({}, props, {\n role,\n id: getControlledId(eventKey),\n 'aria-labelledby': getControllerId(eventKey)\n }), {\n eventKey,\n isActive: active == null && key != null ? makeEventKey(activeKey) === key : active,\n transition: transition || rest.transition,\n mountOnEnter: mountOnEnter != null ? mountOnEnter : rest.mountOnEnter,\n unmountOnExit: unmountOnExit != null ? unmountOnExit : rest.unmountOnExit,\n onEnter,\n onEntering,\n onEntered,\n onExit,\n onExiting,\n onExited\n }];\n}\nconst TabPanel = /*#__PURE__*/React.forwardRef(\n// Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n(_ref2, ref) => {\n let {\n as: Component = 'div'\n } = _ref2,\n props = _objectWithoutPropertiesLoose(_ref2, _excluded3);\n const [tabPanelProps, {\n isActive,\n onEnter,\n onEntering,\n onEntered,\n onExit,\n onExiting,\n onExited,\n mountOnEnter,\n unmountOnExit,\n transition: Transition = NoopTransition\n }] = useTabPanel(props);\n // We provide an empty the TabContext so `
\n )\n}\n\nexport default Canvas\n","// src/components/annotation/utils/drawing.ts\n\nimport { AnnotationDataBoundingBox } from '../../../types/annotation'\nimport { Tag } from '../../../types/tag'\nimport { MousePosition } from '../hooks/useImageAnnotation'\nimport { getContrastYIQ } from '../../../utils'\n\nconst PADDING_FACTOR = 0.3 // 10% padding around the bbox when zooming\n\nexport const calculateZoomForBBox = (\n bbox: AnnotationDataBoundingBox,\n canvas: HTMLCanvasElement\n): { zoomLevel: number; panOffset: MousePosition } => {\n // Calculate bbox dimensions\n const bboxWidth = bbox.xmax - bbox.xmin\n const bboxHeight = bbox.ymax - bbox.ymin\n\n // Calculate zoom levels needed to fit bbox in both dimensions\n const horizontalZoom = canvas.width / (bboxWidth * (1 + 2 * PADDING_FACTOR))\n const verticalZoom = canvas.height / (bboxHeight * (1 + 2 * PADDING_FACTOR))\n\n // Use the smaller zoom level to ensure the entire bbox is visible\n const zoomLevel = Math.min(horizontalZoom, verticalZoom)\n\n // Calculate the center of the bbox\n const bboxCenterX = (bbox.xmin + bbox.xmax) / 2\n const bboxCenterY = (bbox.ymin + bbox.ymax) / 2\n\n // Calculate required pan offset to center the bbox\n const panOffset = {\n x: canvas.width / 2 - bboxCenterX,\n y: canvas.height / 2 - bboxCenterY,\n }\n\n return { zoomLevel, panOffset }\n}\n\nexport const drawAnnotations = (\n ctx: CanvasRenderingContext2D,\n canvas: HTMLCanvasElement,\n image: HTMLImageElement,\n zoomLevel: number,\n panOffset: MousePosition,\n allBoundingBoxes: AnnotationDataBoundingBox[],\n filteredBoxes: AnnotationDataBoundingBox[],\n showConfidence: boolean,\n tags: Tag[],\n useBBoxes: boolean,\n showBBoxes: boolean,\n newBoundingBox: AnnotationDataBoundingBox | null,\n selectedBBox: AnnotationDataBoundingBox | null,\n mousePosition: MousePosition,\n contrast: number,\n // showHeatmap: boolean,\n bBoxIndex?: number,\n hoveredBoxIndex?: number,\n isMouseOverCanvas = false\n) => {\n // Prevent unnecessary redraws during resize\n if (ctx.canvas !== canvas) return\n\n // If predictionIndex is provided, calculate zoom and pan for that bbox\n ctx.clearRect(0, 0, canvas.width, canvas.height)\n\n // Apply zoom and pan transformation\n ctx.save()\n ctx.translate(canvas.width / 2, canvas.height / 2)\n ctx.scale(zoomLevel, zoomLevel)\n ctx.translate(-canvas.width / 2, -canvas.height / 2)\n ctx.translate(panOffset.x, panOffset.y)\n\n // Draw the image\n ctx.drawImage(image, 0, 0, canvas.width, canvas.height)\n\n // Apply contrast\n if (contrast && contrast !== 0) {\n const imageData = ctx.getImageData(0, 0, canvas.width, canvas.height)\n const factor = (259 * (contrast + 255)) / (255 * (259 - contrast))\n const data = imageData.data\n for (let i = 0; i < data.length; i += 4) {\n data[i] = factor * (data[i] - 128) + 128 // Red\n data[i + 1] = factor * (data[i + 1] - 128) + 128 // Green\n data[i + 2] = factor * (data[i + 2] - 128) + 128 // Blue\n }\n ctx.putImageData(imageData, 0, 0)\n }\n\n // Add darkening overlay if there's a hovered box\n if (hoveredBoxIndex !== undefined) {\n const hoveredBox = filteredBoxes.find((box) => box.class_index === hoveredBoxIndex)\n if (hoveredBox) {\n // First, darken the entire canvas\n ctx.fillStyle = 'rgba(0, 0, 0, 0.5)'\n ctx.fillRect(0, 0, canvas.width, canvas.height)\n\n // Then clear the area of the hovered box to show it normally\n ctx.save()\n ctx.beginPath()\n ctx.rect(hoveredBox.xmin, hoveredBox.ymin, hoveredBox.xmax - hoveredBox.xmin, hoveredBox.ymax - hoveredBox.ymin)\n ctx.clip()\n ctx.clearRect(0, 0, canvas.width, canvas.height)\n ctx.drawImage(image, 0, 0, canvas.width, canvas.height)\n if (contrast && contrast !== 0) {\n const imageData = ctx.getImageData(0, 0, canvas.width, canvas.height)\n const factor = (259 * (contrast + 255)) / (255 * (259 - contrast))\n const data = imageData.data\n for (let i = 0; i < data.length; i += 4) {\n data[i] = factor * (data[i] - 128) + 128\n data[i + 1] = factor * (data[i + 1] - 128) + 128\n data[i + 2] = factor * (data[i + 2] - 128) + 128\n }\n ctx.putImageData(imageData, 0, 0)\n }\n ctx.restore()\n }\n }\n\n // if (showHeatmap) {\n // drawHeatmap(ctx, canvas, allBoundingBoxes)\n // }\n\n if (showBBoxes) {\n // Draw existing bounding boxes\n const boxIndex = filteredBoxes.findIndex((b) => {\n return (\n b.ymin === selectedBBox?.ymin &&\n b.xmin === selectedBBox?.xmin &&\n b.ymax === selectedBBox?.ymax &&\n b.ymin === selectedBBox?.ymin\n )\n })\n filteredBoxes.forEach((box, index) => {\n if (!selectedBBox || box.class_index === selectedBBox?.class_index) {\n if (bBoxIndex === undefined || (index === bBoxIndex && selectedBBox?.class_index === box.class_index)) {\n const selectedTag = tags?.find((tag) => tag.id === box.name)\n\n const color = `#${selectedTag?.color.toString(16).padStart(6, '0').slice(0, 6) || '#80085'}`\n if (selectedTag) {\n ctx.strokeStyle = color\n ctx.lineWidth = 2 / zoomLevel\n ctx.strokeRect(box.xmin, box.ymin, box.xmax - box.xmin, box.ymax - box.ymin)\n\n // Highlight selected or hovered box\n if ((selectedBBox && boxIndex === index) || box.class_index === hoveredBoxIndex) {\n ctx.fillStyle = `#${selectedTag.color.toString(16).padStart(6, '0').slice(0, 6)}44`\n ctx.fillRect(box.xmin, box.ymin, box.xmax - box.xmin, box.ymax - box.ymin)\n\n // Draw resize handles only for selected box, not hovered\n if (selectedBBox && boxIndex === index) {\n const handleSize = Math.min(18, 18 / zoomLevel) // Adjust handle size based on zoom\n ctx.fillStyle = `#${selectedTag.color.toString(16).padStart(6, '0').slice(0, 6)}`\n ctx.strokeStyle = `#${selectedTag.color.toString(16).padStart(6, '0').slice(0, 6)}`\n ctx.lineWidth = 1 / zoomLevel\n\n const handles = [\n { x: box.xmin, y: box.ymin },\n { x: box.xmax - handleSize, y: box.ymin },\n { x: box.xmin, y: box.ymax - handleSize },\n { x: box.xmax - handleSize, y: box.ymax - handleSize },\n ]\n\n handles.forEach((handle) => {\n ctx.beginPath()\n ctx.rect(handle.x, handle.y, handleSize, handleSize) // Draw rectangle\n ctx.fill()\n ctx.stroke()\n })\n }\n }\n }\n\n if (showConfidence) {\n // Draw confidence percentage\n const confidence = box.confidence || 0\n const confidenceText = `${(confidence * 100).toFixed(1)}%`\n\n // Setup text style\n ctx.font = `${12 / zoomLevel}px Arial`\n ctx.textBaseline = 'top'\n\n // Create background for better readability\n const textMetrics = ctx.measureText(confidenceText)\n const padding = 4 / zoomLevel\n const textHeight = 14 / zoomLevel\n\n ctx.fillStyle = color\n ctx.fillRect(\n box.xmin - 1 / zoomLevel,\n box.ymin - textHeight - padding,\n textMetrics.width + padding * 2,\n textHeight + padding\n )\n\n // Draw text\n ctx.fillStyle = getContrastYIQ(color)\n ctx.fillText(confidenceText, box.xmin + padding / 2, box.ymin - textHeight - padding / 2)\n }\n }\n }\n })\n\n // Draw new bounding box if it exists\n if (newBoundingBox) {\n ctx.strokeStyle = 'blue'\n ctx.lineWidth = 2 / zoomLevel\n ctx.strokeRect(\n newBoundingBox.xmin,\n newBoundingBox.ymin,\n newBoundingBox.xmax - newBoundingBox.xmin,\n newBoundingBox.ymax - newBoundingBox.ymin\n )\n }\n }\n\n // Draw crosshairs at mouse position\n if (isMouseOverCanvas && useBBoxes) {\n ctx.beginPath()\n ctx.strokeStyle = 'rgba(0, 123, 255, 0.5)'\n ctx.lineWidth = 1\n\n // Vertical line\n ctx.moveTo(mousePosition?.x || 0, 0)\n ctx.lineTo(mousePosition?.x || 0, canvas.height)\n\n // Horizontal line\n ctx.moveTo(0, mousePosition?.y || 0)\n ctx.lineTo(canvas.width, mousePosition?.y || 0)\n\n ctx.stroke()\n }\n\n ctx.restore()\n}\n\n// src/components/annotation/utils/drawing.ts\n\n// function drawHeatmap(\n// ctx: CanvasRenderingContext2D,\n// canvas: HTMLCanvasElement,\n// boundingBoxes: AnnotationDataBoundingBox[]\n// ) {\n// // Create an off-screen canvas for performance\n// const heatmapCanvas = document.createElement('canvas')\n// heatmapCanvas.width = canvas.width\n// heatmapCanvas.height = canvas.height\n// const heatmapCtx = heatmapCanvas.getContext('2d')\n\n// if (!heatmapCtx) return\n\n// // Initialize an array to hold overlap counts\n// const overlapCounts = new Uint32Array(canvas.width * canvas.height)\n\n// // Accumulate overlap counts\n// boundingBoxes.forEach((box) => {\n// const xmin = Math.max(0, Math.floor(box.xmin))\n// const ymin = Math.max(0, Math.floor(box.ymin))\n// const xmax = Math.min(canvas.width - 1, Math.floor(box.xmax))\n// const ymax = Math.min(canvas.height - 1, Math.floor(box.ymax))\n\n// for (let y = ymin; y <= ymax; y++) {\n// for (let x = xmin; x <= xmax; x++) {\n// const index = y * canvas.width + x\n// overlapCounts[index]++\n// }\n// }\n// })\n\n// // Find maximum overlap to normalize\n// let maxOverlap = 0\n// for (let i = 0; i < overlapCounts.length; i++) {\n// if (overlapCounts[i] > maxOverlap) {\n// maxOverlap = overlapCounts[i]\n// }\n// }\n// if (maxOverlap === 0) return // Avoid division by zero\n\n// // Create ImageData for heatmap\n// const imageData = heatmapCtx.createImageData(canvas.width, canvas.height)\n// const data = imageData.data\n\n// for (let i = 0; i < overlapCounts.length; i++) {\n// const count = overlapCounts[i]\n// const intensity = count / maxOverlap // Normalize to [0, 1]\n\n// // Map intensity to color\n// const [r, g, b] = intensityToHeatmapColor(intensity)\n\n// const dataIndex = i * 4\n// data[dataIndex] = r // Red\n// data[dataIndex + 1] = g // Green\n// data[dataIndex + 2] = b // Blue\n// data[dataIndex + 3] = Math.floor(intensity * 180) // Alpha\n// }\n\n// heatmapCtx.putImageData(imageData, 0, 0)\n\n// // Draw the heatmap onto the main canvas\n// ctx.drawImage(heatmapCanvas, 0, 0)\n// }\n\n// src/components/annotation/utils/drawing.ts\n\n// function intensityToHeatmapColor(intensity: number): [number, number, number] {\n// // Clamp intensity to [0, 1]\n// intensity = Math.max(0, Math.min(1, intensity))\n\n// let r = 0,\n// g = 0,\n// b = 0\n\n// if (intensity <= 0.5) {\n// // Green to Yellow\n// r = Math.floor(510 * intensity)\n// g = 255\n// b = 0\n// } else {\n// // Yellow to Red\n// r = 255\n// g = Math.floor(255 - 510 * (intensity - 0.5))\n// b = 0\n// }\n\n// return [r, g, b]\n// }\n","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport warning from 'warning';\nimport useEventCallback from '@restart/hooks/useEventCallback';\nimport { useNavItem } from '@restart/ui/NavItem';\nimport { makeEventKey } from '@restart/ui/SelectableContext';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst ListGroupItem = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n active,\n disabled,\n eventKey,\n className,\n variant,\n action,\n as,\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'list-group-item');\n const [navItemProps, meta] = useNavItem({\n key: makeEventKey(eventKey, props.href),\n active,\n ...props\n });\n const handleClick = useEventCallback(event => {\n if (disabled) {\n event.preventDefault();\n event.stopPropagation();\n return;\n }\n navItemProps.onClick(event);\n });\n if (disabled && props.tabIndex === undefined) {\n props.tabIndex = -1;\n props['aria-disabled'] = true;\n }\n\n // eslint-disable-next-line no-nested-ternary\n const Component = as || (action ? props.href ? 'a' : 'button' : 'div');\n process.env.NODE_ENV !== \"production\" ? warning(as || !(!action && props.href), '`action=false` and `href` should not be used together.') : void 0;\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n ...props,\n ...navItemProps,\n onClick: handleClick,\n className: classNames(className, bsPrefix, meta.isActive && 'active', disabled && 'disabled', variant && `${bsPrefix}-${variant}`, action && `${bsPrefix}-action`)\n });\n});\nListGroupItem.displayName = 'ListGroupItem';\nexport default ListGroupItem;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport warning from 'warning';\nimport { useUncontrolled } from 'uncontrollable';\nimport BaseNav from '@restart/ui/Nav';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport ListGroupItem from './ListGroupItem';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst ListGroup = /*#__PURE__*/React.forwardRef((props, ref) => {\n const {\n className,\n bsPrefix: initialBsPrefix,\n variant,\n horizontal,\n numbered,\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as = 'div',\n ...controlledProps\n } = useUncontrolled(props, {\n activeKey: 'onSelect'\n });\n const bsPrefix = useBootstrapPrefix(initialBsPrefix, 'list-group');\n let horizontalVariant;\n if (horizontal) {\n horizontalVariant = horizontal === true ? 'horizontal' : `horizontal-${horizontal}`;\n }\n process.env.NODE_ENV !== \"production\" ? warning(!(horizontal && variant === 'flush'), '`variant=\"flush\"` and `horizontal` should not be used together.') : void 0;\n return /*#__PURE__*/_jsx(BaseNav, {\n ref: ref,\n ...controlledProps,\n as: as,\n className: classNames(className, bsPrefix, variant && `${bsPrefix}-${variant}`, horizontalVariant && `${bsPrefix}-${horizontalVariant}`, numbered && `${bsPrefix}-numbered`)\n });\n});\nListGroup.displayName = 'ListGroup';\nexport default Object.assign(ListGroup, {\n Item: ListGroupItem\n});","import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name X\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTggNiA2IDE4IiAvPgogIDxwYXRoIGQ9Im02IDYgMTIgMTIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/x\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst X = createLucideIcon('X', [\n ['path', { d: 'M18 6 6 18', key: '1bl5f8' }],\n ['path', { d: 'm6 6 12 12', key: 'd8bk6v' }],\n]);\n\nexport default X;\n","// src/components/tools/TagSelector.tsx\nimport React, { useState, useCallback, useEffect, useRef } from 'react'\nimport { Form, ListGroup, Button } from 'react-bootstrap'\nimport { useGetTagsQuery, useCreateTagMutation } from '../../services/tagApi'\nimport { Tag } from '../../types/tag'\nimport { X } from 'lucide-react'\nimport { useAppSelector } from '../../store/hooks'\nimport { selectSelectedProjectId } from '../../store/slices/projectSlice'\nimport { useGetProjectQuery } from '../../services/projectsApi'\nimport { generateRandomColor } from '../../utils/helpers'\n\ninterface TagListSelectorProps {\n onTagSelect: (tag: Tag) => void\n position?: { x: number; y: number }\n onClose?: () => void\n}\n\nconst TagSelector: React.FC = ({ onTagSelect, position, onClose }) => {\n const selectedProjectId = useAppSelector(selectSelectedProjectId)\n const { data: project } = useGetProjectQuery(selectedProjectId || '', { skip: !selectedProjectId })\n const [filter, setFilter] = useState('')\n const [filteredTags, setFilteredTags] = useState([])\n const [createTag] = useCreateTagMutation()\n const inputRef = useRef(null)\n\n const {\n data: tags,\n isLoading,\n error,\n } = useGetTagsQuery(\n {\n project_id: selectedProjectId || '',\n dataset_id: project?.datasetid || '',\n },\n { skip: !selectedProjectId || !project?.datasetid }\n )\n\n useEffect(() => {\n if (inputRef.current) {\n inputRef.current.focus()\n }\n }, [])\n\n const handleFilterChange = useCallback((e: React.ChangeEvent) => {\n setFilter(e.target.value)\n }, [])\n\n const handleTagSelect = useCallback(\n async (tag: Tag) => {\n onTagSelect(tag)\n if (onClose) {\n onClose()\n }\n },\n [onTagSelect, onClose]\n )\n\n useEffect(() => {\n const filtered =\n tags?.tags?.filter((tag: Tag) => tag.name.toLowerCase().includes(filter.toLowerCase())).slice(0, 10) || []\n setFilteredTags(filtered)\n }, [filter, tags])\n\n const handleKeyPress = useCallback(\n async (e: React.KeyboardEvent) => {\n if (e.key === 'Enter' && filter.trim() !== '') {\n const existingTag = filteredTags.find((tag) => tag.name.toLowerCase() === filter.toLowerCase())\n if (existingTag) {\n await handleTagSelect(existingTag)\n } else {\n try {\n const newTag = await createTag({\n name: filter,\n color: generateRandomColor().number, // Random color mixed with timestamp\n dataset_id: project?.datasetid || '',\n project_id: selectedProjectId || '',\n }).unwrap()\n await handleTagSelect(newTag)\n } catch (error) {\n console.error('Failed to create new tag:', error)\n }\n }\n }\n },\n [filter, filteredTags, handleTagSelect, createTag, project, selectedProjectId]\n )\n\n if (isLoading) return
Loading tags...
\n if (error) return
Error loading tags
\n\n const selectorContent = (\n <>\n \n \n {filteredTags.map((tag: Tag) => (\n handleTagSelect(tag)} style={{ cursor: 'pointer' }}>\n {tag.name}\n \n ))}\n \n \n )\n\n const containerStyle: React.CSSProperties = {\n position: 'relative',\n background: 'white',\n padding: '10px',\n border: '1px solid #ccc',\n borderRadius: '4px',\n boxShadow: '0 2px 10px rgba(0,0,0,0.1)',\n ...(position && {\n position: 'absolute',\n left: `${position.x}px`,\n top: `${position.y}px`,\n zIndex: 9999,\n }),\n }\n\n const closeButtonStyle: React.CSSProperties = {\n position: 'absolute',\n top: '-15px',\n right: '-15px',\n borderRadius: '50%',\n padding: '0.25rem',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n background: 'white',\n border: '1px solid #ccc',\n boxShadow: '0 2px 5px rgba(0,0,0,0.1)',\n }\n\n return (\n
\n {onClose && (\n \n )}\n {selectorContent}\n
\n )\n}\n\nexport default TagSelector\n","// src/components/annotation/ImageAnnotationComponentV2.tsx\n\nimport React, { useCallback, useEffect, useRef, useState, useImperativeHandle, forwardRef } from 'react'\nimport { useGetContentImageQuery } from '../../services/contentApi'\nimport { useGetTagsQuery } from '../../services/tagApi'\nimport { useAppDispatch, useAppSelector } from '../../store/hooks'\nimport {\n clearRedoStack,\n clearUndoStack,\n selectAllBoundingBoxes,\n setSelectedBoundingBoxIndex,\n} from '../../store/slices/annotationSlice'\nimport Canvas from './Canvas'\nimport { useImageAnnotation } from './hooks/useImageAnnotation'\nimport TagSelector from '../tools/TagSelector'\nimport { FaSun } from 'react-icons/fa'\nimport { selectSelectedProjectId } from '../../store/slices/projectSlice'\nimport { calculateZoomForBBox } from './utils/drawing'\nimport { AnnotationDataBoundingBox } from '../../types/annotation'\nimport { useGetProjectQuery } from '../../services/projectsApi'\n\nexport interface ImageAnnotationComponentV2Handle {\n undo: () => void\n redo: () => void\n delete: () => void\n recenterImage: () => void\n setZoom: (zoom: number) => void\n}\n\ninterface ImageAnnotationComponentV2Props {\n contentId: string\n useBBoxes: boolean\n focusedBBoxIndex?: number\n setFocusedBBoxIndex: (index: number | undefined) => void\n zoomLevel?: number\n showBBoxes?: boolean\n onZoomChange?: (zoom: number) => void\n filteredBoxes?: AnnotationDataBoundingBox[]\n hoveredBoxIndex?: number\n showConfidence: boolean\n}\n\nconst ImageAnnotationComponentV2 = forwardRef(\n (\n {\n contentId,\n useBBoxes,\n focusedBBoxIndex,\n setFocusedBBoxIndex,\n zoomLevel: externalZoomLevel,\n showBBoxes: externalShowBBoxes,\n // onZoomChange,\n filteredBoxes,\n hoveredBoxIndex,\n showConfidence,\n },\n ref\n ) => {\n const dispatch = useAppDispatch()\n const selectedProjectId = useAppSelector(selectSelectedProjectId)\n const { data: project } = useGetProjectQuery(selectedProjectId || '', { skip: !selectedProjectId })\n const allBoundingBoxes = useAppSelector(selectAllBoundingBoxes)\n const floatingEditorRef = useRef(null)\n\n const { data: imageUrl, isLoading: isImageLoading } = useGetContentImageQuery(\n {\n ContentID: contentId,\n project_id: selectedProjectId || '',\n dataset_id: project?.datasetid || '',\n },\n {\n skip: !contentId || !selectedProjectId || !project?.datasetid,\n }\n )\n\n const { data: tags } = useGetTagsQuery(\n {\n project_id: selectedProjectId || '',\n dataset_id: project?.datasetid || '',\n },\n { skip: !selectedProjectId || !project?.datasetid }\n )\n\n // const [showHeatmap, setShowHeatmap] = useState(false)\n // const [showConfidence, setShowConfidence] = useState(false)\n\n const {\n canvasRef,\n imageRef,\n handleMouseEvent,\n handleWheel: internalHandleWheel,\n zoomLevel,\n panOffset,\n newBoundingBox,\n setNewBoundingBox,\n handleTagSelect,\n mousePosition,\n showTagSelector,\n setShowTagSelector,\n tagSelectorPosition,\n recenterImage,\n undo,\n redo,\n contrast,\n setContrast,\n selectedBBox,\n handleBoxSelection,\n handleDoubleClick,\n popupState,\n setPopupState,\n handleBoxDelete,\n setZoomLevel: setHookZoomLevel,\n setPanOffset,\n handleCloseTagSelector,\n } = useImageAnnotation(useBBoxes)\n\n // Remove the internal zoom state since we're using the hook's zoom\n const [internalShowBBoxes, setInternalShowBBoxes] = useState(true)\n\n // Use the hook's zoom level as the source of truth\n useEffect(() => {\n if (externalZoomLevel !== undefined) {\n setHookZoomLevel(externalZoomLevel)\n if (externalZoomLevel === 0.85) {\n setPanOffset({ x: 0, y: 0 })\n }\n }\n }, [externalZoomLevel, setHookZoomLevel, setPanOffset])\n\n useEffect(() => {\n if (externalShowBBoxes !== undefined) {\n setInternalShowBBoxes(externalShowBBoxes)\n }\n }, [externalShowBBoxes])\n\n // Simplify zoom change handling\n // const handleZoomChange = useCallback(\n // (newZoom: number) => {\n // setHookZoomLevel(newZoom)\n // onZoomChange?.(newZoom)\n // },\n // [onZoomChange, setHookZoomLevel],\n // )\n\n const handleContrastSlider = useCallback(\n (newContrast: number) => {\n setContrast(newContrast)\n },\n [setContrast]\n )\n\n // const handleHeatmapToggle = useCallback(() => {\n // setShowHeatmap((prev) => !prev)\n // }, [])\n\n // const handleConfidenceToggle = useCallback(() => {\n // // setShowBBoxes(true)\n // setShowConfidence((prev) => !prev)\n // }, [])\n\n useEffect(() => {\n if (focusedBBoxIndex !== undefined && canvasRef.current && allBoundingBoxes[focusedBBoxIndex]) {\n const targetBBox = allBoundingBoxes[focusedBBoxIndex]\n handleBoxSelection(targetBBox)\n const { zoomLevel: newZoom, panOffset: newPan } = calculateZoomForBBox(targetBBox, canvasRef.current)\n setHookZoomLevel(newZoom)\n setPanOffset(newPan)\n }\n !!setFocusedBBoxIndex && setFocusedBBoxIndex(undefined)\n }, [\n canvasRef,\n focusedBBoxIndex,\n allBoundingBoxes,\n setPanOffset,\n setHookZoomLevel,\n setFocusedBBoxIndex,\n handleBoxSelection,\n ])\n\n useEffect(() => {\n dispatch(clearUndoStack())\n dispatch(clearRedoStack())\n recenterImage()\n setShowTagSelector(false)\n setNewBoundingBox(null)\n dispatch(setSelectedBoundingBoxIndex(undefined))\n setFocusedBBoxIndex(undefined)\n }, [recenterImage, contentId, dispatch, setShowTagSelector, setNewBoundingBox, setFocusedBBoxIndex])\n\n useEffect(() => {\n if (popupState.show && floatingEditorRef.current) {\n const editor = floatingEditorRef.current\n const rect = editor.getBoundingClientRect()\n const viewportWidth = window.innerWidth\n const viewportHeight = window.innerHeight\n\n let { x, y } = popupState.position\n\n // Adjust x-position if the editor goes beyond the right edge of the viewport\n if (x + rect.width > viewportWidth) {\n x = viewportWidth - rect.width\n }\n\n // Adjust y-position if the editor goes beyond the bottom edge of the viewport\n if (y + rect.height > viewportHeight) {\n y = viewportHeight - rect.height\n }\n\n // Ensure the editor doesn't go beyond the left or top edge\n x = Math.max(0, x)\n y = Math.max(0, y)\n\n editor.style.left = `${x}px`\n editor.style.top = `${y}px`\n }\n }, [popupState])\n\n useEffect(() => {\n if (!selectedBBox) {\n setPopupState({\n show: false,\n position: { x: 0, y: 0 },\n box: null,\n })\n }\n }, [selectedBBox, setPopupState])\n\n // Expose functions via ref\n useImperativeHandle(\n ref,\n () => ({\n undo,\n redo,\n delete: () => handleBoxDelete(selectedBBox),\n recenterImage,\n setZoom: setHookZoomLevel,\n }),\n [undo, redo, handleBoxDelete, selectedBBox, recenterImage, setHookZoomLevel]\n )\n\n // Let the hook handle wheel events directly\n const handleWheel = useCallback(\n (e: React.WheelEvent) => {\n e.preventDefault() // Prevent page scroll\n internalHandleWheel(e)\n // Only notify parent of zoom changes from UI controls, not from wheel events\n },\n [internalHandleWheel]\n )\n\n useEffect(() => {\n const canvas = canvasRef.current\n if (!canvas) return\n\n // Add wheel event listener with passive: false\n const handleWheelEvent = (e: WheelEvent) => {\n e.preventDefault()\n internalHandleWheel(e as unknown as React.WheelEvent)\n }\n\n canvas.addEventListener('wheel', handleWheelEvent, { passive: false })\n\n return () => {\n canvas.removeEventListener('wheel', handleWheelEvent)\n }\n }, [canvasRef, internalHandleWheel])\n\n return (\n
\n {isImageLoading ? (\n \n
\n Loading...\n
\n
\n ) : (\n \n )}\n
\n
\n handleContrastSlider(0)}\n style={{ cursor: 'pointer' }}\n title=\"Reset contrast\"\n />\n handleContrastSlider(Number(e.target.value))}\n className=\"form-range\"\n title=\"Adjust image contrast\"\n />\n
\n
\n {showTagSelector && (\n \n )}\n
\n )\n }\n)\n\nImageAnnotationComponentV2.displayName = 'ImageAnnotationComponentV2'\n\nexport default ImageAnnotationComponentV2\n","// src/components/annotation/hooks/useImageAnnotation.ts\n\nimport { useState, useRef, useCallback, useEffect } from 'react'\nimport { useAppDispatch, useAppSelector } from '../../../store/hooks'\nimport {\n addBoundingBox,\n addRejectedBoundingBoxByIndex,\n popRedoStackItem,\n popUndoStackItem,\n pushRedoStackItem,\n pushUndoStackItem,\n resetAllBoundingBoxes,\n selectAcceptedBoundingBoxIndexes,\n selectAllBoundingBoxes,\n selectFilteredBoundingBoxesNew,\n selectRejectedBoundingBoxIndexes,\n selectTopRedoStackItem,\n selectTopUndoStackItem,\n setAcceptedBoundingBoxes,\n setAllBoundingBoxes,\n setRejectedBoundingBoxes,\n setSelectedBoundingBoxIndex,\n updateBoundingBox,\n addEditingTagId,\n setEditingTagIds,\n} from '../../../store/slices/annotationSlice'\nimport { normalizeBoundingBox } from '../../../utils'\nimport { AnnotationDataBoundingBox } from '../../../types/annotation'\nimport { Tag } from '../../../types/tag'\nimport { selectSelectedProjectId } from '../../../store/slices/projectSlice'\nimport { useGetProjectQuery } from '../../../services/projectsApi'\n\nexport interface MousePosition {\n x: number\n y: number\n}\n\nexport interface PopupState {\n show: boolean\n position: MousePosition\n box: AnnotationDataBoundingBox | null\n}\n\nexport const useImageAnnotation = (useBBoxes: boolean) => {\n // Used to reset the state\n const [isDrawing, setIsDrawing] = useState(false)\n const [newBoundingBox, setNewBoundingBox] = useState(null)\n const [selectedBBox, setSelectedBBox] = useState(null)\n const [resizingHandle, setResizingHandle] = useState(null)\n const [panOffset, setPanOffset] = useState({ x: 0, y: 0 })\n const [isPanning, setIsPanning] = useState(false)\n const [zoomLevel, setZoomLevel] = useState(0.85)\n // const [hoveredBox, setHoveredBox] = useState(null)\n\n const imageRef = useRef(null)\n const canvasRef = useRef(null)\n const lastPanPointRef = useRef({ x: 0, y: 0 })\n\n const [mousePosition, setMousePosition] = useState({ x: 0, y: 0 })\n const [showTagSelector, setShowTagSelector] = useState(false)\n const [contrast, setContrast] = useState(0)\n\n const filteredBoundingBoxes = useAppSelector(selectFilteredBoundingBoxesNew)\n\n const allBoundingBoxes = useAppSelector(selectAllBoundingBoxes)\n const rejectedBBoxes = useAppSelector(selectRejectedBoundingBoxIndexes)\n const acceptedBBoxes = useAppSelector(selectAcceptedBoundingBoxIndexes)\n\n const topUndoStackItem = useAppSelector(selectTopUndoStackItem)\n const topRedoStackItem = useAppSelector(selectTopRedoStackItem)\n\n const [tagSelectorPosition, setTagSelectorPosition] = useState({ x: 0, y: 0 })\n const [popupState, setPopupState] = useState({\n show: false,\n position: { x: 0, y: 0 },\n box: null,\n })\n\n const dispatch = useAppDispatch()\n const selectedProjectId = useAppSelector(selectSelectedProjectId)\n const { data: project } = useGetProjectQuery(selectedProjectId || '', { skip: !selectedProjectId })\n const isClassificationProject = project?.annotation_type === 'classification'\n\n const editingTagIds = useAppSelector((state) => state.annotation.editingTagIds)\n\n const getMousePos = useCallback(\n (e: React.MouseEvent): MousePosition => {\n if (!canvasRef.current) return { x: 0, y: 0 }\n\n const rect = canvasRef.current.getBoundingClientRect()\n const scaleX = canvasRef.current.width / rect.width\n const scaleY = canvasRef.current.height / rect.height\n\n const canvasX = (e.clientX - rect.left) * scaleX\n const canvasY = (e.clientY - rect.top) * scaleY\n\n let x = (canvasX - canvasRef.current.width / 2) / zoomLevel + canvasRef.current.width / 2 - panOffset.x\n let y = (canvasY - canvasRef.current.height / 2) / zoomLevel + canvasRef.current.height / 2 - panOffset.y\n\n x = x >= 0 ? (x < canvasRef.current.width ? x : canvasRef.current.width) : 0\n y = y >= 0 ? (y < canvasRef.current.height ? y : canvasRef.current.height) : 0\n setMousePosition({ x, y })\n\n return { x, y }\n },\n [zoomLevel, panOffset]\n )\n\n useEffect(() => {\n setPopupState({\n show: false,\n position: { x: 0, y: 0 },\n box: null,\n })\n const ctx = canvasRef?.current?.getContext('2d')\n if (ctx && imageRef.current) {\n ctx.drawImage(imageRef.current, 0, 0, ctx.canvas.width, ctx.canvas.height)\n }\n }, [canvasRef, imageRef])\n\n const recenterImage = useCallback(() => {\n setZoomLevel(0.85)\n setPanOffset({ x: 0, y: 0 })\n setContrast(0)\n setSelectedBBox(null)\n setIsDrawing(false)\n setNewBoundingBox(null)\n setShowTagSelector(false)\n }, [])\n\n const undo = useCallback(() => {\n if (topUndoStackItem) {\n if (isClassificationProject) {\n // For classification, store current editingTagIds in redo stack\n dispatch(\n pushRedoStackItem({\n editingTagIds: editingTagIds,\n rejected: [],\n accepted: [],\n all: [],\n })\n )\n // Restore previous editingTagIds from undo stack\n if (topUndoStackItem.editingTagIds) {\n dispatch(setEditingTagIds(topUndoStackItem.editingTagIds))\n }\n } else {\n // For bounding boxes, handle as before\n dispatch(\n pushRedoStackItem({\n accepted: acceptedBBoxes,\n rejected: rejectedBBoxes,\n all: [...allBoundingBoxes],\n })\n )\n\n const { accepted, rejected, all } = topUndoStackItem\n dispatch(setAllBoundingBoxes(all || []))\n dispatch(setRejectedBoundingBoxes(rejected || []))\n dispatch(setAcceptedBoundingBoxes(accepted || []))\n }\n dispatch(popUndoStackItem())\n }\n }, [\n acceptedBBoxes,\n allBoundingBoxes,\n dispatch,\n rejectedBBoxes,\n topUndoStackItem,\n isClassificationProject,\n editingTagIds,\n ])\n\n const redo = useCallback(() => {\n if (topRedoStackItem) {\n if (isClassificationProject) {\n // For classification, store current editingTagIds in undo stack\n dispatch(\n pushUndoStackItem({\n editingTagIds: editingTagIds,\n rejected: [],\n accepted: [],\n all: [],\n })\n )\n // Restore previous editingTagIds from redo stack\n if (topRedoStackItem.editingTagIds) {\n dispatch(setEditingTagIds(topRedoStackItem.editingTagIds))\n }\n } else {\n // For bounding boxes, handle as before\n dispatch(\n pushUndoStackItem({\n accepted: acceptedBBoxes,\n rejected: rejectedBBoxes,\n all: [...allBoundingBoxes],\n })\n )\n\n const { accepted, rejected, all } = topRedoStackItem\n dispatch(setAllBoundingBoxes(all || []))\n dispatch(setRejectedBoundingBoxes(rejected || []))\n dispatch(setAcceptedBoundingBoxes(accepted || []))\n }\n dispatch(popRedoStackItem())\n }\n }, [\n acceptedBBoxes,\n allBoundingBoxes,\n dispatch,\n rejectedBBoxes,\n topRedoStackItem,\n isClassificationProject,\n editingTagIds,\n ])\n\n const reset = useCallback(() => {\n dispatch(setRejectedBoundingBoxes([]))\n dispatch(setAcceptedBoundingBoxes([]))\n dispatch(resetAllBoundingBoxes())\n }, [dispatch])\n\n const removeAll = useCallback(() => {\n dispatch(\n pushUndoStackItem({ accepted: [...acceptedBBoxes], rejected: [...rejectedBBoxes], all: [...allBoundingBoxes] })\n )\n dispatch(setRejectedBoundingBoxes(allBoundingBoxes.map((b) => b.class_index)))\n }, [acceptedBBoxes, allBoundingBoxes, dispatch, rejectedBBoxes])\n\n const handleDoubleClick = useCallback(\n (e: React.MouseEvent) => {\n e.preventDefault()\n e.stopPropagation()\n const { x, y } = getMousePos(e)\n const clickedBox = filteredBoundingBoxes.find(\n (box) => x >= box.xmin && x <= box.xmax && y >= box.ymin && y <= box.ymax\n )\n\n if (clickedBox) {\n setPopupState({\n show: true,\n position: {\n x: e.clientX,\n y: e.clientY,\n },\n box: clickedBox,\n })\n }\n },\n [filteredBoundingBoxes, getMousePos]\n )\n\n const handleTagChange = useCallback(\n (newTag: Tag) => {\n if (popupState.box) {\n const updatedBBox = { ...popupState.box, name: newTag.id }\n dispatch(updateBoundingBox({ updatedBBox }))\n setPopupState((prev) => ({ ...prev, show: false, box: null }))\n }\n },\n [popupState.box, dispatch]\n )\n\n const removeBox = useCallback(\n (box: AnnotationDataBoundingBox) => {\n dispatch(\n pushUndoStackItem({ all: [...allBoundingBoxes], rejected: [...rejectedBBoxes], accepted: [...acceptedBBoxes] })\n )\n dispatch(addRejectedBoundingBoxByIndex(box.class_index))\n },\n [acceptedBBoxes, allBoundingBoxes, dispatch, rejectedBBoxes]\n )\n\n const handleBoxDelete = useCallback(\n (box: AnnotationDataBoundingBox | null) => {\n if (box) {\n if (popupState.box) {\n setPopupState((prev) => ({ ...prev, show: false, box: null }))\n }\n removeBox(box)\n }\n },\n [popupState.box, removeBox]\n )\n\n const handleClosePopup = useCallback(() => {\n setPopupState((prev) => ({ ...prev, show: false, box: null }))\n }, [])\n\n const handleCloseTagSelector = useCallback(() => {\n setShowTagSelector(false)\n setNewBoundingBox(null) // Clear the new box when tag selector is closed\n setIsDrawing(false) // Ensure drawing state is cleared\n }, [])\n\n const handleBoxSelection = useCallback(\n (box: AnnotationDataBoundingBox | null) => {\n if (!box) {\n setSelectedBBox(null)\n }\n if (!selectedBBox && box) {\n setSelectedBBox(box)\n dispatch(setSelectedBoundingBoxIndex(box?.class_index))\n } else if (box && selectedBBox) {\n if (\n mousePosition.x < selectedBBox.xmin ||\n mousePosition.y < selectedBBox.ymin ||\n mousePosition.x > selectedBBox.xmax ||\n mousePosition.y > selectedBBox.ymax\n ) {\n setSelectedBBox(box)\n dispatch(setSelectedBoundingBoxIndex(box?.class_index))\n }\n }\n },\n [dispatch, mousePosition.x, mousePosition.y, selectedBBox]\n )\n\n const handleBoxResize = useCallback(\n (e: React.MouseEvent) => {\n if (!selectedBBox || !resizingHandle) return\n\n const { x: ex, y: ey } = getMousePos(e)\n const x = Math.floor(ex)\n const y = Math.floor(ey)\n const updatedBBox = { ...selectedBBox } as AnnotationDataBoundingBox\n\n switch (resizingHandle) {\n case 'topLeft':\n updatedBBox.xmin = Math.min(x, selectedBBox.xmax)\n updatedBBox.ymin = Math.min(y, selectedBBox.ymax)\n break\n case 'topRight':\n updatedBBox.xmax = Math.max(x, selectedBBox.xmin)\n updatedBBox.ymin = Math.min(y, selectedBBox.ymax)\n break\n case 'bottomLeft':\n updatedBBox.xmin = Math.min(x, selectedBBox.xmax)\n updatedBBox.ymax = Math.max(y, selectedBBox.ymin)\n break\n case 'bottomRight':\n updatedBBox.xmax = Math.max(x, selectedBBox.xmin)\n updatedBBox.ymax = Math.max(y, selectedBBox.ymin)\n break\n }\n\n updatedBBox.confidence = undefined\n\n dispatch(updateBoundingBox({ updatedBBox }))\n setSelectedBBox(updatedBBox)\n dispatch(setSelectedBoundingBoxIndex(updatedBBox?.class_index))\n },\n [selectedBBox, resizingHandle, getMousePos, dispatch]\n )\n\n const getResizeHandle = useCallback(\n (box: AnnotationDataBoundingBox, mouseX: number, mouseY: number): string | null => {\n const handleSize = Math.min(40, 40 / zoomLevel) // Match the visual size for hit detection\n const handles = [\n { name: 'topLeft', x: box.xmin, y: box.ymin }, // Top-left\n { name: 'topRight', x: box.xmax - handleSize, y: box.ymin }, // Top-right\n { name: 'bottomLeft', x: box.xmin, y: box.ymax - handleSize }, // Bottom-left\n { name: 'bottomRight', x: box.xmax - handleSize, y: box.ymax - handleSize }, // Bottom-right\n ]\n\n for (const handle of handles) {\n // Check if the mouse is within the rectangle for each handle\n if (\n mouseX >= handle.x &&\n mouseX <= handle.x + handleSize &&\n mouseY >= handle.y &&\n mouseY <= handle.y + handleSize\n ) {\n return handle.name // Return the name of the handle if the mouse is over it\n }\n }\n return null // No handle found\n },\n [zoomLevel]\n )\n\n const boxHasSize = (bBox: AnnotationDataBoundingBox): boolean => {\n return bBox.xmax - bBox.xmin !== 0 && bBox.ymax - bBox.ymin !== 0\n }\n\n const handleMouseEvent = useCallback(\n (e: React.MouseEvent, eventType: 'down' | 'move' | 'up' | 'click' | 'context') => {\n const { x, y } = getMousePos(e)\n\n // Handle middle mouse button panning for all project types\n if (eventType === 'down' && e.button === 1) {\n setIsPanning(true)\n lastPanPointRef.current = { x: e.clientX, y: e.clientY }\n return\n }\n\n // Handle panning movement for all project types\n if (eventType === 'move' && isPanning) {\n const dx = (e.clientX - lastPanPointRef.current.x) / zoomLevel\n const dy = (e.clientY - lastPanPointRef.current.y) / zoomLevel\n setPanOffset((prev) => ({ x: prev.x + dx, y: prev.y + dy }))\n lastPanPointRef.current = { x: e.clientX, y: e.clientY }\n return\n }\n\n // Handle mouse up for all project types\n if (eventType === 'up') {\n setIsPanning(false)\n }\n\n // For classification projects, only handle left clicks to show tag selector\n if (isClassificationProject) {\n if (eventType === 'down' && e.button === 0) {\n const rect = canvasRef?.current?.getBoundingClientRect()\n if (rect) {\n let tagX = e.clientX - rect.left\n let tagY = e.clientY - rect.top\n\n // Adjust position to ensure tag selector is visible\n if (tagX + 250 > rect.width) {\n tagX = tagX - 250\n }\n\n // Check if mouse is in the bottom half of the viewport\n const isBottomHalf = e.clientY > window.innerHeight / 2\n\n // If in bottom half, show above mouse, otherwise show below\n if (isBottomHalf) {\n tagY = tagY - 20 // Show above mouse\n } else {\n tagY = tagY + 20 // Show below mouse\n }\n\n setTagSelectorPosition({ x: tagX, y: tagY })\n setShowTagSelector(true)\n }\n }\n return\n }\n\n if (useBBoxes && eventType === 'down' && e.button === 0) {\n let handle = undefined\n\n // check if mouse is in selectedBBox bounds\n if (\n selectedBBox &&\n x > selectedBBox.xmin &&\n x < selectedBBox.xmax &&\n y > selectedBBox.ymin &&\n y < selectedBBox.ymax\n ) {\n handle = getResizeHandle(selectedBBox, x, y)\n if (handle) {\n e.preventDefault() // Prevent other mouse events\n setResizingHandle(handle)\n }\n } else {\n // if not, get clicked box, if any...\n const clickedBox = filteredBoundingBoxes.find(\n (box) => x >= box.xmin && x <= box.xmax && y >= box.ymin && y <= box.ymax\n )\n if (clickedBox) {\n handleBoxSelection(clickedBox)\n const handle = getResizeHandle(clickedBox, x, y)\n if (handle) {\n e.preventDefault() // Prevent other mouse events\n setResizingHandle(handle)\n }\n } else {\n // Clear selection when clicking outside any box\n handleBoxSelection(null)\n dispatch(setSelectedBoundingBoxIndex(undefined))\n\n setIsDrawing(true)\n setNewBoundingBox({\n name: 'newBox',\n xmin: x,\n ymin: y,\n xmax: x,\n ymax: y,\n class_index: filteredBoundingBoxes.length,\n confidence: undefined,\n })\n }\n }\n\n setIsPanning(false) // Don't start panning when drawing\n lastPanPointRef.current = { x: e.clientX, y: e.clientY }\n } else if (eventType === 'move') {\n if (useBBoxes && isDrawing && newBoundingBox) {\n const newBox = {\n ...newBoundingBox,\n xmax: x,\n ymax: y,\n confidence: undefined,\n }\n setNewBoundingBox(newBox)\n } else if (useBBoxes && selectedBBox && resizingHandle) {\n e.preventDefault() // Prevent other mouse events\n handleBoxResize(e)\n }\n // else if (useBBoxes) {\n // // const hoveredBox =\n // // filteredBoundingBoxes.find((box) => x >= box.xmin && x <= box.xmax && y >= box.ymin && y <= box.ymax) ||\n // // null\n // // setHoveredBox(hoveredBox)\n // }\n } else if (eventType === 'up') {\n if (selectedBBox && resizingHandle) {\n setResizingHandle(null)\n dispatch(\n pushUndoStackItem({\n all: [...allBoundingBoxes],\n rejected: [...rejectedBBoxes],\n accepted: [...acceptedBBoxes],\n })\n )\n } else if (isDrawing && newBoundingBox) {\n // Only show tag selector if the box has a minimum size\n const minSize = 5 // Minimum size in pixels\n const hasMinSize =\n Math.abs(newBoundingBox.xmax - newBoundingBox.xmin) > minSize &&\n Math.abs(newBoundingBox.ymax - newBoundingBox.ymin) > minSize\n\n if (canvasRef?.current && hasMinSize) {\n const rect = canvasRef.current.getBoundingClientRect()\n // const centerX = rect.width / 2\n // const centerY = rect.height / 2\n\n let tagX = e.clientX - rect.left\n let tagY = e.clientY - rect.top\n\n // Adjust position to ensure tag selector is visible\n if (tagX + 250 > rect.width) {\n tagX = tagX - 250\n }\n\n // Check if mouse is in the bottom half of the viewport\n const isBottomHalf = e.clientY > window.innerHeight / 2\n\n // If in bottom half, show above mouse, otherwise show below\n if (isBottomHalf) {\n tagY = tagY - 20 // Show above mouse\n } else {\n tagY = tagY + 20 // Show below mouse\n }\n\n setTagSelectorPosition({ x: tagX, y: tagY })\n setShowTagSelector(true)\n setIsDrawing(false) // Stop drawing when showing tag selector\n } else {\n // Clear the box if it's too small\n setNewBoundingBox(null)\n setIsDrawing(false)\n }\n }\n\n setIsPanning(false)\n\n // Only clear the box if right-clicking or explicitly canceling\n if (e.button === 2) {\n setNewBoundingBox(null)\n setShowTagSelector(false)\n setIsDrawing(false)\n }\n } else if (eventType === 'context') {\n e.preventDefault()\n setShowTagSelector(false)\n // setHoveredBox(null)\n setNewBoundingBox(null)\n setIsDrawing(false)\n }\n },\n [\n getMousePos,\n useBBoxes,\n filteredBoundingBoxes,\n handleBoxSelection,\n getResizeHandle,\n isDrawing,\n newBoundingBox,\n selectedBBox,\n resizingHandle,\n isPanning,\n handleBoxResize,\n zoomLevel,\n dispatch,\n allBoundingBoxes,\n rejectedBBoxes,\n acceptedBBoxes,\n isClassificationProject,\n ]\n )\n\n const handleWheel = useCallback(\n (e: React.WheelEvent) => {\n e.preventDefault()\n if (!canvasRef.current) return\n\n const zoomSensitivity = 0.001\n const oldZoom = zoomLevel\n const newZoomLevel = zoomLevel * (1 - e.deltaY * zoomSensitivity)\n const clampedZoom = Math.max(0.5, Math.min(50, newZoomLevel)) // Limit zoom\n\n // Get mouse position relative to canvas\n const rect = canvasRef.current.getBoundingClientRect()\n const mouseX = e.clientX - rect.left\n const mouseY = e.clientY - rect.top\n\n // Calculate how the offset should change based on the mouse position\n const zoomFactor = clampedZoom / oldZoom\n const dx = ((mouseX - rect.width / 2) * (1 - 1 / zoomFactor)) / oldZoom\n const dy = ((mouseY - rect.height / 2) * (1 - 1 / zoomFactor)) / oldZoom\n\n // Update the pan offset to zoom towards the mouse position\n setPanOffset((prev) => ({\n x: prev.x - dx,\n y: prev.y - dy,\n }))\n\n setZoomLevel(clampedZoom)\n },\n [zoomLevel]\n )\n\n const handleTagSelect = useCallback(\n (tag: Tag) => {\n if (isClassificationProject) {\n // For classification, store current state before adding new tag\n dispatch(\n pushUndoStackItem({\n editingTagIds: [...editingTagIds],\n rejected: [],\n accepted: [],\n all: [],\n })\n )\n // Add the tag ID to editingTagIds\n dispatch(addEditingTagId(tag.id))\n setShowTagSelector(false)\n return\n }\n\n // Existing bounding box tag selection logic\n setPopupState({\n show: false,\n position: { x: 0, y: 0 },\n box: null,\n })\n\n if (useBBoxes && newBoundingBox) {\n const normalizedBoundingBox = normalizeBoundingBox(newBoundingBox)\n const flooredBox: AnnotationDataBoundingBox = {\n name: tag.id,\n xmin: Math.floor(normalizedBoundingBox.xmin),\n ymin: Math.floor(normalizedBoundingBox.ymin),\n xmax: Math.floor(normalizedBoundingBox.xmax),\n ymax: Math.floor(normalizedBoundingBox.ymax),\n class_index: allBoundingBoxes.length,\n }\n if (boxHasSize(flooredBox)) {\n // First store the current state for undo\n dispatch(\n pushUndoStackItem({\n all: [...allBoundingBoxes],\n rejected: [...rejectedBBoxes],\n accepted: [...acceptedBBoxes],\n })\n )\n // Then add the new box\n dispatch(addBoundingBox(flooredBox))\n }\n } else if (useBBoxes && selectedBBox) {\n // First store the current state for undo\n dispatch(\n pushUndoStackItem({\n all: [...allBoundingBoxes],\n rejected: [...rejectedBBoxes],\n accepted: [...acceptedBBoxes],\n })\n )\n dispatch(\n addBoundingBox({\n ...selectedBBox,\n name: tag.id,\n class_index: allBoundingBoxes.length,\n })\n )\n }\n // Always clean up drawing state\n setNewBoundingBox(null)\n setShowTagSelector(false)\n setIsDrawing(false)\n },\n [\n useBBoxes,\n newBoundingBox,\n selectedBBox,\n dispatch,\n allBoundingBoxes,\n rejectedBBoxes,\n acceptedBBoxes,\n isClassificationProject,\n editingTagIds,\n ]\n )\n\n return {\n canvasRef,\n imageRef,\n handleMouseEvent,\n handleWheel,\n zoomLevel,\n setZoomLevel,\n panOffset,\n setPanOffset,\n newBoundingBox,\n selectedBBox,\n setSelectedBBox,\n handleBoxSelection,\n setNewBoundingBox,\n handleTagSelect,\n mousePosition,\n showTagSelector,\n setShowTagSelector,\n tagSelectorPosition,\n recenterImage,\n undo,\n redo,\n reset,\n removeAll,\n contrast,\n setContrast,\n handleDoubleClick,\n popupState,\n setPopupState,\n handleTagChange,\n handleBoxDelete,\n removeBox,\n handleClosePopup,\n handleCloseTagSelector,\n }\n}\n","import React, { useEffect, useRef } from 'react'\nimport { useGetContentImageQuery } from '../../services/contentApi'\nimport { useAppSelector } from '../../store/hooks'\nimport { selectAllBoundingBoxes } from '../../store/slices/annotationSlice'\nimport { selectSelectedProjectId } from '../../store/slices/projectSlice'\nimport { useGetTagsQuery } from '../../services/tagApi'\nimport { getContrastYIQ } from '../../utils'\nimport { useGetProjectQuery } from '../../services/projectsApi'\n\ninterface AALSnippetProps {\n contentId: string\n bBoxIndex: number\n onClick?: () => void\n style?: React.CSSProperties\n}\n\nconst AALSnippet: React.FC = ({ contentId, bBoxIndex, onClick, style }) => {\n const selectedProjectId = useAppSelector(selectSelectedProjectId)\n const { data: project } = useGetProjectQuery(selectedProjectId || '', { skip: !selectedProjectId })\n const allBoundingBoxes = useAppSelector(selectAllBoundingBoxes)\n const canvasRef = useRef(null)\n\n const { data: imageUrl } = useGetContentImageQuery(\n {\n ContentID: contentId,\n project_id: selectedProjectId || '',\n dataset_id: project?.datasetid || '',\n },\n { skip: !contentId || !selectedProjectId || !project?.datasetid }\n )\n\n const { data: tags } = useGetTagsQuery(\n {\n project_id: selectedProjectId || '',\n dataset_id: project?.datasetid || '',\n },\n { skip: !selectedProjectId || !project?.datasetid }\n )\n\n useEffect(() => {\n if (!imageUrl || !allBoundingBoxes || bBoxIndex >= allBoundingBoxes.length) {\n return\n }\n\n const img = new Image()\n img.crossOrigin = 'anonymous'\n img.src = imageUrl\n\n img.onload = () => {\n const canvas = canvasRef.current\n if (!canvas) return\n const ctx = canvas.getContext('2d')\n if (!ctx) return\n\n const bbox = allBoundingBoxes[bBoxIndex]\n if (!bbox) return\n\n const tag = tags?.tags?.find((t) => t.id === bbox.name)\n const tagColor = tag ? `#${tag?.color.toString(16).padStart(6, '0').slice(0, 6)}` : 'rgba(255, 0, 0, 0.8)'\n // Calculate the center and dimensions of the bounding box\n const bboxCenterX = (bbox.xmin + bbox.xmax) / 2\n const bboxCenterY = (bbox.ymin + bbox.ymax) / 2\n const bboxWidth = bbox.xmax - bbox.xmin\n const bboxHeight = bbox.ymax - bbox.ymin\n\n // Calculate the zoom factor needed to make the bounding box content fit the canvas\n // Add some padding (20%) around the bounding box\n const padding = 1.2\n const zoomX = canvas.width / (bboxWidth * padding)\n const zoomY = canvas.height / (bboxHeight * padding)\n const zoom = Math.min(zoomX, zoomY)\n\n // Calculate the translation needed to center the bounding box\n const translateX = canvas.width / 2 - bboxCenterX * zoom\n const translateY = canvas.height / 2 - bboxCenterY * zoom\n\n // Clear canvas\n ctx.clearRect(0, 0, canvas.width, canvas.height)\n\n // Apply transformations\n ctx.save()\n ctx.translate(translateX, translateY)\n ctx.scale(zoom, zoom)\n\n // Draw the full image\n ctx.drawImage(img, 0, 0)\n\n // Draw bounding box\n ctx.strokeStyle = tagColor\n ctx.lineWidth = 2 / zoom // Adjust line width for zoom\n ctx.strokeRect(bbox.xmin, bbox.ymin, bboxWidth, bboxHeight)\n\n // Draw label with class name and confidence\n if (tag || bbox.confidence !== undefined) {\n const confidence =\n bbox.confidence !== undefined && bbox.confidence !== null\n ? `${((bbox.confidence ?? 0) * 100).toFixed(1)}%`\n : ''\n const className = tag?.name || ''\n const label = [className, confidence].filter(Boolean).join(' - ')\n\n // Use a fixed font size regardless of zoom\n const fontSize = 24\n ctx.font = `${fontSize}px Arial`\n ctx.fillStyle = tagColor\n\n const textWidth = ctx.measureText(label).width\n const labelHeight = fontSize + 4 // Fixed padding\n\n // Save current transform\n ctx.save()\n\n // Reset the transform for text to keep it consistent size\n ctx.setTransform(1, 0, 0, 1, 0, 0)\n\n // Convert bbox coordinates to screen coordinates\n const screenX = bbox.xmin * zoom + translateX\n const screenY = bbox.ymin * zoom + translateY - labelHeight\n\n // Draw label background with fixed size\n ctx.fillRect(\n screenX,\n screenY,\n textWidth + 8, // Fixed padding\n labelHeight\n )\n\n // Draw label text with fixed size\n ctx.fillStyle = getContrastYIQ(tagColor)\n ctx.fillText(\n label,\n screenX + 4, // Fixed padding\n screenY + fontSize // Align text vertically\n )\n\n // Restore transform for the rest of the drawing\n ctx.restore()\n }\n\n ctx.restore()\n }\n }, [imageUrl, allBoundingBoxes, bBoxIndex, tags?.tags])\n\n return (\n \n )\n}\n\nexport default AALSnippet\n","import React from 'react'\nimport { Tag } from '../types/tag'\nimport { getContrastYIQ } from '../utils'\nimport { useGetTagsQuery } from '../services/tagApi'\nimport { useAppSelector } from '../store/hooks'\nimport { selectSelectedProjectId } from '../store/slices/projectSlice'\nimport { useGetProjectQuery } from '../services/projectsApi'\n\n//\ninterface ClassPillsProps {\n handleTagRemove?: (event: React.MouseEvent) => void\n tagIds?: string[] | undefined\n tagNames?: string[] | undefined\n tagConfidence?: (string | number)[] | undefined\n className?: string\n maxTags?: number\n}\n\nconst PillsClassification: React.FC = ({\n tagIds,\n tagNames,\n tagConfidence,\n className,\n handleTagRemove,\n maxTags = 3,\n}) => {\n const selectedProjectId = useAppSelector(selectSelectedProjectId)\n const { data: project } = useGetProjectQuery(selectedProjectId || '', { skip: !selectedProjectId })\n const { data: tags } = useGetTagsQuery(\n {\n project_id: selectedProjectId || '',\n dataset_id: project?.datasetid || '',\n },\n { skip: !selectedProjectId || !project?.datasetid }\n )\n\n const renderPlusTag = (remainingCount: number) => {\n return (\n \n +{remainingCount}\n
\n )\n }\n\n return (\n
\n {tagNames &&\n tagNames.slice(0, maxTags).map((tagName, index) => {\n const fullTag = tags?.tags?.find((tag) => tag.name === tagName)\n const backgroundColor = `#${fullTag?.color.toString(16).padStart(6, '0').slice(0, 6) || '#ffffff'}`\n const textColor = getContrastYIQ(backgroundColor)\n\n return (\n \n {tagConfidence && {tagName + ' - ' + tagConfidence?.[index]}}\n {!tagConfidence && {tagName}}\n
\n )\n })}\n {tagNames && tagNames.length > maxTags && renderPlusTag(tagNames.length - maxTags)}\n\n {tagIds && (\n <>\n {tagIds.slice(0, maxTags).map((tagId, index) => {\n const tag = tags?.tags?.find((t: Tag) => t.id === tagId)\n if (!tag) return null\n\n const backgroundColor = `#${tag.color.toString(16).padStart(6, '0').slice(0, 6)}`\n const textColor = getContrastYIQ(backgroundColor)\n\n return (\n \n {tagConfidence && {tag.name + ' - ' + tagConfidence?.[index]}}\n {!tagConfidence && {tag.name}}\n
\n )\n })}\n {tagIds.length > maxTags && renderPlusTag(tagIds.length - maxTags)}\n \n )}\n
\n )\n}\n\nexport default PillsClassification\n","import React from 'react'\nimport AnnotationSnippet from './annotation/AALSnippet'\nimport { useGetTagsQuery } from '../services/tagApi'\nimport { selectSelectedProjectId } from '../store/slices/projectSlice'\nimport { useAppSelector } from '../store/hooks'\nimport { useGetProjectQuery } from '../services/projectsApi'\nimport PillsClassification from './PillsClassification'\n\ninterface SnippetWithOverlayProps {\n contentId: string\n index: number\n selectedSnippetIndex: number | undefined\n setSelectedSnippetIndex: (index: number | undefined) => void\n classificationNameId?: string | undefined\n}\n\nconst SnippetWithOverlay: React.FC = ({\n contentId,\n index,\n selectedSnippetIndex,\n setSelectedSnippetIndex,\n classificationNameId,\n}) => {\n const handleClick = (): void => {\n index === selectedSnippetIndex ? setSelectedSnippetIndex(undefined) : setSelectedSnippetIndex(index)\n }\n const projectId = useAppSelector(selectSelectedProjectId)\n const { data: project } = useGetProjectQuery(projectId || '', { skip: !projectId })\n\n const { data: tags } = useGetTagsQuery(\n {\n project_id: projectId || '',\n dataset_id: project?.datasetid || '',\n },\n { skip: !projectId || !project?.datasetid }\n )\n\n const classificaitonTag = tags?.tags.find((tag) => tag.id === classificationNameId)\n const isSelected = index === selectedSnippetIndex\n\n return (\n
\n \n {classificationNameId && (\n
\n \n
\n )}\n
\n )\n}\n\nexport default SnippetWithOverlay\n","import React, { useEffect, useMemo, useState, useRef, useCallback } from 'react'\nimport { useNavigate } from 'react-router-dom'\nimport { useAppDispatch, useAppSelector } from '../store/hooks'\n\nimport {\n ChevronLeft,\n ChevronRight,\n ZoomIn,\n ZoomOut,\n RotateCcw,\n Eye,\n EyeOff,\n Trash2,\n Redo,\n Undo,\n Square,\n} from 'lucide-react'\nimport { Row, Col, Button, Card, Tabs, Tab, Modal } from 'react-bootstrap'\nimport ImageAnnotationComponentV2, {\n ImageAnnotationComponentV2Handle,\n} from '../components/annotation/ImageAnnotationComponentV2'\nimport { useCreateAnnotationMutation } from '../services/annotationApi'\nimport { useViewContentQuery } from '../services/contentApi'\nimport {\n selectFilteredBoundingBoxesNew,\n clearAllBoundingBoxes,\n clearInitialBoundingBoxes,\n setInitialBoundingBoxes,\n setRejectedBoundingBoxes,\n setAcceptedBoundingBoxes,\n selectRejectedBoundingBoxes,\n selectAcceptedBoundingBoxes,\n selectAllUntouchedBoundingBoxes,\n mergeAllBoundingBoxes,\n selectedBoundingBoxIndex,\n setSelectedBoundingBoxIndex,\n} from '../store/slices/annotationSlice'\nimport { CreateBBoxAnnotationReq } from '../types/requests'\nimport { selectSelectedProjectId } from '../store/slices/projectSlice'\nimport { RootState } from '../store'\nimport { selectSelectedModelId } from '../store/slices/modelSlice'\nimport { AnnotationDataBoundingBox } from '../types/annotation'\nimport {\n selectEditingPrediction,\n setEditingPrediction,\n selectActiveConfidenceLevel,\n} from '../store/slices/predictionSlice'\nimport { useGetTagsQuery } from '../services/tagApi'\nimport { selectConfidenceThresholds } from '../store/slices/uiSettingsSlice'\nimport { selectDatasetSources } from '../store/slices/datasetSlice'\nimport { predictionApi, useQueryPredictionsQuery } from '../services/predictionApi'\nimport SnippetWithOverlay from '../components/SnippetWithOverlay'\nimport PillsDataset from '../components/PillsDataset'\nimport { QueryPredictionRequest } from '../types/prediction'\nimport { useGetModelQuery } from '../services/modelsApi'\nimport { useGetProjectQuery } from '../services/projectsApi'\nimport { apiTags } from '../services/apiTags'\n\nconst styles = `\n .annotation-item:hover {\n background-color: var(--tag-color) !important;\n }\n .tag-badge {\n background-color: var(--tag-color) !important;\n }\n`\n\nconst PredictionReview: React.FC = () => {\n const dispatch = useAppDispatch()\n const navigate = useNavigate()\n const [showSubmitModal, setShowSubmitModal] = useState(false)\n const [preloadedImage, setPreloadedImage] = useState(null)\n const [showNoMoreImagesModal, setShowNoMoreImagesModal] = useState(false)\n const [showShortcuts, setShowShortcuts] = useState(false)\n\n const filteredBoundingBoxes = useAppSelector(selectFilteredBoundingBoxesNew)\n const annotationRef = useRef(null)\n\n const [createAnnotation] = useCreateAnnotationMutation()\n\n const selectedProjectId = useAppSelector(selectSelectedProjectId)\n const { data: project } = useGetProjectQuery(selectedProjectId || '', { skip: !selectedProjectId })\n const selectedModelId = useAppSelector(selectSelectedModelId)\n const editingPrediction = useAppSelector(selectEditingPrediction)\n const datasetSources = useAppSelector(selectDatasetSources)\n\n const selectedPredictions = useAppSelector((state: RootState) => state.prediction.selectedPredictions)\n const selectedBBox = useAppSelector(selectedBoundingBoxIndex)\n\n const allUntouchedBBoxes = useAppSelector(selectAllUntouchedBoundingBoxes)\n const rejectedBBoxes = useAppSelector(selectRejectedBoundingBoxes)\n const acceptedBBoxes = useAppSelector(selectAcceptedBoundingBoxes)\n\n // No auto-selection on mount.\n // selectedSnippetIndex: the unique identifier (class_index) for the current snippet.\n // selectedSnippetArrayIndex: the position in the allUntouchedBBoxes array.\n const [selectedSnippetIndex, setSelectedSnippetIndex] = useState(undefined)\n const [selectedSnippetArrayIndex, setSelectedSnippetArrayIndex] = useState(-1)\n\n // A ref to always have the latest selected snippet index.\n const selectedSnippetIndexRef = useRef(selectedSnippetIndex)\n useEffect(() => {\n selectedSnippetIndexRef.current = selectedSnippetIndex\n }, [selectedSnippetIndex])\n\n const [showBBoxes, setShowBBoxes] = useState(true)\n const [zoomLevel, setZoomLevel] = useState(1)\n const [isDrawing, setIsDrawing] = useState(false)\n const [activeRightTab, setActiveRightTab] = useState('inspect')\n\n const [bboxThreshold] = useState(0.01)\n\n const { data: selectedModel } = useGetModelQuery(selectedModelId || '', { skip: !selectedModelId })\n\n const queryParams: QueryPredictionRequest = useMemo(\n () => ({\n query: {\n filters: [{ key: 'modelid', value: selectedModel?.id || '' }],\n sort_key: 'contentid',\n sort_val: -1,\n operator: 'and',\n page: 0,\n limit: 1000,\n },\n filter_annotated_content: {\n enable: true,\n projectid: selectedProjectId || '',\n datasetid: project?.datasetid || '',\n },\n uncertainty_threshold: bboxThreshold,\n ...(datasetSources && datasetSources.length > 0\n ? {\n metadata_filter: {\n datasource: datasetSources,\n },\n }\n : {}),\n }),\n [datasetSources, selectedProjectId, project?.datasetid, selectedModel?.id, bboxThreshold]\n )\n\n const { data: allPredictions } = useQueryPredictionsQuery(queryParams, {\n skip: !selectedModelId,\n })\n\n const confidenceRanges = useAppSelector(selectConfidenceThresholds)\n const activeConfidenceLevel = useAppSelector(selectActiveConfidenceLevel)\n\n const { data: tags } = useGetTagsQuery(\n {\n project_id: selectedProjectId || '',\n dataset_id: project?.datasetid || '',\n },\n { skip: !selectedProjectId || !project?.datasetid }\n )\n\n const { data: contentData } = useViewContentQuery(\n {\n ContentID: editingPrediction?.contentid || '',\n project_id: selectedProjectId || '',\n dataset_id: project?.datasetid || '',\n },\n { skip: !editingPrediction || !!preloadedImage }\n )\n\n // Add styles to document\n useEffect(() => {\n const styleSheet = document.createElement('style')\n styleSheet.innerText = styles\n document.head.appendChild(styleSheet)\n return () => {\n document.head.removeChild(styleSheet)\n }\n }, [])\n\n // Initialize bounding boxes from prediction data\n useEffect(() => {\n if (editingPrediction && tags?.tags) {\n const predBoundingBoxes = editingPrediction.predictions\n .map((bbox, index) => {\n if (project?.annotation_type === 'bounding_box') {\n return {\n name: tags.tags.find((t) => t.name === bbox.class_name)?.id,\n class_name: tags.tags.find((t) => t.name === bbox.class_name)?.id,\n xmin: bbox.bounding_boxes?.xmin,\n ymin: bbox.bounding_boxes?.ymin,\n xmax: bbox.bounding_boxes?.xmax,\n ymax: bbox.bounding_boxes?.ymax,\n confidence: bbox.confidence,\n class_index: index,\n } as AnnotationDataBoundingBox\n } else {\n return {\n name: tags.tags.find((t) => t.name === bbox.class_name)?.id,\n class_name: tags.tags.find((t) => t.name === bbox.class_name)?.id,\n xmin: 0,\n ymin: 0,\n xmax: 0,\n ymax: 0,\n confidence: bbox.confidence,\n class_index: index,\n } as AnnotationDataBoundingBox\n }\n })\n .filter((box) => box.name !== undefined)\n dispatch(mergeAllBoundingBoxes(predBoundingBoxes))\n dispatch(setInitialBoundingBoxes(predBoundingBoxes))\n if (predBoundingBoxes.length > 0) {\n dispatch(setSelectedBoundingBoxIndex(predBoundingBoxes[0].class_index))\n setSelectedSnippetIndex(predBoundingBoxes[0].class_index)\n setSelectedSnippetArrayIndex(predBoundingBoxes[0].class_index)\n }\n dispatch(setRejectedBoundingBoxes([]))\n dispatch(setAcceptedBoundingBoxes([]))\n }\n }, [editingPrediction, tags, project?.annotation_type, dispatch])\n\n const visibleBoundingBoxes = useMemo(() => {\n const EXPANDED_TAGS = new Set()\n if (selectedBBox !== undefined && selectedBBox !== null) {\n return filteredBoundingBoxes.filter((box) => box.class_index === selectedBBox)\n }\n if (EXPANDED_TAGS.size > 0 && tags?.tags) {\n return filteredBoundingBoxes.filter((box) => {\n const tag = tags.tags.find((t) => t.id === box.name)\n return tag && EXPANDED_TAGS.has(tag.id)\n })\n }\n return filteredBoundingBoxes\n }, [filteredBoundingBoxes, selectedBBox, tags?.tags])\n\n // const filteredPredictions = useMemo(() => {\n // if (!allPredictions?.predictions) return []\n // return allPredictions.predictions.filter((prediction) => {\n // const maxConfidence = Math.max(...prediction.predictions.map((pred) => pred.confidence || 0))\n // switch (activeConfidenceLevel) {\n // case 'high':\n // return maxConfidence >= confidenceRanges.high\n // case 'medium':\n // return maxConfidence >= confidenceRanges.medium && maxConfidence < confidenceRanges.high\n // case 'low':\n // return maxConfidence < confidenceRanges.medium\n // default:\n // return true\n // }\n // })\n // }, [allPredictions?.predictions, activeConfidenceLevel, confidenceRanges])\n\n const filteredPredictionsByConfidence = useMemo(() => {\n if (!allPredictions?.predictions) return []\n\n switch (activeConfidenceLevel) {\n case 'high':\n return allPredictions.predictions.filter((prediction) => {\n const maxConfidence = Math.max(...prediction.predictions.map((pred) => pred.confidence || 0))\n return maxConfidence >= confidenceRanges.high\n })\n case 'medium':\n return allPredictions.predictions.filter((prediction) => {\n const maxConfidence = Math.max(...prediction.predictions.map((pred) => pred.confidence || 0))\n return maxConfidence >= confidenceRanges.medium && maxConfidence < confidenceRanges.high\n })\n case 'low':\n return allPredictions.predictions.filter((prediction) => {\n const maxConfidence = Math.max(...prediction.predictions.map((pred) => pred.confidence || 0))\n return maxConfidence < confidenceRanges.medium\n })\n default:\n return []\n }\n }, [allPredictions?.predictions, activeConfidenceLevel, confidenceRanges])\n\n const handleNextImage = useCallback(() => {\n if (!editingPrediction || !filteredPredictionsByConfidence.length) return\n const currentIndex = filteredPredictionsByConfidence.findIndex((p) => p.id === editingPrediction.id)\n if (currentIndex > -1 && currentIndex < filteredPredictionsByConfidence.length - 1) {\n const nextPrediction = filteredPredictionsByConfidence[currentIndex + 1]\n\n // Reset all states before updating prediction\n dispatch(clearInitialBoundingBoxes())\n dispatch(clearAllBoundingBoxes())\n setSelectedSnippetIndex(undefined)\n setSelectedSnippetArrayIndex(-1)\n dispatch(setSelectedBoundingBoxIndex(undefined))\n dispatch(setRejectedBoundingBoxes([]))\n dispatch(setAcceptedBoundingBoxes([]))\n\n // Update prediction data\n dispatch(setEditingPrediction(nextPrediction))\n } else {\n setShowNoMoreImagesModal(true)\n }\n }, [editingPrediction, filteredPredictionsByConfidence, dispatch])\n\n const handlePrevImage = useCallback(() => {\n if (!editingPrediction || !filteredPredictionsByConfidence.length) return\n const currentIndex = filteredPredictionsByConfidence.findIndex((p) => p.id === editingPrediction.id)\n if (currentIndex > 0) {\n const prevPrediction = filteredPredictionsByConfidence[currentIndex - 1]\n\n // Reset all states before updating prediction\n dispatch(clearInitialBoundingBoxes())\n dispatch(clearAllBoundingBoxes())\n setSelectedSnippetIndex(undefined)\n setSelectedSnippetArrayIndex(-1)\n dispatch(setSelectedBoundingBoxIndex(undefined))\n dispatch(setRejectedBoundingBoxes([]))\n dispatch(setAcceptedBoundingBoxes([]))\n\n // Update prediction data\n dispatch(setEditingPrediction(prevPrediction))\n }\n }, [editingPrediction, filteredPredictionsByConfidence, dispatch])\n\n const handleAcceptPredictions = useCallback(async () => {\n if (editingPrediction) {\n try {\n const annotationTagIds: string[] = Array.from(new Set(filteredBoundingBoxes.map((a) => a.name)))\n const annoToCreate: CreateBBoxAnnotationReq = {\n content_id: editingPrediction.contentid || '',\n dataset_id: project?.datasetid || '',\n metadata: project?.annotation_type === 'bounding_box' ? { bounding_boxes: filteredBoundingBoxes } : undefined,\n project_id: selectedProjectId || '',\n tag_id: annotationTagIds,\n model_id: selectedModelId || '',\n }\n await createAnnotation(annoToCreate)\n // Refetch predictions to update the list\n dispatch(predictionApi.util.invalidateTags([apiTags.PredictionList, apiTags.Prediction]))\n } catch (error) {\n console.error('Failed to create annotation:', error)\n }\n handleNextImage()\n } else {\n for (const prediction of selectedPredictions) {\n try {\n await createAnnotation({\n content_id: prediction.contentid,\n dataset_id: project?.datasetid || '',\n project_id: selectedProjectId || '',\n tag_id: prediction.predictions.map((p) => p.tagid),\n model_id: selectedModelId || '',\n metadata:\n project?.annotation_type === 'bounding_box'\n ? {\n bounding_boxes: prediction.predictions.flatMap((p) =>\n p.bounding_boxes ? Object.values(p.bounding_boxes) : []\n ),\n }\n : undefined,\n })\n dispatch(predictionApi.util.invalidateTags([apiTags.PredictionList, apiTags.Prediction]))\n } catch (error) {\n console.error('Failed to create annotation:', error)\n }\n }\n }\n }, [\n editingPrediction,\n handleNextImage,\n filteredBoundingBoxes,\n project?.datasetid,\n project?.annotation_type,\n selectedProjectId,\n selectedModelId,\n createAnnotation,\n dispatch,\n selectedPredictions,\n ])\n\n const handleZoomIn = () => {\n const newZoom = Math.min(zoomLevel * 1.2, 5)\n setZoomLevel(newZoom)\n if (annotationRef.current) {\n annotationRef.current.setZoom(newZoom)\n }\n }\n\n const handleZoomOut = () => {\n const newZoom = Math.max(zoomLevel / 1.2, 0.2)\n setZoomLevel(newZoom)\n if (annotationRef.current) {\n annotationRef.current.setZoom(newZoom)\n }\n }\n\n const handleResetZoom = () => {\n setZoomLevel(0.85)\n annotationRef.current?.recenterImage?.()\n }\n\n const handleUndo = () => {\n annotationRef.current?.undo()\n }\n\n const handleRedo = () => {\n annotationRef.current?.redo()\n }\n\n const handleDelete = () => {\n annotationRef.current?.delete()\n }\n\n // const handleDrawBox = () => {\n // setIsDrawing(!isDrawing)\n // }\n\n // Keyboard helper functions for accepting and rejecting while staying in Inspect.\n const handleAcceptBoxKey = useCallback(\n (box: AnnotationDataBoundingBox, e: React.MouseEvent | KeyboardEvent) => {\n e.stopPropagation()\n // Remove from rejected if it's there\n const newRejectedBoxes = rejectedBBoxes.filter((b) => b.class_index !== box.class_index)\n dispatch(setRejectedBoundingBoxes(newRejectedBoxes.map((b) => b.class_index)))\n\n const newAcceptedBoxes = [...acceptedBBoxes, box]\n dispatch(setAcceptedBoundingBoxes(newAcceptedBoxes.map((b) => b.class_index)))\n\n const remainingBoxes = allUntouchedBBoxes.filter(\n (b) =>\n !newAcceptedBoxes.some((ab) => ab.class_index === b.class_index) &&\n !newRejectedBoxes.some((rb) => rb.class_index === b.class_index) &&\n b.class_index !== box.class_index\n )\n if (remainingBoxes.length > 0) {\n const nextBox = remainingBoxes[0]\n setSelectedSnippetIndex(nextBox.class_index)\n dispatch(setSelectedBoundingBoxIndex(nextBox.class_index))\n setSelectedSnippetArrayIndex(allUntouchedBBoxes.findIndex((b) => b.class_index === nextBox.class_index))\n } else {\n setSelectedSnippetIndex(undefined)\n dispatch(setSelectedBoundingBoxIndex(undefined))\n setSelectedSnippetArrayIndex(-1)\n }\n },\n [acceptedBBoxes, allUntouchedBBoxes, rejectedBBoxes, dispatch]\n )\n\n const handleRejectBoxKey = useCallback(\n (box: AnnotationDataBoundingBox, e: React.MouseEvent | KeyboardEvent) => {\n e.stopPropagation()\n // Remove from accepted if it's there\n const newAcceptedBoxes = acceptedBBoxes.filter((b) => b.class_index !== box.class_index)\n dispatch(setAcceptedBoundingBoxes(newAcceptedBoxes.map((b) => b.class_index)))\n\n const newRejectedBoxes = [...rejectedBBoxes, box]\n dispatch(setRejectedBoundingBoxes(newRejectedBoxes.map((b) => b.class_index)))\n\n const remainingBoxes = allUntouchedBBoxes.filter(\n (b) =>\n !newAcceptedBoxes.some((ab) => ab.class_index === b.class_index) &&\n !newRejectedBoxes.some((rb) => rb.class_index === b.class_index) &&\n b.class_index !== box.class_index\n )\n if (remainingBoxes.length > 0) {\n const nextBox = remainingBoxes[0]\n setSelectedSnippetIndex(nextBox.class_index)\n dispatch(setSelectedBoundingBoxIndex(nextBox.class_index))\n setSelectedSnippetArrayIndex(allUntouchedBBoxes.findIndex((b) => b.class_index === nextBox.class_index))\n } else {\n setSelectedSnippetIndex(undefined)\n dispatch(setSelectedBoundingBoxIndex(undefined))\n setSelectedSnippetArrayIndex(-1)\n }\n },\n [acceptedBBoxes, allUntouchedBBoxes, rejectedBBoxes, dispatch]\n )\n\n // Keyboard shortcut handler\n useEffect(() => {\n const handleKeyPress = (e: KeyboardEvent) => {\n console.log('\\n=== Key Press Event ===')\n console.log('Key pressed:', e.key, 'Active tab:', activeRightTab)\n console.log('State:', {\n selectedSnippetArrayIndex,\n currentBox: selectedSnippetIndex,\n totalBoxes: allUntouchedBBoxes.length,\n boxes: allUntouchedBBoxes.map((b) => b.class_index),\n })\n if (['s', 'a', 'd', 'w', 'q', 'e'].includes(e.key.toLowerCase())) {\n e.preventDefault()\n }\n if (activeRightTab !== 'inspect') {\n console.log('Not in inspect tab, ignoring shortcut')\n return\n }\n\n // Handle Enter key and S key when modal is shown\n if (showSubmitModal) {\n if (e.key === 'Enter' || e.key.toLowerCase() === 's') {\n e.preventDefault()\n handleAcceptPredictions()\n setShowSubmitModal(false)\n return\n }\n if (e.key.toLowerCase() === 'd') {\n e.preventDefault()\n setShowSubmitModal(false)\n dispatch(clearInitialBoundingBoxes())\n dispatch(clearAllBoundingBoxes())\n handleNextImage()\n return\n }\n return\n }\n\n switch (e.key.toLowerCase()) {\n case 'q': {\n handlePrevImage()\n break\n }\n case 'e': {\n handleNextImage()\n break\n }\n case 's': {\n console.log('\\n=== S Key Handler ===')\n let newArrayIndex: number\n\n // If there are no more snippets to inspect, show submit modal\n if (allUntouchedBBoxes.length === 0) {\n setShowSubmitModal(true)\n return\n }\n\n // If no snippet is selected, select the first snippet.\n if (selectedSnippetArrayIndex === -1) {\n newArrayIndex = 0\n } else if (selectedSnippetArrayIndex < allUntouchedBBoxes.length - 1) {\n newArrayIndex = selectedSnippetArrayIndex + 1\n } else {\n // If at the end, wrap back to the first snippet\n newArrayIndex = 0\n }\n\n const selectedBox = allUntouchedBBoxes[newArrayIndex]\n console.log('New array index:', newArrayIndex, 'class_index:', selectedBox?.class_index)\n\n setSelectedSnippetArrayIndex(newArrayIndex)\n setSelectedSnippetIndex(selectedBox?.class_index)\n dispatch(setSelectedBoundingBoxIndex(selectedBox?.class_index))\n break\n }\n case 'a': {\n let index = selectedSnippetArrayIndex\n if (index < 0 || index >= allUntouchedBBoxes.length) {\n index = 0\n }\n const currentBox = allUntouchedBBoxes[index]\n if (currentBox) {\n handleAcceptBoxKey(currentBox, e)\n }\n break\n }\n case 'd': {\n let index = selectedSnippetArrayIndex\n if (index < 0 || index >= allUntouchedBBoxes.length) {\n index = 0\n }\n const currentBox = allUntouchedBBoxes[index]\n if (currentBox) {\n handleRejectBoxKey(currentBox, e)\n }\n break\n }\n case 'w': {\n if (selectedSnippetArrayIndex > 0) {\n const newIndex = selectedSnippetArrayIndex - 1\n console.log(\n 'W key: moving to previous snippet. New array index:',\n newIndex,\n 'class_index:',\n allUntouchedBBoxes[newIndex]?.class_index\n )\n setSelectedSnippetArrayIndex(newIndex)\n setSelectedSnippetIndex(allUntouchedBBoxes[newIndex]?.class_index)\n } else {\n console.log('W key: already at the first snippet, cannot move back')\n }\n break\n }\n default:\n break\n }\n }\n window.addEventListener('keydown', handleKeyPress)\n return () => window.removeEventListener('keydown', handleKeyPress)\n }, [\n activeRightTab,\n selectedSnippetArrayIndex,\n selectedSnippetIndex,\n allUntouchedBBoxes,\n acceptedBBoxes,\n rejectedBBoxes,\n dispatch,\n handleAcceptBoxKey,\n handleRejectBoxKey,\n showSubmitModal,\n handleAcceptPredictions,\n handleNextImage,\n handlePrevImage,\n ])\n\n return (\n
\n
\n
\n
\n \n {/* Column 1: Canvas Tools */}\n \n \n\n
\n {/* Image Navigation */}\n
\n
Image Navigation
\n
\n
\n {\n e.currentTarget.style.backgroundColor = 'rgba(0, 183, 255, 0.2)'\n e.currentTarget.style.borderColor = 'rgba(0, 183, 255, 0.4)'\n }}\n onMouseLeave={(e) => {\n e.currentTarget.style.backgroundColor = 'rgba(0, 183, 255, 0.1)'\n e.currentTarget.style.borderColor = 'rgba(0, 183, 255, 0.3)'\n }}\n >\n \n Previous\n \n {\n e.currentTarget.style.backgroundColor = 'rgba(0, 183, 255, 0.2)'\n e.currentTarget.style.borderColor = 'rgba(0, 183, 255, 0.4)'\n }}\n onMouseLeave={(e) => {\n e.currentTarget.style.backgroundColor = 'rgba(0, 183, 255, 0.1)'\n e.currentTarget.style.borderColor = 'rgba(0, 183, 255, 0.3)'\n }}\n >\n Next\n \n \n
\n \n
\n
\n\n {/* Canvas Navigation */}\n
\n
Zoom Controls
\n
\n {\n e.currentTarget.style.backgroundColor = 'rgba(0, 183, 255, 0.2)'\n e.currentTarget.style.borderColor = 'rgba(0, 183, 255, 0.4)'\n }}\n onMouseLeave={(e) => {\n e.currentTarget.style.backgroundColor = 'rgba(0, 183, 255, 0.1)'\n e.currentTarget.style.borderColor = 'rgba(0, 183, 255, 0.3)'\n }}\n >\n \n Zoom In\n \n {\n e.currentTarget.style.backgroundColor = 'rgba(0, 183, 255, 0.2)'\n e.currentTarget.style.borderColor = 'rgba(0, 183, 255, 0.4)'\n }}\n onMouseLeave={(e) => {\n e.currentTarget.style.backgroundColor = 'rgba(0, 183, 255, 0.1)'\n e.currentTarget.style.borderColor = 'rgba(0, 183, 255, 0.3)'\n }}\n >\n \n Zoom Out\n \n {\n e.currentTarget.style.backgroundColor = 'rgba(0, 183, 255, 0.2)'\n e.currentTarget.style.borderColor = 'rgba(0, 183, 255, 0.4)'\n }}\n onMouseLeave={(e) => {\n e.currentTarget.style.backgroundColor = 'rgba(0, 183, 255, 0.1)'\n e.currentTarget.style.borderColor = 'rgba(0, 183, 255, 0.3)'\n }}\n >\n \n Reset Zoom\n \n
\n
\n\n {/* Annotation Tools */}\n
\n
Annotation
\n
\n {\n e.currentTarget.style.backgroundColor = 'rgba(138, 43, 226, 0.2)'\n e.currentTarget.style.borderColor = 'rgba(138, 43, 226, 0.4)'\n }}\n onMouseLeave={(e) => {\n e.currentTarget.style.backgroundColor = 'rgba(138, 43, 226, 0.1)'\n e.currentTarget.style.borderColor = 'rgba(138, 43, 226, 0.3)'\n }}\n >\n \n Undo\n \n {\n e.currentTarget.style.backgroundColor = 'rgba(138, 43, 226, 0.2)'\n e.currentTarget.style.borderColor = 'rgba(138, 43, 226, 0.4)'\n }}\n onMouseLeave={(e) => {\n e.currentTarget.style.backgroundColor = 'rgba(138, 43, 226, 0.1)'\n e.currentTarget.style.borderColor = 'rgba(138, 43, 226, 0.3)'\n }}\n >\n \n Redo\n \n {project?.annotation_type === 'bounding_box' && (\n <>\n {\n e.currentTarget.style.backgroundColor = 'rgba(255, 69, 58, 0.2)'\n e.currentTarget.style.borderColor = 'rgba(255, 69, 58, 0.4)'\n }}\n onMouseLeave={(e) => {\n e.currentTarget.style.backgroundColor = 'rgba(255, 69, 58, 0.1)'\n e.currentTarget.style.borderColor = 'rgba(255, 69, 58, 0.3)'\n }}\n >\n \n Delete\n \n \n )}\n
\n
\n\n {/* View Options */}\n
\n
View Options
\n
\n setShowBBoxes(!showBBoxes)}\n style={{\n backgroundColor: showBBoxes ? 'rgba(138, 43, 226, 0.8)' : 'rgba(138, 43, 226, 0.1)',\n borderColor: showBBoxes ? 'rgba(138, 43, 226, 1)' : 'rgba(138, 43, 226, 0.3)',\n color: '#fff',\n transition: 'all 0.2s ease-in-out',\n }}\n onMouseEnter={(e) => {\n if (!showBBoxes) {\n e.currentTarget.style.backgroundColor = 'rgba(138, 43, 226, 0.2)'\n e.currentTarget.style.borderColor = 'rgba(138, 43, 226, 0.4)'\n }\n }}\n onMouseLeave={(e) => {\n if (!showBBoxes) {\n e.currentTarget.style.backgroundColor = 'rgba(138, 43, 226, 0.1)'\n e.currentTarget.style.borderColor = 'rgba(138, 43, 226, 0.3)'\n }\n }}\n >\n {showBBoxes ? (\n <>\n \n Hide Boxes\n \n ) : (\n <>\n \n Show Boxes\n \n )}\n \n
\n
\n\n {/* Dataset Info */}\n {contentData?.metadata?.datasource && (\n
\n
Dataset
\n \n
\n )}\n
\n \n\n {/* Column 2: Main Canvas */}\n \n \n {editingPrediction && (\n
\n Annotator\n \n
\n )}\n \n \n\n {/* Column 3: Tags and Snippets */}\n \n {editingPrediction && (\n
\n \n e.stopPropagation()}\n >\n setActiveRightTab(k || 'inspect')}\n id=\"prediction-tabs\"\n className=\"mb-3\"\n >\n \n \n
\n setShowShortcuts(!showShortcuts)}\n >\n
Keyboard Shortcuts
\n {showShortcuts ? '▼' : '▶'}\n
\n {showShortcuts && (\n
\n
\n Navigation\n
\n
\n Q\n Previous Image\n
\n
\n E\n Next Image\n
\n
\n
\n
\n Snippet Controls\n
\n
\n S\n Select/Next\n
\n
\n W\n Previous\n
\n
\n A\n Accept\n
\n
\n D\n Reject\n
\n
\n
\n
\n )}\n
\n {allUntouchedBBoxes.map((box, index) => (\n {\n setSelectedSnippetIndex(box.class_index)\n dispatch(setSelectedBoundingBoxIndex(box.class_index))\n setSelectedSnippetArrayIndex(index)\n }}\n >\n
\n
\n {\n setSelectedSnippetIndex(box.class_index)\n setSelectedSnippetArrayIndex(index)\n }}\n classificationNameId={\n project?.annotation_type === 'classification' ? box.class_name : undefined\n }\n />\n
\n \n handleAcceptBoxKey(box, e)}\n className=\"flex-grow-1 w-100\"\n >\n Accept\n \n handleRejectBoxKey(box, e)}\n className=\"flex-grow-1 w-100\"\n >\n Reject\n \n
\n
\n
\n ))}\n
\n \n \n \n {acceptedBBoxes.map((box, index) => (\n {\n setSelectedSnippetIndex(box.class_index)\n dispatch(setSelectedBoundingBoxIndex(box.class_index))\n setSelectedSnippetArrayIndex(\n allUntouchedBBoxes.findIndex((b) => b.class_index === box.class_index)\n )\n }}\n >\n
\n
\n {\n setSelectedSnippetIndex(box.class_index)\n setSelectedSnippetArrayIndex(\n allUntouchedBBoxes.findIndex((b) => b.class_index === box.class_index)\n )\n }}\n />\n
\n \n handleRejectBoxKey(box, e)}\n className=\"flex-grow-1 w-100\"\n >\n Reject\n \n
\n
\n
\n ))}\n \n \n \n \n {rejectedBBoxes.map((box, index) => (\n {\n setSelectedSnippetIndex(box.class_index)\n dispatch(setSelectedBoundingBoxIndex(box.class_index))\n setSelectedSnippetArrayIndex(\n allUntouchedBBoxes.findIndex((b) => b.class_index === box.class_index)\n )\n }}\n >\n
\n
\n {\n setSelectedSnippetIndex(box.class_index)\n setSelectedSnippetArrayIndex(\n allUntouchedBBoxes.findIndex((b) => b.class_index === box.class_index)\n )\n }}\n />\n
\n \n handleAcceptBoxKey(box, e)}\n className=\"flex-grow-1 w-100\"\n >\n Accept\n \n
\n \n \n ))}\n \n
\n \n \n \n \n )}\n \n \n \n \n \n setShowSubmitModal(false)} centered>\n \n Review Complete\n \n \n

All predictions have been reviewed. What would you like to do?

\n

\n Press S (or Enter) to submit and continue, D to skip without submitting, or Escape to cancel\n

\n
\n \n \n {\n setShowSubmitModal(false)\n dispatch(clearInitialBoundingBoxes())\n dispatch(clearAllBoundingBoxes())\n handleNextImage()\n }}\n >\n Skip Without Submitting (D)\n \n {\n handleAcceptPredictions()\n setShowSubmitModal(false)\n }}\n >\n Submit and Continue (S)\n \n \n
\n setShowNoMoreImagesModal(false)} centered>\n \n No More Images\n \n \n

You have reached the end of the available images to review.

\n
\n \n \n \n
\n \n )\n}\n\nexport default PredictionReview\n","import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name Atom\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxIiAvPgogIDxwYXRoIGQ9Ik0yMC4yIDIwLjJjMi4wNC0yLjAzLjAyLTcuMzYtNC41LTExLjktNC41NC00LjUyLTkuODctNi41NC0xMS45LTQuNS0yLjA0IDIuMDMtLjAyIDcuMzYgNC41IDExLjkgNC41NCA0LjUyIDkuODcgNi41NCAxMS45IDQuNVoiIC8+CiAgPHBhdGggZD0iTTE1LjcgMTUuN2M0LjUyLTQuNTQgNi41NC05Ljg3IDQuNS0xMS45LTIuMDMtMi4wNC03LjM2LS4wMi0xMS45IDQuNS00LjUyIDQuNTQtNi41NCA5Ljg3LTQuNSAxMS45IDIuMDMgMi4wNCA3LjM2LjAyIDExLjktNC41WiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/atom\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Atom = createLucideIcon('Atom', [\n ['circle', { cx: '12', cy: '12', r: '1', key: '41hilf' }],\n [\n 'path',\n {\n d: 'M20.2 20.2c2.04-2.03.02-7.36-4.5-11.9-4.54-4.52-9.87-6.54-11.9-4.5-2.04 2.03-.02 7.36 4.5 11.9 4.54 4.52 9.87 6.54 11.9 4.5Z',\n key: '1l2ple',\n },\n ],\n [\n 'path',\n {\n d: 'M15.7 15.7c4.52-4.54 6.54-9.87 4.5-11.9-2.03-2.04-7.36-.02-11.9 4.5-4.52 4.54-6.54 9.87-4.5 11.9 2.03 2.04 7.36.02 11.9-4.5Z',\n key: '1wam0m',\n },\n ],\n]);\n\nexport default Atom;\n","import React, { useEffect, useRef } from 'react'\nimport { useGetContentImageQuery } from '../../services/contentApi'\nimport { useAppSelector } from '../../store/hooks'\nimport { selectAllBoundingBoxes } from '../../store/slices/annotationSlice'\nimport { selectSelectedProjectId } from '../../store/slices/projectSlice'\nimport { useGetTagsQuery } from '../../services/tagApi'\nimport { getContrastYIQ } from '../../utils'\nimport { useGetProjectQuery } from '../../services/projectsApi'\n\ninterface AnnotationThumbnailProps {\n contentId: string\n bBoxIndex: number\n onClick?: () => void\n style?: React.CSSProperties\n}\n\nconst AnnotationThumbnail: React.FC = ({ contentId, bBoxIndex, onClick, style }) => {\n const selectedProjectId = useAppSelector(selectSelectedProjectId)\n const allBoundingBoxes = useAppSelector(selectAllBoundingBoxes)\n const canvasRef = useRef(null)\n\n const { data: project } = useGetProjectQuery(selectedProjectId || '', { skip: !selectedProjectId })\n\n const { data: imageUrl } = useGetContentImageQuery(\n {\n ContentID: contentId,\n project_id: selectedProjectId || '',\n dataset_id: project?.datasetid || '',\n },\n { skip: !contentId || !selectedProjectId || !project?.datasetid }\n )\n\n const { data: tags } = useGetTagsQuery(\n {\n project_id: selectedProjectId || '',\n dataset_id: project?.datasetid || '',\n },\n { skip: !selectedProjectId || !project?.datasetid }\n )\n\n useEffect(() => {\n if (!imageUrl || !allBoundingBoxes || bBoxIndex >= allBoundingBoxes.length) {\n return\n }\n\n const img = new Image()\n img.crossOrigin = 'anonymous'\n img.src = imageUrl\n\n img.onload = () => {\n const canvas = canvasRef.current\n if (!canvas) return\n const ctx = canvas.getContext('2d')\n if (!ctx) return\n\n const bbox = allBoundingBoxes[bBoxIndex]\n if (!bbox) return\n\n const tag = tags?.tags?.find((t) => t.id === bbox.name)\n const tagColor = tag ? `#${tag?.color.toString(16).padStart(6, '0').slice(0, 6)}` : 'rgba(255, 0, 0, 0.8)'\n\n // Calculate the center and dimensions of the bounding box\n const bboxCenterX = (bbox.xmin + bbox.xmax) / 2\n const bboxCenterY = (bbox.ymin + bbox.ymax) / 2\n const bboxWidth = bbox.xmax - bbox.xmin\n const bboxHeight = bbox.ymax - bbox.ymin\n\n // Calculate the zoom factor needed to make the bounding box content fit the canvas\n // Add some padding (20%) around the bounding box\n const padding = 1.2\n const zoomX = canvas.width / (bboxWidth * padding)\n const zoomY = canvas.height / (bboxHeight * padding)\n const zoom = Math.min(zoomX, zoomY)\n\n // Calculate the translation needed to center the bounding box\n const translateX = canvas.width / 2 - bboxCenterX * zoom\n const translateY = canvas.height / 2 - bboxCenterY * zoom\n\n // Clear canvas\n ctx.clearRect(0, 0, canvas.width, canvas.height)\n\n // Apply transformations\n ctx.save()\n ctx.translate(translateX, translateY)\n ctx.scale(zoom, zoom)\n\n // Draw the full image\n ctx.drawImage(img, 0, 0)\n\n // Draw bounding box\n ctx.strokeStyle = tagColor\n ctx.lineWidth = 3 / zoom // Slightly thicker line for better visibility\n ctx.strokeRect(bbox.xmin, bbox.ymin, bboxWidth, bboxHeight)\n\n // Draw label with class name and confidence\n if (tag || bbox.confidence !== undefined) {\n const confidence =\n bbox.confidence !== undefined && bbox.confidence !== null ? `${(bbox.confidence * 100).toFixed(1)}%` : ''\n const className = tag?.name || ''\n const label = [className, confidence].filter(Boolean).join(' - ')\n\n // Use a fixed font size regardless of zoom\n const fontSize = Math.max(24, Math.min(32, canvas.width / 16)) // Larger font size range\n ctx.font = `${fontSize}px Arial`\n ctx.fillStyle = tagColor\n\n const textWidth = ctx.measureText(label).width\n const labelHeight = fontSize + 4 // Fixed padding\n\n // Save current transform\n ctx.save()\n\n // Reset the transform for text to keep it consistent size\n ctx.setTransform(1, 0, 0, 1, 0, 0)\n\n // Convert bbox coordinates to screen coordinates\n const screenX = bbox.xmin * zoom + translateX\n const screenY = bbox.ymin * zoom + translateY - labelHeight\n\n // Draw label background with fixed size\n ctx.fillRect(\n screenX,\n screenY,\n textWidth + 8, // Fixed padding\n labelHeight\n )\n\n // Draw label text with fixed size\n ctx.fillStyle = getContrastYIQ(tagColor)\n ctx.fillText(\n label,\n screenX + 4, // Fixed padding\n screenY + fontSize // Align text vertically\n )\n\n // Restore transform for the rest of the drawing\n ctx.restore()\n }\n\n ctx.restore()\n }\n }, [imageUrl, allBoundingBoxes, bBoxIndex, tags?.tags])\n\n return (\n \n )\n}\n\nexport default AnnotationThumbnail\n","import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name Cpu\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHg9IjQiIHk9IjQiIHJ4PSIyIiAvPgogIDxyZWN0IHdpZHRoPSI2IiBoZWlnaHQ9IjYiIHg9IjkiIHk9IjkiIHJ4PSIxIiAvPgogIDxwYXRoIGQ9Ik0xNSAydjIiIC8+CiAgPHBhdGggZD0iTTE1IDIwdjIiIC8+CiAgPHBhdGggZD0iTTIgMTVoMiIgLz4KICA8cGF0aCBkPSJNMiA5aDIiIC8+CiAgPHBhdGggZD0iTTIwIDE1aDIiIC8+CiAgPHBhdGggZD0iTTIwIDloMiIgLz4KICA8cGF0aCBkPSJNOSAydjIiIC8+CiAgPHBhdGggZD0iTTkgMjB2MiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/cpu\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Cpu = createLucideIcon('Cpu', [\n ['rect', { width: '16', height: '16', x: '4', y: '4', rx: '2', key: '14l7u7' }],\n ['rect', { width: '6', height: '6', x: '9', y: '9', rx: '1', key: '5aljv4' }],\n ['path', { d: 'M15 2v2', key: '13l42r' }],\n ['path', { d: 'M15 20v2', key: '15mkzm' }],\n ['path', { d: 'M2 15h2', key: '1gxd5l' }],\n ['path', { d: 'M2 9h2', key: '1bbxkp' }],\n ['path', { d: 'M20 15h2', key: '19e6y8' }],\n ['path', { d: 'M20 9h2', key: '19tzq7' }],\n ['path', { d: 'M9 2v2', key: '165o2o' }],\n ['path', { d: 'M9 20v2', key: 'i2bqo8' }],\n]);\n\nexport default Cpu;\n","import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name Zap\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNCAxNGExIDEgMCAwIDEtLjc4LTEuNjNsOS45LTEwLjJhLjUuNSAwIDAgMSAuODYuNDZsLTEuOTIgNi4wMkExIDEgMCAwIDAgMTMgMTBoN2ExIDEgMCAwIDEgLjc4IDEuNjNsLTkuOSAxMC4yYS41LjUgMCAwIDEtLjg2LS40NmwxLjkyLTYuMDJBMSAxIDAgMCAwIDExIDE0eiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/zap\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Zap = createLucideIcon('Zap', [\n [\n 'path',\n {\n d: 'M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z',\n key: '1xq2db',\n },\n ],\n]);\n\nexport default Zap;\n","import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name Maximize2\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cG9seWxpbmUgcG9pbnRzPSIxNSAzIDIxIDMgMjEgOSIgLz4KICA8cG9seWxpbmUgcG9pbnRzPSI5IDIxIDMgMjEgMyAxNSIgLz4KICA8bGluZSB4MT0iMjEiIHgyPSIxNCIgeTE9IjMiIHkyPSIxMCIgLz4KICA8bGluZSB4MT0iMyIgeDI9IjEwIiB5MT0iMjEiIHkyPSIxNCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/maximize-2\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Maximize2 = createLucideIcon('Maximize2', [\n ['polyline', { points: '15 3 21 3 21 9', key: 'mznyad' }],\n ['polyline', { points: '9 21 3 21 3 15', key: '1avn1i' }],\n ['line', { x1: '21', x2: '14', y1: '3', y2: '10', key: 'ota7mn' }],\n ['line', { x1: '3', x2: '10', y1: '21', y2: '14', key: '1atl0r' }],\n]);\n\nexport default Maximize2;\n","import React, { useState } from 'react'\nimport { Modal, Badge, Button, Row, Col, Form } from 'react-bootstrap'\nimport { Box, CheckCircle, X, Cpu, Zap, Maximize2 } from 'lucide-react'\nimport { Model } from '../../types/model'\nimport { Tag } from '../../types/tag'\nimport { ListModelResp } from '../../types/responses'\n\ninterface SelectModelModalProps {\n show: boolean\n onHide: () => void\n selectedInferenceModel: Model | null\n setSelectedInferenceModel: (model: Model) => void\n modelsData: ListModelResp | undefined\n tagsData: { tags: Tag[]; total: number } | undefined\n projectAnnotationType: string\n}\n\nconst SelectModelModal: React.FC = ({\n show,\n onHide,\n selectedInferenceModel,\n setSelectedInferenceModel,\n modelsData,\n tagsData,\n projectAnnotationType,\n}) => {\n const [showDetails, setShowDetails] = useState(false)\n const [selectedModelDetails, setSelectedModelDetails] = useState(null)\n const [filterText, setFilterText] = useState('')\n\n const getModelDetails = () => {\n return {\n architecture: 'YOLOv8-Large',\n framework: 'PyTorch 2.0',\n input_size: '1024x1024',\n parameters: '43.7M params',\n specializations: [\n 'Small object detection optimization',\n 'Scale-variant feature extraction',\n 'Aerial perspective adaptation',\n 'Multi-resolution processing',\n ],\n fine_tuning: [\n 'Custom anchor optimization',\n 'Domain-specific augmentations',\n 'Modified loss function weights',\n 'Specialized NMS parameters',\n ],\n }\n }\n\n const filteredModels =\n modelsData?.models?.filter(\n (model) =>\n model.deployment?.status.toLowerCase() === 'in_service' &&\n model.name.toLowerCase().includes(filterText.toLowerCase())\n ) || []\n\n return (\n \n \n Model Assisted Labeling\n \n \n \n \n {showDetails && (\n \n
\n \n {selectedModelDetails && (\n
\n

{selectedModelDetails.name}

\n

Deployed model optimized for production use

\n\n
\n

Technical Specifications

\n
\n
\n \n
\n Architecture\n {getModelDetails().architecture}\n
\n
\n
\n \n
\n Framework\n {getModelDetails().framework}\n
\n
\n
\n \n
\n Input Size\n {getModelDetails().input_size}\n
\n
\n
\n
\n\n
\n

Trained Classes

\n {(() => {\n const modelTags =\n tagsData?.tags?.filter((tag) => tag.datasetid === selectedModelDetails.datasetid) || []\n return modelTags.length > 0 ? (\n \n {modelTags.map((tag) => {\n const colorHex = `#${tag.color.toString(16).padStart(6, '0')}`\n return (\n \n {tag.name}\n
\n )\n })}\n
\n ) : (\n
\n No trained classes available\n
\n )\n })()}\n
\n \n )}\n \n \n )}\n \n
\n \n
\n \n setFilterText(e.target.value)}\n className=\"search-input\"\n />\n
\n
\n
\n\n
\n
\n

Deployed Models

\n \n {filteredModels.map((model) => {\n return (\n
\n {\n setSelectedModelDetails(model)\n setSelectedInferenceModel(model)\n setShowDetails(true)\n }}\n >\n {selectedInferenceModel?.id === model.id && (\n \n \n Selected\n
\n )}\n \n \n \n
\n\n \n \n {model.name}\n \n

Deployed model optimized for production use

\n
\n {projectAnnotationType === 'classification' ? (\n <>\n \n Accuracy:{' '}\n {typeof model.metrics['validation:accuracy'] === 'number'\n ? `${(Number(model.metrics['validation:accuracy'] || 0) * 100).toFixed(1)}%`\n : 'N/A'}\n \n \n Precision:{' '}\n {typeof model.metrics['validation:precision'] === 'number'\n ? `${(Number(model.metrics['validation:precision'] || 0) * 100).toFixed(1)}%`\n : 'N/A'}\n \n \n F1:{' '}\n {typeof model.metrics['validation:f1'] === 'number'\n ? `${(Number(model.metrics['validation:f1'] || 0) * 100).toFixed(1)}%`\n : 'N/A'}\n \n \n ) : (\n <>\n \n mAP50:{' '}\n {typeof model.metrics['validation:mAP50'] === 'number'\n ? `${(Number(model.metrics['validation:mAP50'] || 0) * 100).toFixed(1)}%`\n : 'N/A'}\n \n \n Precision:{' '}\n {typeof model.metrics['validation:precision'] === 'number'\n ? `${(Number(model.metrics['validation:precision'] || 0) * 100).toFixed(1)}%`\n : 'N/A'}\n \n \n Recall:{' '}\n {typeof model.metrics['validation:recall'] === 'number'\n ? `${(Number(model.metrics['validation:recall'] || 0) * 100).toFixed(1)}%`\n : 'N/A'}\n \n \n )}\n
\n
\n Created: {new Date(model.created_at).toLocaleDateString()}\n
\n \n \n \n )\n })}\n {(!modelsData?.models || filteredModels.length === 0) && (\n
\n
No deployed models available
\n Please deploy a model to use inference\n
\n )}\n \n \n \n \n
\n
\n \n {\n if (selectedModelDetails) {\n setSelectedInferenceModel(selectedModelDetails)\n onHide()\n }\n }}\n disabled={!selectedModelDetails}\n className=\"launch-model-btn\"\n >\n Use Model\n \n \n
\n )\n}\n\nexport default SelectModelModal\n","import React, { useEffect, useMemo, useState, useRef, useCallback } from 'react'\nimport { useNavigate } from 'react-router-dom'\nimport { useAppDispatch, useAppSelector } from '../store/hooks'\nimport {\n BoxIcon,\n ChevronLeft,\n ChevronRight,\n Undo,\n Redo,\n ZoomIn,\n ZoomOut,\n Trash2,\n Eye,\n EyeOff,\n RotateCcw,\n X,\n Box,\n Atom,\n} from 'lucide-react'\nimport { Row, Col, Button, Card, Tabs, Tab, Badge } from 'react-bootstrap'\nimport ImageAnnotationComponentV2, {\n ImageAnnotationComponentV2Handle,\n} from '../components/annotation/ImageAnnotationComponentV2'\nimport { Content } from '../types/content'\n\nimport { useCreateAnnotationMutation, useDeleteAnnotationMutation } from '../services/annotationApi'\nimport { useFetchAnnotatedContentQuery, useViewContentQuery, useGetContentImageQuery } from '../services/contentApi'\nimport { useFetchModelsQuery, useRunRealtimeInferenceMutation } from '../services/modelsApi'\nimport { Model } from '../types/model'\nimport { PredictionMetadata } from '../types/prediction'\nimport {\n selectFilteredBoundingBoxesNew,\n clearAllBoundingBoxes,\n selectSelectedContentId,\n selectUnannotatedPage,\n selectAnnotatedPage,\n selectEditingContent,\n setEditingContent,\n setSelectedContentId,\n clearInitialBoundingBoxes,\n setInitialBoundingBoxes,\n setRejectedBoundingBoxes,\n setAcceptedBoundingBoxes,\n mergeAllBoundingBoxes,\n selectedBoundingBoxIndex,\n setSelectedBoundingBoxIndex,\n selectEditingTagIds,\n clearEditingTagIds,\n setEditingTagIds,\n} from '../store/slices/annotationSlice'\nimport { CreateBBoxAnnotationReq } from '../types/requests'\nimport { selectActiveTab, selectFilterTags, selectSelectedProjectId } from '../store/slices/projectSlice'\nimport { useGetProjectQuery } from '../services/projectsApi'\nimport { RootState } from '../store'\nimport { AnnotationDataBoundingBox } from '../types/annotation'\nimport { useGetTagsQuery } from '../services/tagApi'\nimport { selectDatasetSources } from '../store/slices/datasetSlice'\nimport PillsDataset from '../components/PillsDataset'\nimport { parseColorToRGBA } from '../utils'\nimport { useQueryTagsQuery } from '../services/tagApi'\nimport AnnotationThumbnail from '../components/annotation/AnnotationSnippet'\nimport SelectModelModal from '../components/modals/SelectModelModal'\nimport { selectSelectedModelId } from '../store/slices/modelSlice'\nimport { Tag } from '../types/tag'\nimport ConfirmDialog from '../components/modals/ConfirmDialog'\n\nconst styles = `\n .annotation-item:hover {\n background-color: var(--tag-color) !important;\n }\n .tag-badge {\n background-color: var(--tag-color) !important;\n }\n`\n\nconst customTabsStyle = `\n .custom-tabs {\n border-bottom: 1px solid #333;\n }\n \n .custom-tabs .nav-item .nav-link {\n color: #888;\n background: transparent;\n border: none;\n padding: 0.75rem 1rem;\n transition: all 0.2s ease-in-out;\n position: relative;\n }\n \n .custom-tabs .nav-item .nav-link:hover {\n color: #fff;\n background: transparent;\n border: none;\n }\n \n .custom-tabs .nav-item .nav-link.active {\n color: #fff;\n background: transparent;\n border: none;\n }\n \n .custom-tabs .nav-item .nav-link.active::after {\n content: '';\n position: absolute;\n bottom: -1px;\n left: 0;\n width: 100%;\n height: 2px;\n background: rgba(128, 0, 255, 0.8);\n box-shadow: 0 0 8px rgba(128, 0, 255, 0.4);\n }\n\n .model-tag-badge.badge {\n background-color: var(--bs-badge-bg) !important;\n color: var(--bs-badge-color) !important;\n }\n`\n\nconst AnnotationsReview: React.FC = () => {\n const dispatch = useAppDispatch()\n const navigate = useNavigate()\n\n const selectedProjectId = useAppSelector(selectSelectedProjectId)\n const { data: project } = useGetProjectQuery(selectedProjectId || '', { skip: !selectedProjectId })\n const filteredBoundingBoxes = useAppSelector(selectFilteredBoundingBoxesNew)\n const editingTagIds = useAppSelector(selectEditingTagIds)\n const selectedModelId = useAppSelector(selectSelectedModelId)\n\n const [createAnnotation] = useCreateAnnotationMutation()\n const { data: modelsData } = useFetchModelsQuery(\n { project_id: selectedProjectId || '' },\n { skip: !selectedProjectId }\n )\n const [selectedInferenceModel, setSelectedInferenceModel] = useState(null)\n const [inferenceLoading, setInferenceLoading] = useState(false)\n const [runInference] = useRunRealtimeInferenceMutation()\n\n const selectedPredictions = useAppSelector((state: RootState) => state.prediction.selectedPredictions)\n const selectedFilterTags = useAppSelector(selectFilterTags) as Tag[]\n const selectedBBox = useAppSelector(selectedBoundingBoxIndex)\n\n const activeTab = useAppSelector(selectActiveTab)\n const selectedContentId = useAppSelector(selectSelectedContentId)\n\n const annotatedPage = useAppSelector(selectAnnotatedPage)\n const unAnnotatedPage = useAppSelector(selectUnannotatedPage)\n\n const datasetSources = useAppSelector(selectDatasetSources)\n const editingContent = useAppSelector(selectEditingContent)\n\n const { data: tags } = useGetTagsQuery(\n {\n project_id: selectedProjectId || '',\n dataset_id: project?.datasetid || '',\n },\n { skip: !selectedProjectId || !project?.datasetid }\n )\n\n const [queryDatasets, setQueryDatasets] = useState(undefined)\n const [selectedSnippetIndex, setSelectedSnippetIndex] = useState(undefined)\n const [turnIntoContent, setTurnIntoContent] = useState(false)\n const { data: contentData } = useViewContentQuery(\n {\n ContentID: selectedContentId || '',\n project_id: selectedProjectId || '',\n dataset_id: project?.datasetid || '',\n },\n {\n skip: !selectedContentId,\n }\n )\n\n const [deleteAnnotation] = useDeleteAnnotationMutation()\n\n const [showBBoxes, setShowBBoxes] = useState(true)\n const [zoomLevel, setZoomLevel] = useState(1)\n const [activeRightTab, setActiveRightTab] = useState('tags')\n const [selectedTagId, setSelectedTagId] = useState(null)\n\n const annotationRef = useRef(null)\n\n const [expandedTags, setExpandedTags] = useState>(new Set())\n\n const [hoveredBoxIndex, setHoveredBoxIndex] = useState(undefined)\n\n const [showConfirmDeleteAllAnnotations, setShowConfirmDeleteAllAnnotations] = useState(false)\n\n // Add content image query\n const { data: imageUrl } = useGetContentImageQuery(\n {\n ContentID: contentData?.id || '',\n project_id: selectedProjectId || '',\n dataset_id: project?.datasetid || '',\n },\n { skip: !contentData?.id || !selectedProjectId || !project?.datasetid }\n )\n\n const [showModelSelector, setShowModelSelector] = useState(false)\n\n // Get all unique dataset IDs from the models\n const datasetIds = useMemo(() => {\n return Array.from(new Set(modelsData?.models?.map((model) => model.datasetid) || []))\n }, [modelsData])\n\n // Query tags for all datasets\n const { data: tagsData } = useQueryTagsQuery(\n {\n page: 0,\n limit: 1000,\n filters: [\n {\n key: 'datasetid',\n value: datasetIds.join('|'),\n regex: {\n enable: true,\n options: 'i',\n },\n },\n ],\n },\n { skip: datasetIds.length === 0 }\n )\n\n useEffect(() => {\n if (datasetSources && datasetSources.length > 0) {\n setQueryDatasets(datasetSources)\n } else {\n setQueryDatasets(undefined)\n }\n }, [dispatch, datasetSources])\n\n useEffect(() => {\n // Add the styles to the document\n const styleSheet = document.createElement('style')\n styleSheet.innerText = styles\n document.head.appendChild(styleSheet)\n\n // Cleanup\n return () => {\n document.head.removeChild(styleSheet)\n }\n }, [])\n\n useEffect(() => {\n // Add the styles to the document\n const styleSheet = document.createElement('style')\n styleSheet.innerText = customTabsStyle\n document.head.appendChild(styleSheet)\n\n // Cleanup\n return () => {\n document.head.removeChild(styleSheet)\n }\n }, [])\n\n // Memoized Values\n\n const annotatedContentArgs = useMemo(\n () => ({\n project_id: selectedProjectId || '',\n dataset_id: project?.datasetid || '',\n limit: 100,\n page: annotatedPage - 1,\n metadata_filter: { datasource: queryDatasets },\n sort_key: 'updated_at',\n sort_val: -1,\n tag_id:\n activeTab === 'annotated' &&\n selectedFilterTags &&\n selectedFilterTags.length > 0 &&\n !selectedFilterTags.some((tag: Tag) => tag.name === 'Unlabeled')\n ? selectedFilterTags.map((t: Tag) => t.id)\n : undefined,\n }),\n [selectedProjectId, project?.datasetid, annotatedPage, queryDatasets, activeTab, selectedFilterTags]\n )\n\n const unannotatedContentArgs = useMemo(\n () => ({\n project_id: selectedProjectId || '',\n dataset_id: undefined,\n limit: 100,\n page: unAnnotatedPage - 1,\n metadata_filter: { datasource: queryDatasets },\n sort_key: 'updated_at',\n sort_val: -1,\n }),\n [selectedProjectId, unAnnotatedPage, queryDatasets]\n )\n\n const annotatedContentQuery = useMemo(\n () => ({\n skip: activeTab !== 'annotated',\n }),\n [activeTab]\n )\n\n const unannotatedContentQuery = useMemo(\n () => ({\n skip: activeTab !== 'content',\n }),\n [activeTab]\n )\n\n const { data: annotatedContent } = useFetchAnnotatedContentQuery(annotatedContentArgs, annotatedContentQuery)\n const { data: unannotatedContent } = useFetchAnnotatedContentQuery(unannotatedContentArgs, unannotatedContentQuery)\n\n // Update the memoized filtered content to handle both direct navigation and filtered views\n const filteredContent = useMemo(() => {\n const contentToProcess =\n activeTab === 'annotated' ? annotatedContent?.content || [] : unannotatedContent?.content || []\n\n if (\n selectedFilterTags &&\n selectedFilterTags.length > 0 &&\n selectedFilterTags.some((tag: Tag) => tag.name === 'Unlabeled')\n ) {\n return contentToProcess?.filter((content) => {\n return content.annotation?.[0] && (!content.annotation[0].tagids || content.annotation[0].tagids.length === 0)\n })\n }\n return contentToProcess\n }, [activeTab, annotatedContent?.content, unannotatedContent?.content, selectedFilterTags])\n\n // Update the memoized visible boxes to filter by both tag and box index\n const visibleBoundingBoxes = useMemo(() => {\n // If a specific box is selected, only show that box\n if (selectedBBox !== undefined && selectedBBox !== null) {\n return filteredBoundingBoxes.filter((box) => box.class_index === selectedBBox)\n }\n\n // If tags are expanded, show all boxes for those tags\n if (expandedTags.size > 0 && tags?.tags) {\n return filteredBoundingBoxes.filter((box) => {\n const tag = tags.tags.find((t) => t.id === box.name)\n return tag && expandedTags.has(tag.id)\n })\n }\n\n // If no tag is expanded and no box is selected, show all boxes\n return filteredBoundingBoxes\n }, [filteredBoundingBoxes, expandedTags, selectedBBox, tags?.tags])\n\n // Handler for tag click in Available Tags\n\n // Handler for clicking on a Current tag\n const handleCurrentTagClick = useCallback(\n (box: AnnotationDataBoundingBox) => {\n // If clicking the same box, clear the selection\n if (selectedBBox === box.class_index) {\n dispatch(setSelectedBoundingBoxIndex(undefined))\n } else {\n // Select the new box\n dispatch(setSelectedBoundingBoxIndex(box.class_index))\n }\n },\n [dispatch, selectedBBox]\n )\n\n // Add function to filter boxes based on selected tag\n\n useEffect(() => {\n if (project?.annotation_type === 'classification') {\n // For classification projects, set editingTagIds from existing annotation\n const existingTagIds = editingContent?.annotation?.[0]?.tagids || []\n dispatch(setEditingTagIds(existingTagIds))\n } else {\n // For bounding box projects, handle bounding boxes as before\n const bBoxes = editingContent?.annotation?.[0]?.metadata?.bounding_boxes?.map(\n (bbox: AnnotationDataBoundingBox, index) => {\n if (project?.annotation_type === 'bounding_box') {\n return {\n name: bbox.name,\n xmin: bbox.xmin,\n ymin: bbox.ymin,\n xmax: bbox.xmax,\n ymax: bbox.ymax,\n confidence: bbox.confidence,\n class_index: index,\n } as AnnotationDataBoundingBox\n } else {\n return {\n name: tags?.tags?.find((t) => t.name === bbox.class_name)?.id,\n xmin: 0,\n ymin: 0,\n xmax: 0,\n ymax: 0,\n confidence: bbox.confidence,\n class_index: index,\n } as AnnotationDataBoundingBox\n }\n }\n )\n dispatch(mergeAllBoundingBoxes(bBoxes ? [...bBoxes] : []))\n dispatch(setInitialBoundingBoxes(bBoxes ? [...bBoxes] : []))\n dispatch(setRejectedBoundingBoxes([]))\n dispatch(setAcceptedBoundingBoxes([]))\n }\n }, [editingContent, tags, project?.annotation_type, dispatch])\n\n const handleNextImage = () => {\n if (!filteredContent || filteredContent.length === 0) return\n\n const currentIndex = filteredContent.findIndex((content) => content.id === selectedContentId)\n if (currentIndex === -1) {\n // If current image is not in filtered set, start from the beginning\n const firstContent = filteredContent[0]\n if (firstContent) {\n resetStatesAndNavigate(firstContent)\n }\n return\n }\n\n if (currentIndex >= filteredContent.length - 1) return\n\n const nextContent = filteredContent[currentIndex + 1]\n if (nextContent) {\n resetStatesAndNavigate(nextContent)\n }\n }\n\n const handlePrevImage = () => {\n if (!filteredContent || filteredContent.length === 0) return\n\n const currentIndex = filteredContent.findIndex((content) => content.id === selectedContentId)\n if (currentIndex === -1) {\n // If current image is not in filtered set, start from the end\n const lastContent = filteredContent[filteredContent.length - 1]\n if (lastContent) {\n resetStatesAndNavigate(lastContent)\n }\n return\n }\n\n if (currentIndex <= 0) return\n\n const prevContent = filteredContent[currentIndex - 1]\n if (prevContent) {\n resetStatesAndNavigate(prevContent)\n }\n }\n\n // Helper function to reset states and navigate to new content\n const resetStatesAndNavigate = (content: Content) => {\n // Reset all states\n dispatch(clearAllBoundingBoxes())\n dispatch(clearInitialBoundingBoxes())\n dispatch(clearEditingTagIds())\n setSelectedSnippetIndex(undefined)\n dispatch(setSelectedBoundingBoxIndex(undefined))\n setSelectedTagId(null)\n setExpandedTags(new Set())\n\n // Set the new content\n dispatch(setEditingContent(content))\n dispatch(setSelectedContentId(content.id))\n }\n\n const annotationTagIds = useMemo(() => {\n return project?.annotation_type === 'classification'\n ? editingTagIds\n : Array.from(new Set(filteredBoundingBoxes.map((a) => a.name)))\n }, [project?.annotation_type, editingTagIds, filteredBoundingBoxes])\n\n const handleAcceptCurrentAnnotations = async (turnIntoContent = false) => {\n if (editingContent) {\n try {\n if (turnIntoContent) {\n try {\n deleteAnnotation({\n id: editingContent?.annotation?.[0]?.id || '',\n dataset_id: project?.datasetid || '',\n project_id: selectedProjectId || '',\n })\n setTurnIntoContent(false)\n } catch (error) {\n console.error('Failed to create content:', error)\n }\n } else {\n // Create annotation request CreateAnnotationReq\n const annoToCreate: CreateBBoxAnnotationReq = {\n content_id: selectedContentId || '',\n dataset_id: project?.datasetid || '',\n metadata:\n project?.annotation_type === 'bounding_box' ? { bounding_boxes: filteredBoundingBoxes } : undefined,\n project_id: selectedProjectId || '',\n tag_id: annotationTagIds,\n model_id: selectedModelId || '',\n }\n await createAnnotation(annoToCreate)\n }\n\n // Reset all states\n dispatch(clearAllBoundingBoxes())\n dispatch(clearInitialBoundingBoxes())\n dispatch(clearEditingTagIds())\n setSelectedSnippetIndex(undefined)\n dispatch(setSelectedBoundingBoxIndex(undefined))\n setSelectedTagId(null)\n setExpandedTags(new Set())\n\n // If there are no more images to annotate, go back to the gallery\n if (!filteredContent || filteredContent.length <= 1) {\n navigate(-1)\n return\n }\n\n handleNextImage()\n // // Otherwise, move to the next image\n // const nextContent = filteredContent.find((c) => c.id !== selectedContentId)\n // if (nextContent) {\n // dispatch(setEditingContent(nextContent))\n // dispatch(setSelectedContentId(nextContent.id))\n // }\n } catch (error) {\n console.error('Failed to create annotation:', error)\n }\n } else {\n for (const prediction of selectedPredictions) {\n try {\n await createAnnotation({\n content_id: prediction.contentid,\n dataset_id: selectedInferenceModel?.datasetid || '',\n project_id: selectedInferenceModel?.projectid || '',\n tag_id: prediction.predictions.map((p) => p.tagid),\n model_id: selectedModelId || '',\n metadata:\n project?.annotation_type === 'bounding_box'\n ? {\n bounding_boxes: prediction.predictions.flatMap((p) =>\n p.bounding_boxes ? Object.values(p.bounding_boxes) : []\n ),\n }\n : undefined,\n }).unwrap()\n } catch (error) {\n console.error('Failed to create annotation:', error)\n }\n }\n // Reset filters after batch predictions\n setSelectedTagId(null)\n setExpandedTags(new Set())\n }\n }\n\n const handleZoomIn = () => {\n const newZoom = Math.min(zoomLevel * 1.2, 5)\n setZoomLevel(newZoom)\n if (annotationRef.current) {\n annotationRef.current.setZoom(newZoom)\n }\n }\n\n const handleZoomOut = () => {\n const newZoom = Math.max(zoomLevel / 1.2, 0.2)\n setZoomLevel(newZoom)\n if (annotationRef.current) {\n annotationRef.current.setZoom(newZoom)\n }\n }\n\n const handleResetZoom = () => {\n setZoomLevel(0.85)\n annotationRef.current?.recenterImage?.()\n }\n\n const handleUndo = () => {\n annotationRef.current?.undo()\n }\n\n const handleRedo = () => {\n annotationRef.current?.redo()\n }\n\n const handleDelete = () => {\n annotationRef.current?.delete()\n }\n\n const toggleTagExpansion = (tagId: string, event: React.MouseEvent) => {\n event.stopPropagation()\n\n // Clear any selected box when toggling tags\n dispatch(setSelectedBoundingBoxIndex(undefined))\n\n setExpandedTags((prev) => {\n const newSet = new Set(prev)\n if (newSet.has(tagId)) {\n newSet.delete(tagId)\n } else {\n // Clear other expanded tags and only show the current one\n newSet.clear()\n newSet.add(tagId)\n }\n return newSet\n })\n }\n\n const handleRemoveTag = useCallback(\n (tagId: string) => {\n dispatch(setEditingTagIds(editingTagIds.filter((id) => id !== tagId)))\n },\n [dispatch, editingTagIds]\n )\n\n const handleRunInference = async () => {\n if (!selectedContentId || !selectedInferenceModel || !contentData || !imageUrl) return\n\n try {\n setInferenceLoading(true)\n const formData = new FormData()\n const blob = await fetch(imageUrl).then((r) => r.blob())\n formData.append('files', blob, 'image.jpg')\n\n // Keep track of manually drawn boxes (boxes without confidence values)\n // Preserve the original class_index for manual boxes\n const manualBoxes = filteredBoundingBoxes\n .filter((box) => !box.confidence)\n .map((box) => ({\n ...box,\n class_index: box.class_index, // Keep original class_index\n }))\n\n // Find the highest class_index among manual boxes\n const maxManualIndex = Math.max(...manualBoxes.map((box) => box.class_index), -1)\n\n // Clear all boxes first\n dispatch(clearAllBoundingBoxes())\n dispatch(clearInitialBoundingBoxes())\n\n // Restore manual boxes with their original indices\n if (manualBoxes.length > 0) {\n dispatch(mergeAllBoundingBoxes(manualBoxes))\n dispatch(setInitialBoundingBoxes(manualBoxes))\n }\n\n const result = await runInference({\n id: selectedInferenceModel.id,\n data: formData,\n heatmap: true,\n }).unwrap()\n\n if (result && result[0]?.predictions) {\n if (result[0].predictions.length === 0) {\n alert(\n 'No objects were detected in the image. You may want to try a different model or check if the image is suitable for detection.'\n )\n } else {\n // Convert predictions to bounding boxes, starting indices after the highest manual box index\n const startIndex = maxManualIndex + 1\n\n const newBoxes = result[0].predictions.map((pred: PredictionMetadata, index: number) => {\n // Find the tag ID by matching the class name\n const matchingTag = tags?.tags?.find((tag) => tag.name === pred.class_name)\n const newBox = {\n name: matchingTag?.id || pred.tagid || pred.class_name,\n class_name: pred.class_name,\n xmin: pred.bounding_boxes?.xmin || 0,\n ymin: pred.bounding_boxes?.ymin || 0,\n xmax: pred.bounding_boxes?.xmax || 0,\n ymax: pred.bounding_boxes?.ymax || 0,\n confidence: pred.confidence,\n class_index: startIndex + index,\n } as AnnotationDataBoundingBox\n return newBox\n })\n\n // Combine manual boxes with new inference boxes\n const combinedBoxes = [...manualBoxes, ...newBoxes]\n\n // Update the boxes\n dispatch(setInitialBoundingBoxes(combinedBoxes))\n dispatch(mergeAllBoundingBoxes(combinedBoxes))\n\n // Update editing tag IDs with unique tags from all boxes\n const uniqueTagIds = Array.from(new Set(combinedBoxes.map((box) => box.name)))\n dispatch(setEditingTagIds(uniqueTagIds))\n }\n } else {\n alert(\n 'No predictions were returned from the model. You may want to try a different model or check if the image is suitable for detection.'\n )\n }\n } catch (error: any) {\n console.error('Error running inference:', error)\n // Show error to user\n if (error.status === 500) {\n alert('Server error running inference. Please try again.')\n } else if (error.data?.message) {\n alert(`Error: ${error.data.message}`)\n } else {\n alert('Error running inference. Please try again.')\n }\n } finally {\n setInferenceLoading(false)\n }\n }\n\n return (\n
\n
\n
\n
\n \n {/* Column 1: Canvas Tools */}\n \n \n\n
\n {/* Image Navigation */}\n
\n
Image Navigation
\n
\n
\n \n \n
\n setShowConfirmDeleteAllAnnotations(true)\n : () => handleAcceptCurrentAnnotations(false)\n }\n className=\"w-100\"\n >\n Submit Annotations\n \n
\n
\n\n {/* Model Navigation */}\n {activeTab === 'content' && (\n
\n
Model Assistance
\n
\n {selectedInferenceModel ? (\n \n
\n
\n \n {selectedInferenceModel.name}\n
\n \n \n Object Detection Model\n
\n
\n
\n\n \n \n
\n Created:\n {new Date(selectedInferenceModel.created_at).toLocaleDateString()}\n
\n
\n Status:\n Ready\n
\n
\n
\n\n
\n setShowModelSelector(true)}\n style={{\n backgroundColor: 'rgba(128, 0, 255, 0.1)',\n borderColor: 'rgba(128, 0, 255, 0.3)',\n color: '#fff',\n transition: 'all 0.2s ease-in-out',\n }}\n onMouseEnter={(e) => {\n e.currentTarget.style.backgroundColor = 'rgba(128, 0, 255, 0.2)'\n e.currentTarget.style.borderColor = 'rgba(128, 0, 255, 0.4)'\n }}\n onMouseLeave={(e) => {\n e.currentTarget.style.backgroundColor = 'rgba(128, 0, 255, 0.1)'\n e.currentTarget.style.borderColor = 'rgba(128, 0, 255, 0.3)'\n }}\n >\n \n Change\n \n {\n if (!inferenceLoading) {\n e.currentTarget.style.backgroundColor = 'rgba(128, 0, 255, 0.9)'\n e.currentTarget.style.borderColor = 'rgba(128, 0, 255, 1)'\n }\n }}\n onMouseLeave={(e) => {\n if (!inferenceLoading) {\n e.currentTarget.style.backgroundColor = 'rgba(128, 0, 255, 0.8)'\n e.currentTarget.style.borderColor = 'rgba(128, 0, 255, 0.9)'\n }\n }}\n >\n \n {inferenceLoading ? 'Running...' : 'Run'}\n \n
\n
\n ) : (\n setShowModelSelector(true)}\n className=\"d-flex align-items-center justify-content-center gap-2\"\n style={{\n backgroundColor: '#2d1b69',\n borderColor: '#6b4ee6',\n color: '#fff',\n }}\n >\n \n Select Model\n \n )}\n
\n
\n )}\n\n {/* Canvas Navigation */}\n
\n
Zoom Controls
\n
\n {\n e.currentTarget.style.backgroundColor = 'rgba(0, 183, 255, 0.2)'\n e.currentTarget.style.borderColor = 'rgba(0, 183, 255, 0.4)'\n }}\n onMouseLeave={(e) => {\n e.currentTarget.style.backgroundColor = 'rgba(0, 183, 255, 0.1)'\n e.currentTarget.style.borderColor = 'rgba(0, 183, 255, 0.3)'\n }}\n >\n \n Zoom In\n \n {\n e.currentTarget.style.backgroundColor = 'rgba(0, 183, 255, 0.2)'\n e.currentTarget.style.borderColor = 'rgba(0, 183, 255, 0.4)'\n }}\n onMouseLeave={(e) => {\n e.currentTarget.style.backgroundColor = 'rgba(0, 183, 255, 0.1)'\n e.currentTarget.style.borderColor = 'rgba(0, 183, 255, 0.3)'\n }}\n >\n \n Zoom Out\n \n {\n e.currentTarget.style.backgroundColor = 'rgba(0, 183, 255, 0.2)'\n e.currentTarget.style.borderColor = 'rgba(0, 183, 255, 0.4)'\n }}\n onMouseLeave={(e) => {\n e.currentTarget.style.backgroundColor = 'rgba(0, 183, 255, 0.1)'\n e.currentTarget.style.borderColor = 'rgba(0, 183, 255, 0.3)'\n }}\n >\n \n Reset Zoom\n \n
\n
\n\n {/* Annotation Tools */}\n
\n
Annotation
\n
\n {\n e.currentTarget.style.backgroundColor = 'rgba(138, 43, 226, 0.2)'\n e.currentTarget.style.borderColor = 'rgba(138, 43, 226, 0.4)'\n }}\n onMouseLeave={(e) => {\n e.currentTarget.style.backgroundColor = 'rgba(138, 43, 226, 0.1)'\n e.currentTarget.style.borderColor = 'rgba(138, 43, 226, 0.3)'\n }}\n >\n \n Undo\n \n {\n e.currentTarget.style.backgroundColor = 'rgba(138, 43, 226, 0.2)'\n e.currentTarget.style.borderColor = 'rgba(138, 43, 226, 0.4)'\n }}\n onMouseLeave={(e) => {\n e.currentTarget.style.backgroundColor = 'rgba(138, 43, 226, 0.1)'\n e.currentTarget.style.borderColor = 'rgba(138, 43, 226, 0.3)'\n }}\n >\n \n Redo\n \n {project?.annotation_type === 'bounding_box' && (\n {\n e.currentTarget.style.backgroundColor = 'rgba(255, 69, 58, 0.2)'\n e.currentTarget.style.borderColor = 'rgba(255, 69, 58, 0.4)'\n }}\n onMouseLeave={(e) => {\n e.currentTarget.style.backgroundColor = 'rgba(255, 69, 58, 0.1)'\n e.currentTarget.style.borderColor = 'rgba(255, 69, 58, 0.3)'\n }}\n >\n \n Delete\n \n )}\n
\n
\n\n {/* View Options - Only show for bounding box projects */}\n {project?.annotation_type === 'bounding_box' && (\n
\n
View Options
\n
\n setShowBBoxes(!showBBoxes)}\n style={{\n backgroundColor: showBBoxes ? 'rgba(138, 43, 226, 0.8)' : 'rgba(138, 43, 226, 0.1)',\n borderColor: showBBoxes ? 'rgba(138, 43, 226, 0.9)' : 'rgba(138, 43, 226, 0.3)',\n color: '#fff',\n transition: 'all 0.2s ease-in-out',\n }}\n onMouseEnter={(e) => {\n e.currentTarget.style.backgroundColor = showBBoxes\n ? 'rgba(138, 43, 226, 0.9)'\n : 'rgba(138, 43, 226, 0.2)'\n e.currentTarget.style.borderColor = showBBoxes\n ? 'rgba(138, 43, 226, 1)'\n : 'rgba(138, 43, 226, 0.4)'\n }}\n onMouseLeave={(e) => {\n e.currentTarget.style.backgroundColor = showBBoxes\n ? 'rgba(138, 43, 226, 0.8)'\n : 'rgba(138, 43, 226, 0.1)'\n e.currentTarget.style.borderColor = showBBoxes\n ? 'rgba(138, 43, 226, 0.9)'\n : 'rgba(138, 43, 226, 0.3)'\n }}\n >\n {showBBoxes ? (\n <>\n \n Hide Boxes\n \n ) : (\n <>\n \n Show Boxes\n \n )}\n \n
\n
\n )}\n\n {/* Dataset Info */}\n {contentData?.metadata?.datasource && (\n
\n
Dataset
\n \n
\n )}\n \n \n\n {/* Column 2: Main Canvas */}\n \n \n {editingContent && (\n
\n \n
\n )}\n \n \n\n {/* Column 3: Tags and Snippets */}\n \n {editingContent && (\n
\n \n e.stopPropagation()}\n >\n setActiveRightTab(k || 'tags')}\n id=\"annotation-tabs\"\n className=\"mb-3 custom-tabs\"\n >\n {/* Tags Tab */}\n \n Tags\n
\n }\n className=\"bg-dark p-3\"\n >\n {/* Bounding Boxes or Classifications */}\n
\n
\n
\n {project?.annotation_type === 'classification' ? 'Labels' : 'Annotations'}\n
\n \n {project?.annotation_type === 'classification'\n ? editingContent.annotation?.[0]?.tagids?.length || 0\n : filteredBoundingBoxes.length}\n \n
\n\n {project?.annotation_type === 'classification' ? (\n // Classification Labels Display\n
\n {!editingTagIds || editingTagIds.length === 0 ? (\n
\n
No labels added yet
\n Click the image to add labels\n
\n ) : (\n
\n {tags?.tags?.map((tag) => {\n if (!editingTagIds.includes(tag.id)) return null\n\n return (\n \n \n \n {tag.name}\n \n {\n e.stopPropagation()\n handleRemoveTag(tag.id)\n }}\n style={{\n background: 'none',\n border: 'none',\n padding: '0',\n marginLeft: '8px',\n cursor: 'pointer',\n color: 'rgba(255, 255, 255, 0.6)',\n display: 'flex',\n alignItems: 'center',\n transition: 'color 0.2s ease-in-out',\n }}\n onMouseEnter={(e) =>\n (e.currentTarget.style.color = 'rgba(255, 255, 255, 0.9)')\n }\n onMouseLeave={(e) =>\n (e.currentTarget.style.color = 'rgba(255, 255, 255, 0.6)')\n }\n >\n \n \n
\n \n
\n )\n })}\n
\n )}\n \n ) : (\n // Existing Bounding Box Display\n
\n {filteredBoundingBoxes.length === 0 ? (\n
\n
No annotations added yet
\n Draw boxes to add annotations\n
Click here to turn into
\n
unannotated content
\n handleAcceptCurrentAnnotations(true)}\n style={{\n backgroundColor: 'rgba(255, 69, 58, 0.1)',\n borderColor: 'rgba(255, 69, 58, 0.3)',\n color: '#fff',\n transition: 'all 0.2s ease-in-out',\n marginTop: '10px',\n }}\n onMouseEnter={(e) => {\n e.currentTarget.style.backgroundColor = 'rgba(255, 69, 58, 0.2)'\n e.currentTarget.style.borderColor = 'rgba(255, 69, 58, 0.4)'\n }}\n onMouseLeave={(e) => {\n e.currentTarget.style.backgroundColor = 'rgba(255, 69, 58, 0.1)'\n e.currentTarget.style.borderColor = 'rgba(255, 69, 58, 0.3)'\n }}\n >\n \n Make Unannotated\n \n
\n ) : (\n
\n {/* Group boxes by tag */}\n {tags?.tags?.map((tag) => {\n const tagBoxes = filteredBoundingBoxes.filter((box) => box.name === tag.id)\n if (tagBoxes.length === 0) return null\n\n const isFiltered = selectedTagId && selectedTagId !== tag.id\n const isExpanded = expandedTags.has(tag.id)\n\n return (\n 0 && !isExpanded) ? 0.5 : 1,\n transition: 'all 0.2s ease-in-out',\n border: `1px solid ${parseColorToRGBA(tag.color, 0.2)}`,\n boxShadow: isExpanded\n ? `0 0 10px 2px ${parseColorToRGBA(tag.color, 0.13)}`\n : 'none',\n filter: expandedTags.size > 0 && !isExpanded ? 'grayscale(50%)' : 'none',\n }}\n >\n {/* Tag Header */}\n toggleTagExpansion(tag.id, e)}\n >\n
\n \n ▶\n
\n \n {tag.name}\n \n
\n
\n \n {tagBoxes.length} boxes\n \n
\n \n
\n\n {/* Tag Boxes */}\n {isExpanded && (\n \n {tagBoxes.map((box, index) => {\n const isSelected = selectedBBox === box.class_index\n\n return (\n handleCurrentTagClick(box)}\n onMouseEnter={(e) => {\n if (!isSelected) {\n e.currentTarget.style.backgroundColor = parseColorToRGBA(\n tag.color,\n 0.13\n )\n e.currentTarget.style.transform = 'translateX(4px)'\n e.currentTarget.style.border = `2px solid ${parseColorToRGBA(\n tag.color,\n 1\n )}`\n e.currentTarget.style.outline = `1px solid ${parseColorToRGBA(\n tag.color,\n 0.53\n )}`\n e.currentTarget.style.boxShadow = `0 0 8px ${parseColorToRGBA(\n tag.color,\n 0.2\n )}`\n e.currentTarget.style.opacity =\n selectedBBox !== undefined ? '0.8' : '1'\n e.currentTarget.style.filter = 'none'\n }\n }}\n onMouseLeave={(e) => {\n if (!isSelected) {\n e.currentTarget.style.backgroundColor = '#1a1a1a'\n e.currentTarget.style.transform = 'translateX(0)'\n e.currentTarget.style.border = `2px solid ${parseColorToRGBA(\n tag.color,\n 1\n )}`\n e.currentTarget.style.outline = `1px solid ${parseColorToRGBA(\n tag.color,\n 0.53\n )}`\n e.currentTarget.style.boxShadow = `0 0 4px ${parseColorToRGBA(\n tag.color,\n 0.1\n )}`\n e.currentTarget.style.opacity =\n selectedBBox !== undefined && !isSelected ? '0.4' : '1'\n e.currentTarget.style.filter =\n selectedBBox !== undefined && !isSelected\n ? 'grayscale(50%)'\n : 'none'\n }\n }}\n >\n
\n
\n \n \n {tag.name} {index + 1}\n \n
\n {box.confidence && (\n \n {Math.round(box.confidence * 100)}%\n \n )}\n
\n \n )\n })}\n \n )}\n \n )\n })}\n \n )}\n \n )}\n \n \n\n {/* Only show Snippets tab for bounding box projects */}\n {project?.annotation_type === 'bounding_box' && (\n \n Snippets\n \n {filteredBoundingBoxes.length}\n \n \n }\n className=\"bg-dark p-2\"\n >\n \n {filteredBoundingBoxes.map((box, index) => (\n setHoveredBoxIndex(box.class_index)}\n onMouseLeave={() => setHoveredBoxIndex(undefined)}\n >\n setSelectedSnippetIndex(box.class_index)}\n style={{\n borderRadius: '8px',\n cursor: 'pointer',\n border:\n selectedBBox === box.class_index\n ? '3px solid rgba(128, 0, 255, 0.8)'\n : '1px solid #333',\n boxShadow:\n hoveredBoxIndex === box.class_index\n ? '0 0 15px rgba(128, 0, 255, 0.5)'\n : selectedBBox === box.class_index\n ? '0 0 10px rgba(128, 0, 255, 0.4)'\n : 'none',\n }}\n />\n \n ))}\n \n \n )}\n \n \n \n \n )}\n \n \n \n \n \n\n setShowModelSelector(false)}\n selectedInferenceModel={selectedInferenceModel}\n setSelectedInferenceModel={setSelectedInferenceModel}\n modelsData={modelsData || undefined}\n tagsData={tagsData || undefined}\n projectAnnotationType={project?.annotation_type || 'bounding_box'}\n />\n setShowConfirmDeleteAllAnnotations(false)}\n onConfirm={() => handleAcceptCurrentAnnotations(turnIntoContent)}\n title={turnIntoContent ? 'Unannotated Image' : 'Null Annotation'}\n message={\n turnIntoContent\n ? 'Proceeding will make this content an UNANNOTATED IMAGE.'\n : 'Proceeding will make this content a NULL ANNOTATION.'\n }\n variant=\"danger\"\n confirmText={turnIntoContent ? 'Make unannotated' : 'Make null' }\n cancelText=\"Cancel\"\n toggleCallback={() => setTurnIntoContent((prev) => !prev)}\n toggleText={turnIntoContent ? 'Switch to null' : 'Switch to unannotated'}\n />\n \n )\n}\n\nexport default AnnotationsReview\n","/*!\n * @kurkle/color v0.3.4\n * https://github.com/kurkle/color#readme\n * (c) 2024 Jukka Kurkela\n * Released under the MIT License\n */\nfunction round(v) {\n return v + 0.5 | 0;\n}\nconst lim = (v, l, h) => Math.max(Math.min(v, h), l);\nfunction p2b(v) {\n return lim(round(v * 2.55), 0, 255);\n}\nfunction b2p(v) {\n return lim(round(v / 2.55), 0, 100);\n}\nfunction n2b(v) {\n return lim(round(v * 255), 0, 255);\n}\nfunction b2n(v) {\n return lim(round(v / 2.55) / 100, 0, 1);\n}\nfunction n2p(v) {\n return lim(round(v * 100), 0, 100);\n}\n\nconst map$1 = {0: 0, 1: 1, 2: 2, 3: 3, 4: 4, 5: 5, 6: 6, 7: 7, 8: 8, 9: 9, A: 10, B: 11, C: 12, D: 13, E: 14, F: 15, a: 10, b: 11, c: 12, d: 13, e: 14, f: 15};\nconst hex = [...'0123456789ABCDEF'];\nconst h1 = b => hex[b & 0xF];\nconst h2 = b => hex[(b & 0xF0) >> 4] + hex[b & 0xF];\nconst eq = b => ((b & 0xF0) >> 4) === (b & 0xF);\nconst isShort = v => eq(v.r) && eq(v.g) && eq(v.b) && eq(v.a);\nfunction hexParse(str) {\n var len = str.length;\n var ret;\n if (str[0] === '#') {\n if (len === 4 || len === 5) {\n ret = {\n r: 255 & map$1[str[1]] * 17,\n g: 255 & map$1[str[2]] * 17,\n b: 255 & map$1[str[3]] * 17,\n a: len === 5 ? map$1[str[4]] * 17 : 255\n };\n } else if (len === 7 || len === 9) {\n ret = {\n r: map$1[str[1]] << 4 | map$1[str[2]],\n g: map$1[str[3]] << 4 | map$1[str[4]],\n b: map$1[str[5]] << 4 | map$1[str[6]],\n a: len === 9 ? (map$1[str[7]] << 4 | map$1[str[8]]) : 255\n };\n }\n }\n return ret;\n}\nconst alpha = (a, f) => a < 255 ? f(a) : '';\nfunction hexString(v) {\n var f = isShort(v) ? h1 : h2;\n return v\n ? '#' + f(v.r) + f(v.g) + f(v.b) + alpha(v.a, f)\n : undefined;\n}\n\nconst HUE_RE = /^(hsla?|hwb|hsv)\\(\\s*([-+.e\\d]+)(?:deg)?[\\s,]+([-+.e\\d]+)%[\\s,]+([-+.e\\d]+)%(?:[\\s,]+([-+.e\\d]+)(%)?)?\\s*\\)$/;\nfunction hsl2rgbn(h, s, l) {\n const a = s * Math.min(l, 1 - l);\n const f = (n, k = (n + h / 30) % 12) => l - a * Math.max(Math.min(k - 3, 9 - k, 1), -1);\n return [f(0), f(8), f(4)];\n}\nfunction hsv2rgbn(h, s, v) {\n const f = (n, k = (n + h / 60) % 6) => v - v * s * Math.max(Math.min(k, 4 - k, 1), 0);\n return [f(5), f(3), f(1)];\n}\nfunction hwb2rgbn(h, w, b) {\n const rgb = hsl2rgbn(h, 1, 0.5);\n let i;\n if (w + b > 1) {\n i = 1 / (w + b);\n w *= i;\n b *= i;\n }\n for (i = 0; i < 3; i++) {\n rgb[i] *= 1 - w - b;\n rgb[i] += w;\n }\n return rgb;\n}\nfunction hueValue(r, g, b, d, max) {\n if (r === max) {\n return ((g - b) / d) + (g < b ? 6 : 0);\n }\n if (g === max) {\n return (b - r) / d + 2;\n }\n return (r - g) / d + 4;\n}\nfunction rgb2hsl(v) {\n const range = 255;\n const r = v.r / range;\n const g = v.g / range;\n const b = v.b / range;\n const max = Math.max(r, g, b);\n const min = Math.min(r, g, b);\n const l = (max + min) / 2;\n let h, s, d;\n if (max !== min) {\n d = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n h = hueValue(r, g, b, d, max);\n h = h * 60 + 0.5;\n }\n return [h | 0, s || 0, l];\n}\nfunction calln(f, a, b, c) {\n return (\n Array.isArray(a)\n ? f(a[0], a[1], a[2])\n : f(a, b, c)\n ).map(n2b);\n}\nfunction hsl2rgb(h, s, l) {\n return calln(hsl2rgbn, h, s, l);\n}\nfunction hwb2rgb(h, w, b) {\n return calln(hwb2rgbn, h, w, b);\n}\nfunction hsv2rgb(h, s, v) {\n return calln(hsv2rgbn, h, s, v);\n}\nfunction hue(h) {\n return (h % 360 + 360) % 360;\n}\nfunction hueParse(str) {\n const m = HUE_RE.exec(str);\n let a = 255;\n let v;\n if (!m) {\n return;\n }\n if (m[5] !== v) {\n a = m[6] ? p2b(+m[5]) : n2b(+m[5]);\n }\n const h = hue(+m[2]);\n const p1 = +m[3] / 100;\n const p2 = +m[4] / 100;\n if (m[1] === 'hwb') {\n v = hwb2rgb(h, p1, p2);\n } else if (m[1] === 'hsv') {\n v = hsv2rgb(h, p1, p2);\n } else {\n v = hsl2rgb(h, p1, p2);\n }\n return {\n r: v[0],\n g: v[1],\n b: v[2],\n a: a\n };\n}\nfunction rotate(v, deg) {\n var h = rgb2hsl(v);\n h[0] = hue(h[0] + deg);\n h = hsl2rgb(h);\n v.r = h[0];\n v.g = h[1];\n v.b = h[2];\n}\nfunction hslString(v) {\n if (!v) {\n return;\n }\n const a = rgb2hsl(v);\n const h = a[0];\n const s = n2p(a[1]);\n const l = n2p(a[2]);\n return v.a < 255\n ? `hsla(${h}, ${s}%, ${l}%, ${b2n(v.a)})`\n : `hsl(${h}, ${s}%, ${l}%)`;\n}\n\nconst map = {\n\tx: 'dark',\n\tZ: 'light',\n\tY: 're',\n\tX: 'blu',\n\tW: 'gr',\n\tV: 'medium',\n\tU: 'slate',\n\tA: 'ee',\n\tT: 'ol',\n\tS: 'or',\n\tB: 'ra',\n\tC: 'lateg',\n\tD: 'ights',\n\tR: 'in',\n\tQ: 'turquois',\n\tE: 'hi',\n\tP: 'ro',\n\tO: 'al',\n\tN: 'le',\n\tM: 'de',\n\tL: 'yello',\n\tF: 'en',\n\tK: 'ch',\n\tG: 'arks',\n\tH: 'ea',\n\tI: 'ightg',\n\tJ: 'wh'\n};\nconst names$1 = {\n\tOiceXe: 'f0f8ff',\n\tantiquewEte: 'faebd7',\n\taqua: 'ffff',\n\taquamarRe: '7fffd4',\n\tazuY: 'f0ffff',\n\tbeige: 'f5f5dc',\n\tbisque: 'ffe4c4',\n\tblack: '0',\n\tblanKedOmond: 'ffebcd',\n\tXe: 'ff',\n\tXeviTet: '8a2be2',\n\tbPwn: 'a52a2a',\n\tburlywood: 'deb887',\n\tcaMtXe: '5f9ea0',\n\tKartYuse: '7fff00',\n\tKocTate: 'd2691e',\n\tcSO: 'ff7f50',\n\tcSnflowerXe: '6495ed',\n\tcSnsilk: 'fff8dc',\n\tcrimson: 'dc143c',\n\tcyan: 'ffff',\n\txXe: '8b',\n\txcyan: '8b8b',\n\txgTMnPd: 'b8860b',\n\txWay: 'a9a9a9',\n\txgYF: '6400',\n\txgYy: 'a9a9a9',\n\txkhaki: 'bdb76b',\n\txmagFta: '8b008b',\n\txTivegYF: '556b2f',\n\txSange: 'ff8c00',\n\txScEd: '9932cc',\n\txYd: '8b0000',\n\txsOmon: 'e9967a',\n\txsHgYF: '8fbc8f',\n\txUXe: '483d8b',\n\txUWay: '2f4f4f',\n\txUgYy: '2f4f4f',\n\txQe: 'ced1',\n\txviTet: '9400d3',\n\tdAppRk: 'ff1493',\n\tdApskyXe: 'bfff',\n\tdimWay: '696969',\n\tdimgYy: '696969',\n\tdodgerXe: '1e90ff',\n\tfiYbrick: 'b22222',\n\tflSOwEte: 'fffaf0',\n\tfoYstWAn: '228b22',\n\tfuKsia: 'ff00ff',\n\tgaRsbSo: 'dcdcdc',\n\tghostwEte: 'f8f8ff',\n\tgTd: 'ffd700',\n\tgTMnPd: 'daa520',\n\tWay: '808080',\n\tgYF: '8000',\n\tgYFLw: 'adff2f',\n\tgYy: '808080',\n\thoneyMw: 'f0fff0',\n\thotpRk: 'ff69b4',\n\tRdianYd: 'cd5c5c',\n\tRdigo: '4b0082',\n\tivSy: 'fffff0',\n\tkhaki: 'f0e68c',\n\tlavFMr: 'e6e6fa',\n\tlavFMrXsh: 'fff0f5',\n\tlawngYF: '7cfc00',\n\tNmoncEffon: 'fffacd',\n\tZXe: 'add8e6',\n\tZcSO: 'f08080',\n\tZcyan: 'e0ffff',\n\tZgTMnPdLw: 'fafad2',\n\tZWay: 'd3d3d3',\n\tZgYF: '90ee90',\n\tZgYy: 'd3d3d3',\n\tZpRk: 'ffb6c1',\n\tZsOmon: 'ffa07a',\n\tZsHgYF: '20b2aa',\n\tZskyXe: '87cefa',\n\tZUWay: '778899',\n\tZUgYy: '778899',\n\tZstAlXe: 'b0c4de',\n\tZLw: 'ffffe0',\n\tlime: 'ff00',\n\tlimegYF: '32cd32',\n\tlRF: 'faf0e6',\n\tmagFta: 'ff00ff',\n\tmaPon: '800000',\n\tVaquamarRe: '66cdaa',\n\tVXe: 'cd',\n\tVScEd: 'ba55d3',\n\tVpurpN: '9370db',\n\tVsHgYF: '3cb371',\n\tVUXe: '7b68ee',\n\tVsprRggYF: 'fa9a',\n\tVQe: '48d1cc',\n\tVviTetYd: 'c71585',\n\tmidnightXe: '191970',\n\tmRtcYam: 'f5fffa',\n\tmistyPse: 'ffe4e1',\n\tmoccasR: 'ffe4b5',\n\tnavajowEte: 'ffdead',\n\tnavy: '80',\n\tTdlace: 'fdf5e6',\n\tTive: '808000',\n\tTivedBb: '6b8e23',\n\tSange: 'ffa500',\n\tSangeYd: 'ff4500',\n\tScEd: 'da70d6',\n\tpOegTMnPd: 'eee8aa',\n\tpOegYF: '98fb98',\n\tpOeQe: 'afeeee',\n\tpOeviTetYd: 'db7093',\n\tpapayawEp: 'ffefd5',\n\tpHKpuff: 'ffdab9',\n\tperu: 'cd853f',\n\tpRk: 'ffc0cb',\n\tplum: 'dda0dd',\n\tpowMrXe: 'b0e0e6',\n\tpurpN: '800080',\n\tYbeccapurpN: '663399',\n\tYd: 'ff0000',\n\tPsybrown: 'bc8f8f',\n\tPyOXe: '4169e1',\n\tsaddNbPwn: '8b4513',\n\tsOmon: 'fa8072',\n\tsandybPwn: 'f4a460',\n\tsHgYF: '2e8b57',\n\tsHshell: 'fff5ee',\n\tsiFna: 'a0522d',\n\tsilver: 'c0c0c0',\n\tskyXe: '87ceeb',\n\tUXe: '6a5acd',\n\tUWay: '708090',\n\tUgYy: '708090',\n\tsnow: 'fffafa',\n\tsprRggYF: 'ff7f',\n\tstAlXe: '4682b4',\n\ttan: 'd2b48c',\n\tteO: '8080',\n\ttEstN: 'd8bfd8',\n\ttomato: 'ff6347',\n\tQe: '40e0d0',\n\tviTet: 'ee82ee',\n\tJHt: 'f5deb3',\n\twEte: 'ffffff',\n\twEtesmoke: 'f5f5f5',\n\tLw: 'ffff00',\n\tLwgYF: '9acd32'\n};\nfunction unpack() {\n const unpacked = {};\n const keys = Object.keys(names$1);\n const tkeys = Object.keys(map);\n let i, j, k, ok, nk;\n for (i = 0; i < keys.length; i++) {\n ok = nk = keys[i];\n for (j = 0; j < tkeys.length; j++) {\n k = tkeys[j];\n nk = nk.replace(k, map[k]);\n }\n k = parseInt(names$1[ok], 16);\n unpacked[nk] = [k >> 16 & 0xFF, k >> 8 & 0xFF, k & 0xFF];\n }\n return unpacked;\n}\n\nlet names;\nfunction nameParse(str) {\n if (!names) {\n names = unpack();\n names.transparent = [0, 0, 0, 0];\n }\n const a = names[str.toLowerCase()];\n return a && {\n r: a[0],\n g: a[1],\n b: a[2],\n a: a.length === 4 ? a[3] : 255\n };\n}\n\nconst RGB_RE = /^rgba?\\(\\s*([-+.\\d]+)(%)?[\\s,]+([-+.e\\d]+)(%)?[\\s,]+([-+.e\\d]+)(%)?(?:[\\s,/]+([-+.e\\d]+)(%)?)?\\s*\\)$/;\nfunction rgbParse(str) {\n const m = RGB_RE.exec(str);\n let a = 255;\n let r, g, b;\n if (!m) {\n return;\n }\n if (m[7] !== r) {\n const v = +m[7];\n a = m[8] ? p2b(v) : lim(v * 255, 0, 255);\n }\n r = +m[1];\n g = +m[3];\n b = +m[5];\n r = 255 & (m[2] ? p2b(r) : lim(r, 0, 255));\n g = 255 & (m[4] ? p2b(g) : lim(g, 0, 255));\n b = 255 & (m[6] ? p2b(b) : lim(b, 0, 255));\n return {\n r: r,\n g: g,\n b: b,\n a: a\n };\n}\nfunction rgbString(v) {\n return v && (\n v.a < 255\n ? `rgba(${v.r}, ${v.g}, ${v.b}, ${b2n(v.a)})`\n : `rgb(${v.r}, ${v.g}, ${v.b})`\n );\n}\n\nconst to = v => v <= 0.0031308 ? v * 12.92 : Math.pow(v, 1.0 / 2.4) * 1.055 - 0.055;\nconst from = v => v <= 0.04045 ? v / 12.92 : Math.pow((v + 0.055) / 1.055, 2.4);\nfunction interpolate(rgb1, rgb2, t) {\n const r = from(b2n(rgb1.r));\n const g = from(b2n(rgb1.g));\n const b = from(b2n(rgb1.b));\n return {\n r: n2b(to(r + t * (from(b2n(rgb2.r)) - r))),\n g: n2b(to(g + t * (from(b2n(rgb2.g)) - g))),\n b: n2b(to(b + t * (from(b2n(rgb2.b)) - b))),\n a: rgb1.a + t * (rgb2.a - rgb1.a)\n };\n}\n\nfunction modHSL(v, i, ratio) {\n if (v) {\n let tmp = rgb2hsl(v);\n tmp[i] = Math.max(0, Math.min(tmp[i] + tmp[i] * ratio, i === 0 ? 360 : 1));\n tmp = hsl2rgb(tmp);\n v.r = tmp[0];\n v.g = tmp[1];\n v.b = tmp[2];\n }\n}\nfunction clone(v, proto) {\n return v ? Object.assign(proto || {}, v) : v;\n}\nfunction fromObject(input) {\n var v = {r: 0, g: 0, b: 0, a: 255};\n if (Array.isArray(input)) {\n if (input.length >= 3) {\n v = {r: input[0], g: input[1], b: input[2], a: 255};\n if (input.length > 3) {\n v.a = n2b(input[3]);\n }\n }\n } else {\n v = clone(input, {r: 0, g: 0, b: 0, a: 1});\n v.a = n2b(v.a);\n }\n return v;\n}\nfunction functionParse(str) {\n if (str.charAt(0) === 'r') {\n return rgbParse(str);\n }\n return hueParse(str);\n}\nclass Color {\n constructor(input) {\n if (input instanceof Color) {\n return input;\n }\n const type = typeof input;\n let v;\n if (type === 'object') {\n v = fromObject(input);\n } else if (type === 'string') {\n v = hexParse(input) || nameParse(input) || functionParse(input);\n }\n this._rgb = v;\n this._valid = !!v;\n }\n get valid() {\n return this._valid;\n }\n get rgb() {\n var v = clone(this._rgb);\n if (v) {\n v.a = b2n(v.a);\n }\n return v;\n }\n set rgb(obj) {\n this._rgb = fromObject(obj);\n }\n rgbString() {\n return this._valid ? rgbString(this._rgb) : undefined;\n }\n hexString() {\n return this._valid ? hexString(this._rgb) : undefined;\n }\n hslString() {\n return this._valid ? hslString(this._rgb) : undefined;\n }\n mix(color, weight) {\n if (color) {\n const c1 = this.rgb;\n const c2 = color.rgb;\n let w2;\n const p = weight === w2 ? 0.5 : weight;\n const w = 2 * p - 1;\n const a = c1.a - c2.a;\n const w1 = ((w * a === -1 ? w : (w + a) / (1 + w * a)) + 1) / 2.0;\n w2 = 1 - w1;\n c1.r = 0xFF & w1 * c1.r + w2 * c2.r + 0.5;\n c1.g = 0xFF & w1 * c1.g + w2 * c2.g + 0.5;\n c1.b = 0xFF & w1 * c1.b + w2 * c2.b + 0.5;\n c1.a = p * c1.a + (1 - p) * c2.a;\n this.rgb = c1;\n }\n return this;\n }\n interpolate(color, t) {\n if (color) {\n this._rgb = interpolate(this._rgb, color._rgb, t);\n }\n return this;\n }\n clone() {\n return new Color(this.rgb);\n }\n alpha(a) {\n this._rgb.a = n2b(a);\n return this;\n }\n clearer(ratio) {\n const rgb = this._rgb;\n rgb.a *= 1 - ratio;\n return this;\n }\n greyscale() {\n const rgb = this._rgb;\n const val = round(rgb.r * 0.3 + rgb.g * 0.59 + rgb.b * 0.11);\n rgb.r = rgb.g = rgb.b = val;\n return this;\n }\n opaquer(ratio) {\n const rgb = this._rgb;\n rgb.a *= 1 + ratio;\n return this;\n }\n negate() {\n const v = this._rgb;\n v.r = 255 - v.r;\n v.g = 255 - v.g;\n v.b = 255 - v.b;\n return this;\n }\n lighten(ratio) {\n modHSL(this._rgb, 2, ratio);\n return this;\n }\n darken(ratio) {\n modHSL(this._rgb, 2, -ratio);\n return this;\n }\n saturate(ratio) {\n modHSL(this._rgb, 1, ratio);\n return this;\n }\n desaturate(ratio) {\n modHSL(this._rgb, 1, -ratio);\n return this;\n }\n rotate(deg) {\n rotate(this._rgb, deg);\n return this;\n }\n}\n\nfunction index_esm(input) {\n return new Color(input);\n}\n\nexport { Color, b2n, b2p, index_esm as default, hexParse, hexString, hsl2rgb, hslString, hsv2rgb, hueParse, hwb2rgb, lim, n2b, n2p, nameParse, p2b, rgb2hsl, rgbParse, rgbString, rotate, round };\n","/**\n * @namespace Chart.helpers\n */\n\nimport type {AnyObject} from '../types/basic.js';\nimport type {ActiveDataPoint, ChartEvent} from '../types/index.js';\n\n/**\n * An empty function that can be used, for example, for optional callback.\n */\nexport function noop() {\n /* noop */\n}\n\n/**\n * Returns a unique id, sequentially generated from a global variable.\n */\nexport const uid = (() => {\n let id = 0;\n return () => id++;\n})();\n\n/**\n * Returns true if `value` is neither null nor undefined, else returns false.\n * @param value - The value to test.\n * @since 2.7.0\n */\nexport function isNullOrUndef(value: unknown): value is null | undefined {\n return value === null || value === undefined;\n}\n\n/**\n * Returns true if `value` is an array (including typed arrays), else returns false.\n * @param value - The value to test.\n * @function\n */\nexport function isArray(value: unknown): value is T[] {\n if (Array.isArray && Array.isArray(value)) {\n return true;\n }\n const type = Object.prototype.toString.call(value);\n if (type.slice(0, 7) === '[object' && type.slice(-6) === 'Array]') {\n return true;\n }\n return false;\n}\n\n/**\n * Returns true if `value` is an object (excluding null), else returns false.\n * @param value - The value to test.\n * @since 2.7.0\n */\nexport function isObject(value: unknown): value is AnyObject {\n return value !== null && Object.prototype.toString.call(value) === '[object Object]';\n}\n\n/**\n * Returns true if `value` is a finite number, else returns false\n * @param value - The value to test.\n */\nfunction isNumberFinite(value: unknown): value is number {\n return (typeof value === 'number' || value instanceof Number) && isFinite(+value);\n}\nexport {\n isNumberFinite as isFinite,\n};\n\n/**\n * Returns `value` if finite, else returns `defaultValue`.\n * @param value - The value to return if defined.\n * @param defaultValue - The value to return if `value` is not finite.\n */\nexport function finiteOrDefault(value: unknown, defaultValue: number) {\n return isNumberFinite(value) ? value : defaultValue;\n}\n\n/**\n * Returns `value` if defined, else returns `defaultValue`.\n * @param value - The value to return if defined.\n * @param defaultValue - The value to return if `value` is undefined.\n */\nexport function valueOrDefault(value: T | undefined, defaultValue: T) {\n return typeof value === 'undefined' ? defaultValue : value;\n}\n\nexport const toPercentage = (value: number | string, dimension: number) =>\n typeof value === 'string' && value.endsWith('%') ?\n parseFloat(value) / 100\n : +value / dimension;\n\nexport const toDimension = (value: number | string, dimension: number) =>\n typeof value === 'string' && value.endsWith('%') ?\n parseFloat(value) / 100 * dimension\n : +value;\n\n/**\n * Calls `fn` with the given `args` in the scope defined by `thisArg` and returns the\n * value returned by `fn`. If `fn` is not a function, this method returns undefined.\n * @param fn - The function to call.\n * @param args - The arguments with which `fn` should be called.\n * @param [thisArg] - The value of `this` provided for the call to `fn`.\n */\nexport function callback R, TA, R>(\n fn: T | undefined,\n args: unknown[],\n thisArg?: TA\n): R | undefined {\n if (fn && typeof fn.call === 'function') {\n return fn.apply(thisArg, args);\n }\n}\n\n/**\n * Note(SB) for performance sake, this method should only be used when loopable type\n * is unknown or in none intensive code (not called often and small loopable). Else\n * it's preferable to use a regular for() loop and save extra function calls.\n * @param loopable - The object or array to be iterated.\n * @param fn - The function to call for each item.\n * @param [thisArg] - The value of `this` provided for the call to `fn`.\n * @param [reverse] - If true, iterates backward on the loopable.\n */\nexport function each(\n loopable: Record,\n fn: (this: TA, v: T, i: string) => void,\n thisArg?: TA,\n reverse?: boolean\n): void;\nexport function each(\n loopable: T[],\n fn: (this: TA, v: T, i: number) => void,\n thisArg?: TA,\n reverse?: boolean\n): void;\nexport function each(\n loopable: T[] | Record,\n fn: (this: TA, v: T, i: any) => void,\n thisArg?: TA,\n reverse?: boolean\n) {\n let i: number, len: number, keys: string[];\n if (isArray(loopable)) {\n len = loopable.length;\n if (reverse) {\n for (i = len - 1; i >= 0; i--) {\n fn.call(thisArg, loopable[i], i);\n }\n } else {\n for (i = 0; i < len; i++) {\n fn.call(thisArg, loopable[i], i);\n }\n }\n } else if (isObject(loopable)) {\n keys = Object.keys(loopable);\n len = keys.length;\n for (i = 0; i < len; i++) {\n fn.call(thisArg, loopable[keys[i]], keys[i]);\n }\n }\n}\n\n/**\n * Returns true if the `a0` and `a1` arrays have the same content, else returns false.\n * @param a0 - The array to compare\n * @param a1 - The array to compare\n * @private\n */\nexport function _elementsEqual(a0: ActiveDataPoint[], a1: ActiveDataPoint[]) {\n let i: number, ilen: number, v0: ActiveDataPoint, v1: ActiveDataPoint;\n\n if (!a0 || !a1 || a0.length !== a1.length) {\n return false;\n }\n\n for (i = 0, ilen = a0.length; i < ilen; ++i) {\n v0 = a0[i];\n v1 = a1[i];\n\n if (v0.datasetIndex !== v1.datasetIndex || v0.index !== v1.index) {\n return false;\n }\n }\n\n return true;\n}\n\n/**\n * Returns a deep copy of `source` without keeping references on objects and arrays.\n * @param source - The value to clone.\n */\nexport function clone(source: T): T {\n if (isArray(source)) {\n return source.map(clone) as unknown as T;\n }\n\n if (isObject(source)) {\n const target = Object.create(null);\n const keys = Object.keys(source);\n const klen = keys.length;\n let k = 0;\n\n for (; k < klen; ++k) {\n target[keys[k]] = clone(source[keys[k]]);\n }\n\n return target;\n }\n\n return source;\n}\n\nfunction isValidKey(key: string) {\n return ['__proto__', 'prototype', 'constructor'].indexOf(key) === -1;\n}\n\n/**\n * The default merger when Chart.helpers.merge is called without merger option.\n * Note(SB): also used by mergeConfig and mergeScaleConfig as fallback.\n * @private\n */\nexport function _merger(key: string, target: AnyObject, source: AnyObject, options: AnyObject) {\n if (!isValidKey(key)) {\n return;\n }\n\n const tval = target[key];\n const sval = source[key];\n\n if (isObject(tval) && isObject(sval)) {\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n merge(tval, sval, options);\n } else {\n target[key] = clone(sval);\n }\n}\n\nexport interface MergeOptions {\n merger?: (key: string, target: AnyObject, source: AnyObject, options?: AnyObject) => void;\n}\n\n/**\n * Recursively deep copies `source` properties into `target` with the given `options`.\n * IMPORTANT: `target` is not cloned and will be updated with `source` properties.\n * @param target - The target object in which all sources are merged into.\n * @param source - Object(s) to merge into `target`.\n * @param [options] - Merging options:\n * @param [options.merger] - The merge method (key, target, source, options)\n * @returns The `target` object.\n */\nexport function merge(target: T, source: [], options?: MergeOptions): T;\nexport function merge(target: T, source: S1, options?: MergeOptions): T & S1;\nexport function merge(target: T, source: [S1], options?: MergeOptions): T & S1;\nexport function merge(target: T, source: [S1, S2], options?: MergeOptions): T & S1 & S2;\nexport function merge(target: T, source: [S1, S2, S3], options?: MergeOptions): T & S1 & S2 & S3;\nexport function merge(\n target: T,\n source: [S1, S2, S3, S4],\n options?: MergeOptions\n): T & S1 & S2 & S3 & S4;\nexport function merge(target: T, source: AnyObject[], options?: MergeOptions): AnyObject;\nexport function merge(target: T, source: AnyObject[], options?: MergeOptions): AnyObject {\n const sources = isArray(source) ? source : [source];\n const ilen = sources.length;\n\n if (!isObject(target)) {\n return target as AnyObject;\n }\n\n options = options || {};\n const merger = options.merger || _merger;\n let current: AnyObject;\n\n for (let i = 0; i < ilen; ++i) {\n current = sources[i];\n if (!isObject(current)) {\n continue;\n }\n\n const keys = Object.keys(current);\n for (let k = 0, klen = keys.length; k < klen; ++k) {\n merger(keys[k], target, current, options as AnyObject);\n }\n }\n\n return target;\n}\n\n/**\n * Recursively deep copies `source` properties into `target` *only* if not defined in target.\n * IMPORTANT: `target` is not cloned and will be updated with `source` properties.\n * @param target - The target object in which all sources are merged into.\n * @param source - Object(s) to merge into `target`.\n * @returns The `target` object.\n */\nexport function mergeIf(target: T, source: []): T;\nexport function mergeIf(target: T, source: S1): T & S1;\nexport function mergeIf(target: T, source: [S1]): T & S1;\nexport function mergeIf(target: T, source: [S1, S2]): T & S1 & S2;\nexport function mergeIf(target: T, source: [S1, S2, S3]): T & S1 & S2 & S3;\nexport function mergeIf(target: T, source: [S1, S2, S3, S4]): T & S1 & S2 & S3 & S4;\nexport function mergeIf(target: T, source: AnyObject[]): AnyObject;\nexport function mergeIf(target: T, source: AnyObject[]): AnyObject {\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n return merge(target, source, {merger: _mergerIf});\n}\n\n/**\n * Merges source[key] in target[key] only if target[key] is undefined.\n * @private\n */\nexport function _mergerIf(key: string, target: AnyObject, source: AnyObject) {\n if (!isValidKey(key)) {\n return;\n }\n\n const tval = target[key];\n const sval = source[key];\n\n if (isObject(tval) && isObject(sval)) {\n mergeIf(tval, sval);\n } else if (!Object.prototype.hasOwnProperty.call(target, key)) {\n target[key] = clone(sval);\n }\n}\n\n/**\n * @private\n */\nexport function _deprecated(scope: string, value: unknown, previous: string, current: string) {\n if (value !== undefined) {\n console.warn(scope + ': \"' + previous +\n '\" is deprecated. Please use \"' + current + '\" instead');\n }\n}\n\n// resolveObjectKey resolver cache\nconst keyResolvers = {\n // Chart.helpers.core resolveObjectKey should resolve empty key to root object\n '': v => v,\n // default resolvers\n x: o => o.x,\n y: o => o.y\n};\n\n/**\n * @private\n */\nexport function _splitKey(key: string) {\n const parts = key.split('.');\n const keys: string[] = [];\n let tmp = '';\n for (const part of parts) {\n tmp += part;\n if (tmp.endsWith('\\\\')) {\n tmp = tmp.slice(0, -1) + '.';\n } else {\n keys.push(tmp);\n tmp = '';\n }\n }\n return keys;\n}\n\nfunction _getKeyResolver(key: string) {\n const keys = _splitKey(key);\n return obj => {\n for (const k of keys) {\n if (k === '') {\n // For backward compatibility:\n // Chart.helpers.core resolveObjectKey should break at empty key\n break;\n }\n obj = obj && obj[k];\n }\n return obj;\n };\n}\n\nexport function resolveObjectKey(obj: AnyObject, key: string): any {\n const resolver = keyResolvers[key] || (keyResolvers[key] = _getKeyResolver(key));\n return resolver(obj);\n}\n\n/**\n * @private\n */\nexport function _capitalize(str: string) {\n return str.charAt(0).toUpperCase() + str.slice(1);\n}\n\n\nexport const defined = (value: unknown) => typeof value !== 'undefined';\n\nexport const isFunction = (value: unknown): value is (...args: any[]) => any => typeof value === 'function';\n\n// Adapted from https://stackoverflow.com/questions/31128855/comparing-ecma6-sets-for-equality#31129384\nexport const setsEqual = (a: Set, b: Set) => {\n if (a.size !== b.size) {\n return false;\n }\n\n for (const item of a) {\n if (!b.has(item)) {\n return false;\n }\n }\n\n return true;\n};\n\n/**\n * @param e - The event\n * @private\n */\nexport function _isClickEvent(e: ChartEvent) {\n return e.type === 'mouseup' || e.type === 'click' || e.type === 'contextmenu';\n}\n","import type {Point} from '../types/geometric.js';\nimport {isFinite as isFiniteNumber} from './helpers.core.js';\n\n/**\n * @alias Chart.helpers.math\n * @namespace\n */\n\nexport const PI = Math.PI;\nexport const TAU = 2 * PI;\nexport const PITAU = TAU + PI;\nexport const INFINITY = Number.POSITIVE_INFINITY;\nexport const RAD_PER_DEG = PI / 180;\nexport const HALF_PI = PI / 2;\nexport const QUARTER_PI = PI / 4;\nexport const TWO_THIRDS_PI = PI * 2 / 3;\n\nexport const log10 = Math.log10;\nexport const sign = Math.sign;\n\nexport function almostEquals(x: number, y: number, epsilon: number) {\n return Math.abs(x - y) < epsilon;\n}\n\n/**\n * Implementation of the nice number algorithm used in determining where axis labels will go\n */\nexport function niceNum(range: number) {\n const roundedRange = Math.round(range);\n range = almostEquals(range, roundedRange, range / 1000) ? roundedRange : range;\n const niceRange = Math.pow(10, Math.floor(log10(range)));\n const fraction = range / niceRange;\n const niceFraction = fraction <= 1 ? 1 : fraction <= 2 ? 2 : fraction <= 5 ? 5 : 10;\n return niceFraction * niceRange;\n}\n\n/**\n * Returns an array of factors sorted from 1 to sqrt(value)\n * @private\n */\nexport function _factorize(value: number) {\n const result: number[] = [];\n const sqrt = Math.sqrt(value);\n let i: number;\n\n for (i = 1; i < sqrt; i++) {\n if (value % i === 0) {\n result.push(i);\n result.push(value / i);\n }\n }\n if (sqrt === (sqrt | 0)) { // if value is a square number\n result.push(sqrt);\n }\n\n result.sort((a, b) => a - b).pop();\n return result;\n}\n\n/**\n * Verifies that attempting to coerce n to string or number won't throw a TypeError.\n */\nfunction isNonPrimitive(n: unknown) {\n return typeof n === 'symbol' || (typeof n === 'object' && n !== null && !(Symbol.toPrimitive in n || 'toString' in n || 'valueOf' in n));\n}\n\nexport function isNumber(n: unknown): n is number {\n return !isNonPrimitive(n) && !isNaN(parseFloat(n as string)) && isFinite(n as number);\n}\n\nexport function almostWhole(x: number, epsilon: number) {\n const rounded = Math.round(x);\n return ((rounded - epsilon) <= x) && ((rounded + epsilon) >= x);\n}\n\n/**\n * @private\n */\nexport function _setMinAndMaxByKey(\n array: Record[],\n target: { min: number, max: number },\n property: string\n) {\n let i: number, ilen: number, value: number;\n\n for (i = 0, ilen = array.length; i < ilen; i++) {\n value = array[i][property];\n if (!isNaN(value)) {\n target.min = Math.min(target.min, value);\n target.max = Math.max(target.max, value);\n }\n }\n}\n\nexport function toRadians(degrees: number) {\n return degrees * (PI / 180);\n}\n\nexport function toDegrees(radians: number) {\n return radians * (180 / PI);\n}\n\n/**\n * Returns the number of decimal places\n * i.e. the number of digits after the decimal point, of the value of this Number.\n * @param x - A number.\n * @returns The number of decimal places.\n * @private\n */\nexport function _decimalPlaces(x: number) {\n if (!isFiniteNumber(x)) {\n return;\n }\n let e = 1;\n let p = 0;\n while (Math.round(x * e) / e !== x) {\n e *= 10;\n p++;\n }\n return p;\n}\n\n// Gets the angle from vertical upright to the point about a centre.\nexport function getAngleFromPoint(\n centrePoint: Point,\n anglePoint: Point\n) {\n const distanceFromXCenter = anglePoint.x - centrePoint.x;\n const distanceFromYCenter = anglePoint.y - centrePoint.y;\n const radialDistanceFromCenter = Math.sqrt(distanceFromXCenter * distanceFromXCenter + distanceFromYCenter * distanceFromYCenter);\n\n let angle = Math.atan2(distanceFromYCenter, distanceFromXCenter);\n\n if (angle < (-0.5 * PI)) {\n angle += TAU; // make sure the returned angle is in the range of (-PI/2, 3PI/2]\n }\n\n return {\n angle,\n distance: radialDistanceFromCenter\n };\n}\n\nexport function distanceBetweenPoints(pt1: Point, pt2: Point) {\n return Math.sqrt(Math.pow(pt2.x - pt1.x, 2) + Math.pow(pt2.y - pt1.y, 2));\n}\n\n/**\n * Shortest distance between angles, in either direction.\n * @private\n */\nexport function _angleDiff(a: number, b: number) {\n return (a - b + PITAU) % TAU - PI;\n}\n\n/**\n * Normalize angle to be between 0 and 2*PI\n * @private\n */\nexport function _normalizeAngle(a: number) {\n return (a % TAU + TAU) % TAU;\n}\n\n/**\n * @private\n */\nexport function _angleBetween(angle: number, start: number, end: number, sameAngleIsFullCircle?: boolean) {\n const a = _normalizeAngle(angle);\n const s = _normalizeAngle(start);\n const e = _normalizeAngle(end);\n const angleToStart = _normalizeAngle(s - a);\n const angleToEnd = _normalizeAngle(e - a);\n const startToAngle = _normalizeAngle(a - s);\n const endToAngle = _normalizeAngle(a - e);\n return a === s || a === e || (sameAngleIsFullCircle && s === e)\n || (angleToStart > angleToEnd && startToAngle < endToAngle);\n}\n\n/**\n * Limit `value` between `min` and `max`\n * @param value\n * @param min\n * @param max\n * @private\n */\nexport function _limitValue(value: number, min: number, max: number) {\n return Math.max(min, Math.min(max, value));\n}\n\n/**\n * @param {number} value\n * @private\n */\nexport function _int16Range(value: number) {\n return _limitValue(value, -32768, 32767);\n}\n\n/**\n * @param value\n * @param start\n * @param end\n * @param [epsilon]\n * @private\n */\nexport function _isBetween(value: number, start: number, end: number, epsilon = 1e-6) {\n return value >= Math.min(start, end) - epsilon && value <= Math.max(start, end) + epsilon;\n}\n","import {_capitalize} from './helpers.core.js';\n\n/**\n * Binary search\n * @param table - the table search. must be sorted!\n * @param value - value to find\n * @param cmp\n * @private\n */\nexport function _lookup(\n table: number[],\n value: number,\n cmp?: (value: number) => boolean\n): {lo: number, hi: number};\nexport function _lookup(\n table: T[],\n value: number,\n cmp: (value: number) => boolean\n): {lo: number, hi: number};\nexport function _lookup(\n table: unknown[],\n value: number,\n cmp?: (value: number) => boolean\n) {\n cmp = cmp || ((index) => table[index] < value);\n let hi = table.length - 1;\n let lo = 0;\n let mid: number;\n\n while (hi - lo > 1) {\n mid = (lo + hi) >> 1;\n if (cmp(mid)) {\n lo = mid;\n } else {\n hi = mid;\n }\n }\n\n return {lo, hi};\n}\n\n/**\n * Binary search\n * @param table - the table search. must be sorted!\n * @param key - property name for the value in each entry\n * @param value - value to find\n * @param last - lookup last index\n * @private\n */\nexport const _lookupByKey = (\n table: Record[],\n key: string,\n value: number,\n last?: boolean\n) =>\n _lookup(table, value, last\n ? index => {\n const ti = table[index][key];\n return ti < value || ti === value && table[index + 1][key] === value;\n }\n : index => table[index][key] < value);\n\n/**\n * Reverse binary search\n * @param table - the table search. must be sorted!\n * @param key - property name for the value in each entry\n * @param value - value to find\n * @private\n */\nexport const _rlookupByKey = (\n table: Record[],\n key: string,\n value: number\n) =>\n _lookup(table, value, index => table[index][key] >= value);\n\n/**\n * Return subset of `values` between `min` and `max` inclusive.\n * Values are assumed to be in sorted order.\n * @param values - sorted array of values\n * @param min - min value\n * @param max - max value\n */\nexport function _filterBetween(values: number[], min: number, max: number) {\n let start = 0;\n let end = values.length;\n\n while (start < end && values[start] < min) {\n start++;\n }\n while (end > start && values[end - 1] > max) {\n end--;\n }\n\n return start > 0 || end < values.length\n ? values.slice(start, end)\n : values;\n}\n\nconst arrayEvents = ['push', 'pop', 'shift', 'splice', 'unshift'] as const;\n\nexport interface ArrayListener {\n _onDataPush?(...item: T[]): void;\n _onDataPop?(): void;\n _onDataShift?(): void;\n _onDataSplice?(index: number, deleteCount: number, ...items: T[]): void;\n _onDataUnshift?(...item: T[]): void;\n}\n\n/**\n * Hooks the array methods that add or remove values ('push', pop', 'shift', 'splice',\n * 'unshift') and notify the listener AFTER the array has been altered. Listeners are\n * called on the '_onData*' callbacks (e.g. _onDataPush, etc.) with same arguments.\n */\nexport function listenArrayEvents(array: T[], listener: ArrayListener): void;\nexport function listenArrayEvents(array, listener) {\n if (array._chartjs) {\n array._chartjs.listeners.push(listener);\n return;\n }\n\n Object.defineProperty(array, '_chartjs', {\n configurable: true,\n enumerable: false,\n value: {\n listeners: [listener]\n }\n });\n\n arrayEvents.forEach((key) => {\n const method = '_onData' + _capitalize(key);\n const base = array[key];\n\n Object.defineProperty(array, key, {\n configurable: true,\n enumerable: false,\n value(...args) {\n const res = base.apply(this, args);\n\n array._chartjs.listeners.forEach((object) => {\n if (typeof object[method] === 'function') {\n object[method](...args);\n }\n });\n\n return res;\n }\n });\n });\n}\n\n\n/**\n * Removes the given array event listener and cleanup extra attached properties (such as\n * the _chartjs stub and overridden methods) if array doesn't have any more listeners.\n */\nexport function unlistenArrayEvents(array: T[], listener: ArrayListener): void;\nexport function unlistenArrayEvents(array, listener) {\n const stub = array._chartjs;\n if (!stub) {\n return;\n }\n\n const listeners = stub.listeners;\n const index = listeners.indexOf(listener);\n if (index !== -1) {\n listeners.splice(index, 1);\n }\n\n if (listeners.length > 0) {\n return;\n }\n\n arrayEvents.forEach((key) => {\n delete array[key];\n });\n\n delete array._chartjs;\n}\n\n/**\n * @param items\n */\nexport function _arrayUnique(items: T[]) {\n const set = new Set(items);\n\n if (set.size === items.length) {\n return items;\n }\n\n return Array.from(set);\n}\n","import type {ChartMeta, PointElement} from '../types/index.js';\n\nimport {_limitValue} from './helpers.math.js';\nimport {_lookupByKey} from './helpers.collection.js';\nimport {isNullOrUndef} from './helpers.core.js';\n\nexport function fontString(pixelSize: number, fontStyle: string, fontFamily: string) {\n return fontStyle + ' ' + pixelSize + 'px ' + fontFamily;\n}\n\n/**\n* Request animation polyfill\n*/\nexport const requestAnimFrame = (function() {\n if (typeof window === 'undefined') {\n return function(callback) {\n return callback();\n };\n }\n return window.requestAnimationFrame;\n}());\n\n/**\n * Throttles calling `fn` once per animation frame\n * Latest arguments are used on the actual call\n */\nexport function throttled>(\n fn: (...args: TArgs) => void,\n thisArg: any,\n) {\n let argsToUse = [] as TArgs;\n let ticking = false;\n\n return function(...args: TArgs) {\n // Save the args for use later\n argsToUse = args;\n if (!ticking) {\n ticking = true;\n requestAnimFrame.call(window, () => {\n ticking = false;\n fn.apply(thisArg, argsToUse);\n });\n }\n };\n}\n\n/**\n * Debounces calling `fn` for `delay` ms\n */\nexport function debounce>(fn: (...args: TArgs) => void, delay: number) {\n let timeout;\n return function(...args: TArgs) {\n if (delay) {\n clearTimeout(timeout);\n timeout = setTimeout(fn, delay, args);\n } else {\n fn.apply(this, args);\n }\n return delay;\n };\n}\n\n/**\n * Converts 'start' to 'left', 'end' to 'right' and others to 'center'\n * @private\n */\nexport const _toLeftRightCenter = (align: 'start' | 'end' | 'center') => align === 'start' ? 'left' : align === 'end' ? 'right' : 'center';\n\n/**\n * Returns `start`, `end` or `(start + end) / 2` depending on `align`. Defaults to `center`\n * @private\n */\nexport const _alignStartEnd = (align: 'start' | 'end' | 'center', start: number, end: number) => align === 'start' ? start : align === 'end' ? end : (start + end) / 2;\n\n/**\n * Returns `left`, `right` or `(left + right) / 2` depending on `align`. Defaults to `left`\n * @private\n */\nexport const _textX = (align: 'left' | 'right' | 'center', left: number, right: number, rtl: boolean) => {\n const check = rtl ? 'left' : 'right';\n return align === check ? right : align === 'center' ? (left + right) / 2 : left;\n};\n\n/**\n * Return start and count of visible points.\n * @private\n */\nexport function _getStartAndCountOfVisiblePoints(meta: ChartMeta<'line' | 'scatter'>, points: PointElement[], animationsDisabled: boolean) {\n const pointCount = points.length;\n\n let start = 0;\n let count = pointCount;\n\n if (meta._sorted) {\n const {iScale, vScale, _parsed} = meta;\n const spanGaps = meta.dataset ? meta.dataset.options ? meta.dataset.options.spanGaps : null : null;\n const axis = iScale.axis;\n const {min, max, minDefined, maxDefined} = iScale.getUserBounds();\n\n if (minDefined) {\n start = Math.min(\n // @ts-expect-error Need to type _parsed\n _lookupByKey(_parsed, axis, min).lo,\n // @ts-expect-error Need to fix types on _lookupByKey\n animationsDisabled ? pointCount : _lookupByKey(points, axis, iScale.getPixelForValue(min)).lo);\n if (spanGaps) {\n const distanceToDefinedLo = (_parsed\n .slice(0, start + 1)\n .reverse()\n .findIndex(\n point => !isNullOrUndef(point[vScale.axis])));\n start -= Math.max(0, distanceToDefinedLo);\n }\n start = _limitValue(start, 0, pointCount - 1);\n }\n if (maxDefined) {\n let end = Math.max(\n // @ts-expect-error Need to type _parsed\n _lookupByKey(_parsed, iScale.axis, max, true).hi + 1,\n // @ts-expect-error Need to fix types on _lookupByKey\n animationsDisabled ? 0 : _lookupByKey(points, axis, iScale.getPixelForValue(max), true).hi + 1);\n if (spanGaps) {\n const distanceToDefinedHi = (_parsed\n .slice(end - 1)\n .findIndex(\n point => !isNullOrUndef(point[vScale.axis])));\n end += Math.max(0, distanceToDefinedHi);\n }\n count = _limitValue(end, start, pointCount) - start;\n } else {\n count = pointCount - start;\n }\n }\n\n return {start, count};\n}\n\n/**\n * Checks if the scale ranges have changed.\n * @param {object} meta - dataset meta.\n * @returns {boolean}\n * @private\n */\nexport function _scaleRangesChanged(meta) {\n const {xScale, yScale, _scaleRanges} = meta;\n const newRanges = {\n xmin: xScale.min,\n xmax: xScale.max,\n ymin: yScale.min,\n ymax: yScale.max\n };\n if (!_scaleRanges) {\n meta._scaleRanges = newRanges;\n return true;\n }\n const changed = _scaleRanges.xmin !== xScale.min\n\t\t|| _scaleRanges.xmax !== xScale.max\n\t\t|| _scaleRanges.ymin !== yScale.min\n\t\t|| _scaleRanges.ymax !== yScale.max;\n\n Object.assign(_scaleRanges, newRanges);\n return changed;\n}\n","import {PI, TAU, HALF_PI} from './helpers.math.js';\n\nconst atEdge = (t: number) => t === 0 || t === 1;\nconst elasticIn = (t: number, s: number, p: number) => -(Math.pow(2, 10 * (t -= 1)) * Math.sin((t - s) * TAU / p));\nconst elasticOut = (t: number, s: number, p: number) => Math.pow(2, -10 * t) * Math.sin((t - s) * TAU / p) + 1;\n\n/**\n * Easing functions adapted from Robert Penner's easing equations.\n * @namespace Chart.helpers.easing.effects\n * @see http://www.robertpenner.com/easing/\n */\nconst effects = {\n linear: (t: number) => t,\n\n easeInQuad: (t: number) => t * t,\n\n easeOutQuad: (t: number) => -t * (t - 2),\n\n easeInOutQuad: (t: number) => ((t /= 0.5) < 1)\n ? 0.5 * t * t\n : -0.5 * ((--t) * (t - 2) - 1),\n\n easeInCubic: (t: number) => t * t * t,\n\n easeOutCubic: (t: number) => (t -= 1) * t * t + 1,\n\n easeInOutCubic: (t: number) => ((t /= 0.5) < 1)\n ? 0.5 * t * t * t\n : 0.5 * ((t -= 2) * t * t + 2),\n\n easeInQuart: (t: number) => t * t * t * t,\n\n easeOutQuart: (t: number) => -((t -= 1) * t * t * t - 1),\n\n easeInOutQuart: (t: number) => ((t /= 0.5) < 1)\n ? 0.5 * t * t * t * t\n : -0.5 * ((t -= 2) * t * t * t - 2),\n\n easeInQuint: (t: number) => t * t * t * t * t,\n\n easeOutQuint: (t: number) => (t -= 1) * t * t * t * t + 1,\n\n easeInOutQuint: (t: number) => ((t /= 0.5) < 1)\n ? 0.5 * t * t * t * t * t\n : 0.5 * ((t -= 2) * t * t * t * t + 2),\n\n easeInSine: (t: number) => -Math.cos(t * HALF_PI) + 1,\n\n easeOutSine: (t: number) => Math.sin(t * HALF_PI),\n\n easeInOutSine: (t: number) => -0.5 * (Math.cos(PI * t) - 1),\n\n easeInExpo: (t: number) => (t === 0) ? 0 : Math.pow(2, 10 * (t - 1)),\n\n easeOutExpo: (t: number) => (t === 1) ? 1 : -Math.pow(2, -10 * t) + 1,\n\n easeInOutExpo: (t: number) => atEdge(t) ? t : t < 0.5\n ? 0.5 * Math.pow(2, 10 * (t * 2 - 1))\n : 0.5 * (-Math.pow(2, -10 * (t * 2 - 1)) + 2),\n\n easeInCirc: (t: number) => (t >= 1) ? t : -(Math.sqrt(1 - t * t) - 1),\n\n easeOutCirc: (t: number) => Math.sqrt(1 - (t -= 1) * t),\n\n easeInOutCirc: (t: number) => ((t /= 0.5) < 1)\n ? -0.5 * (Math.sqrt(1 - t * t) - 1)\n : 0.5 * (Math.sqrt(1 - (t -= 2) * t) + 1),\n\n easeInElastic: (t: number) => atEdge(t) ? t : elasticIn(t, 0.075, 0.3),\n\n easeOutElastic: (t: number) => atEdge(t) ? t : elasticOut(t, 0.075, 0.3),\n\n easeInOutElastic(t: number) {\n const s = 0.1125;\n const p = 0.45;\n return atEdge(t) ? t :\n t < 0.5\n ? 0.5 * elasticIn(t * 2, s, p)\n : 0.5 + 0.5 * elasticOut(t * 2 - 1, s, p);\n },\n\n easeInBack(t: number) {\n const s = 1.70158;\n return t * t * ((s + 1) * t - s);\n },\n\n easeOutBack(t: number) {\n const s = 1.70158;\n return (t -= 1) * t * ((s + 1) * t + s) + 1;\n },\n\n easeInOutBack(t: number) {\n let s = 1.70158;\n if ((t /= 0.5) < 1) {\n return 0.5 * (t * t * (((s *= (1.525)) + 1) * t - s));\n }\n return 0.5 * ((t -= 2) * t * (((s *= (1.525)) + 1) * t + s) + 2);\n },\n\n easeInBounce: (t: number) => 1 - effects.easeOutBounce(1 - t),\n\n easeOutBounce(t: number) {\n const m = 7.5625;\n const d = 2.75;\n if (t < (1 / d)) {\n return m * t * t;\n }\n if (t < (2 / d)) {\n return m * (t -= (1.5 / d)) * t + 0.75;\n }\n if (t < (2.5 / d)) {\n return m * (t -= (2.25 / d)) * t + 0.9375;\n }\n return m * (t -= (2.625 / d)) * t + 0.984375;\n },\n\n easeInOutBounce: (t: number) => (t < 0.5)\n ? effects.easeInBounce(t * 2) * 0.5\n : effects.easeOutBounce(t * 2 - 1) * 0.5 + 0.5,\n} as const;\n\nexport type EasingFunction = keyof typeof effects\n\nexport default effects;\n","import {Color} from '@kurkle/color';\n\nexport function isPatternOrGradient(value: unknown): value is CanvasPattern | CanvasGradient {\n if (value && typeof value === 'object') {\n const type = value.toString();\n return type === '[object CanvasPattern]' || type === '[object CanvasGradient]';\n }\n\n return false;\n}\n\nexport function color(value: CanvasGradient): CanvasGradient;\nexport function color(value: CanvasPattern): CanvasPattern;\nexport function color(\n value:\n | string\n | { r: number; g: number; b: number; a: number }\n | [number, number, number]\n | [number, number, number, number]\n): Color;\nexport function color(value) {\n return isPatternOrGradient(value) ? value : new Color(value);\n}\n\nexport function getHoverColor(value: CanvasGradient): CanvasGradient;\nexport function getHoverColor(value: CanvasPattern): CanvasPattern;\nexport function getHoverColor(value: string): string;\nexport function getHoverColor(value) {\n return isPatternOrGradient(value)\n ? value\n : new Color(value).saturate(0.5).darken(0.1).hexString();\n}\n","const numbers = ['x', 'y', 'borderWidth', 'radius', 'tension'];\nconst colors = ['color', 'borderColor', 'backgroundColor'];\n\nexport function applyAnimationsDefaults(defaults) {\n defaults.set('animation', {\n delay: undefined,\n duration: 1000,\n easing: 'easeOutQuart',\n fn: undefined,\n from: undefined,\n loop: undefined,\n to: undefined,\n type: undefined,\n });\n\n defaults.describe('animation', {\n _fallback: false,\n _indexable: false,\n _scriptable: (name) => name !== 'onProgress' && name !== 'onComplete' && name !== 'fn',\n });\n\n defaults.set('animations', {\n colors: {\n type: 'color',\n properties: colors\n },\n numbers: {\n type: 'number',\n properties: numbers\n },\n });\n\n defaults.describe('animations', {\n _fallback: 'animation',\n });\n\n defaults.set('transitions', {\n active: {\n animation: {\n duration: 400\n }\n },\n resize: {\n animation: {\n duration: 0\n }\n },\n show: {\n animations: {\n colors: {\n from: 'transparent'\n },\n visible: {\n type: 'boolean',\n duration: 0 // show immediately\n },\n }\n },\n hide: {\n animations: {\n colors: {\n to: 'transparent'\n },\n visible: {\n type: 'boolean',\n easing: 'linear',\n fn: v => v | 0 // for keeping the dataset visible all the way through the animation\n },\n }\n }\n });\n}\n","\nconst intlCache = new Map();\n\nfunction getNumberFormat(locale: string, options?: Intl.NumberFormatOptions) {\n options = options || {};\n const cacheKey = locale + JSON.stringify(options);\n let formatter = intlCache.get(cacheKey);\n if (!formatter) {\n formatter = new Intl.NumberFormat(locale, options);\n intlCache.set(cacheKey, formatter);\n }\n return formatter;\n}\n\nexport function formatNumber(num: number, locale: string, options?: Intl.NumberFormatOptions) {\n return getNumberFormat(locale, options).format(num);\n}\n","import {isArray} from '../helpers/helpers.core.js';\nimport {formatNumber} from '../helpers/helpers.intl.js';\nimport {log10} from '../helpers/helpers.math.js';\n\n/**\n * Namespace to hold formatters for different types of ticks\n * @namespace Chart.Ticks.formatters\n */\nconst formatters = {\n /**\n * Formatter for value labels\n * @method Chart.Ticks.formatters.values\n * @param value the value to display\n * @return {string|string[]} the label to display\n */\n values(value) {\n return isArray(value) ? /** @type {string[]} */ (value) : '' + value;\n },\n\n /**\n * Formatter for numeric ticks\n * @method Chart.Ticks.formatters.numeric\n * @param tickValue {number} the value to be formatted\n * @param index {number} the position of the tickValue parameter in the ticks array\n * @param ticks {object[]} the list of ticks being converted\n * @return {string} string representation of the tickValue parameter\n */\n numeric(tickValue, index, ticks) {\n if (tickValue === 0) {\n return '0'; // never show decimal places for 0\n }\n\n const locale = this.chart.options.locale;\n let notation;\n let delta = tickValue; // This is used when there are less than 2 ticks as the tick interval.\n\n if (ticks.length > 1) {\n // all ticks are small or there huge numbers; use scientific notation\n const maxTick = Math.max(Math.abs(ticks[0].value), Math.abs(ticks[ticks.length - 1].value));\n if (maxTick < 1e-4 || maxTick > 1e+15) {\n notation = 'scientific';\n }\n\n delta = calculateDelta(tickValue, ticks);\n }\n\n const logDelta = log10(Math.abs(delta));\n\n // When datasets have values approaching Number.MAX_VALUE, the tick calculations might result in\n // infinity and eventually NaN. Passing NaN for minimumFractionDigits or maximumFractionDigits\n // will make the number formatter throw. So instead we check for isNaN and use a fallback value.\n //\n // toFixed has a max of 20 decimal places\n const numDecimal = isNaN(logDelta) ? 1 : Math.max(Math.min(-1 * Math.floor(logDelta), 20), 0);\n\n const options = {notation, minimumFractionDigits: numDecimal, maximumFractionDigits: numDecimal};\n Object.assign(options, this.options.ticks.format);\n\n return formatNumber(tickValue, locale, options);\n },\n\n\n /**\n * Formatter for logarithmic ticks\n * @method Chart.Ticks.formatters.logarithmic\n * @param tickValue {number} the value to be formatted\n * @param index {number} the position of the tickValue parameter in the ticks array\n * @param ticks {object[]} the list of ticks being converted\n * @return {string} string representation of the tickValue parameter\n */\n logarithmic(tickValue, index, ticks) {\n if (tickValue === 0) {\n return '0';\n }\n const remain = ticks[index].significand || (tickValue / (Math.pow(10, Math.floor(log10(tickValue)))));\n if ([1, 2, 3, 5, 10, 15].includes(remain) || index > 0.8 * ticks.length) {\n return formatters.numeric.call(this, tickValue, index, ticks);\n }\n return '';\n }\n\n};\n\n\nfunction calculateDelta(tickValue, ticks) {\n // Figure out how many digits to show\n // The space between the first two ticks might be smaller than normal spacing\n let delta = ticks.length > 3 ? ticks[2].value - ticks[1].value : ticks[1].value - ticks[0].value;\n\n // If we have a number like 2.5 as the delta, figure out how many decimal places we need\n if (Math.abs(delta) >= 1 && tickValue !== Math.floor(tickValue)) {\n // not an integer\n delta = tickValue - Math.floor(tickValue);\n }\n return delta;\n}\n\n/**\n * Namespace to hold static tick generation functions\n * @namespace Chart.Ticks\n */\nexport default {formatters};\n","import {getHoverColor} from '../helpers/helpers.color.js';\nimport {isObject, merge, valueOrDefault} from '../helpers/helpers.core.js';\nimport {applyAnimationsDefaults} from './core.animations.defaults.js';\nimport {applyLayoutsDefaults} from './core.layouts.defaults.js';\nimport {applyScaleDefaults} from './core.scale.defaults.js';\n\nexport const overrides = Object.create(null);\nexport const descriptors = Object.create(null);\n\n/**\n * @param {object} node\n * @param {string} key\n * @return {object}\n */\nfunction getScope(node, key) {\n if (!key) {\n return node;\n }\n const keys = key.split('.');\n for (let i = 0, n = keys.length; i < n; ++i) {\n const k = keys[i];\n node = node[k] || (node[k] = Object.create(null));\n }\n return node;\n}\n\nfunction set(root, scope, values) {\n if (typeof scope === 'string') {\n return merge(getScope(root, scope), values);\n }\n return merge(getScope(root, ''), scope);\n}\n\n/**\n * Please use the module's default export which provides a singleton instance\n * Note: class is exported for typedoc\n */\nexport class Defaults {\n constructor(_descriptors, _appliers) {\n this.animation = undefined;\n this.backgroundColor = 'rgba(0,0,0,0.1)';\n this.borderColor = 'rgba(0,0,0,0.1)';\n this.color = '#666';\n this.datasets = {};\n this.devicePixelRatio = (context) => context.chart.platform.getDevicePixelRatio();\n this.elements = {};\n this.events = [\n 'mousemove',\n 'mouseout',\n 'click',\n 'touchstart',\n 'touchmove'\n ];\n this.font = {\n family: \"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif\",\n size: 12,\n style: 'normal',\n lineHeight: 1.2,\n weight: null\n };\n this.hover = {};\n this.hoverBackgroundColor = (ctx, options) => getHoverColor(options.backgroundColor);\n this.hoverBorderColor = (ctx, options) => getHoverColor(options.borderColor);\n this.hoverColor = (ctx, options) => getHoverColor(options.color);\n this.indexAxis = 'x';\n this.interaction = {\n mode: 'nearest',\n intersect: true,\n includeInvisible: false\n };\n this.maintainAspectRatio = true;\n this.onHover = null;\n this.onClick = null;\n this.parsing = true;\n this.plugins = {};\n this.responsive = true;\n this.scale = undefined;\n this.scales = {};\n this.showLine = true;\n this.drawActiveElementsOnTop = true;\n\n this.describe(_descriptors);\n this.apply(_appliers);\n }\n\n /**\n\t * @param {string|object} scope\n\t * @param {object} [values]\n\t */\n set(scope, values) {\n return set(this, scope, values);\n }\n\n /**\n\t * @param {string} scope\n\t */\n get(scope) {\n return getScope(this, scope);\n }\n\n /**\n\t * @param {string|object} scope\n\t * @param {object} [values]\n\t */\n describe(scope, values) {\n return set(descriptors, scope, values);\n }\n\n override(scope, values) {\n return set(overrides, scope, values);\n }\n\n /**\n\t * Routes the named defaults to fallback to another scope/name.\n\t * This routing is useful when those target values, like defaults.color, are changed runtime.\n\t * If the values would be copied, the runtime change would not take effect. By routing, the\n\t * fallback is evaluated at each access, so its always up to date.\n\t *\n\t * Example:\n\t *\n\t * \tdefaults.route('elements.arc', 'backgroundColor', '', 'color')\n\t * - reads the backgroundColor from defaults.color when undefined locally\n\t *\n\t * @param {string} scope Scope this route applies to.\n\t * @param {string} name Property name that should be routed to different namespace when not defined here.\n\t * @param {string} targetScope The namespace where those properties should be routed to.\n\t * Empty string ('') is the root of defaults.\n\t * @param {string} targetName The target name in the target scope the property should be routed to.\n\t */\n route(scope, name, targetScope, targetName) {\n const scopeObject = getScope(this, scope);\n const targetScopeObject = getScope(this, targetScope);\n const privateName = '_' + name;\n\n Object.defineProperties(scopeObject, {\n // A private property is defined to hold the actual value, when this property is set in its scope (set in the setter)\n [privateName]: {\n value: scopeObject[name],\n writable: true\n },\n // The actual property is defined as getter/setter so we can do the routing when value is not locally set.\n [name]: {\n enumerable: true,\n get() {\n const local = this[privateName];\n const target = targetScopeObject[targetName];\n if (isObject(local)) {\n return Object.assign({}, target, local);\n }\n return valueOrDefault(local, target);\n },\n set(value) {\n this[privateName] = value;\n }\n }\n });\n }\n\n apply(appliers) {\n appliers.forEach((apply) => apply(this));\n }\n}\n\n// singleton instance\nexport default /* #__PURE__ */ new Defaults({\n _scriptable: (name) => !name.startsWith('on'),\n _indexable: (name) => name !== 'events',\n hover: {\n _fallback: 'interaction'\n },\n interaction: {\n _scriptable: false,\n _indexable: false,\n }\n}, [applyAnimationsDefaults, applyLayoutsDefaults, applyScaleDefaults]);\n","export function applyLayoutsDefaults(defaults) {\n defaults.set('layout', {\n autoPadding: true,\n padding: {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n }\n });\n}\n","import Ticks from './core.ticks.js';\n\nexport function applyScaleDefaults(defaults) {\n defaults.set('scale', {\n display: true,\n offset: false,\n reverse: false,\n beginAtZero: false,\n\n /**\n * Scale boundary strategy (bypassed by min/max time options)\n * - `data`: make sure data are fully visible, ticks outside are removed\n * - `ticks`: make sure ticks are fully visible, data outside are truncated\n * @see https://github.com/chartjs/Chart.js/pull/4556\n * @since 3.0.0\n */\n bounds: 'ticks',\n\n clip: true,\n\n /**\n * Addition grace added to max and reduced from min data value.\n * @since 3.0.0\n */\n grace: 0,\n\n // grid line settings\n grid: {\n display: true,\n lineWidth: 1,\n drawOnChartArea: true,\n drawTicks: true,\n tickLength: 8,\n tickWidth: (_ctx, options) => options.lineWidth,\n tickColor: (_ctx, options) => options.color,\n offset: false,\n },\n\n border: {\n display: true,\n dash: [],\n dashOffset: 0.0,\n width: 1\n },\n\n // scale title\n title: {\n // display property\n display: false,\n\n // actual label\n text: '',\n\n // top/bottom padding\n padding: {\n top: 4,\n bottom: 4\n }\n },\n\n // label settings\n ticks: {\n minRotation: 0,\n maxRotation: 50,\n mirror: false,\n textStrokeWidth: 0,\n textStrokeColor: '',\n padding: 3,\n display: true,\n autoSkip: true,\n autoSkipPadding: 3,\n labelOffset: 0,\n // We pass through arrays to be rendered as multiline labels, we convert Others to strings here.\n callback: Ticks.formatters.values,\n minor: {},\n major: {},\n align: 'center',\n crossAlign: 'near',\n\n showLabelBackdrop: false,\n backdropColor: 'rgba(255, 255, 255, 0.75)',\n backdropPadding: 2,\n }\n });\n\n defaults.route('scale.ticks', 'color', '', 'color');\n defaults.route('scale.grid', 'color', '', 'borderColor');\n defaults.route('scale.border', 'color', '', 'borderColor');\n defaults.route('scale.title', 'color', '', 'color');\n\n defaults.describe('scale', {\n _fallback: false,\n _scriptable: (name) => !name.startsWith('before') && !name.startsWith('after') && name !== 'callback' && name !== 'parser',\n _indexable: (name) => name !== 'borderDash' && name !== 'tickBorderDash' && name !== 'dash',\n });\n\n defaults.describe('scales', {\n _fallback: 'scale',\n });\n\n defaults.describe('scale.ticks', {\n _scriptable: (name) => name !== 'backdropPadding' && name !== 'callback',\n _indexable: (name) => name !== 'backdropPadding',\n });\n}\n","import type {\n Chart,\n Point,\n FontSpec,\n CanvasFontSpec,\n PointStyle,\n RenderTextOpts,\n BackdropOptions\n} from '../types/index.js';\nimport type {\n TRBL,\n SplinePoint,\n RoundedRect,\n TRBLCorners\n} from '../types/geometric.js';\nimport {isArray, isNullOrUndef} from './helpers.core.js';\nimport {PI, TAU, HALF_PI, QUARTER_PI, TWO_THIRDS_PI, RAD_PER_DEG} from './helpers.math.js';\n\n/**\n * Converts the given font object into a CSS font string.\n * @param font - A font object.\n * @return The CSS font string. See https://developer.mozilla.org/en-US/docs/Web/CSS/font\n * @private\n */\nexport function toFontString(font: FontSpec) {\n if (!font || isNullOrUndef(font.size) || isNullOrUndef(font.family)) {\n return null;\n }\n\n return (font.style ? font.style + ' ' : '')\n\t\t+ (font.weight ? font.weight + ' ' : '')\n\t\t+ font.size + 'px '\n\t\t+ font.family;\n}\n\n/**\n * @private\n */\nexport function _measureText(\n ctx: CanvasRenderingContext2D,\n data: Record,\n gc: string[],\n longest: number,\n string: string\n) {\n let textWidth = data[string];\n if (!textWidth) {\n textWidth = data[string] = ctx.measureText(string).width;\n gc.push(string);\n }\n if (textWidth > longest) {\n longest = textWidth;\n }\n return longest;\n}\n\ntype Thing = string | undefined | null\ntype Things = (Thing | Thing[])[]\n\n/**\n * @private\n */\n// eslint-disable-next-line complexity\nexport function _longestText(\n ctx: CanvasRenderingContext2D,\n font: string,\n arrayOfThings: Things,\n cache?: {data?: Record, garbageCollect?: string[], font?: string}\n) {\n cache = cache || {};\n let data = cache.data = cache.data || {};\n let gc = cache.garbageCollect = cache.garbageCollect || [];\n\n if (cache.font !== font) {\n data = cache.data = {};\n gc = cache.garbageCollect = [];\n cache.font = font;\n }\n\n ctx.save();\n\n ctx.font = font;\n let longest = 0;\n const ilen = arrayOfThings.length;\n let i: number, j: number, jlen: number, thing: Thing | Thing[], nestedThing: Thing | Thing[];\n for (i = 0; i < ilen; i++) {\n thing = arrayOfThings[i];\n\n // Undefined strings and arrays should not be measured\n if (thing !== undefined && thing !== null && !isArray(thing)) {\n longest = _measureText(ctx, data, gc, longest, thing);\n } else if (isArray(thing)) {\n // if it is an array lets measure each element\n // to do maybe simplify this function a bit so we can do this more recursively?\n for (j = 0, jlen = thing.length; j < jlen; j++) {\n nestedThing = thing[j];\n // Undefined strings and arrays should not be measured\n if (nestedThing !== undefined && nestedThing !== null && !isArray(nestedThing)) {\n longest = _measureText(ctx, data, gc, longest, nestedThing);\n }\n }\n }\n }\n\n ctx.restore();\n\n const gcLen = gc.length / 2;\n if (gcLen > arrayOfThings.length) {\n for (i = 0; i < gcLen; i++) {\n delete data[gc[i]];\n }\n gc.splice(0, gcLen);\n }\n return longest;\n}\n\n/**\n * Returns the aligned pixel value to avoid anti-aliasing blur\n * @param chart - The chart instance.\n * @param pixel - A pixel value.\n * @param width - The width of the element.\n * @returns The aligned pixel value.\n * @private\n */\nexport function _alignPixel(chart: Chart, pixel: number, width: number) {\n const devicePixelRatio = chart.currentDevicePixelRatio;\n const halfWidth = width !== 0 ? Math.max(width / 2, 0.5) : 0;\n return Math.round((pixel - halfWidth) * devicePixelRatio) / devicePixelRatio + halfWidth;\n}\n\n/**\n * Clears the entire canvas.\n */\nexport function clearCanvas(canvas?: HTMLCanvasElement, ctx?: CanvasRenderingContext2D) {\n if (!ctx && !canvas) {\n return;\n }\n\n ctx = ctx || canvas.getContext('2d');\n\n ctx.save();\n // canvas.width and canvas.height do not consider the canvas transform,\n // while clearRect does\n ctx.resetTransform();\n ctx.clearRect(0, 0, canvas.width, canvas.height);\n ctx.restore();\n}\n\nexport interface DrawPointOptions {\n pointStyle: PointStyle;\n rotation?: number;\n radius: number;\n borderWidth: number;\n}\n\nexport function drawPoint(\n ctx: CanvasRenderingContext2D,\n options: DrawPointOptions,\n x: number,\n y: number\n) {\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n drawPointLegend(ctx, options, x, y, null);\n}\n\n// eslint-disable-next-line complexity\nexport function drawPointLegend(\n ctx: CanvasRenderingContext2D,\n options: DrawPointOptions,\n x: number,\n y: number,\n w: number\n) {\n let type: string, xOffset: number, yOffset: number, size: number, cornerRadius: number, width: number, xOffsetW: number, yOffsetW: number;\n const style = options.pointStyle;\n const rotation = options.rotation;\n const radius = options.radius;\n let rad = (rotation || 0) * RAD_PER_DEG;\n\n if (style && typeof style === 'object') {\n type = style.toString();\n if (type === '[object HTMLImageElement]' || type === '[object HTMLCanvasElement]') {\n ctx.save();\n ctx.translate(x, y);\n ctx.rotate(rad);\n ctx.drawImage(style, -style.width / 2, -style.height / 2, style.width, style.height);\n ctx.restore();\n return;\n }\n }\n\n if (isNaN(radius) || radius <= 0) {\n return;\n }\n\n ctx.beginPath();\n\n switch (style) {\n // Default includes circle\n default:\n if (w) {\n ctx.ellipse(x, y, w / 2, radius, 0, 0, TAU);\n } else {\n ctx.arc(x, y, radius, 0, TAU);\n }\n ctx.closePath();\n break;\n case 'triangle':\n width = w ? w / 2 : radius;\n ctx.moveTo(x + Math.sin(rad) * width, y - Math.cos(rad) * radius);\n rad += TWO_THIRDS_PI;\n ctx.lineTo(x + Math.sin(rad) * width, y - Math.cos(rad) * radius);\n rad += TWO_THIRDS_PI;\n ctx.lineTo(x + Math.sin(rad) * width, y - Math.cos(rad) * radius);\n ctx.closePath();\n break;\n case 'rectRounded':\n // NOTE: the rounded rect implementation changed to use `arc` instead of\n // `quadraticCurveTo` since it generates better results when rect is\n // almost a circle. 0.516 (instead of 0.5) produces results with visually\n // closer proportion to the previous impl and it is inscribed in the\n // circle with `radius`. For more details, see the following PRs:\n // https://github.com/chartjs/Chart.js/issues/5597\n // https://github.com/chartjs/Chart.js/issues/5858\n cornerRadius = radius * 0.516;\n size = radius - cornerRadius;\n xOffset = Math.cos(rad + QUARTER_PI) * size;\n xOffsetW = Math.cos(rad + QUARTER_PI) * (w ? w / 2 - cornerRadius : size);\n yOffset = Math.sin(rad + QUARTER_PI) * size;\n yOffsetW = Math.sin(rad + QUARTER_PI) * (w ? w / 2 - cornerRadius : size);\n ctx.arc(x - xOffsetW, y - yOffset, cornerRadius, rad - PI, rad - HALF_PI);\n ctx.arc(x + yOffsetW, y - xOffset, cornerRadius, rad - HALF_PI, rad);\n ctx.arc(x + xOffsetW, y + yOffset, cornerRadius, rad, rad + HALF_PI);\n ctx.arc(x - yOffsetW, y + xOffset, cornerRadius, rad + HALF_PI, rad + PI);\n ctx.closePath();\n break;\n case 'rect':\n if (!rotation) {\n size = Math.SQRT1_2 * radius;\n width = w ? w / 2 : size;\n ctx.rect(x - width, y - size, 2 * width, 2 * size);\n break;\n }\n rad += QUARTER_PI;\n /* falls through */\n case 'rectRot':\n xOffsetW = Math.cos(rad) * (w ? w / 2 : radius);\n xOffset = Math.cos(rad) * radius;\n yOffset = Math.sin(rad) * radius;\n yOffsetW = Math.sin(rad) * (w ? w / 2 : radius);\n ctx.moveTo(x - xOffsetW, y - yOffset);\n ctx.lineTo(x + yOffsetW, y - xOffset);\n ctx.lineTo(x + xOffsetW, y + yOffset);\n ctx.lineTo(x - yOffsetW, y + xOffset);\n ctx.closePath();\n break;\n case 'crossRot':\n rad += QUARTER_PI;\n /* falls through */\n case 'cross':\n xOffsetW = Math.cos(rad) * (w ? w / 2 : radius);\n xOffset = Math.cos(rad) * radius;\n yOffset = Math.sin(rad) * radius;\n yOffsetW = Math.sin(rad) * (w ? w / 2 : radius);\n ctx.moveTo(x - xOffsetW, y - yOffset);\n ctx.lineTo(x + xOffsetW, y + yOffset);\n ctx.moveTo(x + yOffsetW, y - xOffset);\n ctx.lineTo(x - yOffsetW, y + xOffset);\n break;\n case 'star':\n xOffsetW = Math.cos(rad) * (w ? w / 2 : radius);\n xOffset = Math.cos(rad) * radius;\n yOffset = Math.sin(rad) * radius;\n yOffsetW = Math.sin(rad) * (w ? w / 2 : radius);\n ctx.moveTo(x - xOffsetW, y - yOffset);\n ctx.lineTo(x + xOffsetW, y + yOffset);\n ctx.moveTo(x + yOffsetW, y - xOffset);\n ctx.lineTo(x - yOffsetW, y + xOffset);\n rad += QUARTER_PI;\n xOffsetW = Math.cos(rad) * (w ? w / 2 : radius);\n xOffset = Math.cos(rad) * radius;\n yOffset = Math.sin(rad) * radius;\n yOffsetW = Math.sin(rad) * (w ? w / 2 : radius);\n ctx.moveTo(x - xOffsetW, y - yOffset);\n ctx.lineTo(x + xOffsetW, y + yOffset);\n ctx.moveTo(x + yOffsetW, y - xOffset);\n ctx.lineTo(x - yOffsetW, y + xOffset);\n break;\n case 'line':\n xOffset = w ? w / 2 : Math.cos(rad) * radius;\n yOffset = Math.sin(rad) * radius;\n ctx.moveTo(x - xOffset, y - yOffset);\n ctx.lineTo(x + xOffset, y + yOffset);\n break;\n case 'dash':\n ctx.moveTo(x, y);\n ctx.lineTo(x + Math.cos(rad) * (w ? w / 2 : radius), y + Math.sin(rad) * radius);\n break;\n case false:\n ctx.closePath();\n break;\n }\n\n ctx.fill();\n if (options.borderWidth > 0) {\n ctx.stroke();\n }\n}\n\n/**\n * Returns true if the point is inside the rectangle\n * @param point - The point to test\n * @param area - The rectangle\n * @param margin - allowed margin\n * @private\n */\nexport function _isPointInArea(\n point: Point,\n area: TRBL,\n margin?: number\n) {\n margin = margin || 0.5; // margin - default is to match rounded decimals\n\n return !area || (point && point.x > area.left - margin && point.x < area.right + margin &&\n\t\tpoint.y > area.top - margin && point.y < area.bottom + margin);\n}\n\nexport function clipArea(ctx: CanvasRenderingContext2D, area: TRBL) {\n ctx.save();\n ctx.beginPath();\n ctx.rect(area.left, area.top, area.right - area.left, area.bottom - area.top);\n ctx.clip();\n}\n\nexport function unclipArea(ctx: CanvasRenderingContext2D) {\n ctx.restore();\n}\n\n/**\n * @private\n */\nexport function _steppedLineTo(\n ctx: CanvasRenderingContext2D,\n previous: Point,\n target: Point,\n flip?: boolean,\n mode?: string\n) {\n if (!previous) {\n return ctx.lineTo(target.x, target.y);\n }\n if (mode === 'middle') {\n const midpoint = (previous.x + target.x) / 2.0;\n ctx.lineTo(midpoint, previous.y);\n ctx.lineTo(midpoint, target.y);\n } else if (mode === 'after' !== !!flip) {\n ctx.lineTo(previous.x, target.y);\n } else {\n ctx.lineTo(target.x, previous.y);\n }\n ctx.lineTo(target.x, target.y);\n}\n\n/**\n * @private\n */\nexport function _bezierCurveTo(\n ctx: CanvasRenderingContext2D,\n previous: SplinePoint,\n target: SplinePoint,\n flip?: boolean\n) {\n if (!previous) {\n return ctx.lineTo(target.x, target.y);\n }\n ctx.bezierCurveTo(\n flip ? previous.cp1x : previous.cp2x,\n flip ? previous.cp1y : previous.cp2y,\n flip ? target.cp2x : target.cp1x,\n flip ? target.cp2y : target.cp1y,\n target.x,\n target.y);\n}\n\nfunction setRenderOpts(ctx: CanvasRenderingContext2D, opts: RenderTextOpts) {\n if (opts.translation) {\n ctx.translate(opts.translation[0], opts.translation[1]);\n }\n\n if (!isNullOrUndef(opts.rotation)) {\n ctx.rotate(opts.rotation);\n }\n\n if (opts.color) {\n ctx.fillStyle = opts.color;\n }\n\n if (opts.textAlign) {\n ctx.textAlign = opts.textAlign;\n }\n\n if (opts.textBaseline) {\n ctx.textBaseline = opts.textBaseline;\n }\n}\n\nfunction decorateText(\n ctx: CanvasRenderingContext2D,\n x: number,\n y: number,\n line: string,\n opts: RenderTextOpts\n) {\n if (opts.strikethrough || opts.underline) {\n /**\n * Now that IE11 support has been dropped, we can use more\n * of the TextMetrics object. The actual bounding boxes\n * are unflagged in Chrome, Firefox, Edge, and Safari so they\n * can be safely used.\n * See https://developer.mozilla.org/en-US/docs/Web/API/TextMetrics#Browser_compatibility\n */\n const metrics = ctx.measureText(line);\n const left = x - metrics.actualBoundingBoxLeft;\n const right = x + metrics.actualBoundingBoxRight;\n const top = y - metrics.actualBoundingBoxAscent;\n const bottom = y + metrics.actualBoundingBoxDescent;\n const yDecoration = opts.strikethrough ? (top + bottom) / 2 : bottom;\n\n ctx.strokeStyle = ctx.fillStyle;\n ctx.beginPath();\n ctx.lineWidth = opts.decorationWidth || 2;\n ctx.moveTo(left, yDecoration);\n ctx.lineTo(right, yDecoration);\n ctx.stroke();\n }\n}\n\nfunction drawBackdrop(ctx: CanvasRenderingContext2D, opts: BackdropOptions) {\n const oldColor = ctx.fillStyle;\n\n ctx.fillStyle = opts.color as string;\n ctx.fillRect(opts.left, opts.top, opts.width, opts.height);\n ctx.fillStyle = oldColor;\n}\n\n/**\n * Render text onto the canvas\n */\nexport function renderText(\n ctx: CanvasRenderingContext2D,\n text: string | string[],\n x: number,\n y: number,\n font: CanvasFontSpec,\n opts: RenderTextOpts = {}\n) {\n const lines = isArray(text) ? text : [text];\n const stroke = opts.strokeWidth > 0 && opts.strokeColor !== '';\n let i: number, line: string;\n\n ctx.save();\n ctx.font = font.string;\n setRenderOpts(ctx, opts);\n\n for (i = 0; i < lines.length; ++i) {\n line = lines[i];\n\n if (opts.backdrop) {\n drawBackdrop(ctx, opts.backdrop);\n }\n\n if (stroke) {\n if (opts.strokeColor) {\n ctx.strokeStyle = opts.strokeColor;\n }\n\n if (!isNullOrUndef(opts.strokeWidth)) {\n ctx.lineWidth = opts.strokeWidth;\n }\n\n ctx.strokeText(line, x, y, opts.maxWidth);\n }\n\n ctx.fillText(line, x, y, opts.maxWidth);\n decorateText(ctx, x, y, line, opts);\n\n y += Number(font.lineHeight);\n }\n\n ctx.restore();\n}\n\n/**\n * Add a path of a rectangle with rounded corners to the current sub-path\n * @param ctx - Context\n * @param rect - Bounding rect\n */\nexport function addRoundedRectPath(\n ctx: CanvasRenderingContext2D,\n rect: RoundedRect & { radius: TRBLCorners }\n) {\n const {x, y, w, h, radius} = rect;\n\n // top left arc\n ctx.arc(x + radius.topLeft, y + radius.topLeft, radius.topLeft, 1.5 * PI, PI, true);\n\n // line from top left to bottom left\n ctx.lineTo(x, y + h - radius.bottomLeft);\n\n // bottom left arc\n ctx.arc(x + radius.bottomLeft, y + h - radius.bottomLeft, radius.bottomLeft, PI, HALF_PI, true);\n\n // line from bottom left to bottom right\n ctx.lineTo(x + w - radius.bottomRight, y + h);\n\n // bottom right arc\n ctx.arc(x + w - radius.bottomRight, y + h - radius.bottomRight, radius.bottomRight, HALF_PI, 0, true);\n\n // line from bottom right to top right\n ctx.lineTo(x + w, y + radius.topRight);\n\n // top right arc\n ctx.arc(x + w - radius.topRight, y + radius.topRight, radius.topRight, 0, -HALF_PI, true);\n\n // line from top right to top left\n ctx.lineTo(x + radius.topLeft, y);\n}\n","import defaults from '../core/core.defaults.js';\nimport {isArray, isObject, toDimension, valueOrDefault} from './helpers.core.js';\nimport {toFontString} from './helpers.canvas.js';\nimport type {ChartArea, FontSpec, Point} from '../types/index.js';\nimport type {TRBL, TRBLCorners} from '../types/geometric.js';\n\nconst LINE_HEIGHT = /^(normal|(\\d+(?:\\.\\d+)?)(px|em|%)?)$/;\nconst FONT_STYLE = /^(normal|italic|initial|inherit|unset|(oblique( -?[0-9]?[0-9]deg)?))$/;\n\n/**\n * @alias Chart.helpers.options\n * @namespace\n */\n/**\n * Converts the given line height `value` in pixels for a specific font `size`.\n * @param value - The lineHeight to parse (eg. 1.6, '14px', '75%', '1.6em').\n * @param size - The font size (in pixels) used to resolve relative `value`.\n * @returns The effective line height in pixels (size * 1.2 if value is invalid).\n * @see https://developer.mozilla.org/en-US/docs/Web/CSS/line-height\n * @since 2.7.0\n */\nexport function toLineHeight(value: number | string, size: number): number {\n const matches = ('' + value).match(LINE_HEIGHT);\n if (!matches || matches[1] === 'normal') {\n return size * 1.2;\n }\n\n value = +matches[2];\n\n switch (matches[3]) {\n case 'px':\n return value;\n case '%':\n value /= 100;\n break;\n default:\n break;\n }\n\n return size * value;\n}\n\nconst numberOrZero = (v: unknown) => +v || 0;\n\n/**\n * @param value\n * @param props\n */\nexport function _readValueToProps(value: number | Record, props: K[]): Record;\nexport function _readValueToProps(value: number | Record, props: Record): Record;\nexport function _readValueToProps(value: number | Record, props: string[] | Record) {\n const ret = {};\n const objProps = isObject(props);\n const keys = objProps ? Object.keys(props) : props;\n const read = isObject(value)\n ? objProps\n ? prop => valueOrDefault(value[prop], value[props[prop]])\n : prop => value[prop]\n : () => value;\n\n for (const prop of keys) {\n ret[prop] = numberOrZero(read(prop));\n }\n return ret;\n}\n\n/**\n * Converts the given value into a TRBL object.\n * @param value - If a number, set the value to all TRBL component,\n * else, if an object, use defined properties and sets undefined ones to 0.\n * x / y are shorthands for same value for left/right and top/bottom.\n * @returns The padding values (top, right, bottom, left)\n * @since 3.0.0\n */\nexport function toTRBL(value: number | TRBL | Point) {\n return _readValueToProps(value, {top: 'y', right: 'x', bottom: 'y', left: 'x'});\n}\n\n/**\n * Converts the given value into a TRBL corners object (similar with css border-radius).\n * @param value - If a number, set the value to all TRBL corner components,\n * else, if an object, use defined properties and sets undefined ones to 0.\n * @returns The TRBL corner values (topLeft, topRight, bottomLeft, bottomRight)\n * @since 3.0.0\n */\nexport function toTRBLCorners(value: number | TRBLCorners) {\n return _readValueToProps(value, ['topLeft', 'topRight', 'bottomLeft', 'bottomRight']);\n}\n\n/**\n * Converts the given value into a padding object with pre-computed width/height.\n * @param value - If a number, set the value to all TRBL component,\n * else, if an object, use defined properties and sets undefined ones to 0.\n * x / y are shorthands for same value for left/right and top/bottom.\n * @returns The padding values (top, right, bottom, left, width, height)\n * @since 2.7.0\n */\nexport function toPadding(value?: number | TRBL): ChartArea {\n const obj = toTRBL(value) as ChartArea;\n\n obj.width = obj.left + obj.right;\n obj.height = obj.top + obj.bottom;\n\n return obj;\n}\n\n/**\n * Parses font options and returns the font object.\n * @param options - A object that contains font options to be parsed.\n * @param fallback - A object that contains fallback font options.\n * @return The font object.\n * @private\n */\n\nexport function toFont(options: Partial, fallback?: Partial) {\n options = options || {};\n fallback = fallback || defaults.font as FontSpec;\n\n let size = valueOrDefault(options.size, fallback.size);\n\n if (typeof size === 'string') {\n size = parseInt(size, 10);\n }\n let style = valueOrDefault(options.style, fallback.style);\n if (style && !('' + style).match(FONT_STYLE)) {\n console.warn('Invalid font style specified: \"' + style + '\"');\n style = undefined;\n }\n\n const font = {\n family: valueOrDefault(options.family, fallback.family),\n lineHeight: toLineHeight(valueOrDefault(options.lineHeight, fallback.lineHeight), size),\n size,\n style,\n weight: valueOrDefault(options.weight, fallback.weight),\n string: ''\n };\n\n font.string = toFontString(font);\n return font;\n}\n\n/**\n * Evaluates the given `inputs` sequentially and returns the first defined value.\n * @param inputs - An array of values, falling back to the last value.\n * @param context - If defined and the current value is a function, the value\n * is called with `context` as first argument and the result becomes the new input.\n * @param index - If defined and the current value is an array, the value\n * at `index` become the new input.\n * @param info - object to return information about resolution in\n * @param info.cacheable - Will be set to `false` if option is not cacheable.\n * @since 2.7.0\n */\nexport function resolve(inputs: Array, context?: object, index?: number, info?: { cacheable: boolean }) {\n let cacheable = true;\n let i: number, ilen: number, value: unknown;\n\n for (i = 0, ilen = inputs.length; i < ilen; ++i) {\n value = inputs[i];\n if (value === undefined) {\n continue;\n }\n if (context !== undefined && typeof value === 'function') {\n value = value(context);\n cacheable = false;\n }\n if (index !== undefined && isArray(value)) {\n value = value[index % value.length];\n cacheable = false;\n }\n if (value !== undefined) {\n if (info && !cacheable) {\n info.cacheable = false;\n }\n return value;\n }\n }\n}\n\n/**\n * @param minmax\n * @param grace\n * @param beginAtZero\n * @private\n */\nexport function _addGrace(minmax: { min: number; max: number; }, grace: number | string, beginAtZero: boolean) {\n const {min, max} = minmax;\n const change = toDimension(grace, (max - min) / 2);\n const keepZero = (value: number, add: number) => beginAtZero && value === 0 ? 0 : value + add;\n return {\n min: keepZero(min, -Math.abs(change)),\n max: keepZero(max, change)\n };\n}\n\n/**\n * Create a context inheriting parentContext\n * @param parentContext\n * @param context\n * @returns\n */\nexport function createContext(parentContext: null, context: T): T;\nexport function createContext(parentContext: P, context: T): P & T;\nexport function createContext(parentContext: object, context: object) {\n return Object.assign(Object.create(parentContext), context);\n}\n","/* eslint-disable @typescript-eslint/no-use-before-define */\nimport type {AnyObject} from '../types/basic.js';\nimport type {ChartMeta} from '../types/index.js';\nimport type {\n ResolverObjectKey,\n ResolverCache,\n ResolverProxy,\n DescriptorDefaults,\n Descriptor,\n ContextCache,\n ContextProxy\n} from './helpers.config.types.js';\nimport {isArray, isFunction, isObject, resolveObjectKey, _capitalize} from './helpers.core.js';\n\nexport * from './helpers.config.types.js';\n\n/**\n * Creates a Proxy for resolving raw values for options.\n * @param scopes - The option scopes to look for values, in resolution order\n * @param prefixes - The prefixes for values, in resolution order.\n * @param rootScopes - The root option scopes\n * @param fallback - Parent scopes fallback\n * @param getTarget - callback for getting the target for changed values\n * @returns Proxy\n * @private\n */\nexport function _createResolver<\n T extends AnyObject[] = AnyObject[],\n R extends AnyObject[] = T\n>(\n scopes: T,\n prefixes = [''],\n rootScopes?: R,\n fallback?: ResolverObjectKey,\n getTarget = () => scopes[0]\n) {\n const finalRootScopes = rootScopes || scopes;\n if (typeof fallback === 'undefined') {\n fallback = _resolve('_fallback', scopes);\n }\n const cache: ResolverCache = {\n [Symbol.toStringTag]: 'Object',\n _cacheable: true,\n _scopes: scopes,\n _rootScopes: finalRootScopes,\n _fallback: fallback,\n _getTarget: getTarget,\n override: (scope: AnyObject) => _createResolver([scope, ...scopes], prefixes, finalRootScopes, fallback),\n };\n return new Proxy(cache, {\n /**\n * A trap for the delete operator.\n */\n deleteProperty(target, prop: string) {\n delete target[prop]; // remove from cache\n delete target._keys; // remove cached keys\n delete scopes[0][prop]; // remove from top level scope\n return true;\n },\n\n /**\n * A trap for getting property values.\n */\n get(target, prop: string) {\n return _cached(target, prop,\n () => _resolveWithPrefixes(prop, prefixes, scopes, target));\n },\n\n /**\n * A trap for Object.getOwnPropertyDescriptor.\n * Also used by Object.hasOwnProperty.\n */\n getOwnPropertyDescriptor(target, prop) {\n return Reflect.getOwnPropertyDescriptor(target._scopes[0], prop);\n },\n\n /**\n * A trap for Object.getPrototypeOf.\n */\n getPrototypeOf() {\n return Reflect.getPrototypeOf(scopes[0]);\n },\n\n /**\n * A trap for the in operator.\n */\n has(target, prop: string) {\n return getKeysFromAllScopes(target).includes(prop);\n },\n\n /**\n * A trap for Object.getOwnPropertyNames and Object.getOwnPropertySymbols.\n */\n ownKeys(target) {\n return getKeysFromAllScopes(target);\n },\n\n /**\n * A trap for setting property values.\n */\n set(target, prop: string, value) {\n const storage = target._storage || (target._storage = getTarget());\n target[prop] = storage[prop] = value; // set to top level scope + cache\n delete target._keys; // remove cached keys\n return true;\n }\n }) as ResolverProxy;\n}\n\n/**\n * Returns an Proxy for resolving option values with context.\n * @param proxy - The Proxy returned by `_createResolver`\n * @param context - Context object for scriptable/indexable options\n * @param subProxy - The proxy provided for scriptable options\n * @param descriptorDefaults - Defaults for descriptors\n * @private\n */\nexport function _attachContext<\n T extends AnyObject[] = AnyObject[],\n R extends AnyObject[] = T\n>(\n proxy: ResolverProxy,\n context: AnyObject,\n subProxy?: ResolverProxy,\n descriptorDefaults?: DescriptorDefaults\n) {\n const cache: ContextCache = {\n _cacheable: false,\n _proxy: proxy,\n _context: context,\n _subProxy: subProxy,\n _stack: new Set(),\n _descriptors: _descriptors(proxy, descriptorDefaults),\n setContext: (ctx: AnyObject) => _attachContext(proxy, ctx, subProxy, descriptorDefaults),\n override: (scope: AnyObject) => _attachContext(proxy.override(scope), context, subProxy, descriptorDefaults)\n };\n return new Proxy(cache, {\n /**\n * A trap for the delete operator.\n */\n deleteProperty(target, prop) {\n delete target[prop]; // remove from cache\n delete proxy[prop]; // remove from proxy\n return true;\n },\n\n /**\n * A trap for getting property values.\n */\n get(target, prop: string, receiver) {\n return _cached(target, prop,\n () => _resolveWithContext(target, prop, receiver));\n },\n\n /**\n * A trap for Object.getOwnPropertyDescriptor.\n * Also used by Object.hasOwnProperty.\n */\n getOwnPropertyDescriptor(target, prop) {\n return target._descriptors.allKeys\n ? Reflect.has(proxy, prop) ? {enumerable: true, configurable: true} : undefined\n : Reflect.getOwnPropertyDescriptor(proxy, prop);\n },\n\n /**\n * A trap for Object.getPrototypeOf.\n */\n getPrototypeOf() {\n return Reflect.getPrototypeOf(proxy);\n },\n\n /**\n * A trap for the in operator.\n */\n has(target, prop) {\n return Reflect.has(proxy, prop);\n },\n\n /**\n * A trap for Object.getOwnPropertyNames and Object.getOwnPropertySymbols.\n */\n ownKeys() {\n return Reflect.ownKeys(proxy);\n },\n\n /**\n * A trap for setting property values.\n */\n set(target, prop, value) {\n proxy[prop] = value; // set to proxy\n delete target[prop]; // remove from cache\n return true;\n }\n }) as ContextProxy;\n}\n\n/**\n * @private\n */\nexport function _descriptors(\n proxy: ResolverCache,\n defaults: DescriptorDefaults = {scriptable: true, indexable: true}\n): Descriptor {\n const {_scriptable = defaults.scriptable, _indexable = defaults.indexable, _allKeys = defaults.allKeys} = proxy;\n return {\n allKeys: _allKeys,\n scriptable: _scriptable,\n indexable: _indexable,\n isScriptable: isFunction(_scriptable) ? _scriptable : () => _scriptable,\n isIndexable: isFunction(_indexable) ? _indexable : () => _indexable\n };\n}\n\nconst readKey = (prefix: string, name: string) => prefix ? prefix + _capitalize(name) : name;\nconst needsSubResolver = (prop: string, value: unknown) => isObject(value) && prop !== 'adapters' &&\n (Object.getPrototypeOf(value) === null || value.constructor === Object);\n\nfunction _cached(\n target: AnyObject,\n prop: string,\n resolve: () => unknown\n) {\n if (Object.prototype.hasOwnProperty.call(target, prop) || prop === 'constructor') {\n return target[prop];\n }\n\n const value = resolve();\n // cache the resolved value\n target[prop] = value;\n return value;\n}\n\nfunction _resolveWithContext(\n target: ContextCache,\n prop: string,\n receiver: AnyObject\n) {\n const {_proxy, _context, _subProxy, _descriptors: descriptors} = target;\n let value = _proxy[prop]; // resolve from proxy\n\n // resolve with context\n if (isFunction(value) && descriptors.isScriptable(prop)) {\n value = _resolveScriptable(prop, value, target, receiver);\n }\n if (isArray(value) && value.length) {\n value = _resolveArray(prop, value, target, descriptors.isIndexable);\n }\n if (needsSubResolver(prop, value)) {\n // if the resolved value is an object, create a sub resolver for it\n value = _attachContext(value, _context, _subProxy && _subProxy[prop], descriptors);\n }\n return value;\n}\n\nfunction _resolveScriptable(\n prop: string,\n getValue: (ctx: AnyObject, sub: AnyObject) => unknown,\n target: ContextCache,\n receiver: AnyObject\n) {\n const {_proxy, _context, _subProxy, _stack} = target;\n if (_stack.has(prop)) {\n throw new Error('Recursion detected: ' + Array.from(_stack).join('->') + '->' + prop);\n }\n _stack.add(prop);\n let value = getValue(_context, _subProxy || receiver);\n _stack.delete(prop);\n if (needsSubResolver(prop, value)) {\n // When scriptable option returns an object, create a resolver on that.\n value = createSubResolver(_proxy._scopes, _proxy, prop, value);\n }\n return value;\n}\n\nfunction _resolveArray(\n prop: string,\n value: unknown[],\n target: ContextCache,\n isIndexable: (key: string) => boolean\n) {\n const {_proxy, _context, _subProxy, _descriptors: descriptors} = target;\n\n if (typeof _context.index !== 'undefined' && isIndexable(prop)) {\n return value[_context.index % value.length];\n } else if (isObject(value[0])) {\n // Array of objects, return array or resolvers\n const arr = value;\n const scopes = _proxy._scopes.filter(s => s !== arr);\n value = [];\n for (const item of arr) {\n const resolver = createSubResolver(scopes, _proxy, prop, item);\n value.push(_attachContext(resolver, _context, _subProxy && _subProxy[prop], descriptors));\n }\n }\n return value;\n}\n\nfunction resolveFallback(\n fallback: ResolverObjectKey | ((prop: ResolverObjectKey, value: unknown) => ResolverObjectKey),\n prop: ResolverObjectKey,\n value: unknown\n) {\n return isFunction(fallback) ? fallback(prop, value) : fallback;\n}\n\nconst getScope = (key: ResolverObjectKey, parent: AnyObject) => key === true ? parent\n : typeof key === 'string' ? resolveObjectKey(parent, key) : undefined;\n\nfunction addScopes(\n set: Set,\n parentScopes: AnyObject[],\n key: ResolverObjectKey,\n parentFallback: ResolverObjectKey,\n value: unknown\n) {\n for (const parent of parentScopes) {\n const scope = getScope(key, parent);\n if (scope) {\n set.add(scope);\n const fallback = resolveFallback(scope._fallback, key, value);\n if (typeof fallback !== 'undefined' && fallback !== key && fallback !== parentFallback) {\n // When we reach the descriptor that defines a new _fallback, return that.\n // The fallback will resume to that new scope.\n return fallback;\n }\n } else if (scope === false && typeof parentFallback !== 'undefined' && key !== parentFallback) {\n // Fallback to `false` results to `false`, when falling back to different key.\n // For example `interaction` from `hover` or `plugins.tooltip` and `animation` from `animations`\n return null;\n }\n }\n return false;\n}\n\nfunction createSubResolver(\n parentScopes: AnyObject[],\n resolver: ResolverCache,\n prop: ResolverObjectKey,\n value: unknown\n) {\n const rootScopes = resolver._rootScopes;\n const fallback = resolveFallback(resolver._fallback, prop, value);\n const allScopes = [...parentScopes, ...rootScopes];\n const set = new Set();\n set.add(value);\n let key = addScopesFromKey(set, allScopes, prop, fallback || prop, value);\n if (key === null) {\n return false;\n }\n if (typeof fallback !== 'undefined' && fallback !== prop) {\n key = addScopesFromKey(set, allScopes, fallback, key, value);\n if (key === null) {\n return false;\n }\n }\n return _createResolver(Array.from(set), [''], rootScopes, fallback,\n () => subGetTarget(resolver, prop as string, value));\n}\n\nfunction addScopesFromKey(\n set: Set,\n allScopes: AnyObject[],\n key: ResolverObjectKey,\n fallback: ResolverObjectKey,\n item: unknown\n) {\n while (key) {\n key = addScopes(set, allScopes, key, fallback, item);\n }\n return key;\n}\n\nfunction subGetTarget(\n resolver: ResolverCache,\n prop: string,\n value: unknown\n) {\n const parent = resolver._getTarget();\n if (!(prop in parent)) {\n parent[prop] = {};\n }\n const target = parent[prop];\n if (isArray(target) && isObject(value)) {\n // For array of objects, the object is used to store updated values\n return value;\n }\n return target || {};\n}\n\nfunction _resolveWithPrefixes(\n prop: string,\n prefixes: string[],\n scopes: AnyObject[],\n proxy: ResolverProxy\n) {\n let value: unknown;\n for (const prefix of prefixes) {\n value = _resolve(readKey(prefix, prop), scopes);\n if (typeof value !== 'undefined') {\n return needsSubResolver(prop, value)\n ? createSubResolver(scopes, proxy, prop, value)\n : value;\n }\n }\n}\n\nfunction _resolve(key: string, scopes: AnyObject[]) {\n for (const scope of scopes) {\n if (!scope) {\n continue;\n }\n const value = scope[key];\n if (typeof value !== 'undefined') {\n return value;\n }\n }\n}\n\nfunction getKeysFromAllScopes(target: ResolverCache) {\n let keys = target._keys;\n if (!keys) {\n keys = target._keys = resolveKeysFromAllScopes(target._scopes);\n }\n return keys;\n}\n\nfunction resolveKeysFromAllScopes(scopes: AnyObject[]) {\n const set = new Set();\n for (const scope of scopes) {\n for (const key of Object.keys(scope).filter(k => !k.startsWith('_'))) {\n set.add(key);\n }\n }\n return Array.from(set);\n}\n\nexport function _parseObjectDataRadialScale(\n meta: ChartMeta<'line' | 'scatter'>,\n data: AnyObject[],\n start: number,\n count: number\n) {\n const {iScale} = meta;\n const {key = 'r'} = this._parsing;\n const parsed = new Array<{r: unknown}>(count);\n let i: number, ilen: number, index: number, item: AnyObject;\n\n for (i = 0, ilen = count; i < ilen; ++i) {\n index = i + start;\n item = data[index];\n parsed[i] = {\n r: iScale.parse(resolveObjectKey(item, key), index)\n };\n }\n return parsed;\n}\n","import {almostEquals, distanceBetweenPoints, sign} from './helpers.math.js';\nimport {_isPointInArea} from './helpers.canvas.js';\nimport type {ChartArea} from '../types/index.js';\nimport type {SplinePoint} from '../types/geometric.js';\n\nconst EPSILON = Number.EPSILON || 1e-14;\n\ntype OptionalSplinePoint = SplinePoint | false\nconst getPoint = (points: SplinePoint[], i: number): OptionalSplinePoint => i < points.length && !points[i].skip && points[i];\nconst getValueAxis = (indexAxis: 'x' | 'y') => indexAxis === 'x' ? 'y' : 'x';\n\nexport function splineCurve(\n firstPoint: SplinePoint,\n middlePoint: SplinePoint,\n afterPoint: SplinePoint,\n t: number\n): {\n previous: SplinePoint\n next: SplinePoint\n } {\n // Props to Rob Spencer at scaled innovation for his post on splining between points\n // http://scaledinnovation.com/analytics/splines/aboutSplines.html\n\n // This function must also respect \"skipped\" points\n\n const previous = firstPoint.skip ? middlePoint : firstPoint;\n const current = middlePoint;\n const next = afterPoint.skip ? middlePoint : afterPoint;\n const d01 = distanceBetweenPoints(current, previous);\n const d12 = distanceBetweenPoints(next, current);\n\n let s01 = d01 / (d01 + d12);\n let s12 = d12 / (d01 + d12);\n\n // If all points are the same, s01 & s02 will be inf\n s01 = isNaN(s01) ? 0 : s01;\n s12 = isNaN(s12) ? 0 : s12;\n\n const fa = t * s01; // scaling factor for triangle Ta\n const fb = t * s12;\n\n return {\n previous: {\n x: current.x - fa * (next.x - previous.x),\n y: current.y - fa * (next.y - previous.y)\n },\n next: {\n x: current.x + fb * (next.x - previous.x),\n y: current.y + fb * (next.y - previous.y)\n }\n };\n}\n\n/**\n * Adjust tangents to ensure monotonic properties\n */\nfunction monotoneAdjust(points: SplinePoint[], deltaK: number[], mK: number[]) {\n const pointsLen = points.length;\n\n let alphaK: number, betaK: number, tauK: number, squaredMagnitude: number, pointCurrent: OptionalSplinePoint;\n let pointAfter = getPoint(points, 0);\n for (let i = 0; i < pointsLen - 1; ++i) {\n pointCurrent = pointAfter;\n pointAfter = getPoint(points, i + 1);\n if (!pointCurrent || !pointAfter) {\n continue;\n }\n\n if (almostEquals(deltaK[i], 0, EPSILON)) {\n mK[i] = mK[i + 1] = 0;\n continue;\n }\n\n alphaK = mK[i] / deltaK[i];\n betaK = mK[i + 1] / deltaK[i];\n squaredMagnitude = Math.pow(alphaK, 2) + Math.pow(betaK, 2);\n if (squaredMagnitude <= 9) {\n continue;\n }\n\n tauK = 3 / Math.sqrt(squaredMagnitude);\n mK[i] = alphaK * tauK * deltaK[i];\n mK[i + 1] = betaK * tauK * deltaK[i];\n }\n}\n\nfunction monotoneCompute(points: SplinePoint[], mK: number[], indexAxis: 'x' | 'y' = 'x') {\n const valueAxis = getValueAxis(indexAxis);\n const pointsLen = points.length;\n let delta: number, pointBefore: OptionalSplinePoint, pointCurrent: OptionalSplinePoint;\n let pointAfter = getPoint(points, 0);\n\n for (let i = 0; i < pointsLen; ++i) {\n pointBefore = pointCurrent;\n pointCurrent = pointAfter;\n pointAfter = getPoint(points, i + 1);\n if (!pointCurrent) {\n continue;\n }\n\n const iPixel = pointCurrent[indexAxis];\n const vPixel = pointCurrent[valueAxis];\n if (pointBefore) {\n delta = (iPixel - pointBefore[indexAxis]) / 3;\n pointCurrent[`cp1${indexAxis}`] = iPixel - delta;\n pointCurrent[`cp1${valueAxis}`] = vPixel - delta * mK[i];\n }\n if (pointAfter) {\n delta = (pointAfter[indexAxis] - iPixel) / 3;\n pointCurrent[`cp2${indexAxis}`] = iPixel + delta;\n pointCurrent[`cp2${valueAxis}`] = vPixel + delta * mK[i];\n }\n }\n}\n\n/**\n * This function calculates Bézier control points in a similar way than |splineCurve|,\n * but preserves monotonicity of the provided data and ensures no local extremums are added\n * between the dataset discrete points due to the interpolation.\n * See : https://en.wikipedia.org/wiki/Monotone_cubic_interpolation\n */\nexport function splineCurveMonotone(points: SplinePoint[], indexAxis: 'x' | 'y' = 'x') {\n const valueAxis = getValueAxis(indexAxis);\n const pointsLen = points.length;\n const deltaK: number[] = Array(pointsLen).fill(0);\n const mK: number[] = Array(pointsLen);\n\n // Calculate slopes (deltaK) and initialize tangents (mK)\n let i, pointBefore: OptionalSplinePoint, pointCurrent: OptionalSplinePoint;\n let pointAfter = getPoint(points, 0);\n\n for (i = 0; i < pointsLen; ++i) {\n pointBefore = pointCurrent;\n pointCurrent = pointAfter;\n pointAfter = getPoint(points, i + 1);\n if (!pointCurrent) {\n continue;\n }\n\n if (pointAfter) {\n const slopeDelta = pointAfter[indexAxis] - pointCurrent[indexAxis];\n\n // In the case of two points that appear at the same x pixel, slopeDeltaX is 0\n deltaK[i] = slopeDelta !== 0 ? (pointAfter[valueAxis] - pointCurrent[valueAxis]) / slopeDelta : 0;\n }\n mK[i] = !pointBefore ? deltaK[i]\n : !pointAfter ? deltaK[i - 1]\n : (sign(deltaK[i - 1]) !== sign(deltaK[i])) ? 0\n : (deltaK[i - 1] + deltaK[i]) / 2;\n }\n\n monotoneAdjust(points, deltaK, mK);\n\n monotoneCompute(points, mK, indexAxis);\n}\n\nfunction capControlPoint(pt: number, min: number, max: number) {\n return Math.max(Math.min(pt, max), min);\n}\n\nfunction capBezierPoints(points: SplinePoint[], area: ChartArea) {\n let i, ilen, point, inArea, inAreaPrev;\n let inAreaNext = _isPointInArea(points[0], area);\n for (i = 0, ilen = points.length; i < ilen; ++i) {\n inAreaPrev = inArea;\n inArea = inAreaNext;\n inAreaNext = i < ilen - 1 && _isPointInArea(points[i + 1], area);\n if (!inArea) {\n continue;\n }\n point = points[i];\n if (inAreaPrev) {\n point.cp1x = capControlPoint(point.cp1x, area.left, area.right);\n point.cp1y = capControlPoint(point.cp1y, area.top, area.bottom);\n }\n if (inAreaNext) {\n point.cp2x = capControlPoint(point.cp2x, area.left, area.right);\n point.cp2y = capControlPoint(point.cp2y, area.top, area.bottom);\n }\n }\n}\n\n/**\n * @private\n */\nexport function _updateBezierControlPoints(\n points: SplinePoint[],\n options,\n area: ChartArea,\n loop: boolean,\n indexAxis: 'x' | 'y'\n) {\n let i: number, ilen: number, point: SplinePoint, controlPoints: ReturnType;\n\n // Only consider points that are drawn in case the spanGaps option is used\n if (options.spanGaps) {\n points = points.filter((pt) => !pt.skip);\n }\n\n if (options.cubicInterpolationMode === 'monotone') {\n splineCurveMonotone(points, indexAxis);\n } else {\n let prev = loop ? points[points.length - 1] : points[0];\n for (i = 0, ilen = points.length; i < ilen; ++i) {\n point = points[i];\n controlPoints = splineCurve(\n prev,\n point,\n points[Math.min(i + 1, ilen - (loop ? 0 : 1)) % ilen],\n options.tension\n );\n point.cp1x = controlPoints.previous.x;\n point.cp1y = controlPoints.previous.y;\n point.cp2x = controlPoints.next.x;\n point.cp2y = controlPoints.next.y;\n prev = point;\n }\n }\n\n if (options.capBezierPoints) {\n capBezierPoints(points, area);\n }\n}\n","import type {ChartArea, Scale} from '../types/index.js';\nimport type PrivateChart from '../core/core.controller.js';\nimport type {Chart, ChartEvent} from '../types.js';\nimport {INFINITY} from './helpers.math.js';\n\n/**\n * @private\n */\nexport function _isDomSupported(): boolean {\n return typeof window !== 'undefined' && typeof document !== 'undefined';\n}\n\n/**\n * @private\n */\nexport function _getParentNode(domNode: HTMLCanvasElement): HTMLCanvasElement {\n let parent = domNode.parentNode;\n if (parent && parent.toString() === '[object ShadowRoot]') {\n parent = (parent as ShadowRoot).host;\n }\n return parent as HTMLCanvasElement;\n}\n\n/**\n * convert max-width/max-height values that may be percentages into a number\n * @private\n */\n\nfunction parseMaxStyle(styleValue: string | number, node: HTMLElement, parentProperty: string) {\n let valueInPixels: number;\n if (typeof styleValue === 'string') {\n valueInPixels = parseInt(styleValue, 10);\n\n if (styleValue.indexOf('%') !== -1) {\n // percentage * size in dimension\n valueInPixels = (valueInPixels / 100) * node.parentNode[parentProperty];\n }\n } else {\n valueInPixels = styleValue;\n }\n\n return valueInPixels;\n}\n\nconst getComputedStyle = (element: HTMLElement): CSSStyleDeclaration =>\n element.ownerDocument.defaultView.getComputedStyle(element, null);\n\nexport function getStyle(el: HTMLElement, property: string): string {\n return getComputedStyle(el).getPropertyValue(property);\n}\n\nconst positions = ['top', 'right', 'bottom', 'left'];\nfunction getPositionedStyle(styles: CSSStyleDeclaration, style: string, suffix?: string): ChartArea {\n const result = {} as ChartArea;\n suffix = suffix ? '-' + suffix : '';\n for (let i = 0; i < 4; i++) {\n const pos = positions[i];\n result[pos] = parseFloat(styles[style + '-' + pos + suffix]) || 0;\n }\n result.width = result.left + result.right;\n result.height = result.top + result.bottom;\n return result;\n}\n\nconst useOffsetPos = (x: number, y: number, target: HTMLElement | EventTarget) =>\n (x > 0 || y > 0) && (!target || !(target as HTMLElement).shadowRoot);\n\n/**\n * @param e\n * @param canvas\n * @returns Canvas position\n */\nfunction getCanvasPosition(\n e: Event | TouchEvent | MouseEvent,\n canvas: HTMLCanvasElement\n): {\n x: number;\n y: number;\n box: boolean;\n } {\n const touches = (e as TouchEvent).touches;\n const source = (touches && touches.length ? touches[0] : e) as MouseEvent;\n const {offsetX, offsetY} = source as MouseEvent;\n let box = false;\n let x, y;\n if (useOffsetPos(offsetX, offsetY, e.target)) {\n x = offsetX;\n y = offsetY;\n } else {\n const rect = canvas.getBoundingClientRect();\n x = source.clientX - rect.left;\n y = source.clientY - rect.top;\n box = true;\n }\n return {x, y, box};\n}\n\n/**\n * Gets an event's x, y coordinates, relative to the chart area\n * @param event\n * @param chart\n * @returns x and y coordinates of the event\n */\n\nexport function getRelativePosition(\n event: Event | ChartEvent | TouchEvent | MouseEvent,\n chart: Chart | PrivateChart\n): { x: number; y: number } {\n if ('native' in event) {\n return event;\n }\n\n const {canvas, currentDevicePixelRatio} = chart;\n const style = getComputedStyle(canvas);\n const borderBox = style.boxSizing === 'border-box';\n const paddings = getPositionedStyle(style, 'padding');\n const borders = getPositionedStyle(style, 'border', 'width');\n const {x, y, box} = getCanvasPosition(event, canvas);\n const xOffset = paddings.left + (box && borders.left);\n const yOffset = paddings.top + (box && borders.top);\n\n let {width, height} = chart;\n if (borderBox) {\n width -= paddings.width + borders.width;\n height -= paddings.height + borders.height;\n }\n return {\n x: Math.round((x - xOffset) / width * canvas.width / currentDevicePixelRatio),\n y: Math.round((y - yOffset) / height * canvas.height / currentDevicePixelRatio)\n };\n}\n\nfunction getContainerSize(canvas: HTMLCanvasElement, width: number, height: number): Partial {\n let maxWidth: number, maxHeight: number;\n\n if (width === undefined || height === undefined) {\n const container = canvas && _getParentNode(canvas);\n if (!container) {\n width = canvas.clientWidth;\n height = canvas.clientHeight;\n } else {\n const rect = container.getBoundingClientRect(); // this is the border box of the container\n const containerStyle = getComputedStyle(container);\n const containerBorder = getPositionedStyle(containerStyle, 'border', 'width');\n const containerPadding = getPositionedStyle(containerStyle, 'padding');\n width = rect.width - containerPadding.width - containerBorder.width;\n height = rect.height - containerPadding.height - containerBorder.height;\n maxWidth = parseMaxStyle(containerStyle.maxWidth, container, 'clientWidth');\n maxHeight = parseMaxStyle(containerStyle.maxHeight, container, 'clientHeight');\n }\n }\n return {\n width,\n height,\n maxWidth: maxWidth || INFINITY,\n maxHeight: maxHeight || INFINITY\n };\n}\n\nconst round1 = (v: number) => Math.round(v * 10) / 10;\n\n// eslint-disable-next-line complexity\nexport function getMaximumSize(\n canvas: HTMLCanvasElement,\n bbWidth?: number,\n bbHeight?: number,\n aspectRatio?: number\n): { width: number; height: number } {\n const style = getComputedStyle(canvas);\n const margins = getPositionedStyle(style, 'margin');\n const maxWidth = parseMaxStyle(style.maxWidth, canvas, 'clientWidth') || INFINITY;\n const maxHeight = parseMaxStyle(style.maxHeight, canvas, 'clientHeight') || INFINITY;\n const containerSize = getContainerSize(canvas, bbWidth, bbHeight);\n let {width, height} = containerSize;\n\n if (style.boxSizing === 'content-box') {\n const borders = getPositionedStyle(style, 'border', 'width');\n const paddings = getPositionedStyle(style, 'padding');\n width -= paddings.width + borders.width;\n height -= paddings.height + borders.height;\n }\n width = Math.max(0, width - margins.width);\n height = Math.max(0, aspectRatio ? width / aspectRatio : height - margins.height);\n width = round1(Math.min(width, maxWidth, containerSize.maxWidth));\n height = round1(Math.min(height, maxHeight, containerSize.maxHeight));\n if (width && !height) {\n // https://github.com/chartjs/Chart.js/issues/4659\n // If the canvas has width, but no height, default to aspectRatio of 2 (canvas default)\n height = round1(width / 2);\n }\n\n const maintainHeight = bbWidth !== undefined || bbHeight !== undefined;\n\n if (maintainHeight && aspectRatio && containerSize.height && height > containerSize.height) {\n height = containerSize.height;\n width = round1(Math.floor(height * aspectRatio));\n }\n\n return {width, height};\n}\n\n/**\n * @param chart\n * @param forceRatio\n * @param forceStyle\n * @returns True if the canvas context size or transformation has changed.\n */\nexport function retinaScale(\n chart: Chart | PrivateChart,\n forceRatio: number,\n forceStyle?: boolean\n): boolean | void {\n const pixelRatio = forceRatio || 1;\n const deviceHeight = Math.floor(chart.height * pixelRatio);\n const deviceWidth = Math.floor(chart.width * pixelRatio);\n\n (chart as PrivateChart).height = Math.floor(chart.height);\n (chart as PrivateChart).width = Math.floor(chart.width);\n\n const canvas = chart.canvas;\n\n // If no style has been set on the canvas, the render size is used as display size,\n // making the chart visually bigger, so let's enforce it to the \"correct\" values.\n // See https://github.com/chartjs/Chart.js/issues/3575\n if (canvas.style && (forceStyle || (!canvas.style.height && !canvas.style.width))) {\n canvas.style.height = `${chart.height}px`;\n canvas.style.width = `${chart.width}px`;\n }\n\n if (chart.currentDevicePixelRatio !== pixelRatio\n || canvas.height !== deviceHeight\n || canvas.width !== deviceWidth) {\n (chart as PrivateChart).currentDevicePixelRatio = pixelRatio;\n canvas.height = deviceHeight;\n canvas.width = deviceWidth;\n chart.ctx.setTransform(pixelRatio, 0, 0, pixelRatio, 0, 0);\n return true;\n }\n return false;\n}\n\n/**\n * Detects support for options object argument in addEventListener.\n * https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener#Safely_detecting_option_support\n * @private\n */\nexport const supportsEventListenerOptions = (function() {\n let passiveSupported = false;\n try {\n const options = {\n get passive() { // This function will be called when the browser attempts to access the passive property.\n passiveSupported = true;\n return false;\n }\n } as EventListenerOptions;\n\n if (_isDomSupported()) {\n window.addEventListener('test', null, options);\n window.removeEventListener('test', null, options);\n }\n } catch (e) {\n // continue regardless of error\n }\n return passiveSupported;\n}());\n\n/**\n * The \"used\" size is the final value of a dimension property after all calculations have\n * been performed. This method uses the computed style of `element` but returns undefined\n * if the computed style is not expressed in pixels. That can happen in some cases where\n * `element` has a size relative to its parent and this last one is not yet displayed,\n * for example because of `display: none` on a parent node.\n * @see https://developer.mozilla.org/en-US/docs/Web/CSS/used_value\n * @returns Size in pixels or undefined if unknown.\n */\n\nexport function readUsedSize(\n element: HTMLElement,\n property: 'width' | 'height'\n): number | undefined {\n const value = getStyle(element, property);\n const matches = value && value.match(/^(\\d+)(\\.\\d+)?px$/);\n return matches ? +matches[1] : undefined;\n}\n","import type {Point, SplinePoint} from '../types/geometric.js';\n\n/**\n * @private\n */\nexport function _pointInLine(p1: Point, p2: Point, t: number, mode?) { // eslint-disable-line @typescript-eslint/no-unused-vars\n return {\n x: p1.x + t * (p2.x - p1.x),\n y: p1.y + t * (p2.y - p1.y)\n };\n}\n\n/**\n * @private\n */\nexport function _steppedInterpolation(\n p1: Point,\n p2: Point,\n t: number, mode: 'middle' | 'after' | unknown\n) {\n return {\n x: p1.x + t * (p2.x - p1.x),\n y: mode === 'middle' ? t < 0.5 ? p1.y : p2.y\n : mode === 'after' ? t < 1 ? p1.y : p2.y\n : t > 0 ? p2.y : p1.y\n };\n}\n\n/**\n * @private\n */\nexport function _bezierInterpolation(p1: SplinePoint, p2: SplinePoint, t: number, mode?) { // eslint-disable-line @typescript-eslint/no-unused-vars\n const cp1 = {x: p1.cp2x, y: p1.cp2y};\n const cp2 = {x: p2.cp1x, y: p2.cp1y};\n const a = _pointInLine(p1, cp1, t);\n const b = _pointInLine(cp1, cp2, t);\n const c = _pointInLine(cp2, p2, t);\n const d = _pointInLine(a, b, t);\n const e = _pointInLine(b, c, t);\n return _pointInLine(d, e, t);\n}\n","export interface RTLAdapter {\n x(x: number): number;\n setWidth(w: number): void;\n textAlign(align: 'center' | 'left' | 'right'): 'center' | 'left' | 'right';\n xPlus(x: number, value: number): number;\n leftForLtr(x: number, itemWidth: number): number;\n}\n\nconst getRightToLeftAdapter = function(rectX: number, width: number): RTLAdapter {\n return {\n x(x) {\n return rectX + rectX + width - x;\n },\n setWidth(w) {\n width = w;\n },\n textAlign(align) {\n if (align === 'center') {\n return align;\n }\n return align === 'right' ? 'left' : 'right';\n },\n xPlus(x, value) {\n return x - value;\n },\n leftForLtr(x, itemWidth) {\n return x - itemWidth;\n },\n };\n};\n\nconst getLeftToRightAdapter = function(): RTLAdapter {\n return {\n x(x) {\n return x;\n },\n setWidth(w) { // eslint-disable-line no-unused-vars\n },\n textAlign(align) {\n return align;\n },\n xPlus(x, value) {\n return x + value;\n },\n leftForLtr(x, _itemWidth) { // eslint-disable-line @typescript-eslint/no-unused-vars\n return x;\n },\n };\n};\n\nexport function getRtlAdapter(rtl: boolean, rectX: number, width: number) {\n return rtl ? getRightToLeftAdapter(rectX, width) : getLeftToRightAdapter();\n}\n\nexport function overrideTextDirection(ctx: CanvasRenderingContext2D, direction: 'ltr' | 'rtl') {\n let style: CSSStyleDeclaration, original: [string, string];\n if (direction === 'ltr' || direction === 'rtl') {\n style = ctx.canvas.style;\n original = [\n style.getPropertyValue('direction'),\n style.getPropertyPriority('direction'),\n ];\n\n style.setProperty('direction', direction, 'important');\n (ctx as { prevTextDirection?: [string, string] }).prevTextDirection = original;\n }\n}\n\nexport function restoreTextDirection(ctx: CanvasRenderingContext2D, original?: [string, string]) {\n if (original !== undefined) {\n delete (ctx as { prevTextDirection?: [string, string] }).prevTextDirection;\n ctx.canvas.style.setProperty('direction', original[0], original[1]);\n }\n}\n","import {_angleBetween, _angleDiff, _isBetween, _normalizeAngle} from './helpers.math.js';\nimport {createContext} from './helpers.options.js';\nimport {isPatternOrGradient} from './helpers.color.js';\n\n/**\n * @typedef { import('../elements/element.line.js').default } LineElement\n * @typedef { import('../elements/element.point.js').default } PointElement\n * @typedef {{start: number, end: number, loop: boolean, style?: any}} Segment\n */\n\nfunction propertyFn(property) {\n if (property === 'angle') {\n return {\n between: _angleBetween,\n compare: _angleDiff,\n normalize: _normalizeAngle,\n };\n }\n return {\n between: _isBetween,\n compare: (a, b) => a - b,\n normalize: x => x\n };\n}\n\nfunction normalizeSegment({start, end, count, loop, style}) {\n return {\n start: start % count,\n end: end % count,\n loop: loop && (end - start + 1) % count === 0,\n style\n };\n}\n\nfunction getSegment(segment, points, bounds) {\n const {property, start: startBound, end: endBound} = bounds;\n const {between, normalize} = propertyFn(property);\n const count = points.length;\n // eslint-disable-next-line prefer-const\n let {start, end, loop} = segment;\n let i, ilen;\n\n if (loop) {\n start += count;\n end += count;\n for (i = 0, ilen = count; i < ilen; ++i) {\n if (!between(normalize(points[start % count][property]), startBound, endBound)) {\n break;\n }\n start--;\n end--;\n }\n start %= count;\n end %= count;\n }\n\n if (end < start) {\n end += count;\n }\n return {start, end, loop, style: segment.style};\n}\n\n/**\n * Returns the sub-segment(s) of a line segment that fall in the given bounds\n * @param {object} segment\n * @param {number} segment.start - start index of the segment, referring the points array\n * @param {number} segment.end - end index of the segment, referring the points array\n * @param {boolean} segment.loop - indicates that the segment is a loop\n * @param {object} [segment.style] - segment style\n * @param {PointElement[]} points - the points that this segment refers to\n * @param {object} [bounds]\n * @param {string} bounds.property - the property of a `PointElement` we are bounding. `x`, `y` or `angle`.\n * @param {number} bounds.start - start value of the property\n * @param {number} bounds.end - end value of the property\n * @private\n **/\nexport function _boundSegment(segment, points, bounds) {\n if (!bounds) {\n return [segment];\n }\n\n const {property, start: startBound, end: endBound} = bounds;\n const count = points.length;\n const {compare, between, normalize} = propertyFn(property);\n const {start, end, loop, style} = getSegment(segment, points, bounds);\n\n const result = [];\n let inside = false;\n let subStart = null;\n let value, point, prevValue;\n\n const startIsBefore = () => between(startBound, prevValue, value) && compare(startBound, prevValue) !== 0;\n const endIsBefore = () => compare(endBound, value) === 0 || between(endBound, prevValue, value);\n const shouldStart = () => inside || startIsBefore();\n const shouldStop = () => !inside || endIsBefore();\n\n for (let i = start, prev = start; i <= end; ++i) {\n point = points[i % count];\n\n if (point.skip) {\n continue;\n }\n\n value = normalize(point[property]);\n\n if (value === prevValue) {\n continue;\n }\n\n inside = between(value, startBound, endBound);\n\n if (subStart === null && shouldStart()) {\n subStart = compare(value, startBound) === 0 ? i : prev;\n }\n\n if (subStart !== null && shouldStop()) {\n result.push(normalizeSegment({start: subStart, end: i, loop, count, style}));\n subStart = null;\n }\n prev = i;\n prevValue = value;\n }\n\n if (subStart !== null) {\n result.push(normalizeSegment({start: subStart, end, loop, count, style}));\n }\n\n return result;\n}\n\n\n/**\n * Returns the segments of the line that are inside given bounds\n * @param {LineElement} line\n * @param {object} [bounds]\n * @param {string} bounds.property - the property we are bounding with. `x`, `y` or `angle`.\n * @param {number} bounds.start - start value of the `property`\n * @param {number} bounds.end - end value of the `property`\n * @private\n */\nexport function _boundSegments(line, bounds) {\n const result = [];\n const segments = line.segments;\n\n for (let i = 0; i < segments.length; i++) {\n const sub = _boundSegment(segments[i], line.points, bounds);\n if (sub.length) {\n result.push(...sub);\n }\n }\n return result;\n}\n\n/**\n * Find start and end index of a line.\n */\nfunction findStartAndEnd(points, count, loop, spanGaps) {\n let start = 0;\n let end = count - 1;\n\n if (loop && !spanGaps) {\n // loop and not spanning gaps, first find a gap to start from\n while (start < count && !points[start].skip) {\n start++;\n }\n }\n\n // find first non skipped point (after the first gap possibly)\n while (start < count && points[start].skip) {\n start++;\n }\n\n // if we looped to count, start needs to be 0\n start %= count;\n\n if (loop) {\n // loop will go past count, if start > 0\n end += start;\n }\n\n while (end > start && points[end % count].skip) {\n end--;\n }\n\n // end could be more than count, normalize\n end %= count;\n\n return {start, end};\n}\n\n/**\n * Compute solid segments from Points, when spanGaps === false\n * @param {PointElement[]} points - the points\n * @param {number} start - start index\n * @param {number} max - max index (can go past count on a loop)\n * @param {boolean} loop - boolean indicating that this would be a loop if no gaps are found\n */\nfunction solidSegments(points, start, max, loop) {\n const count = points.length;\n const result = [];\n let last = start;\n let prev = points[start];\n let end;\n\n for (end = start + 1; end <= max; ++end) {\n const cur = points[end % count];\n if (cur.skip || cur.stop) {\n if (!prev.skip) {\n loop = false;\n result.push({start: start % count, end: (end - 1) % count, loop});\n // @ts-ignore\n start = last = cur.stop ? end : null;\n }\n } else {\n last = end;\n if (prev.skip) {\n start = end;\n }\n }\n prev = cur;\n }\n\n if (last !== null) {\n result.push({start: start % count, end: last % count, loop});\n }\n\n return result;\n}\n\n/**\n * Compute the continuous segments that define the whole line\n * There can be skipped points within a segment, if spanGaps is true.\n * @param {LineElement} line\n * @param {object} [segmentOptions]\n * @return {Segment[]}\n * @private\n */\nexport function _computeSegments(line, segmentOptions) {\n const points = line.points;\n const spanGaps = line.options.spanGaps;\n const count = points.length;\n\n if (!count) {\n return [];\n }\n\n const loop = !!line._loop;\n const {start, end} = findStartAndEnd(points, count, loop, spanGaps);\n\n if (spanGaps === true) {\n return splitByStyles(line, [{start, end, loop}], points, segmentOptions);\n }\n\n const max = end < start ? end + count : end;\n const completeLoop = !!line._fullLoop && start === 0 && end === count - 1;\n return splitByStyles(line, solidSegments(points, start, max, completeLoop), points, segmentOptions);\n}\n\n/**\n * @param {Segment[]} segments\n * @param {PointElement[]} points\n * @param {object} [segmentOptions]\n * @return {Segment[]}\n */\nfunction splitByStyles(line, segments, points, segmentOptions) {\n if (!segmentOptions || !segmentOptions.setContext || !points) {\n return segments;\n }\n return doSplitByStyles(line, segments, points, segmentOptions);\n}\n\n/**\n * @param {LineElement} line\n * @param {Segment[]} segments\n * @param {PointElement[]} points\n * @param {object} [segmentOptions]\n * @return {Segment[]}\n */\nfunction doSplitByStyles(line, segments, points, segmentOptions) {\n const chartContext = line._chart.getContext();\n const baseStyle = readStyle(line.options);\n const {_datasetIndex: datasetIndex, options: {spanGaps}} = line;\n const count = points.length;\n const result = [];\n let prevStyle = baseStyle;\n let start = segments[0].start;\n let i = start;\n\n function addStyle(s, e, l, st) {\n const dir = spanGaps ? -1 : 1;\n if (s === e) {\n return;\n }\n // Style can not start/end on a skipped point, adjust indices accordingly\n s += count;\n while (points[s % count].skip) {\n s -= dir;\n }\n while (points[e % count].skip) {\n e += dir;\n }\n if (s % count !== e % count) {\n result.push({start: s % count, end: e % count, loop: l, style: st});\n prevStyle = st;\n start = e % count;\n }\n }\n\n for (const segment of segments) {\n start = spanGaps ? start : segment.start;\n let prev = points[start % count];\n let style;\n for (i = start + 1; i <= segment.end; i++) {\n const pt = points[i % count];\n style = readStyle(segmentOptions.setContext(createContext(chartContext, {\n type: 'segment',\n p0: prev,\n p1: pt,\n p0DataIndex: (i - 1) % count,\n p1DataIndex: i % count,\n datasetIndex\n })));\n if (styleChanged(style, prevStyle)) {\n addStyle(start, i - 1, segment.loop, prevStyle);\n }\n prev = pt;\n prevStyle = style;\n }\n if (start < i - 1) {\n addStyle(start, i - 1, segment.loop, prevStyle);\n }\n }\n\n return result;\n}\n\nfunction readStyle(options) {\n return {\n backgroundColor: options.backgroundColor,\n borderCapStyle: options.borderCapStyle,\n borderDash: options.borderDash,\n borderDashOffset: options.borderDashOffset,\n borderJoinStyle: options.borderJoinStyle,\n borderWidth: options.borderWidth,\n borderColor: options.borderColor\n };\n}\n\nfunction styleChanged(style, prevStyle) {\n if (!prevStyle) {\n return false;\n }\n const cache = [];\n const replacer = function(key, value) {\n if (!isPatternOrGradient(value)) {\n return value;\n }\n if (!cache.includes(value)) {\n cache.push(value);\n }\n return cache.indexOf(value);\n };\n return JSON.stringify(style, replacer) !== JSON.stringify(prevStyle, replacer);\n}\n","import {requestAnimFrame} from '../helpers/helpers.extras.js';\n\n/**\n * @typedef { import('./core.animation.js').default } Animation\n * @typedef { import('./core.controller.js').default } Chart\n */\n\n/**\n * Please use the module's default export which provides a singleton instance\n * Note: class is export for typedoc\n */\nexport class Animator {\n constructor() {\n this._request = null;\n this._charts = new Map();\n this._running = false;\n this._lastDate = undefined;\n }\n\n /**\n\t * @private\n\t */\n _notify(chart, anims, date, type) {\n const callbacks = anims.listeners[type];\n const numSteps = anims.duration;\n\n callbacks.forEach(fn => fn({\n chart,\n initial: anims.initial,\n numSteps,\n currentStep: Math.min(date - anims.start, numSteps)\n }));\n }\n\n /**\n\t * @private\n\t */\n _refresh() {\n if (this._request) {\n return;\n }\n this._running = true;\n\n this._request = requestAnimFrame.call(window, () => {\n this._update();\n this._request = null;\n\n if (this._running) {\n this._refresh();\n }\n });\n }\n\n /**\n\t * @private\n\t */\n _update(date = Date.now()) {\n let remaining = 0;\n\n this._charts.forEach((anims, chart) => {\n if (!anims.running || !anims.items.length) {\n return;\n }\n const items = anims.items;\n let i = items.length - 1;\n let draw = false;\n let item;\n\n for (; i >= 0; --i) {\n item = items[i];\n\n if (item._active) {\n if (item._total > anims.duration) {\n // if the animation has been updated and its duration prolonged,\n // update to total duration of current animations run (for progress event)\n anims.duration = item._total;\n }\n item.tick(date);\n draw = true;\n } else {\n // Remove the item by replacing it with last item and removing the last\n // A lot faster than splice.\n items[i] = items[items.length - 1];\n items.pop();\n }\n }\n\n if (draw) {\n chart.draw();\n this._notify(chart, anims, date, 'progress');\n }\n\n if (!items.length) {\n anims.running = false;\n this._notify(chart, anims, date, 'complete');\n anims.initial = false;\n }\n\n remaining += items.length;\n });\n\n this._lastDate = date;\n\n if (remaining === 0) {\n this._running = false;\n }\n }\n\n /**\n\t * @private\n\t */\n _getAnims(chart) {\n const charts = this._charts;\n let anims = charts.get(chart);\n if (!anims) {\n anims = {\n running: false,\n initial: true,\n items: [],\n listeners: {\n complete: [],\n progress: []\n }\n };\n charts.set(chart, anims);\n }\n return anims;\n }\n\n /**\n\t * @param {Chart} chart\n\t * @param {string} event - event name\n\t * @param {Function} cb - callback\n\t */\n listen(chart, event, cb) {\n this._getAnims(chart).listeners[event].push(cb);\n }\n\n /**\n\t * Add animations\n\t * @param {Chart} chart\n\t * @param {Animation[]} items - animations\n\t */\n add(chart, items) {\n if (!items || !items.length) {\n return;\n }\n this._getAnims(chart).items.push(...items);\n }\n\n /**\n\t * Counts number of active animations for the chart\n\t * @param {Chart} chart\n\t */\n has(chart) {\n return this._getAnims(chart).items.length > 0;\n }\n\n /**\n\t * Start animating (all charts)\n\t * @param {Chart} chart\n\t */\n start(chart) {\n const anims = this._charts.get(chart);\n if (!anims) {\n return;\n }\n anims.running = true;\n anims.start = Date.now();\n anims.duration = anims.items.reduce((acc, cur) => Math.max(acc, cur._duration), 0);\n this._refresh();\n }\n\n running(chart) {\n if (!this._running) {\n return false;\n }\n const anims = this._charts.get(chart);\n if (!anims || !anims.running || !anims.items.length) {\n return false;\n }\n return true;\n }\n\n /**\n\t * Stop all animations for the chart\n\t * @param {Chart} chart\n\t */\n stop(chart) {\n const anims = this._charts.get(chart);\n if (!anims || !anims.items.length) {\n return;\n }\n const items = anims.items;\n let i = items.length - 1;\n\n for (; i >= 0; --i) {\n items[i].cancel();\n }\n anims.items = [];\n this._notify(chart, anims, Date.now(), 'complete');\n }\n\n /**\n\t * Remove chart from Animator\n\t * @param {Chart} chart\n\t */\n remove(chart) {\n return this._charts.delete(chart);\n }\n}\n\n// singleton instance\nexport default /* #__PURE__ */ new Animator();\n","import effects from '../helpers/helpers.easing.js';\nimport {resolve} from '../helpers/helpers.options.js';\nimport {color as helpersColor} from '../helpers/helpers.color.js';\n\nconst transparent = 'transparent';\nconst interpolators = {\n boolean(from, to, factor) {\n return factor > 0.5 ? to : from;\n },\n /**\n * @param {string} from\n * @param {string} to\n * @param {number} factor\n */\n color(from, to, factor) {\n const c0 = helpersColor(from || transparent);\n const c1 = c0.valid && helpersColor(to || transparent);\n return c1 && c1.valid\n ? c1.mix(c0, factor).hexString()\n : to;\n },\n number(from, to, factor) {\n return from + (to - from) * factor;\n }\n};\n\nexport default class Animation {\n constructor(cfg, target, prop, to) {\n const currentValue = target[prop];\n\n to = resolve([cfg.to, to, currentValue, cfg.from]);\n const from = resolve([cfg.from, currentValue, to]);\n\n this._active = true;\n this._fn = cfg.fn || interpolators[cfg.type || typeof from];\n this._easing = effects[cfg.easing] || effects.linear;\n this._start = Math.floor(Date.now() + (cfg.delay || 0));\n this._duration = this._total = Math.floor(cfg.duration);\n this._loop = !!cfg.loop;\n this._target = target;\n this._prop = prop;\n this._from = from;\n this._to = to;\n this._promises = undefined;\n }\n\n active() {\n return this._active;\n }\n\n update(cfg, to, date) {\n if (this._active) {\n this._notify(false);\n\n const currentValue = this._target[this._prop];\n const elapsed = date - this._start;\n const remain = this._duration - elapsed;\n this._start = date;\n this._duration = Math.floor(Math.max(remain, cfg.duration));\n this._total += elapsed;\n this._loop = !!cfg.loop;\n this._to = resolve([cfg.to, to, currentValue, cfg.from]);\n this._from = resolve([cfg.from, currentValue, to]);\n }\n }\n\n cancel() {\n if (this._active) {\n // update current evaluated value, for smoother animations\n this.tick(Date.now());\n this._active = false;\n this._notify(false);\n }\n }\n\n tick(date) {\n const elapsed = date - this._start;\n const duration = this._duration;\n const prop = this._prop;\n const from = this._from;\n const loop = this._loop;\n const to = this._to;\n let factor;\n\n this._active = from !== to && (loop || (elapsed < duration));\n\n if (!this._active) {\n this._target[prop] = to;\n this._notify(true);\n return;\n }\n\n if (elapsed < 0) {\n this._target[prop] = from;\n return;\n }\n\n factor = (elapsed / duration) % 2;\n factor = loop && factor > 1 ? 2 - factor : factor;\n factor = this._easing(Math.min(1, Math.max(0, factor)));\n\n this._target[prop] = this._fn(from, to, factor);\n }\n\n wait() {\n const promises = this._promises || (this._promises = []);\n return new Promise((res, rej) => {\n promises.push({res, rej});\n });\n }\n\n _notify(resolved) {\n const method = resolved ? 'res' : 'rej';\n const promises = this._promises || [];\n for (let i = 0; i < promises.length; i++) {\n promises[i][method]();\n }\n }\n}\n","import animator from './core.animator.js';\nimport Animation from './core.animation.js';\nimport defaults from './core.defaults.js';\nimport {isArray, isObject} from '../helpers/helpers.core.js';\n\nexport default class Animations {\n constructor(chart, config) {\n this._chart = chart;\n this._properties = new Map();\n this.configure(config);\n }\n\n configure(config) {\n if (!isObject(config)) {\n return;\n }\n\n const animationOptions = Object.keys(defaults.animation);\n const animatedProps = this._properties;\n\n Object.getOwnPropertyNames(config).forEach(key => {\n const cfg = config[key];\n if (!isObject(cfg)) {\n return;\n }\n const resolved = {};\n for (const option of animationOptions) {\n resolved[option] = cfg[option];\n }\n\n (isArray(cfg.properties) && cfg.properties || [key]).forEach((prop) => {\n if (prop === key || !animatedProps.has(prop)) {\n animatedProps.set(prop, resolved);\n }\n });\n });\n }\n\n /**\n\t * Utility to handle animation of `options`.\n\t * @private\n\t */\n _animateOptions(target, values) {\n const newOptions = values.options;\n const options = resolveTargetOptions(target, newOptions);\n if (!options) {\n return [];\n }\n\n const animations = this._createAnimations(options, newOptions);\n if (newOptions.$shared) {\n // Going to shared options:\n // After all animations are done, assign the shared options object to the element\n // So any new updates to the shared options are observed\n awaitAll(target.options.$animations, newOptions).then(() => {\n target.options = newOptions;\n }, () => {\n // rejected, noop\n });\n }\n\n return animations;\n }\n\n /**\n\t * @private\n\t */\n _createAnimations(target, values) {\n const animatedProps = this._properties;\n const animations = [];\n const running = target.$animations || (target.$animations = {});\n const props = Object.keys(values);\n const date = Date.now();\n let i;\n\n for (i = props.length - 1; i >= 0; --i) {\n const prop = props[i];\n if (prop.charAt(0) === '$') {\n continue;\n }\n\n if (prop === 'options') {\n animations.push(...this._animateOptions(target, values));\n continue;\n }\n const value = values[prop];\n let animation = running[prop];\n const cfg = animatedProps.get(prop);\n\n if (animation) {\n if (cfg && animation.active()) {\n // There is an existing active animation, let's update that\n animation.update(cfg, value, date);\n continue;\n } else {\n animation.cancel();\n }\n }\n if (!cfg || !cfg.duration) {\n // not animated, set directly to new value\n target[prop] = value;\n continue;\n }\n\n running[prop] = animation = new Animation(cfg, target, prop, value);\n animations.push(animation);\n }\n return animations;\n }\n\n\n /**\n\t * Update `target` properties to new values, using configured animations\n\t * @param {object} target - object to update\n\t * @param {object} values - new target properties\n\t * @returns {boolean|undefined} - `true` if animations were started\n\t **/\n update(target, values) {\n if (this._properties.size === 0) {\n // Nothing is animated, just apply the new values.\n Object.assign(target, values);\n return;\n }\n\n const animations = this._createAnimations(target, values);\n\n if (animations.length) {\n animator.add(this._chart, animations);\n return true;\n }\n }\n}\n\nfunction awaitAll(animations, properties) {\n const running = [];\n const keys = Object.keys(properties);\n for (let i = 0; i < keys.length; i++) {\n const anim = animations[keys[i]];\n if (anim && anim.active()) {\n running.push(anim.wait());\n }\n }\n // @ts-ignore\n return Promise.all(running);\n}\n\nfunction resolveTargetOptions(target, newOptions) {\n if (!newOptions) {\n return;\n }\n let options = target.options;\n if (!options) {\n target.options = newOptions;\n return;\n }\n if (options.$shared) {\n // Going from shared options to distinct one:\n // Create new options object containing the old shared values and start updating that.\n target.options = options = Object.assign({}, options, {$shared: false, $animations: {}});\n }\n return options;\n}\n","import Animations from './core.animations.js';\nimport defaults from './core.defaults.js';\nimport {isArray, isFinite, isObject, valueOrDefault, resolveObjectKey, defined} from '../helpers/helpers.core.js';\nimport {listenArrayEvents, unlistenArrayEvents} from '../helpers/helpers.collection.js';\nimport {createContext, sign} from '../helpers/index.js';\n\n/**\n * @typedef { import('./core.controller.js').default } Chart\n * @typedef { import('./core.scale.js').default } Scale\n */\n\nfunction scaleClip(scale, allowedOverflow) {\n const opts = scale && scale.options || {};\n const reverse = opts.reverse;\n const min = opts.min === undefined ? allowedOverflow : 0;\n const max = opts.max === undefined ? allowedOverflow : 0;\n return {\n start: reverse ? max : min,\n end: reverse ? min : max\n };\n}\n\nfunction defaultClip(xScale, yScale, allowedOverflow) {\n if (allowedOverflow === false) {\n return false;\n }\n const x = scaleClip(xScale, allowedOverflow);\n const y = scaleClip(yScale, allowedOverflow);\n\n return {\n top: y.end,\n right: x.end,\n bottom: y.start,\n left: x.start\n };\n}\n\nfunction toClip(value) {\n let t, r, b, l;\n\n if (isObject(value)) {\n t = value.top;\n r = value.right;\n b = value.bottom;\n l = value.left;\n } else {\n t = r = b = l = value;\n }\n\n return {\n top: t,\n right: r,\n bottom: b,\n left: l,\n disabled: value === false\n };\n}\n\nfunction getSortedDatasetIndices(chart, filterVisible) {\n const keys = [];\n const metasets = chart._getSortedDatasetMetas(filterVisible);\n let i, ilen;\n\n for (i = 0, ilen = metasets.length; i < ilen; ++i) {\n keys.push(metasets[i].index);\n }\n return keys;\n}\n\nfunction applyStack(stack, value, dsIndex, options = {}) {\n const keys = stack.keys;\n const singleMode = options.mode === 'single';\n let i, ilen, datasetIndex, otherValue;\n\n if (value === null) {\n return;\n }\n\n let found = false;\n for (i = 0, ilen = keys.length; i < ilen; ++i) {\n datasetIndex = +keys[i];\n if (datasetIndex === dsIndex) {\n found = true;\n if (options.all) {\n continue;\n }\n break;\n }\n otherValue = stack.values[datasetIndex];\n if (isFinite(otherValue) && (singleMode || (value === 0 || sign(value) === sign(otherValue)))) {\n value += otherValue;\n }\n }\n\n if (!found && !options.all) {\n return 0;\n }\n\n return value;\n}\n\nfunction convertObjectDataToArray(data, meta) {\n const {iScale, vScale} = meta;\n const iAxisKey = iScale.axis === 'x' ? 'x' : 'y';\n const vAxisKey = vScale.axis === 'x' ? 'x' : 'y';\n const keys = Object.keys(data);\n const adata = new Array(keys.length);\n let i, ilen, key;\n for (i = 0, ilen = keys.length; i < ilen; ++i) {\n key = keys[i];\n adata[i] = {\n [iAxisKey]: key,\n [vAxisKey]: data[key]\n };\n }\n return adata;\n}\n\nfunction isStacked(scale, meta) {\n const stacked = scale && scale.options.stacked;\n return stacked || (stacked === undefined && meta.stack !== undefined);\n}\n\nfunction getStackKey(indexScale, valueScale, meta) {\n return `${indexScale.id}.${valueScale.id}.${meta.stack || meta.type}`;\n}\n\nfunction getUserBounds(scale) {\n const {min, max, minDefined, maxDefined} = scale.getUserBounds();\n return {\n min: minDefined ? min : Number.NEGATIVE_INFINITY,\n max: maxDefined ? max : Number.POSITIVE_INFINITY\n };\n}\n\nfunction getOrCreateStack(stacks, stackKey, indexValue) {\n const subStack = stacks[stackKey] || (stacks[stackKey] = {});\n return subStack[indexValue] || (subStack[indexValue] = {});\n}\n\nfunction getLastIndexInStack(stack, vScale, positive, type) {\n for (const meta of vScale.getMatchingVisibleMetas(type).reverse()) {\n const value = stack[meta.index];\n if ((positive && value > 0) || (!positive && value < 0)) {\n return meta.index;\n }\n }\n\n return null;\n}\n\nfunction updateStacks(controller, parsed) {\n const {chart, _cachedMeta: meta} = controller;\n const stacks = chart._stacks || (chart._stacks = {}); // map structure is {stackKey: {datasetIndex: value}}\n const {iScale, vScale, index: datasetIndex} = meta;\n const iAxis = iScale.axis;\n const vAxis = vScale.axis;\n const key = getStackKey(iScale, vScale, meta);\n const ilen = parsed.length;\n let stack;\n\n for (let i = 0; i < ilen; ++i) {\n const item = parsed[i];\n const {[iAxis]: index, [vAxis]: value} = item;\n const itemStacks = item._stacks || (item._stacks = {});\n stack = itemStacks[vAxis] = getOrCreateStack(stacks, key, index);\n stack[datasetIndex] = value;\n\n stack._top = getLastIndexInStack(stack, vScale, true, meta.type);\n stack._bottom = getLastIndexInStack(stack, vScale, false, meta.type);\n\n const visualValues = stack._visualValues || (stack._visualValues = {});\n visualValues[datasetIndex] = value;\n }\n}\n\nfunction getFirstScaleId(chart, axis) {\n const scales = chart.scales;\n return Object.keys(scales).filter(key => scales[key].axis === axis).shift();\n}\n\nfunction createDatasetContext(parent, index) {\n return createContext(parent,\n {\n active: false,\n dataset: undefined,\n datasetIndex: index,\n index,\n mode: 'default',\n type: 'dataset'\n }\n );\n}\n\nfunction createDataContext(parent, index, element) {\n return createContext(parent, {\n active: false,\n dataIndex: index,\n parsed: undefined,\n raw: undefined,\n element,\n index,\n mode: 'default',\n type: 'data'\n });\n}\n\nfunction clearStacks(meta, items) {\n // Not using meta.index here, because it might be already updated if the dataset changed location\n const datasetIndex = meta.controller.index;\n const axis = meta.vScale && meta.vScale.axis;\n if (!axis) {\n return;\n }\n\n items = items || meta._parsed;\n for (const parsed of items) {\n const stacks = parsed._stacks;\n if (!stacks || stacks[axis] === undefined || stacks[axis][datasetIndex] === undefined) {\n return;\n }\n delete stacks[axis][datasetIndex];\n if (stacks[axis]._visualValues !== undefined && stacks[axis]._visualValues[datasetIndex] !== undefined) {\n delete stacks[axis]._visualValues[datasetIndex];\n }\n }\n}\n\nconst isDirectUpdateMode = (mode) => mode === 'reset' || mode === 'none';\nconst cloneIfNotShared = (cached, shared) => shared ? cached : Object.assign({}, cached);\nconst createStack = (canStack, meta, chart) => canStack && !meta.hidden && meta._stacked\n && {keys: getSortedDatasetIndices(chart, true), values: null};\n\nexport default class DatasetController {\n\n /**\n * @type {any}\n */\n static defaults = {};\n\n /**\n * Element type used to generate a meta dataset (e.g. Chart.element.LineElement).\n */\n static datasetElementType = null;\n\n /**\n * Element type used to generate a meta data (e.g. Chart.element.PointElement).\n */\n static dataElementType = null;\n\n /**\n\t * @param {Chart} chart\n\t * @param {number} datasetIndex\n\t */\n constructor(chart, datasetIndex) {\n this.chart = chart;\n this._ctx = chart.ctx;\n this.index = datasetIndex;\n this._cachedDataOpts = {};\n this._cachedMeta = this.getMeta();\n this._type = this._cachedMeta.type;\n this.options = undefined;\n /** @type {boolean | object} */\n this._parsing = false;\n this._data = undefined;\n this._objectData = undefined;\n this._sharedOptions = undefined;\n this._drawStart = undefined;\n this._drawCount = undefined;\n this.enableOptionSharing = false;\n this.supportsDecimation = false;\n this.$context = undefined;\n this._syncList = [];\n this.datasetElementType = new.target.datasetElementType;\n this.dataElementType = new.target.dataElementType;\n\n this.initialize();\n }\n\n initialize() {\n const meta = this._cachedMeta;\n this.configure();\n this.linkScales();\n meta._stacked = isStacked(meta.vScale, meta);\n this.addElements();\n\n if (this.options.fill && !this.chart.isPluginEnabled('filler')) {\n console.warn(\"Tried to use the 'fill' option without the 'Filler' plugin enabled. Please import and register the 'Filler' plugin and make sure it is not disabled in the options\");\n }\n }\n\n updateIndex(datasetIndex) {\n if (this.index !== datasetIndex) {\n clearStacks(this._cachedMeta);\n }\n this.index = datasetIndex;\n }\n\n linkScales() {\n const chart = this.chart;\n const meta = this._cachedMeta;\n const dataset = this.getDataset();\n\n const chooseId = (axis, x, y, r) => axis === 'x' ? x : axis === 'r' ? r : y;\n\n const xid = meta.xAxisID = valueOrDefault(dataset.xAxisID, getFirstScaleId(chart, 'x'));\n const yid = meta.yAxisID = valueOrDefault(dataset.yAxisID, getFirstScaleId(chart, 'y'));\n const rid = meta.rAxisID = valueOrDefault(dataset.rAxisID, getFirstScaleId(chart, 'r'));\n const indexAxis = meta.indexAxis;\n const iid = meta.iAxisID = chooseId(indexAxis, xid, yid, rid);\n const vid = meta.vAxisID = chooseId(indexAxis, yid, xid, rid);\n meta.xScale = this.getScaleForId(xid);\n meta.yScale = this.getScaleForId(yid);\n meta.rScale = this.getScaleForId(rid);\n meta.iScale = this.getScaleForId(iid);\n meta.vScale = this.getScaleForId(vid);\n }\n\n getDataset() {\n return this.chart.data.datasets[this.index];\n }\n\n getMeta() {\n return this.chart.getDatasetMeta(this.index);\n }\n\n /**\n\t * @param {string} scaleID\n\t * @return {Scale}\n\t */\n getScaleForId(scaleID) {\n return this.chart.scales[scaleID];\n }\n\n /**\n\t * @private\n\t */\n _getOtherScale(scale) {\n const meta = this._cachedMeta;\n return scale === meta.iScale\n ? meta.vScale\n : meta.iScale;\n }\n\n reset() {\n this._update('reset');\n }\n\n /**\n\t * @private\n\t */\n _destroy() {\n const meta = this._cachedMeta;\n if (this._data) {\n unlistenArrayEvents(this._data, this);\n }\n if (meta._stacked) {\n clearStacks(meta);\n }\n }\n\n /**\n\t * @private\n\t */\n _dataCheck() {\n const dataset = this.getDataset();\n const data = dataset.data || (dataset.data = []);\n const _data = this._data;\n\n // In order to correctly handle data addition/deletion animation (and thus simulate\n // real-time charts), we need to monitor these data modifications and synchronize\n // the internal metadata accordingly.\n\n if (isObject(data)) {\n const meta = this._cachedMeta;\n this._data = convertObjectDataToArray(data, meta);\n } else if (_data !== data) {\n if (_data) {\n // This case happens when the user replaced the data array instance.\n unlistenArrayEvents(_data, this);\n // Discard old parsed data and stacks\n const meta = this._cachedMeta;\n clearStacks(meta);\n meta._parsed = [];\n }\n if (data && Object.isExtensible(data)) {\n listenArrayEvents(data, this);\n }\n this._syncList = [];\n this._data = data;\n }\n }\n\n addElements() {\n const meta = this._cachedMeta;\n\n this._dataCheck();\n\n if (this.datasetElementType) {\n meta.dataset = new this.datasetElementType();\n }\n }\n\n buildOrUpdateElements(resetNewElements) {\n const meta = this._cachedMeta;\n const dataset = this.getDataset();\n let stackChanged = false;\n\n this._dataCheck();\n\n // make sure cached _stacked status is current\n const oldStacked = meta._stacked;\n meta._stacked = isStacked(meta.vScale, meta);\n\n // detect change in stack option\n if (meta.stack !== dataset.stack) {\n stackChanged = true;\n // remove values from old stack\n clearStacks(meta);\n meta.stack = dataset.stack;\n }\n\n // Re-sync meta data in case the user replaced the data array or if we missed\n // any updates and so make sure that we handle number of datapoints changing.\n this._resyncElements(resetNewElements);\n\n // if stack changed, update stack values for the whole dataset\n if (stackChanged || oldStacked !== meta._stacked) {\n updateStacks(this, meta._parsed);\n meta._stacked = isStacked(meta.vScale, meta);\n }\n }\n\n /**\n\t * Merges user-supplied and default dataset-level options\n\t * @private\n\t */\n configure() {\n const config = this.chart.config;\n const scopeKeys = config.datasetScopeKeys(this._type);\n const scopes = config.getOptionScopes(this.getDataset(), scopeKeys, true);\n this.options = config.createResolver(scopes, this.getContext());\n this._parsing = this.options.parsing;\n this._cachedDataOpts = {};\n }\n\n /**\n\t * @param {number} start\n\t * @param {number} count\n\t */\n parse(start, count) {\n const {_cachedMeta: meta, _data: data} = this;\n const {iScale, _stacked} = meta;\n const iAxis = iScale.axis;\n\n let sorted = start === 0 && count === data.length ? true : meta._sorted;\n let prev = start > 0 && meta._parsed[start - 1];\n let i, cur, parsed;\n\n if (this._parsing === false) {\n meta._parsed = data;\n meta._sorted = true;\n parsed = data;\n } else {\n if (isArray(data[start])) {\n parsed = this.parseArrayData(meta, data, start, count);\n } else if (isObject(data[start])) {\n parsed = this.parseObjectData(meta, data, start, count);\n } else {\n parsed = this.parsePrimitiveData(meta, data, start, count);\n }\n\n const isNotInOrderComparedToPrev = () => cur[iAxis] === null || (prev && cur[iAxis] < prev[iAxis]);\n for (i = 0; i < count; ++i) {\n meta._parsed[i + start] = cur = parsed[i];\n if (sorted) {\n if (isNotInOrderComparedToPrev()) {\n sorted = false;\n }\n prev = cur;\n }\n }\n meta._sorted = sorted;\n }\n\n if (_stacked) {\n updateStacks(this, parsed);\n }\n }\n\n /**\n\t * Parse array of primitive values\n\t * @param {object} meta - dataset meta\n\t * @param {array} data - data array. Example [1,3,4]\n\t * @param {number} start - start index\n\t * @param {number} count - number of items to parse\n\t * @returns {object} parsed item - item containing index and a parsed value\n\t * for each scale id.\n\t * Example: {xScale0: 0, yScale0: 1}\n\t * @protected\n\t */\n parsePrimitiveData(meta, data, start, count) {\n const {iScale, vScale} = meta;\n const iAxis = iScale.axis;\n const vAxis = vScale.axis;\n const labels = iScale.getLabels();\n const singleScale = iScale === vScale;\n const parsed = new Array(count);\n let i, ilen, index;\n\n for (i = 0, ilen = count; i < ilen; ++i) {\n index = i + start;\n parsed[i] = {\n [iAxis]: singleScale || iScale.parse(labels[index], index),\n [vAxis]: vScale.parse(data[index], index)\n };\n }\n return parsed;\n }\n\n /**\n\t * Parse array of arrays\n\t * @param {object} meta - dataset meta\n\t * @param {array} data - data array. Example [[1,2],[3,4]]\n\t * @param {number} start - start index\n\t * @param {number} count - number of items to parse\n\t * @returns {object} parsed item - item containing index and a parsed value\n\t * for each scale id.\n\t * Example: {x: 0, y: 1}\n\t * @protected\n\t */\n parseArrayData(meta, data, start, count) {\n const {xScale, yScale} = meta;\n const parsed = new Array(count);\n let i, ilen, index, item;\n\n for (i = 0, ilen = count; i < ilen; ++i) {\n index = i + start;\n item = data[index];\n parsed[i] = {\n x: xScale.parse(item[0], index),\n y: yScale.parse(item[1], index)\n };\n }\n return parsed;\n }\n\n /**\n\t * Parse array of objects\n\t * @param {object} meta - dataset meta\n\t * @param {array} data - data array. Example [{x:1, y:5}, {x:2, y:10}]\n\t * @param {number} start - start index\n\t * @param {number} count - number of items to parse\n\t * @returns {object} parsed item - item containing index and a parsed value\n\t * for each scale id. _custom is optional\n\t * Example: {xScale0: 0, yScale0: 1, _custom: {r: 10, foo: 'bar'}}\n\t * @protected\n\t */\n parseObjectData(meta, data, start, count) {\n const {xScale, yScale} = meta;\n const {xAxisKey = 'x', yAxisKey = 'y'} = this._parsing;\n const parsed = new Array(count);\n let i, ilen, index, item;\n\n for (i = 0, ilen = count; i < ilen; ++i) {\n index = i + start;\n item = data[index];\n parsed[i] = {\n x: xScale.parse(resolveObjectKey(item, xAxisKey), index),\n y: yScale.parse(resolveObjectKey(item, yAxisKey), index)\n };\n }\n return parsed;\n }\n\n /**\n\t * @protected\n\t */\n getParsed(index) {\n return this._cachedMeta._parsed[index];\n }\n\n /**\n\t * @protected\n\t */\n getDataElement(index) {\n return this._cachedMeta.data[index];\n }\n\n /**\n\t * @protected\n\t */\n applyStack(scale, parsed, mode) {\n const chart = this.chart;\n const meta = this._cachedMeta;\n const value = parsed[scale.axis];\n const stack = {\n keys: getSortedDatasetIndices(chart, true),\n values: parsed._stacks[scale.axis]._visualValues\n };\n return applyStack(stack, value, meta.index, {mode});\n }\n\n /**\n\t * @protected\n\t */\n updateRangeFromParsed(range, scale, parsed, stack) {\n const parsedValue = parsed[scale.axis];\n let value = parsedValue === null ? NaN : parsedValue;\n const values = stack && parsed._stacks[scale.axis];\n if (stack && values) {\n stack.values = values;\n value = applyStack(stack, parsedValue, this._cachedMeta.index);\n }\n range.min = Math.min(range.min, value);\n range.max = Math.max(range.max, value);\n }\n\n /**\n\t * @protected\n\t */\n getMinMax(scale, canStack) {\n const meta = this._cachedMeta;\n const _parsed = meta._parsed;\n const sorted = meta._sorted && scale === meta.iScale;\n const ilen = _parsed.length;\n const otherScale = this._getOtherScale(scale);\n const stack = createStack(canStack, meta, this.chart);\n const range = {min: Number.POSITIVE_INFINITY, max: Number.NEGATIVE_INFINITY};\n const {min: otherMin, max: otherMax} = getUserBounds(otherScale);\n let i, parsed;\n\n function _skip() {\n parsed = _parsed[i];\n const otherValue = parsed[otherScale.axis];\n return !isFinite(parsed[scale.axis]) || otherMin > otherValue || otherMax < otherValue;\n }\n\n for (i = 0; i < ilen; ++i) {\n if (_skip()) {\n continue;\n }\n this.updateRangeFromParsed(range, scale, parsed, stack);\n if (sorted) {\n // if the data is sorted, we don't need to check further from this end of array\n break;\n }\n }\n if (sorted) {\n // in the sorted case, find first non-skipped value from other end of array\n for (i = ilen - 1; i >= 0; --i) {\n if (_skip()) {\n continue;\n }\n this.updateRangeFromParsed(range, scale, parsed, stack);\n break;\n }\n }\n return range;\n }\n\n getAllParsedValues(scale) {\n const parsed = this._cachedMeta._parsed;\n const values = [];\n let i, ilen, value;\n\n for (i = 0, ilen = parsed.length; i < ilen; ++i) {\n value = parsed[i][scale.axis];\n if (isFinite(value)) {\n values.push(value);\n }\n }\n return values;\n }\n\n /**\n\t * @return {number|boolean}\n\t * @protected\n\t */\n getMaxOverflow() {\n return false;\n }\n\n /**\n\t * @protected\n\t */\n getLabelAndValue(index) {\n const meta = this._cachedMeta;\n const iScale = meta.iScale;\n const vScale = meta.vScale;\n const parsed = this.getParsed(index);\n return {\n label: iScale ? '' + iScale.getLabelForValue(parsed[iScale.axis]) : '',\n value: vScale ? '' + vScale.getLabelForValue(parsed[vScale.axis]) : ''\n };\n }\n\n /**\n\t * @private\n\t */\n _update(mode) {\n const meta = this._cachedMeta;\n this.update(mode || 'default');\n meta._clip = toClip(valueOrDefault(this.options.clip, defaultClip(meta.xScale, meta.yScale, this.getMaxOverflow())));\n }\n\n /**\n\t * @param {string} mode\n\t */\n update(mode) {} // eslint-disable-line no-unused-vars\n\n draw() {\n const ctx = this._ctx;\n const chart = this.chart;\n const meta = this._cachedMeta;\n const elements = meta.data || [];\n const area = chart.chartArea;\n const active = [];\n const start = this._drawStart || 0;\n const count = this._drawCount || (elements.length - start);\n const drawActiveElementsOnTop = this.options.drawActiveElementsOnTop;\n let i;\n\n if (meta.dataset) {\n meta.dataset.draw(ctx, area, start, count);\n }\n\n for (i = start; i < start + count; ++i) {\n const element = elements[i];\n if (element.hidden) {\n continue;\n }\n if (element.active && drawActiveElementsOnTop) {\n active.push(element);\n } else {\n element.draw(ctx, area);\n }\n }\n\n for (i = 0; i < active.length; ++i) {\n active[i].draw(ctx, area);\n }\n }\n\n /**\n\t * Returns a set of predefined style properties that should be used to represent the dataset\n\t * or the data if the index is specified\n\t * @param {number} index - data index\n\t * @param {boolean} [active] - true if hover\n\t * @return {object} style object\n\t */\n getStyle(index, active) {\n const mode = active ? 'active' : 'default';\n return index === undefined && this._cachedMeta.dataset\n ? this.resolveDatasetElementOptions(mode)\n : this.resolveDataElementOptions(index || 0, mode);\n }\n\n /**\n\t * @protected\n\t */\n getContext(index, active, mode) {\n const dataset = this.getDataset();\n let context;\n if (index >= 0 && index < this._cachedMeta.data.length) {\n const element = this._cachedMeta.data[index];\n context = element.$context ||\n (element.$context = createDataContext(this.getContext(), index, element));\n context.parsed = this.getParsed(index);\n context.raw = dataset.data[index];\n context.index = context.dataIndex = index;\n } else {\n context = this.$context ||\n (this.$context = createDatasetContext(this.chart.getContext(), this.index));\n context.dataset = dataset;\n context.index = context.datasetIndex = this.index;\n }\n\n context.active = !!active;\n context.mode = mode;\n return context;\n }\n\n /**\n\t * @param {string} [mode]\n\t * @protected\n\t */\n resolveDatasetElementOptions(mode) {\n return this._resolveElementOptions(this.datasetElementType.id, mode);\n }\n\n /**\n\t * @param {number} index\n\t * @param {string} [mode]\n\t * @protected\n\t */\n resolveDataElementOptions(index, mode) {\n return this._resolveElementOptions(this.dataElementType.id, mode, index);\n }\n\n /**\n\t * @private\n\t */\n _resolveElementOptions(elementType, mode = 'default', index) {\n const active = mode === 'active';\n const cache = this._cachedDataOpts;\n const cacheKey = elementType + '-' + mode;\n const cached = cache[cacheKey];\n const sharing = this.enableOptionSharing && defined(index);\n if (cached) {\n return cloneIfNotShared(cached, sharing);\n }\n const config = this.chart.config;\n const scopeKeys = config.datasetElementScopeKeys(this._type, elementType);\n const prefixes = active ? [`${elementType}Hover`, 'hover', elementType, ''] : [elementType, ''];\n const scopes = config.getOptionScopes(this.getDataset(), scopeKeys);\n const names = Object.keys(defaults.elements[elementType]);\n // context is provided as a function, and is called only if needed,\n // so we don't create a context for each element if not needed.\n const context = () => this.getContext(index, active, mode);\n const values = config.resolveNamedOptions(scopes, names, context, prefixes);\n\n if (values.$shared) {\n // `$shared` indicates this set of options can be shared between multiple elements.\n // Sharing is used to reduce number of properties to change during animation.\n values.$shared = sharing;\n\n // We cache options by `mode`, which can be 'active' for example. This enables us\n // to have the 'active' element options and 'default' options to switch between\n // when interacting.\n cache[cacheKey] = Object.freeze(cloneIfNotShared(values, sharing));\n }\n\n return values;\n }\n\n\n /**\n\t * @private\n\t */\n _resolveAnimations(index, transition, active) {\n const chart = this.chart;\n const cache = this._cachedDataOpts;\n const cacheKey = `animation-${transition}`;\n const cached = cache[cacheKey];\n if (cached) {\n return cached;\n }\n let options;\n if (chart.options.animation !== false) {\n const config = this.chart.config;\n const scopeKeys = config.datasetAnimationScopeKeys(this._type, transition);\n const scopes = config.getOptionScopes(this.getDataset(), scopeKeys);\n options = config.createResolver(scopes, this.getContext(index, active, transition));\n }\n const animations = new Animations(chart, options && options.animations);\n if (options && options._cacheable) {\n cache[cacheKey] = Object.freeze(animations);\n }\n return animations;\n }\n\n /**\n\t * Utility for getting the options object shared between elements\n\t * @protected\n\t */\n getSharedOptions(options) {\n if (!options.$shared) {\n return;\n }\n return this._sharedOptions || (this._sharedOptions = Object.assign({}, options));\n }\n\n /**\n\t * Utility for determining if `options` should be included in the updated properties\n\t * @protected\n\t */\n includeOptions(mode, sharedOptions) {\n return !sharedOptions || isDirectUpdateMode(mode) || this.chart._animationsDisabled;\n }\n\n /**\n * @todo v4, rename to getSharedOptions and remove excess functions\n */\n _getSharedOptions(start, mode) {\n const firstOpts = this.resolveDataElementOptions(start, mode);\n const previouslySharedOptions = this._sharedOptions;\n const sharedOptions = this.getSharedOptions(firstOpts);\n const includeOptions = this.includeOptions(mode, sharedOptions) || (sharedOptions !== previouslySharedOptions);\n this.updateSharedOptions(sharedOptions, mode, firstOpts);\n return {sharedOptions, includeOptions};\n }\n\n /**\n\t * Utility for updating an element with new properties, using animations when appropriate.\n\t * @protected\n\t */\n updateElement(element, index, properties, mode) {\n if (isDirectUpdateMode(mode)) {\n Object.assign(element, properties);\n } else {\n this._resolveAnimations(index, mode).update(element, properties);\n }\n }\n\n /**\n\t * Utility to animate the shared options, that are potentially affecting multiple elements.\n\t * @protected\n\t */\n updateSharedOptions(sharedOptions, mode, newOptions) {\n if (sharedOptions && !isDirectUpdateMode(mode)) {\n this._resolveAnimations(undefined, mode).update(sharedOptions, newOptions);\n }\n }\n\n /**\n\t * @private\n\t */\n _setStyle(element, index, mode, active) {\n element.active = active;\n const options = this.getStyle(index, active);\n this._resolveAnimations(index, mode, active).update(element, {\n // When going from active to inactive, we need to update to the shared options.\n // This way the once hovered element will end up with the same original shared options instance, after animation.\n options: (!active && this.getSharedOptions(options)) || options\n });\n }\n\n removeHoverStyle(element, datasetIndex, index) {\n this._setStyle(element, index, 'active', false);\n }\n\n setHoverStyle(element, datasetIndex, index) {\n this._setStyle(element, index, 'active', true);\n }\n\n /**\n\t * @private\n\t */\n _removeDatasetHoverStyle() {\n const element = this._cachedMeta.dataset;\n\n if (element) {\n this._setStyle(element, undefined, 'active', false);\n }\n }\n\n /**\n\t * @private\n\t */\n _setDatasetHoverStyle() {\n const element = this._cachedMeta.dataset;\n\n if (element) {\n this._setStyle(element, undefined, 'active', true);\n }\n }\n\n /**\n\t * @private\n\t */\n _resyncElements(resetNewElements) {\n const data = this._data;\n const elements = this._cachedMeta.data;\n\n // Apply changes detected through array listeners\n for (const [method, arg1, arg2] of this._syncList) {\n this[method](arg1, arg2);\n }\n this._syncList = [];\n\n const numMeta = elements.length;\n const numData = data.length;\n const count = Math.min(numData, numMeta);\n\n if (count) {\n // TODO: It is not optimal to always parse the old data\n // This is done because we are not detecting direct assignments:\n // chart.data.datasets[0].data[5] = 10;\n // chart.data.datasets[0].data[5].y = 10;\n this.parse(0, count);\n }\n\n if (numData > numMeta) {\n this._insertElements(numMeta, numData - numMeta, resetNewElements);\n } else if (numData < numMeta) {\n this._removeElements(numData, numMeta - numData);\n }\n }\n\n /**\n\t * @private\n\t */\n _insertElements(start, count, resetNewElements = true) {\n const meta = this._cachedMeta;\n const data = meta.data;\n const end = start + count;\n let i;\n\n const move = (arr) => {\n arr.length += count;\n for (i = arr.length - 1; i >= end; i--) {\n arr[i] = arr[i - count];\n }\n };\n move(data);\n\n for (i = start; i < end; ++i) {\n data[i] = new this.dataElementType();\n }\n\n if (this._parsing) {\n move(meta._parsed);\n }\n this.parse(start, count);\n\n if (resetNewElements) {\n this.updateElements(data, start, count, 'reset');\n }\n }\n\n updateElements(element, start, count, mode) {} // eslint-disable-line no-unused-vars\n\n /**\n\t * @private\n\t */\n _removeElements(start, count) {\n const meta = this._cachedMeta;\n if (this._parsing) {\n const removed = meta._parsed.splice(start, count);\n if (meta._stacked) {\n clearStacks(meta, removed);\n }\n }\n meta.data.splice(start, count);\n }\n\n /**\n\t * @private\n */\n _sync(args) {\n if (this._parsing) {\n this._syncList.push(args);\n } else {\n const [method, arg1, arg2] = args;\n this[method](arg1, arg2);\n }\n this.chart._dataChanges.push([this.index, ...args]);\n }\n\n _onDataPush() {\n const count = arguments.length;\n this._sync(['_insertElements', this.getDataset().data.length - count, count]);\n }\n\n _onDataPop() {\n this._sync(['_removeElements', this._cachedMeta.data.length - 1, 1]);\n }\n\n _onDataShift() {\n this._sync(['_removeElements', 0, 1]);\n }\n\n _onDataSplice(start, count) {\n if (count) {\n this._sync(['_removeElements', start, count]);\n }\n const newCount = arguments.length - 2;\n if (newCount) {\n this._sync(['_insertElements', start, newCount]);\n }\n }\n\n _onDataUnshift() {\n this._sync(['_insertElements', 0, arguments.length]);\n }\n}\n","import DatasetController from '../core/core.datasetController.js';\nimport {\n _arrayUnique, isArray, isNullOrUndef,\n valueOrDefault, resolveObjectKey, sign, defined\n} from '../helpers/index.js';\n\nfunction getAllScaleValues(scale, type) {\n if (!scale._cache.$bar) {\n const visibleMetas = scale.getMatchingVisibleMetas(type);\n let values = [];\n\n for (let i = 0, ilen = visibleMetas.length; i < ilen; i++) {\n values = values.concat(visibleMetas[i].controller.getAllParsedValues(scale));\n }\n scale._cache.$bar = _arrayUnique(values.sort((a, b) => a - b));\n }\n return scale._cache.$bar;\n}\n\n/**\n * Computes the \"optimal\" sample size to maintain bars equally sized while preventing overlap.\n * @private\n */\nfunction computeMinSampleSize(meta) {\n const scale = meta.iScale;\n const values = getAllScaleValues(scale, meta.type);\n let min = scale._length;\n let i, ilen, curr, prev;\n const updateMinAndPrev = () => {\n if (curr === 32767 || curr === -32768) {\n // Ignore truncated pixels\n return;\n }\n if (defined(prev)) {\n // curr - prev === 0 is ignored\n min = Math.min(min, Math.abs(curr - prev) || min);\n }\n prev = curr;\n };\n\n for (i = 0, ilen = values.length; i < ilen; ++i) {\n curr = scale.getPixelForValue(values[i]);\n updateMinAndPrev();\n }\n\n prev = undefined;\n for (i = 0, ilen = scale.ticks.length; i < ilen; ++i) {\n curr = scale.getPixelForTick(i);\n updateMinAndPrev();\n }\n\n return min;\n}\n\n/**\n * Computes an \"ideal\" category based on the absolute bar thickness or, if undefined or null,\n * uses the smallest interval (see computeMinSampleSize) that prevents bar overlapping. This\n * mode currently always generates bars equally sized (until we introduce scriptable options?).\n * @private\n */\nfunction computeFitCategoryTraits(index, ruler, options, stackCount) {\n const thickness = options.barThickness;\n let size, ratio;\n\n if (isNullOrUndef(thickness)) {\n size = ruler.min * options.categoryPercentage;\n ratio = options.barPercentage;\n } else {\n // When bar thickness is enforced, category and bar percentages are ignored.\n // Note(SB): we could add support for relative bar thickness (e.g. barThickness: '50%')\n // and deprecate barPercentage since this value is ignored when thickness is absolute.\n size = thickness * stackCount;\n ratio = 1;\n }\n\n return {\n chunk: size / stackCount,\n ratio,\n start: ruler.pixels[index] - (size / 2)\n };\n}\n\n/**\n * Computes an \"optimal\" category that globally arranges bars side by side (no gap when\n * percentage options are 1), based on the previous and following categories. This mode\n * generates bars with different widths when data are not evenly spaced.\n * @private\n */\nfunction computeFlexCategoryTraits(index, ruler, options, stackCount) {\n const pixels = ruler.pixels;\n const curr = pixels[index];\n let prev = index > 0 ? pixels[index - 1] : null;\n let next = index < pixels.length - 1 ? pixels[index + 1] : null;\n const percent = options.categoryPercentage;\n\n if (prev === null) {\n // first data: its size is double based on the next point or,\n // if it's also the last data, we use the scale size.\n prev = curr - (next === null ? ruler.end - ruler.start : next - curr);\n }\n\n if (next === null) {\n // last data: its size is also double based on the previous point.\n next = curr + curr - prev;\n }\n\n const start = curr - (curr - Math.min(prev, next)) / 2 * percent;\n const size = Math.abs(next - prev) / 2 * percent;\n\n return {\n chunk: size / stackCount,\n ratio: options.barPercentage,\n start\n };\n}\n\nfunction parseFloatBar(entry, item, vScale, i) {\n const startValue = vScale.parse(entry[0], i);\n const endValue = vScale.parse(entry[1], i);\n const min = Math.min(startValue, endValue);\n const max = Math.max(startValue, endValue);\n let barStart = min;\n let barEnd = max;\n\n if (Math.abs(min) > Math.abs(max)) {\n barStart = max;\n barEnd = min;\n }\n\n // Store `barEnd` (furthest away from origin) as parsed value,\n // to make stacking straight forward\n item[vScale.axis] = barEnd;\n\n item._custom = {\n barStart,\n barEnd,\n start: startValue,\n end: endValue,\n min,\n max\n };\n}\n\nfunction parseValue(entry, item, vScale, i) {\n if (isArray(entry)) {\n parseFloatBar(entry, item, vScale, i);\n } else {\n item[vScale.axis] = vScale.parse(entry, i);\n }\n return item;\n}\n\nfunction parseArrayOrPrimitive(meta, data, start, count) {\n const iScale = meta.iScale;\n const vScale = meta.vScale;\n const labels = iScale.getLabels();\n const singleScale = iScale === vScale;\n const parsed = [];\n let i, ilen, item, entry;\n\n for (i = start, ilen = start + count; i < ilen; ++i) {\n entry = data[i];\n item = {};\n item[iScale.axis] = singleScale || iScale.parse(labels[i], i);\n parsed.push(parseValue(entry, item, vScale, i));\n }\n return parsed;\n}\n\nfunction isFloatBar(custom) {\n return custom && custom.barStart !== undefined && custom.barEnd !== undefined;\n}\n\nfunction barSign(size, vScale, actualBase) {\n if (size !== 0) {\n return sign(size);\n }\n return (vScale.isHorizontal() ? 1 : -1) * (vScale.min >= actualBase ? 1 : -1);\n}\n\nfunction borderProps(properties) {\n let reverse, start, end, top, bottom;\n if (properties.horizontal) {\n reverse = properties.base > properties.x;\n start = 'left';\n end = 'right';\n } else {\n reverse = properties.base < properties.y;\n start = 'bottom';\n end = 'top';\n }\n if (reverse) {\n top = 'end';\n bottom = 'start';\n } else {\n top = 'start';\n bottom = 'end';\n }\n return {start, end, reverse, top, bottom};\n}\n\nfunction setBorderSkipped(properties, options, stack, index) {\n let edge = options.borderSkipped;\n const res = {};\n\n if (!edge) {\n properties.borderSkipped = res;\n return;\n }\n\n if (edge === true) {\n properties.borderSkipped = {top: true, right: true, bottom: true, left: true};\n return;\n }\n\n const {start, end, reverse, top, bottom} = borderProps(properties);\n\n if (edge === 'middle' && stack) {\n properties.enableBorderRadius = true;\n if ((stack._top || 0) === index) {\n edge = top;\n } else if ((stack._bottom || 0) === index) {\n edge = bottom;\n } else {\n res[parseEdge(bottom, start, end, reverse)] = true;\n edge = top;\n }\n }\n\n res[parseEdge(edge, start, end, reverse)] = true;\n properties.borderSkipped = res;\n}\n\nfunction parseEdge(edge, a, b, reverse) {\n if (reverse) {\n edge = swap(edge, a, b);\n edge = startEnd(edge, b, a);\n } else {\n edge = startEnd(edge, a, b);\n }\n return edge;\n}\n\nfunction swap(orig, v1, v2) {\n return orig === v1 ? v2 : orig === v2 ? v1 : orig;\n}\n\nfunction startEnd(v, start, end) {\n return v === 'start' ? start : v === 'end' ? end : v;\n}\n\nfunction setInflateAmount(properties, {inflateAmount}, ratio) {\n properties.inflateAmount = inflateAmount === 'auto'\n ? ratio === 1 ? 0.33 : 0\n : inflateAmount;\n}\n\nexport default class BarController extends DatasetController {\n\n static id = 'bar';\n\n /**\n * @type {any}\n */\n static defaults = {\n datasetElementType: false,\n dataElementType: 'bar',\n\n categoryPercentage: 0.8,\n barPercentage: 0.9,\n grouped: true,\n\n animations: {\n numbers: {\n type: 'number',\n properties: ['x', 'y', 'base', 'width', 'height']\n }\n }\n };\n\n /**\n * @type {any}\n */\n static overrides = {\n scales: {\n _index_: {\n type: 'category',\n offset: true,\n grid: {\n offset: true\n }\n },\n _value_: {\n type: 'linear',\n beginAtZero: true,\n }\n }\n };\n\n\n /**\n\t * Overriding primitive data parsing since we support mixed primitive/array\n\t * data for float bars\n\t * @protected\n\t */\n parsePrimitiveData(meta, data, start, count) {\n return parseArrayOrPrimitive(meta, data, start, count);\n }\n\n /**\n\t * Overriding array data parsing since we support mixed primitive/array\n\t * data for float bars\n\t * @protected\n\t */\n parseArrayData(meta, data, start, count) {\n return parseArrayOrPrimitive(meta, data, start, count);\n }\n\n /**\n\t * Overriding object data parsing since we support mixed primitive/array\n\t * value-scale data for float bars\n\t * @protected\n\t */\n parseObjectData(meta, data, start, count) {\n const {iScale, vScale} = meta;\n const {xAxisKey = 'x', yAxisKey = 'y'} = this._parsing;\n const iAxisKey = iScale.axis === 'x' ? xAxisKey : yAxisKey;\n const vAxisKey = vScale.axis === 'x' ? xAxisKey : yAxisKey;\n const parsed = [];\n let i, ilen, item, obj;\n for (i = start, ilen = start + count; i < ilen; ++i) {\n obj = data[i];\n item = {};\n item[iScale.axis] = iScale.parse(resolveObjectKey(obj, iAxisKey), i);\n parsed.push(parseValue(resolveObjectKey(obj, vAxisKey), item, vScale, i));\n }\n return parsed;\n }\n\n /**\n\t * @protected\n\t */\n updateRangeFromParsed(range, scale, parsed, stack) {\n super.updateRangeFromParsed(range, scale, parsed, stack);\n const custom = parsed._custom;\n if (custom && scale === this._cachedMeta.vScale) {\n // float bar: only one end of the bar is considered by `super`\n range.min = Math.min(range.min, custom.min);\n range.max = Math.max(range.max, custom.max);\n }\n }\n\n /**\n\t * @return {number|boolean}\n\t * @protected\n\t */\n getMaxOverflow() {\n return 0;\n }\n\n /**\n\t * @protected\n\t */\n getLabelAndValue(index) {\n const meta = this._cachedMeta;\n const {iScale, vScale} = meta;\n const parsed = this.getParsed(index);\n const custom = parsed._custom;\n const value = isFloatBar(custom)\n ? '[' + custom.start + ', ' + custom.end + ']'\n : '' + vScale.getLabelForValue(parsed[vScale.axis]);\n\n return {\n label: '' + iScale.getLabelForValue(parsed[iScale.axis]),\n value\n };\n }\n\n initialize() {\n this.enableOptionSharing = true;\n\n super.initialize();\n\n const meta = this._cachedMeta;\n meta.stack = this.getDataset().stack;\n }\n\n update(mode) {\n const meta = this._cachedMeta;\n this.updateElements(meta.data, 0, meta.data.length, mode);\n }\n\n updateElements(bars, start, count, mode) {\n const reset = mode === 'reset';\n const {index, _cachedMeta: {vScale}} = this;\n const base = vScale.getBasePixel();\n const horizontal = vScale.isHorizontal();\n const ruler = this._getRuler();\n const {sharedOptions, includeOptions} = this._getSharedOptions(start, mode);\n\n for (let i = start; i < start + count; i++) {\n const parsed = this.getParsed(i);\n const vpixels = reset || isNullOrUndef(parsed[vScale.axis]) ? {base, head: base} : this._calculateBarValuePixels(i);\n const ipixels = this._calculateBarIndexPixels(i, ruler);\n const stack = (parsed._stacks || {})[vScale.axis];\n\n const properties = {\n horizontal,\n base: vpixels.base,\n enableBorderRadius: !stack || isFloatBar(parsed._custom) || (index === stack._top || index === stack._bottom),\n x: horizontal ? vpixels.head : ipixels.center,\n y: horizontal ? ipixels.center : vpixels.head,\n height: horizontal ? ipixels.size : Math.abs(vpixels.size),\n width: horizontal ? Math.abs(vpixels.size) : ipixels.size\n };\n\n if (includeOptions) {\n properties.options = sharedOptions || this.resolveDataElementOptions(i, bars[i].active ? 'active' : mode);\n }\n const options = properties.options || bars[i].options;\n setBorderSkipped(properties, options, stack, index);\n setInflateAmount(properties, options, ruler.ratio);\n this.updateElement(bars[i], i, properties, mode);\n }\n }\n\n /**\n\t * Returns the stacks based on groups and bar visibility.\n\t * @param {number} [last] - The dataset index\n\t * @param {number} [dataIndex] - The data index of the ruler\n\t * @returns {string[]} The list of stack IDs\n\t * @private\n\t */\n _getStacks(last, dataIndex) {\n const {iScale} = this._cachedMeta;\n const metasets = iScale.getMatchingVisibleMetas(this._type)\n .filter(meta => meta.controller.options.grouped);\n const stacked = iScale.options.stacked;\n const stacks = [];\n const currentParsed = this._cachedMeta.controller.getParsed(dataIndex);\n const iScaleValue = currentParsed && currentParsed[iScale.axis];\n\n const skipNull = (meta) => {\n const parsed = meta._parsed.find(item => item[iScale.axis] === iScaleValue);\n const val = parsed && parsed[meta.vScale.axis];\n\n if (isNullOrUndef(val) || isNaN(val)) {\n return true;\n }\n };\n\n for (const meta of metasets) {\n if (dataIndex !== undefined && skipNull(meta)) {\n continue;\n }\n\n // stacked | meta.stack\n // | found | not found | undefined\n // false | x | x | x\n // true | | x |\n // undefined | | x | x\n if (stacked === false || stacks.indexOf(meta.stack) === -1 ||\n\t\t\t\t(stacked === undefined && meta.stack === undefined)) {\n stacks.push(meta.stack);\n }\n if (meta.index === last) {\n break;\n }\n }\n\n // No stacks? that means there is no visible data. Let's still initialize an `undefined`\n // stack where possible invisible bars will be located.\n // https://github.com/chartjs/Chart.js/issues/6368\n if (!stacks.length) {\n stacks.push(undefined);\n }\n\n return stacks;\n }\n\n /**\n\t * Returns the effective number of stacks based on groups and bar visibility.\n\t * @private\n\t */\n _getStackCount(index) {\n return this._getStacks(undefined, index).length;\n }\n\n /**\n\t * Returns the stack index for the given dataset based on groups and bar visibility.\n\t * @param {number} [datasetIndex] - The dataset index\n\t * @param {string} [name] - The stack name to find\n * @param {number} [dataIndex]\n\t * @returns {number} The stack index\n\t * @private\n\t */\n _getStackIndex(datasetIndex, name, dataIndex) {\n const stacks = this._getStacks(datasetIndex, dataIndex);\n const index = (name !== undefined)\n ? stacks.indexOf(name)\n : -1; // indexOf returns -1 if element is not present\n\n return (index === -1)\n ? stacks.length - 1\n : index;\n }\n\n /**\n\t * @private\n\t */\n _getRuler() {\n const opts = this.options;\n const meta = this._cachedMeta;\n const iScale = meta.iScale;\n const pixels = [];\n let i, ilen;\n\n for (i = 0, ilen = meta.data.length; i < ilen; ++i) {\n pixels.push(iScale.getPixelForValue(this.getParsed(i)[iScale.axis], i));\n }\n\n const barThickness = opts.barThickness;\n const min = barThickness || computeMinSampleSize(meta);\n\n return {\n min,\n pixels,\n start: iScale._startPixel,\n end: iScale._endPixel,\n stackCount: this._getStackCount(),\n scale: iScale,\n grouped: opts.grouped,\n // bar thickness ratio used for non-grouped bars\n ratio: barThickness ? 1 : opts.categoryPercentage * opts.barPercentage\n };\n }\n\n /**\n\t * Note: pixel values are not clamped to the scale area.\n\t * @private\n\t */\n _calculateBarValuePixels(index) {\n const {_cachedMeta: {vScale, _stacked, index: datasetIndex}, options: {base: baseValue, minBarLength}} = this;\n const actualBase = baseValue || 0;\n const parsed = this.getParsed(index);\n const custom = parsed._custom;\n const floating = isFloatBar(custom);\n let value = parsed[vScale.axis];\n let start = 0;\n let length = _stacked ? this.applyStack(vScale, parsed, _stacked) : value;\n let head, size;\n\n if (length !== value) {\n start = length - value;\n length = value;\n }\n\n if (floating) {\n value = custom.barStart;\n length = custom.barEnd - custom.barStart;\n // bars crossing origin are not stacked\n if (value !== 0 && sign(value) !== sign(custom.barEnd)) {\n start = 0;\n }\n start += value;\n }\n\n const startValue = !isNullOrUndef(baseValue) && !floating ? baseValue : start;\n let base = vScale.getPixelForValue(startValue);\n\n if (this.chart.getDataVisibility(index)) {\n head = vScale.getPixelForValue(start + length);\n } else {\n // When not visible, no height\n head = base;\n }\n\n size = head - base;\n\n if (Math.abs(size) < minBarLength) {\n size = barSign(size, vScale, actualBase) * minBarLength;\n if (value === actualBase) {\n base -= size / 2;\n }\n const startPixel = vScale.getPixelForDecimal(0);\n const endPixel = vScale.getPixelForDecimal(1);\n const min = Math.min(startPixel, endPixel);\n const max = Math.max(startPixel, endPixel);\n base = Math.max(Math.min(base, max), min);\n head = base + size;\n\n if (_stacked && !floating) {\n // visual data coordinates after applying minBarLength\n parsed._stacks[vScale.axis]._visualValues[datasetIndex] = vScale.getValueForPixel(head) - vScale.getValueForPixel(base);\n }\n }\n\n if (base === vScale.getPixelForValue(actualBase)) {\n const halfGrid = sign(size) * vScale.getLineWidthForValue(actualBase) / 2;\n base += halfGrid;\n size -= halfGrid;\n }\n\n return {\n size,\n base,\n head,\n center: head + size / 2\n };\n }\n\n /**\n\t * @private\n\t */\n _calculateBarIndexPixels(index, ruler) {\n const scale = ruler.scale;\n const options = this.options;\n const skipNull = options.skipNull;\n const maxBarThickness = valueOrDefault(options.maxBarThickness, Infinity);\n let center, size;\n if (ruler.grouped) {\n const stackCount = skipNull ? this._getStackCount(index) : ruler.stackCount;\n const range = options.barThickness === 'flex'\n ? computeFlexCategoryTraits(index, ruler, options, stackCount)\n : computeFitCategoryTraits(index, ruler, options, stackCount);\n\n const stackIndex = this._getStackIndex(this.index, this._cachedMeta.stack, skipNull ? index : undefined);\n center = range.start + (range.chunk * stackIndex) + (range.chunk / 2);\n size = Math.min(maxBarThickness, range.chunk * range.ratio);\n } else {\n // For non-grouped bar charts, exact pixel values are used\n center = scale.getPixelForValue(this.getParsed(index)[scale.axis], index);\n size = Math.min(maxBarThickness, ruler.min * ruler.ratio);\n }\n\n return {\n base: center - size / 2,\n head: center + size / 2,\n center,\n size\n };\n }\n\n draw() {\n const meta = this._cachedMeta;\n const vScale = meta.vScale;\n const rects = meta.data;\n const ilen = rects.length;\n let i = 0;\n\n for (; i < ilen; ++i) {\n if (this.getParsed(i)[vScale.axis] !== null && !rects[i].hidden) {\n rects[i].draw(this._ctx);\n }\n }\n }\n\n}\n","import DatasetController from '../core/core.datasetController.js';\nimport {isObject, resolveObjectKey, toPercentage, toDimension, valueOrDefault} from '../helpers/helpers.core.js';\nimport {formatNumber} from '../helpers/helpers.intl.js';\nimport {toRadians, PI, TAU, HALF_PI, _angleBetween} from '../helpers/helpers.math.js';\n\n/**\n * @typedef { import('../core/core.controller.js').default } Chart\n */\n\nfunction getRatioAndOffset(rotation, circumference, cutout) {\n let ratioX = 1;\n let ratioY = 1;\n let offsetX = 0;\n let offsetY = 0;\n // If the chart's circumference isn't a full circle, calculate size as a ratio of the width/height of the arc\n if (circumference < TAU) {\n const startAngle = rotation;\n const endAngle = startAngle + circumference;\n const startX = Math.cos(startAngle);\n const startY = Math.sin(startAngle);\n const endX = Math.cos(endAngle);\n const endY = Math.sin(endAngle);\n const calcMax = (angle, a, b) => _angleBetween(angle, startAngle, endAngle, true) ? 1 : Math.max(a, a * cutout, b, b * cutout);\n const calcMin = (angle, a, b) => _angleBetween(angle, startAngle, endAngle, true) ? -1 : Math.min(a, a * cutout, b, b * cutout);\n const maxX = calcMax(0, startX, endX);\n const maxY = calcMax(HALF_PI, startY, endY);\n const minX = calcMin(PI, startX, endX);\n const minY = calcMin(PI + HALF_PI, startY, endY);\n ratioX = (maxX - minX) / 2;\n ratioY = (maxY - minY) / 2;\n offsetX = -(maxX + minX) / 2;\n offsetY = -(maxY + minY) / 2;\n }\n return {ratioX, ratioY, offsetX, offsetY};\n}\n\nexport default class DoughnutController extends DatasetController {\n\n static id = 'doughnut';\n\n /**\n * @type {any}\n */\n static defaults = {\n datasetElementType: false,\n dataElementType: 'arc',\n animation: {\n // Boolean - Whether we animate the rotation of the Doughnut\n animateRotate: true,\n // Boolean - Whether we animate scaling the Doughnut from the centre\n animateScale: false\n },\n animations: {\n numbers: {\n type: 'number',\n properties: ['circumference', 'endAngle', 'innerRadius', 'outerRadius', 'startAngle', 'x', 'y', 'offset', 'borderWidth', 'spacing']\n },\n },\n // The percentage of the chart that we cut out of the middle.\n cutout: '50%',\n\n // The rotation of the chart, where the first data arc begins.\n rotation: 0,\n\n // The total circumference of the chart.\n circumference: 360,\n\n // The outer radius of the chart\n radius: '100%',\n\n // Spacing between arcs\n spacing: 0,\n\n indexAxis: 'r',\n };\n\n static descriptors = {\n _scriptable: (name) => name !== 'spacing',\n _indexable: (name) => name !== 'spacing' && !name.startsWith('borderDash') && !name.startsWith('hoverBorderDash'),\n };\n\n /**\n * @type {any}\n */\n static overrides = {\n aspectRatio: 1,\n\n // Need to override these to give a nice default\n plugins: {\n legend: {\n labels: {\n generateLabels(chart) {\n const data = chart.data;\n if (data.labels.length && data.datasets.length) {\n const {labels: {pointStyle, color}} = chart.legend.options;\n\n return data.labels.map((label, i) => {\n const meta = chart.getDatasetMeta(0);\n const style = meta.controller.getStyle(i);\n\n return {\n text: label,\n fillStyle: style.backgroundColor,\n strokeStyle: style.borderColor,\n fontColor: color,\n lineWidth: style.borderWidth,\n pointStyle: pointStyle,\n hidden: !chart.getDataVisibility(i),\n\n // Extra data used for toggling the correct item\n index: i\n };\n });\n }\n return [];\n }\n },\n\n onClick(e, legendItem, legend) {\n legend.chart.toggleDataVisibility(legendItem.index);\n legend.chart.update();\n }\n }\n }\n };\n\n constructor(chart, datasetIndex) {\n super(chart, datasetIndex);\n\n this.enableOptionSharing = true;\n this.innerRadius = undefined;\n this.outerRadius = undefined;\n this.offsetX = undefined;\n this.offsetY = undefined;\n }\n\n linkScales() {}\n\n /**\n\t * Override data parsing, since we are not using scales\n\t */\n parse(start, count) {\n const data = this.getDataset().data;\n const meta = this._cachedMeta;\n\n if (this._parsing === false) {\n meta._parsed = data;\n } else {\n let getter = (i) => +data[i];\n\n if (isObject(data[start])) {\n const {key = 'value'} = this._parsing;\n getter = (i) => +resolveObjectKey(data[i], key);\n }\n\n let i, ilen;\n for (i = start, ilen = start + count; i < ilen; ++i) {\n meta._parsed[i] = getter(i);\n }\n }\n }\n\n /**\n\t * @private\n\t */\n _getRotation() {\n return toRadians(this.options.rotation - 90);\n }\n\n /**\n\t * @private\n\t */\n _getCircumference() {\n return toRadians(this.options.circumference);\n }\n\n /**\n\t * Get the maximal rotation & circumference extents\n\t * across all visible datasets.\n\t */\n _getRotationExtents() {\n let min = TAU;\n let max = -TAU;\n\n for (let i = 0; i < this.chart.data.datasets.length; ++i) {\n if (this.chart.isDatasetVisible(i) && this.chart.getDatasetMeta(i).type === this._type) {\n const controller = this.chart.getDatasetMeta(i).controller;\n const rotation = controller._getRotation();\n const circumference = controller._getCircumference();\n\n min = Math.min(min, rotation);\n max = Math.max(max, rotation + circumference);\n }\n }\n\n return {\n rotation: min,\n circumference: max - min,\n };\n }\n\n /**\n\t * @param {string} mode\n\t */\n update(mode) {\n const chart = this.chart;\n const {chartArea} = chart;\n const meta = this._cachedMeta;\n const arcs = meta.data;\n const spacing = this.getMaxBorderWidth() + this.getMaxOffset(arcs) + this.options.spacing;\n const maxSize = Math.max((Math.min(chartArea.width, chartArea.height) - spacing) / 2, 0);\n const cutout = Math.min(toPercentage(this.options.cutout, maxSize), 1);\n const chartWeight = this._getRingWeight(this.index);\n\n // Compute the maximal rotation & circumference limits.\n // If we only consider our dataset, this can cause problems when two datasets\n // are both less than a circle with different rotations (starting angles)\n const {circumference, rotation} = this._getRotationExtents();\n const {ratioX, ratioY, offsetX, offsetY} = getRatioAndOffset(rotation, circumference, cutout);\n const maxWidth = (chartArea.width - spacing) / ratioX;\n const maxHeight = (chartArea.height - spacing) / ratioY;\n const maxRadius = Math.max(Math.min(maxWidth, maxHeight) / 2, 0);\n const outerRadius = toDimension(this.options.radius, maxRadius);\n const innerRadius = Math.max(outerRadius * cutout, 0);\n const radiusLength = (outerRadius - innerRadius) / this._getVisibleDatasetWeightTotal();\n this.offsetX = offsetX * outerRadius;\n this.offsetY = offsetY * outerRadius;\n\n meta.total = this.calculateTotal();\n\n this.outerRadius = outerRadius - radiusLength * this._getRingWeightOffset(this.index);\n this.innerRadius = Math.max(this.outerRadius - radiusLength * chartWeight, 0);\n\n this.updateElements(arcs, 0, arcs.length, mode);\n }\n\n /**\n * @private\n */\n _circumference(i, reset) {\n const opts = this.options;\n const meta = this._cachedMeta;\n const circumference = this._getCircumference();\n if ((reset && opts.animation.animateRotate) || !this.chart.getDataVisibility(i) || meta._parsed[i] === null || meta.data[i].hidden) {\n return 0;\n }\n return this.calculateCircumference(meta._parsed[i] * circumference / TAU);\n }\n\n updateElements(arcs, start, count, mode) {\n const reset = mode === 'reset';\n const chart = this.chart;\n const chartArea = chart.chartArea;\n const opts = chart.options;\n const animationOpts = opts.animation;\n const centerX = (chartArea.left + chartArea.right) / 2;\n const centerY = (chartArea.top + chartArea.bottom) / 2;\n const animateScale = reset && animationOpts.animateScale;\n const innerRadius = animateScale ? 0 : this.innerRadius;\n const outerRadius = animateScale ? 0 : this.outerRadius;\n const {sharedOptions, includeOptions} = this._getSharedOptions(start, mode);\n let startAngle = this._getRotation();\n let i;\n\n for (i = 0; i < start; ++i) {\n startAngle += this._circumference(i, reset);\n }\n\n for (i = start; i < start + count; ++i) {\n const circumference = this._circumference(i, reset);\n const arc = arcs[i];\n const properties = {\n x: centerX + this.offsetX,\n y: centerY + this.offsetY,\n startAngle,\n endAngle: startAngle + circumference,\n circumference,\n outerRadius,\n innerRadius\n };\n if (includeOptions) {\n properties.options = sharedOptions || this.resolveDataElementOptions(i, arc.active ? 'active' : mode);\n }\n startAngle += circumference;\n\n this.updateElement(arc, i, properties, mode);\n }\n }\n\n calculateTotal() {\n const meta = this._cachedMeta;\n const metaData = meta.data;\n let total = 0;\n let i;\n\n for (i = 0; i < metaData.length; i++) {\n const value = meta._parsed[i];\n if (value !== null && !isNaN(value) && this.chart.getDataVisibility(i) && !metaData[i].hidden) {\n total += Math.abs(value);\n }\n }\n\n return total;\n }\n\n calculateCircumference(value) {\n const total = this._cachedMeta.total;\n if (total > 0 && !isNaN(value)) {\n return TAU * (Math.abs(value) / total);\n }\n return 0;\n }\n\n getLabelAndValue(index) {\n const meta = this._cachedMeta;\n const chart = this.chart;\n const labels = chart.data.labels || [];\n const value = formatNumber(meta._parsed[index], chart.options.locale);\n\n return {\n label: labels[index] || '',\n value,\n };\n }\n\n getMaxBorderWidth(arcs) {\n let max = 0;\n const chart = this.chart;\n let i, ilen, meta, controller, options;\n\n if (!arcs) {\n // Find the outmost visible dataset\n for (i = 0, ilen = chart.data.datasets.length; i < ilen; ++i) {\n if (chart.isDatasetVisible(i)) {\n meta = chart.getDatasetMeta(i);\n arcs = meta.data;\n controller = meta.controller;\n break;\n }\n }\n }\n\n if (!arcs) {\n return 0;\n }\n\n for (i = 0, ilen = arcs.length; i < ilen; ++i) {\n options = controller.resolveDataElementOptions(i);\n if (options.borderAlign !== 'inner') {\n max = Math.max(max, options.borderWidth || 0, options.hoverBorderWidth || 0);\n }\n }\n return max;\n }\n\n getMaxOffset(arcs) {\n let max = 0;\n\n for (let i = 0, ilen = arcs.length; i < ilen; ++i) {\n const options = this.resolveDataElementOptions(i);\n max = Math.max(max, options.offset || 0, options.hoverOffset || 0);\n }\n return max;\n }\n\n /**\n\t * Get radius length offset of the dataset in relation to the visible datasets weights. This allows determining the inner and outer radius correctly\n\t * @private\n\t */\n _getRingWeightOffset(datasetIndex) {\n let ringWeightOffset = 0;\n\n for (let i = 0; i < datasetIndex; ++i) {\n if (this.chart.isDatasetVisible(i)) {\n ringWeightOffset += this._getRingWeight(i);\n }\n }\n\n return ringWeightOffset;\n }\n\n /**\n\t * @private\n\t */\n _getRingWeight(datasetIndex) {\n return Math.max(valueOrDefault(this.chart.data.datasets[datasetIndex].weight, 1), 0);\n }\n\n /**\n\t * Returns the sum of all visible data set weights.\n\t * @private\n\t */\n _getVisibleDatasetWeightTotal() {\n return this._getRingWeightOffset(this.chart.data.datasets.length) || 1;\n }\n}\n","import DatasetController from '../core/core.datasetController.js';\nimport {isNullOrUndef} from '../helpers/index.js';\nimport {isNumber} from '../helpers/helpers.math.js';\nimport {_getStartAndCountOfVisiblePoints, _scaleRangesChanged} from '../helpers/helpers.extras.js';\n\nexport default class LineController extends DatasetController {\n\n static id = 'line';\n\n /**\n * @type {any}\n */\n static defaults = {\n datasetElementType: 'line',\n dataElementType: 'point',\n\n showLine: true,\n spanGaps: false,\n };\n\n /**\n * @type {any}\n */\n static overrides = {\n scales: {\n _index_: {\n type: 'category',\n },\n _value_: {\n type: 'linear',\n },\n }\n };\n\n initialize() {\n this.enableOptionSharing = true;\n this.supportsDecimation = true;\n super.initialize();\n }\n\n update(mode) {\n const meta = this._cachedMeta;\n const {dataset: line, data: points = [], _dataset} = meta;\n // @ts-ignore\n const animationsDisabled = this.chart._animationsDisabled;\n let {start, count} = _getStartAndCountOfVisiblePoints(meta, points, animationsDisabled);\n\n this._drawStart = start;\n this._drawCount = count;\n\n if (_scaleRangesChanged(meta)) {\n start = 0;\n count = points.length;\n }\n\n // Update Line\n line._chart = this.chart;\n line._datasetIndex = this.index;\n line._decimated = !!_dataset._decimated;\n line.points = points;\n\n const options = this.resolveDatasetElementOptions(mode);\n if (!this.options.showLine) {\n options.borderWidth = 0;\n }\n options.segment = this.options.segment;\n this.updateElement(line, undefined, {\n animated: !animationsDisabled,\n options\n }, mode);\n\n // Update Points\n this.updateElements(points, start, count, mode);\n }\n\n updateElements(points, start, count, mode) {\n const reset = mode === 'reset';\n const {iScale, vScale, _stacked, _dataset} = this._cachedMeta;\n const {sharedOptions, includeOptions} = this._getSharedOptions(start, mode);\n const iAxis = iScale.axis;\n const vAxis = vScale.axis;\n const {spanGaps, segment} = this.options;\n const maxGapLength = isNumber(spanGaps) ? spanGaps : Number.POSITIVE_INFINITY;\n const directUpdate = this.chart._animationsDisabled || reset || mode === 'none';\n const end = start + count;\n const pointsCount = points.length;\n let prevParsed = start > 0 && this.getParsed(start - 1);\n\n for (let i = 0; i < pointsCount; ++i) {\n const point = points[i];\n const properties = directUpdate ? point : {};\n\n if (i < start || i >= end) {\n properties.skip = true;\n continue;\n }\n\n const parsed = this.getParsed(i);\n const nullData = isNullOrUndef(parsed[vAxis]);\n const iPixel = properties[iAxis] = iScale.getPixelForValue(parsed[iAxis], i);\n const vPixel = properties[vAxis] = reset || nullData ? vScale.getBasePixel() : vScale.getPixelForValue(_stacked ? this.applyStack(vScale, parsed, _stacked) : parsed[vAxis], i);\n\n properties.skip = isNaN(iPixel) || isNaN(vPixel) || nullData;\n properties.stop = i > 0 && (Math.abs(parsed[iAxis] - prevParsed[iAxis])) > maxGapLength;\n if (segment) {\n properties.parsed = parsed;\n properties.raw = _dataset.data[i];\n }\n\n if (includeOptions) {\n properties.options = sharedOptions || this.resolveDataElementOptions(i, point.active ? 'active' : mode);\n }\n\n if (!directUpdate) {\n this.updateElement(point, i, properties, mode);\n }\n\n prevParsed = parsed;\n }\n }\n\n /**\n\t * @protected\n\t */\n getMaxOverflow() {\n const meta = this._cachedMeta;\n const dataset = meta.dataset;\n const border = dataset.options && dataset.options.borderWidth || 0;\n const data = meta.data || [];\n if (!data.length) {\n return border;\n }\n const firstPoint = data[0].size(this.resolveDataElementOptions(0));\n const lastPoint = data[data.length - 1].size(this.resolveDataElementOptions(data.length - 1));\n return Math.max(border, firstPoint, lastPoint) / 2;\n }\n\n draw() {\n const meta = this._cachedMeta;\n meta.dataset.updateControlPoints(this.chart.chartArea, meta.iScale.axis);\n super.draw();\n }\n}\n","import DatasetController from '../core/core.datasetController.js';\nimport {toRadians, PI, formatNumber, _parseObjectDataRadialScale} from '../helpers/index.js';\n\nexport default class PolarAreaController extends DatasetController {\n\n static id = 'polarArea';\n\n /**\n * @type {any}\n */\n static defaults = {\n dataElementType: 'arc',\n animation: {\n animateRotate: true,\n animateScale: true\n },\n animations: {\n numbers: {\n type: 'number',\n properties: ['x', 'y', 'startAngle', 'endAngle', 'innerRadius', 'outerRadius']\n },\n },\n indexAxis: 'r',\n startAngle: 0,\n };\n\n /**\n * @type {any}\n */\n static overrides = {\n aspectRatio: 1,\n\n plugins: {\n legend: {\n labels: {\n generateLabels(chart) {\n const data = chart.data;\n if (data.labels.length && data.datasets.length) {\n const {labels: {pointStyle, color}} = chart.legend.options;\n\n return data.labels.map((label, i) => {\n const meta = chart.getDatasetMeta(0);\n const style = meta.controller.getStyle(i);\n\n return {\n text: label,\n fillStyle: style.backgroundColor,\n strokeStyle: style.borderColor,\n fontColor: color,\n lineWidth: style.borderWidth,\n pointStyle: pointStyle,\n hidden: !chart.getDataVisibility(i),\n\n // Extra data used for toggling the correct item\n index: i\n };\n });\n }\n return [];\n }\n },\n\n onClick(e, legendItem, legend) {\n legend.chart.toggleDataVisibility(legendItem.index);\n legend.chart.update();\n }\n }\n },\n\n scales: {\n r: {\n type: 'radialLinear',\n angleLines: {\n display: false\n },\n beginAtZero: true,\n grid: {\n circular: true\n },\n pointLabels: {\n display: false\n },\n startAngle: 0\n }\n }\n };\n\n constructor(chart, datasetIndex) {\n super(chart, datasetIndex);\n\n this.innerRadius = undefined;\n this.outerRadius = undefined;\n }\n\n getLabelAndValue(index) {\n const meta = this._cachedMeta;\n const chart = this.chart;\n const labels = chart.data.labels || [];\n const value = formatNumber(meta._parsed[index].r, chart.options.locale);\n\n return {\n label: labels[index] || '',\n value,\n };\n }\n\n parseObjectData(meta, data, start, count) {\n return _parseObjectDataRadialScale.bind(this)(meta, data, start, count);\n }\n\n update(mode) {\n const arcs = this._cachedMeta.data;\n\n this._updateRadius();\n this.updateElements(arcs, 0, arcs.length, mode);\n }\n\n /**\n * @protected\n */\n getMinMax() {\n const meta = this._cachedMeta;\n const range = {min: Number.POSITIVE_INFINITY, max: Number.NEGATIVE_INFINITY};\n\n meta.data.forEach((element, index) => {\n const parsed = this.getParsed(index).r;\n\n if (!isNaN(parsed) && this.chart.getDataVisibility(index)) {\n if (parsed < range.min) {\n range.min = parsed;\n }\n\n if (parsed > range.max) {\n range.max = parsed;\n }\n }\n });\n\n return range;\n }\n\n /**\n\t * @private\n\t */\n _updateRadius() {\n const chart = this.chart;\n const chartArea = chart.chartArea;\n const opts = chart.options;\n const minSize = Math.min(chartArea.right - chartArea.left, chartArea.bottom - chartArea.top);\n\n const outerRadius = Math.max(minSize / 2, 0);\n const innerRadius = Math.max(opts.cutoutPercentage ? (outerRadius / 100) * (opts.cutoutPercentage) : 1, 0);\n const radiusLength = (outerRadius - innerRadius) / chart.getVisibleDatasetCount();\n\n this.outerRadius = outerRadius - (radiusLength * this.index);\n this.innerRadius = this.outerRadius - radiusLength;\n }\n\n updateElements(arcs, start, count, mode) {\n const reset = mode === 'reset';\n const chart = this.chart;\n const opts = chart.options;\n const animationOpts = opts.animation;\n const scale = this._cachedMeta.rScale;\n const centerX = scale.xCenter;\n const centerY = scale.yCenter;\n const datasetStartAngle = scale.getIndexAngle(0) - 0.5 * PI;\n let angle = datasetStartAngle;\n let i;\n\n const defaultAngle = 360 / this.countVisibleElements();\n\n for (i = 0; i < start; ++i) {\n angle += this._computeAngle(i, mode, defaultAngle);\n }\n for (i = start; i < start + count; i++) {\n const arc = arcs[i];\n let startAngle = angle;\n let endAngle = angle + this._computeAngle(i, mode, defaultAngle);\n let outerRadius = chart.getDataVisibility(i) ? scale.getDistanceFromCenterForValue(this.getParsed(i).r) : 0;\n angle = endAngle;\n\n if (reset) {\n if (animationOpts.animateScale) {\n outerRadius = 0;\n }\n if (animationOpts.animateRotate) {\n startAngle = endAngle = datasetStartAngle;\n }\n }\n\n const properties = {\n x: centerX,\n y: centerY,\n innerRadius: 0,\n outerRadius,\n startAngle,\n endAngle,\n options: this.resolveDataElementOptions(i, arc.active ? 'active' : mode)\n };\n\n this.updateElement(arc, i, properties, mode);\n }\n }\n\n countVisibleElements() {\n const meta = this._cachedMeta;\n let count = 0;\n\n meta.data.forEach((element, index) => {\n if (!isNaN(this.getParsed(index).r) && this.chart.getDataVisibility(index)) {\n count++;\n }\n });\n\n return count;\n }\n\n /**\n\t * @private\n\t */\n _computeAngle(index, mode, defaultAngle) {\n return this.chart.getDataVisibility(index)\n ? toRadians(this.resolveDataElementOptions(index, mode).angle || defaultAngle)\n : 0;\n }\n}\n","import DatasetController from '../core/core.datasetController.js';\nimport {valueOrDefault} from '../helpers/helpers.core.js';\n\nexport default class BubbleController extends DatasetController {\n\n static id = 'bubble';\n\n /**\n * @type {any}\n */\n static defaults = {\n datasetElementType: false,\n dataElementType: 'point',\n\n animations: {\n numbers: {\n type: 'number',\n properties: ['x', 'y', 'borderWidth', 'radius']\n }\n }\n };\n\n /**\n * @type {any}\n */\n static overrides = {\n scales: {\n x: {\n type: 'linear'\n },\n y: {\n type: 'linear'\n }\n }\n };\n\n initialize() {\n this.enableOptionSharing = true;\n super.initialize();\n }\n\n /**\n\t * Parse array of primitive values\n\t * @protected\n\t */\n parsePrimitiveData(meta, data, start, count) {\n const parsed = super.parsePrimitiveData(meta, data, start, count);\n for (let i = 0; i < parsed.length; i++) {\n parsed[i]._custom = this.resolveDataElementOptions(i + start).radius;\n }\n return parsed;\n }\n\n /**\n\t * Parse array of arrays\n\t * @protected\n\t */\n parseArrayData(meta, data, start, count) {\n const parsed = super.parseArrayData(meta, data, start, count);\n for (let i = 0; i < parsed.length; i++) {\n const item = data[start + i];\n parsed[i]._custom = valueOrDefault(item[2], this.resolveDataElementOptions(i + start).radius);\n }\n return parsed;\n }\n\n /**\n\t * Parse array of objects\n\t * @protected\n\t */\n parseObjectData(meta, data, start, count) {\n const parsed = super.parseObjectData(meta, data, start, count);\n for (let i = 0; i < parsed.length; i++) {\n const item = data[start + i];\n parsed[i]._custom = valueOrDefault(item && item.r && +item.r, this.resolveDataElementOptions(i + start).radius);\n }\n return parsed;\n }\n\n /**\n\t * @protected\n\t */\n getMaxOverflow() {\n const data = this._cachedMeta.data;\n\n let max = 0;\n for (let i = data.length - 1; i >= 0; --i) {\n max = Math.max(max, data[i].size(this.resolveDataElementOptions(i)) / 2);\n }\n return max > 0 && max;\n }\n\n /**\n\t * @protected\n\t */\n getLabelAndValue(index) {\n const meta = this._cachedMeta;\n const labels = this.chart.data.labels || [];\n const {xScale, yScale} = meta;\n const parsed = this.getParsed(index);\n const x = xScale.getLabelForValue(parsed.x);\n const y = yScale.getLabelForValue(parsed.y);\n const r = parsed._custom;\n\n return {\n label: labels[index] || '',\n value: '(' + x + ', ' + y + (r ? ', ' + r : '') + ')'\n };\n }\n\n update(mode) {\n const points = this._cachedMeta.data;\n\n // Update Points\n this.updateElements(points, 0, points.length, mode);\n }\n\n updateElements(points, start, count, mode) {\n const reset = mode === 'reset';\n const {iScale, vScale} = this._cachedMeta;\n const {sharedOptions, includeOptions} = this._getSharedOptions(start, mode);\n const iAxis = iScale.axis;\n const vAxis = vScale.axis;\n\n for (let i = start; i < start + count; i++) {\n const point = points[i];\n const parsed = !reset && this.getParsed(i);\n const properties = {};\n const iPixel = properties[iAxis] = reset ? iScale.getPixelForDecimal(0.5) : iScale.getPixelForValue(parsed[iAxis]);\n const vPixel = properties[vAxis] = reset ? vScale.getBasePixel() : vScale.getPixelForValue(parsed[vAxis]);\n\n properties.skip = isNaN(iPixel) || isNaN(vPixel);\n\n if (includeOptions) {\n properties.options = sharedOptions || this.resolveDataElementOptions(i, point.active ? 'active' : mode);\n\n if (reset) {\n properties.options.radius = 0;\n }\n }\n\n this.updateElement(point, i, properties, mode);\n }\n }\n\n /**\n\t * @param {number} index\n\t * @param {string} [mode]\n\t * @protected\n\t */\n resolveDataElementOptions(index, mode) {\n const parsed = this.getParsed(index);\n let values = super.resolveDataElementOptions(index, mode);\n\n // In case values were cached (and thus frozen), we need to clone the values\n if (values.$shared) {\n values = Object.assign({}, values, {$shared: false});\n }\n\n // Custom radius resolution\n const radius = values.radius;\n if (mode !== 'active') {\n values.radius = 0;\n }\n values.radius += valueOrDefault(parsed && parsed._custom, radius);\n\n return values;\n }\n}\n","import DoughnutController from './controller.doughnut.js';\n\n// Pie charts are Doughnut chart with different defaults\nexport default class PieController extends DoughnutController {\n\n static id = 'pie';\n\n /**\n * @type {any}\n */\n static defaults = {\n // The percentage of the chart that we cut out of the middle.\n cutout: 0,\n\n // The rotation of the chart, where the first data arc begins.\n rotation: 0,\n\n // The total circumference of the chart.\n circumference: 360,\n\n // The outer radius of the chart\n radius: '100%'\n };\n}\n","import DatasetController from '../core/core.datasetController.js';\nimport {_parseObjectDataRadialScale} from '../helpers/index.js';\n\nexport default class RadarController extends DatasetController {\n\n static id = 'radar';\n\n /**\n * @type {any}\n */\n static defaults = {\n datasetElementType: 'line',\n dataElementType: 'point',\n indexAxis: 'r',\n showLine: true,\n elements: {\n line: {\n fill: 'start'\n }\n },\n };\n\n /**\n * @type {any}\n */\n static overrides = {\n aspectRatio: 1,\n\n scales: {\n r: {\n type: 'radialLinear',\n }\n }\n };\n\n /**\n\t * @protected\n\t */\n getLabelAndValue(index) {\n const vScale = this._cachedMeta.vScale;\n const parsed = this.getParsed(index);\n\n return {\n label: vScale.getLabels()[index],\n value: '' + vScale.getLabelForValue(parsed[vScale.axis])\n };\n }\n\n parseObjectData(meta, data, start, count) {\n return _parseObjectDataRadialScale.bind(this)(meta, data, start, count);\n }\n\n update(mode) {\n const meta = this._cachedMeta;\n const line = meta.dataset;\n const points = meta.data || [];\n const labels = meta.iScale.getLabels();\n\n // Update Line\n line.points = points;\n // In resize mode only point locations change, so no need to set the points or options.\n if (mode !== 'resize') {\n const options = this.resolveDatasetElementOptions(mode);\n if (!this.options.showLine) {\n options.borderWidth = 0;\n }\n\n const properties = {\n _loop: true,\n _fullLoop: labels.length === points.length,\n options\n };\n\n this.updateElement(line, undefined, properties, mode);\n }\n\n // Update Points\n this.updateElements(points, 0, points.length, mode);\n }\n\n updateElements(points, start, count, mode) {\n const scale = this._cachedMeta.rScale;\n const reset = mode === 'reset';\n\n for (let i = start; i < start + count; i++) {\n const point = points[i];\n const options = this.resolveDataElementOptions(i, point.active ? 'active' : mode);\n const pointPosition = scale.getPointPositionForValue(i, this.getParsed(i).r);\n\n const x = reset ? scale.xCenter : pointPosition.x;\n const y = reset ? scale.yCenter : pointPosition.y;\n\n const properties = {\n x,\n y,\n angle: pointPosition.angle,\n skip: isNaN(x) || isNaN(y),\n options\n };\n\n this.updateElement(point, i, properties, mode);\n }\n }\n}\n","import DatasetController from '../core/core.datasetController.js';\nimport {isNullOrUndef} from '../helpers/index.js';\nimport {isNumber} from '../helpers/helpers.math.js';\nimport {_getStartAndCountOfVisiblePoints, _scaleRangesChanged} from '../helpers/helpers.extras.js';\n\nexport default class ScatterController extends DatasetController {\n\n static id = 'scatter';\n\n /**\n * @type {any}\n */\n static defaults = {\n datasetElementType: false,\n dataElementType: 'point',\n showLine: false,\n fill: false\n };\n\n /**\n * @type {any}\n */\n static overrides = {\n\n interaction: {\n mode: 'point'\n },\n\n scales: {\n x: {\n type: 'linear'\n },\n y: {\n type: 'linear'\n }\n }\n };\n\n /**\n\t * @protected\n\t */\n getLabelAndValue(index) {\n const meta = this._cachedMeta;\n const labels = this.chart.data.labels || [];\n const {xScale, yScale} = meta;\n const parsed = this.getParsed(index);\n const x = xScale.getLabelForValue(parsed.x);\n const y = yScale.getLabelForValue(parsed.y);\n\n return {\n label: labels[index] || '',\n value: '(' + x + ', ' + y + ')'\n };\n }\n\n update(mode) {\n const meta = this._cachedMeta;\n const {data: points = []} = meta;\n // @ts-ignore\n const animationsDisabled = this.chart._animationsDisabled;\n let {start, count} = _getStartAndCountOfVisiblePoints(meta, points, animationsDisabled);\n\n this._drawStart = start;\n this._drawCount = count;\n\n if (_scaleRangesChanged(meta)) {\n start = 0;\n count = points.length;\n }\n\n if (this.options.showLine) {\n\n // https://github.com/chartjs/Chart.js/issues/11333\n if (!this.datasetElementType) {\n this.addElements();\n }\n const {dataset: line, _dataset} = meta;\n\n // Update Line\n line._chart = this.chart;\n line._datasetIndex = this.index;\n line._decimated = !!_dataset._decimated;\n line.points = points;\n\n const options = this.resolveDatasetElementOptions(mode);\n options.segment = this.options.segment;\n this.updateElement(line, undefined, {\n animated: !animationsDisabled,\n options\n }, mode);\n } else if (this.datasetElementType) {\n // https://github.com/chartjs/Chart.js/issues/11333\n delete meta.dataset;\n this.datasetElementType = false;\n }\n\n // Update Points\n this.updateElements(points, start, count, mode);\n }\n\n addElements() {\n const {showLine} = this.options;\n\n if (!this.datasetElementType && showLine) {\n this.datasetElementType = this.chart.registry.getElement('line');\n }\n\n super.addElements();\n }\n\n updateElements(points, start, count, mode) {\n const reset = mode === 'reset';\n const {iScale, vScale, _stacked, _dataset} = this._cachedMeta;\n const firstOpts = this.resolveDataElementOptions(start, mode);\n const sharedOptions = this.getSharedOptions(firstOpts);\n const includeOptions = this.includeOptions(mode, sharedOptions);\n const iAxis = iScale.axis;\n const vAxis = vScale.axis;\n const {spanGaps, segment} = this.options;\n const maxGapLength = isNumber(spanGaps) ? spanGaps : Number.POSITIVE_INFINITY;\n const directUpdate = this.chart._animationsDisabled || reset || mode === 'none';\n let prevParsed = start > 0 && this.getParsed(start - 1);\n\n for (let i = start; i < start + count; ++i) {\n const point = points[i];\n const parsed = this.getParsed(i);\n const properties = directUpdate ? point : {};\n const nullData = isNullOrUndef(parsed[vAxis]);\n const iPixel = properties[iAxis] = iScale.getPixelForValue(parsed[iAxis], i);\n const vPixel = properties[vAxis] = reset || nullData ? vScale.getBasePixel() : vScale.getPixelForValue(_stacked ? this.applyStack(vScale, parsed, _stacked) : parsed[vAxis], i);\n\n properties.skip = isNaN(iPixel) || isNaN(vPixel) || nullData;\n properties.stop = i > 0 && (Math.abs(parsed[iAxis] - prevParsed[iAxis])) > maxGapLength;\n if (segment) {\n properties.parsed = parsed;\n properties.raw = _dataset.data[i];\n }\n\n if (includeOptions) {\n properties.options = sharedOptions || this.resolveDataElementOptions(i, point.active ? 'active' : mode);\n }\n\n if (!directUpdate) {\n this.updateElement(point, i, properties, mode);\n }\n\n prevParsed = parsed;\n }\n\n this.updateSharedOptions(sharedOptions, mode, firstOpts);\n }\n\n /**\n\t * @protected\n\t */\n getMaxOverflow() {\n const meta = this._cachedMeta;\n const data = meta.data || [];\n\n if (!this.options.showLine) {\n let max = 0;\n for (let i = data.length - 1; i >= 0; --i) {\n max = Math.max(max, data[i].size(this.resolveDataElementOptions(i)) / 2);\n }\n return max > 0 && max;\n }\n\n const dataset = meta.dataset;\n const border = dataset.options && dataset.options.borderWidth || 0;\n\n if (!data.length) {\n return border;\n }\n\n const firstPoint = data[0].size(this.resolveDataElementOptions(0));\n const lastPoint = data[data.length - 1].size(this.resolveDataElementOptions(data.length - 1));\n return Math.max(border, firstPoint, lastPoint) / 2;\n }\n}\n","/**\n * @namespace Chart._adapters\n * @since 2.8.0\n * @private\n */\n\nimport type {AnyObject} from '../types/basic.js';\nimport type {ChartOptions} from '../types/index.js';\n\nexport type TimeUnit = 'millisecond' | 'second' | 'minute' | 'hour' | 'day' | 'week' | 'month' | 'quarter' | 'year';\n\nexport interface DateAdapter {\n readonly options: T;\n /**\n * Will called with chart options after adapter creation.\n */\n init(this: DateAdapter, chartOptions: ChartOptions): void;\n /**\n * Returns a map of time formats for the supported formatting units defined\n * in Unit as well as 'datetime' representing a detailed date/time string.\n */\n formats(this: DateAdapter): Record;\n /**\n * Parses the given `value` and return the associated timestamp.\n * @param value - the value to parse (usually comes from the data)\n * @param [format] - the expected data format\n */\n parse(this: DateAdapter, value: unknown, format?: string): number | null;\n /**\n * Returns the formatted date in the specified `format` for a given `timestamp`.\n * @param timestamp - the timestamp to format\n * @param format - the date/time token\n */\n format(this: DateAdapter, timestamp: number, format: string): string;\n /**\n * Adds the specified `amount` of `unit` to the given `timestamp`.\n * @param timestamp - the input timestamp\n * @param amount - the amount to add\n * @param unit - the unit as string\n */\n add(this: DateAdapter, timestamp: number, amount: number, unit: TimeUnit): number;\n /**\n * Returns the number of `unit` between the given timestamps.\n * @param a - the input timestamp (reference)\n * @param b - the timestamp to subtract\n * @param unit - the unit as string\n */\n diff(this: DateAdapter, a: number, b: number, unit: TimeUnit): number;\n /**\n * Returns start of `unit` for the given `timestamp`.\n * @param timestamp - the input timestamp\n * @param unit - the unit as string\n * @param [weekday] - the ISO day of the week with 1 being Monday\n * and 7 being Sunday (only needed if param *unit* is `isoWeek`).\n */\n startOf(this: DateAdapter, timestamp: number, unit: TimeUnit | 'isoWeek', weekday?: number | boolean): number;\n /**\n * Returns end of `unit` for the given `timestamp`.\n * @param timestamp - the input timestamp\n * @param unit - the unit as string\n */\n endOf(this: DateAdapter, timestamp: number, unit: TimeUnit): number;\n}\n\nfunction abstract(): T {\n throw new Error('This method is not implemented: Check that a complete date adapter is provided.');\n}\n\n/**\n * Date adapter (current used by the time scale)\n * @namespace Chart._adapters._date\n * @memberof Chart._adapters\n * @private\n */\nclass DateAdapterBase implements DateAdapter {\n\n /**\n * Override default date adapter methods.\n * Accepts type parameter to define options type.\n * @example\n * Chart._adapters._date.override<{myAdapterOption: string}>({\n * init() {\n * console.log(this.options.myAdapterOption);\n * }\n * })\n */\n static override(\n members: Partial, 'options'>>\n ) {\n Object.assign(DateAdapterBase.prototype, members);\n }\n\n readonly options: AnyObject;\n\n constructor(options?: AnyObject) {\n this.options = options || {};\n }\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n init() {}\n\n formats(): Record {\n return abstract();\n }\n\n parse(): number | null {\n return abstract();\n }\n\n format(): string {\n return abstract();\n }\n\n add(): number {\n return abstract();\n }\n\n diff(): number {\n return abstract();\n }\n\n startOf(): number {\n return abstract();\n }\n\n endOf(): number {\n return abstract();\n }\n}\n\nexport default {\n _date: DateAdapterBase as {\n new (options?: AnyObject): DateAdapter;\n override(\n members: Partial, 'options'>>\n ): void;\n }\n};\n","import {_lookupByKey, _rlookupByKey} from '../helpers/helpers.collection.js';\nimport {getRelativePosition} from '../helpers/helpers.dom.js';\nimport {_angleBetween, getAngleFromPoint} from '../helpers/helpers.math.js';\nimport {_isPointInArea, isNullOrUndef} from '../helpers/index.js';\n\n/**\n * @typedef { import('./core.controller.js').default } Chart\n * @typedef { import('../types/index.js').ChartEvent } ChartEvent\n * @typedef {{axis?: string, intersect?: boolean, includeInvisible?: boolean}} InteractionOptions\n * @typedef {{datasetIndex: number, index: number, element: import('./core.element.js').default}} InteractionItem\n * @typedef { import('../types/index.js').Point } Point\n */\n\n/**\n * Helper function to do binary search when possible\n * @param {object} metaset - the dataset meta\n * @param {string} axis - the axis mode. x|y|xy|r\n * @param {number} value - the value to find\n * @param {boolean} [intersect] - should the element intersect\n * @returns {{lo:number, hi:number}} indices to search data array between\n */\nfunction binarySearch(metaset, axis, value, intersect) {\n const {controller, data, _sorted} = metaset;\n const iScale = controller._cachedMeta.iScale;\n const spanGaps = metaset.dataset ? metaset.dataset.options ? metaset.dataset.options.spanGaps : null : null;\n\n if (iScale && axis === iScale.axis && axis !== 'r' && _sorted && data.length) {\n const lookupMethod = iScale._reversePixels ? _rlookupByKey : _lookupByKey;\n if (!intersect) {\n const result = lookupMethod(data, axis, value);\n if (spanGaps) {\n const {vScale} = controller._cachedMeta;\n const {_parsed} = metaset;\n\n const distanceToDefinedLo = (_parsed\n .slice(0, result.lo + 1)\n .reverse()\n .findIndex(\n point => !isNullOrUndef(point[vScale.axis])));\n result.lo -= Math.max(0, distanceToDefinedLo);\n\n const distanceToDefinedHi = (_parsed\n .slice(result.hi)\n .findIndex(\n point => !isNullOrUndef(point[vScale.axis])));\n result.hi += Math.max(0, distanceToDefinedHi);\n }\n return result;\n } else if (controller._sharedOptions) {\n // _sharedOptions indicates that each element has equal options -> equal proportions\n // So we can do a ranged binary search based on the range of first element and\n // be confident to get the full range of indices that can intersect with the value.\n const el = data[0];\n const range = typeof el.getRange === 'function' && el.getRange(axis);\n if (range) {\n const start = lookupMethod(data, axis, value - range);\n const end = lookupMethod(data, axis, value + range);\n return {lo: start.lo, hi: end.hi};\n }\n }\n }\n // Default to all elements, when binary search can not be used.\n return {lo: 0, hi: data.length - 1};\n}\n\n/**\n * Helper function to select candidate elements for interaction\n * @param {Chart} chart - the chart\n * @param {string} axis - the axis mode. x|y|xy|r\n * @param {Point} position - the point to be nearest to, in relative coordinates\n * @param {function} handler - the callback to execute for each visible item\n * @param {boolean} [intersect] - consider intersecting items\n */\nfunction evaluateInteractionItems(chart, axis, position, handler, intersect) {\n const metasets = chart.getSortedVisibleDatasetMetas();\n const value = position[axis];\n for (let i = 0, ilen = metasets.length; i < ilen; ++i) {\n const {index, data} = metasets[i];\n const {lo, hi} = binarySearch(metasets[i], axis, value, intersect);\n for (let j = lo; j <= hi; ++j) {\n const element = data[j];\n if (!element.skip) {\n handler(element, index, j);\n }\n }\n }\n}\n\n/**\n * Get a distance metric function for two points based on the\n * axis mode setting\n * @param {string} axis - the axis mode. x|y|xy|r\n */\nfunction getDistanceMetricForAxis(axis) {\n const useX = axis.indexOf('x') !== -1;\n const useY = axis.indexOf('y') !== -1;\n\n return function(pt1, pt2) {\n const deltaX = useX ? Math.abs(pt1.x - pt2.x) : 0;\n const deltaY = useY ? Math.abs(pt1.y - pt2.y) : 0;\n return Math.sqrt(Math.pow(deltaX, 2) + Math.pow(deltaY, 2));\n };\n}\n\n/**\n * Helper function to get the items that intersect the event position\n * @param {Chart} chart - the chart\n * @param {Point} position - the point to be nearest to, in relative coordinates\n * @param {string} axis - the axis mode. x|y|xy|r\n * @param {boolean} [useFinalPosition] - use the element's animation target instead of current position\n * @param {boolean} [includeInvisible] - include invisible points that are outside of the chart area\n * @return {InteractionItem[]} the nearest items\n */\nfunction getIntersectItems(chart, position, axis, useFinalPosition, includeInvisible) {\n const items = [];\n\n if (!includeInvisible && !chart.isPointInArea(position)) {\n return items;\n }\n\n const evaluationFunc = function(element, datasetIndex, index) {\n if (!includeInvisible && !_isPointInArea(element, chart.chartArea, 0)) {\n return;\n }\n if (element.inRange(position.x, position.y, useFinalPosition)) {\n items.push({element, datasetIndex, index});\n }\n };\n\n evaluateInteractionItems(chart, axis, position, evaluationFunc, true);\n return items;\n}\n\n/**\n * Helper function to get the items nearest to the event position for a radial chart\n * @param {Chart} chart - the chart to look at elements from\n * @param {Point} position - the point to be nearest to, in relative coordinates\n * @param {string} axis - the axes along which to measure distance\n * @param {boolean} [useFinalPosition] - use the element's animation target instead of current position\n * @return {InteractionItem[]} the nearest items\n */\nfunction getNearestRadialItems(chart, position, axis, useFinalPosition) {\n let items = [];\n\n function evaluationFunc(element, datasetIndex, index) {\n const {startAngle, endAngle} = element.getProps(['startAngle', 'endAngle'], useFinalPosition);\n const {angle} = getAngleFromPoint(element, {x: position.x, y: position.y});\n\n if (_angleBetween(angle, startAngle, endAngle)) {\n items.push({element, datasetIndex, index});\n }\n }\n\n evaluateInteractionItems(chart, axis, position, evaluationFunc);\n return items;\n}\n\n/**\n * Helper function to get the items nearest to the event position for a cartesian chart\n * @param {Chart} chart - the chart to look at elements from\n * @param {Point} position - the point to be nearest to, in relative coordinates\n * @param {string} axis - the axes along which to measure distance\n * @param {boolean} [intersect] - if true, only consider items that intersect the position\n * @param {boolean} [useFinalPosition] - use the element's animation target instead of current position\n * @param {boolean} [includeInvisible] - include invisible points that are outside of the chart area\n * @return {InteractionItem[]} the nearest items\n */\nfunction getNearestCartesianItems(chart, position, axis, intersect, useFinalPosition, includeInvisible) {\n let items = [];\n const distanceMetric = getDistanceMetricForAxis(axis);\n let minDistance = Number.POSITIVE_INFINITY;\n\n function evaluationFunc(element, datasetIndex, index) {\n const inRange = element.inRange(position.x, position.y, useFinalPosition);\n if (intersect && !inRange) {\n return;\n }\n\n const center = element.getCenterPoint(useFinalPosition);\n const pointInArea = !!includeInvisible || chart.isPointInArea(center);\n if (!pointInArea && !inRange) {\n return;\n }\n\n const distance = distanceMetric(position, center);\n if (distance < minDistance) {\n items = [{element, datasetIndex, index}];\n minDistance = distance;\n } else if (distance === minDistance) {\n // Can have multiple items at the same distance in which case we sort by size\n items.push({element, datasetIndex, index});\n }\n }\n\n evaluateInteractionItems(chart, axis, position, evaluationFunc);\n return items;\n}\n\n/**\n * Helper function to get the items nearest to the event position considering all visible items in the chart\n * @param {Chart} chart - the chart to look at elements from\n * @param {Point} position - the point to be nearest to, in relative coordinates\n * @param {string} axis - the axes along which to measure distance\n * @param {boolean} [intersect] - if true, only consider items that intersect the position\n * @param {boolean} [useFinalPosition] - use the element's animation target instead of current position\n * @param {boolean} [includeInvisible] - include invisible points that are outside of the chart area\n * @return {InteractionItem[]} the nearest items\n */\nfunction getNearestItems(chart, position, axis, intersect, useFinalPosition, includeInvisible) {\n if (!includeInvisible && !chart.isPointInArea(position)) {\n return [];\n }\n\n return axis === 'r' && !intersect\n ? getNearestRadialItems(chart, position, axis, useFinalPosition)\n : getNearestCartesianItems(chart, position, axis, intersect, useFinalPosition, includeInvisible);\n}\n\n/**\n * Helper function to get the items matching along the given X or Y axis\n * @param {Chart} chart - the chart to look at elements from\n * @param {Point} position - the point to be nearest to, in relative coordinates\n * @param {string} axis - the axis to match\n * @param {boolean} [intersect] - if true, only consider items that intersect the position\n * @param {boolean} [useFinalPosition] - use the element's animation target instead of current position\n * @return {InteractionItem[]} the nearest items\n */\nfunction getAxisItems(chart, position, axis, intersect, useFinalPosition) {\n const items = [];\n const rangeMethod = axis === 'x' ? 'inXRange' : 'inYRange';\n let intersectsItem = false;\n\n evaluateInteractionItems(chart, axis, position, (element, datasetIndex, index) => {\n if (element[rangeMethod] && element[rangeMethod](position[axis], useFinalPosition)) {\n items.push({element, datasetIndex, index});\n intersectsItem = intersectsItem || element.inRange(position.x, position.y, useFinalPosition);\n }\n });\n\n // If we want to trigger on an intersect and we don't have any items\n // that intersect the position, return nothing\n if (intersect && !intersectsItem) {\n return [];\n }\n return items;\n}\n\n/**\n * Contains interaction related functions\n * @namespace Chart.Interaction\n */\nexport default {\n // Part of the public API to facilitate developers creating their own modes\n evaluateInteractionItems,\n\n // Helper function for different modes\n modes: {\n /**\n\t\t * Returns items at the same index. If the options.intersect parameter is true, we only return items if we intersect something\n\t\t * If the options.intersect mode is false, we find the nearest item and return the items at the same index as that item\n\t\t * @function Chart.Interaction.modes.index\n\t\t * @since v2.4.0\n\t\t * @param {Chart} chart - the chart we are returning items from\n\t\t * @param {Event} e - the event we are find things at\n\t\t * @param {InteractionOptions} options - options to use\n\t\t * @param {boolean} [useFinalPosition] - use final element position (animation target)\n\t\t * @return {InteractionItem[]} - items that are found\n\t\t */\n index(chart, e, options, useFinalPosition) {\n const position = getRelativePosition(e, chart);\n // Default axis for index mode is 'x' to match old behaviour\n const axis = options.axis || 'x';\n const includeInvisible = options.includeInvisible || false;\n const items = options.intersect\n ? getIntersectItems(chart, position, axis, useFinalPosition, includeInvisible)\n : getNearestItems(chart, position, axis, false, useFinalPosition, includeInvisible);\n const elements = [];\n\n if (!items.length) {\n return [];\n }\n\n chart.getSortedVisibleDatasetMetas().forEach((meta) => {\n const index = items[0].index;\n const element = meta.data[index];\n\n // don't count items that are skipped (null data)\n if (element && !element.skip) {\n elements.push({element, datasetIndex: meta.index, index});\n }\n });\n\n return elements;\n },\n\n /**\n\t\t * Returns items in the same dataset. If the options.intersect parameter is true, we only return items if we intersect something\n\t\t * If the options.intersect is false, we find the nearest item and return the items in that dataset\n\t\t * @function Chart.Interaction.modes.dataset\n\t\t * @param {Chart} chart - the chart we are returning items from\n\t\t * @param {Event} e - the event we are find things at\n\t\t * @param {InteractionOptions} options - options to use\n\t\t * @param {boolean} [useFinalPosition] - use final element position (animation target)\n\t\t * @return {InteractionItem[]} - items that are found\n\t\t */\n dataset(chart, e, options, useFinalPosition) {\n const position = getRelativePosition(e, chart);\n const axis = options.axis || 'xy';\n const includeInvisible = options.includeInvisible || false;\n let items = options.intersect\n ? getIntersectItems(chart, position, axis, useFinalPosition, includeInvisible) :\n getNearestItems(chart, position, axis, false, useFinalPosition, includeInvisible);\n\n if (items.length > 0) {\n const datasetIndex = items[0].datasetIndex;\n const data = chart.getDatasetMeta(datasetIndex).data;\n items = [];\n for (let i = 0; i < data.length; ++i) {\n items.push({element: data[i], datasetIndex, index: i});\n }\n }\n\n return items;\n },\n\n /**\n\t\t * Point mode returns all elements that hit test based on the event position\n\t\t * of the event\n\t\t * @function Chart.Interaction.modes.intersect\n\t\t * @param {Chart} chart - the chart we are returning items from\n\t\t * @param {Event} e - the event we are find things at\n\t\t * @param {InteractionOptions} options - options to use\n\t\t * @param {boolean} [useFinalPosition] - use final element position (animation target)\n\t\t * @return {InteractionItem[]} - items that are found\n\t\t */\n point(chart, e, options, useFinalPosition) {\n const position = getRelativePosition(e, chart);\n const axis = options.axis || 'xy';\n const includeInvisible = options.includeInvisible || false;\n return getIntersectItems(chart, position, axis, useFinalPosition, includeInvisible);\n },\n\n /**\n\t\t * nearest mode returns the element closest to the point\n\t\t * @function Chart.Interaction.modes.intersect\n\t\t * @param {Chart} chart - the chart we are returning items from\n\t\t * @param {Event} e - the event we are find things at\n\t\t * @param {InteractionOptions} options - options to use\n\t\t * @param {boolean} [useFinalPosition] - use final element position (animation target)\n\t\t * @return {InteractionItem[]} - items that are found\n\t\t */\n nearest(chart, e, options, useFinalPosition) {\n const position = getRelativePosition(e, chart);\n const axis = options.axis || 'xy';\n const includeInvisible = options.includeInvisible || false;\n return getNearestItems(chart, position, axis, options.intersect, useFinalPosition, includeInvisible);\n },\n\n /**\n\t\t * x mode returns the elements that hit-test at the current x coordinate\n\t\t * @function Chart.Interaction.modes.x\n\t\t * @param {Chart} chart - the chart we are returning items from\n\t\t * @param {Event} e - the event we are find things at\n\t\t * @param {InteractionOptions} options - options to use\n\t\t * @param {boolean} [useFinalPosition] - use final element position (animation target)\n\t\t * @return {InteractionItem[]} - items that are found\n\t\t */\n x(chart, e, options, useFinalPosition) {\n const position = getRelativePosition(e, chart);\n return getAxisItems(chart, position, 'x', options.intersect, useFinalPosition);\n },\n\n /**\n\t\t * y mode returns the elements that hit-test at the current y coordinate\n\t\t * @function Chart.Interaction.modes.y\n\t\t * @param {Chart} chart - the chart we are returning items from\n\t\t * @param {Event} e - the event we are find things at\n\t\t * @param {InteractionOptions} options - options to use\n\t\t * @param {boolean} [useFinalPosition] - use final element position (animation target)\n\t\t * @return {InteractionItem[]} - items that are found\n\t\t */\n y(chart, e, options, useFinalPosition) {\n const position = getRelativePosition(e, chart);\n return getAxisItems(chart, position, 'y', options.intersect, useFinalPosition);\n }\n }\n};\n","import {defined, each, isObject} from '../helpers/helpers.core.js';\nimport {toPadding} from '../helpers/helpers.options.js';\n\n/**\n * @typedef { import('./core.controller.js').default } Chart\n */\n\nconst STATIC_POSITIONS = ['left', 'top', 'right', 'bottom'];\n\nfunction filterByPosition(array, position) {\n return array.filter(v => v.pos === position);\n}\n\nfunction filterDynamicPositionByAxis(array, axis) {\n return array.filter(v => STATIC_POSITIONS.indexOf(v.pos) === -1 && v.box.axis === axis);\n}\n\nfunction sortByWeight(array, reverse) {\n return array.sort((a, b) => {\n const v0 = reverse ? b : a;\n const v1 = reverse ? a : b;\n return v0.weight === v1.weight ?\n v0.index - v1.index :\n v0.weight - v1.weight;\n });\n}\n\nfunction wrapBoxes(boxes) {\n const layoutBoxes = [];\n let i, ilen, box, pos, stack, stackWeight;\n\n for (i = 0, ilen = (boxes || []).length; i < ilen; ++i) {\n box = boxes[i];\n ({position: pos, options: {stack, stackWeight = 1}} = box);\n layoutBoxes.push({\n index: i,\n box,\n pos,\n horizontal: box.isHorizontal(),\n weight: box.weight,\n stack: stack && (pos + stack),\n stackWeight\n });\n }\n return layoutBoxes;\n}\n\nfunction buildStacks(layouts) {\n const stacks = {};\n for (const wrap of layouts) {\n const {stack, pos, stackWeight} = wrap;\n if (!stack || !STATIC_POSITIONS.includes(pos)) {\n continue;\n }\n const _stack = stacks[stack] || (stacks[stack] = {count: 0, placed: 0, weight: 0, size: 0});\n _stack.count++;\n _stack.weight += stackWeight;\n }\n return stacks;\n}\n\n/**\n * store dimensions used instead of available chartArea in fitBoxes\n **/\nfunction setLayoutDims(layouts, params) {\n const stacks = buildStacks(layouts);\n const {vBoxMaxWidth, hBoxMaxHeight} = params;\n let i, ilen, layout;\n for (i = 0, ilen = layouts.length; i < ilen; ++i) {\n layout = layouts[i];\n const {fullSize} = layout.box;\n const stack = stacks[layout.stack];\n const factor = stack && layout.stackWeight / stack.weight;\n if (layout.horizontal) {\n layout.width = factor ? factor * vBoxMaxWidth : fullSize && params.availableWidth;\n layout.height = hBoxMaxHeight;\n } else {\n layout.width = vBoxMaxWidth;\n layout.height = factor ? factor * hBoxMaxHeight : fullSize && params.availableHeight;\n }\n }\n return stacks;\n}\n\nfunction buildLayoutBoxes(boxes) {\n const layoutBoxes = wrapBoxes(boxes);\n const fullSize = sortByWeight(layoutBoxes.filter(wrap => wrap.box.fullSize), true);\n const left = sortByWeight(filterByPosition(layoutBoxes, 'left'), true);\n const right = sortByWeight(filterByPosition(layoutBoxes, 'right'));\n const top = sortByWeight(filterByPosition(layoutBoxes, 'top'), true);\n const bottom = sortByWeight(filterByPosition(layoutBoxes, 'bottom'));\n const centerHorizontal = filterDynamicPositionByAxis(layoutBoxes, 'x');\n const centerVertical = filterDynamicPositionByAxis(layoutBoxes, 'y');\n\n return {\n fullSize,\n leftAndTop: left.concat(top),\n rightAndBottom: right.concat(centerVertical).concat(bottom).concat(centerHorizontal),\n chartArea: filterByPosition(layoutBoxes, 'chartArea'),\n vertical: left.concat(right).concat(centerVertical),\n horizontal: top.concat(bottom).concat(centerHorizontal)\n };\n}\n\nfunction getCombinedMax(maxPadding, chartArea, a, b) {\n return Math.max(maxPadding[a], chartArea[a]) + Math.max(maxPadding[b], chartArea[b]);\n}\n\nfunction updateMaxPadding(maxPadding, boxPadding) {\n maxPadding.top = Math.max(maxPadding.top, boxPadding.top);\n maxPadding.left = Math.max(maxPadding.left, boxPadding.left);\n maxPadding.bottom = Math.max(maxPadding.bottom, boxPadding.bottom);\n maxPadding.right = Math.max(maxPadding.right, boxPadding.right);\n}\n\nfunction updateDims(chartArea, params, layout, stacks) {\n const {pos, box} = layout;\n const maxPadding = chartArea.maxPadding;\n\n // dynamically placed boxes size is not considered\n if (!isObject(pos)) {\n if (layout.size) {\n // this layout was already counted for, lets first reduce old size\n chartArea[pos] -= layout.size;\n }\n const stack = stacks[layout.stack] || {size: 0, count: 1};\n stack.size = Math.max(stack.size, layout.horizontal ? box.height : box.width);\n layout.size = stack.size / stack.count;\n chartArea[pos] += layout.size;\n }\n\n if (box.getPadding) {\n updateMaxPadding(maxPadding, box.getPadding());\n }\n\n const newWidth = Math.max(0, params.outerWidth - getCombinedMax(maxPadding, chartArea, 'left', 'right'));\n const newHeight = Math.max(0, params.outerHeight - getCombinedMax(maxPadding, chartArea, 'top', 'bottom'));\n const widthChanged = newWidth !== chartArea.w;\n const heightChanged = newHeight !== chartArea.h;\n chartArea.w = newWidth;\n chartArea.h = newHeight;\n\n // return booleans on the changes per direction\n return layout.horizontal\n ? {same: widthChanged, other: heightChanged}\n : {same: heightChanged, other: widthChanged};\n}\n\nfunction handleMaxPadding(chartArea) {\n const maxPadding = chartArea.maxPadding;\n\n function updatePos(pos) {\n const change = Math.max(maxPadding[pos] - chartArea[pos], 0);\n chartArea[pos] += change;\n return change;\n }\n chartArea.y += updatePos('top');\n chartArea.x += updatePos('left');\n updatePos('right');\n updatePos('bottom');\n}\n\nfunction getMargins(horizontal, chartArea) {\n const maxPadding = chartArea.maxPadding;\n\n function marginForPositions(positions) {\n const margin = {left: 0, top: 0, right: 0, bottom: 0};\n positions.forEach((pos) => {\n margin[pos] = Math.max(chartArea[pos], maxPadding[pos]);\n });\n return margin;\n }\n\n return horizontal\n ? marginForPositions(['left', 'right'])\n : marginForPositions(['top', 'bottom']);\n}\n\nfunction fitBoxes(boxes, chartArea, params, stacks) {\n const refitBoxes = [];\n let i, ilen, layout, box, refit, changed;\n\n for (i = 0, ilen = boxes.length, refit = 0; i < ilen; ++i) {\n layout = boxes[i];\n box = layout.box;\n\n box.update(\n layout.width || chartArea.w,\n layout.height || chartArea.h,\n getMargins(layout.horizontal, chartArea)\n );\n const {same, other} = updateDims(chartArea, params, layout, stacks);\n\n // Dimensions changed and there were non full width boxes before this\n // -> we have to refit those\n refit |= same && refitBoxes.length;\n\n // Chart area changed in the opposite direction\n changed = changed || other;\n\n if (!box.fullSize) { // fullSize boxes don't need to be re-fitted in any case\n refitBoxes.push(layout);\n }\n }\n\n return refit && fitBoxes(refitBoxes, chartArea, params, stacks) || changed;\n}\n\nfunction setBoxDims(box, left, top, width, height) {\n box.top = top;\n box.left = left;\n box.right = left + width;\n box.bottom = top + height;\n box.width = width;\n box.height = height;\n}\n\nfunction placeBoxes(boxes, chartArea, params, stacks) {\n const userPadding = params.padding;\n let {x, y} = chartArea;\n\n for (const layout of boxes) {\n const box = layout.box;\n const stack = stacks[layout.stack] || {count: 1, placed: 0, weight: 1};\n const weight = (layout.stackWeight / stack.weight) || 1;\n if (layout.horizontal) {\n const width = chartArea.w * weight;\n const height = stack.size || box.height;\n if (defined(stack.start)) {\n y = stack.start;\n }\n if (box.fullSize) {\n setBoxDims(box, userPadding.left, y, params.outerWidth - userPadding.right - userPadding.left, height);\n } else {\n setBoxDims(box, chartArea.left + stack.placed, y, width, height);\n }\n stack.start = y;\n stack.placed += width;\n y = box.bottom;\n } else {\n const height = chartArea.h * weight;\n const width = stack.size || box.width;\n if (defined(stack.start)) {\n x = stack.start;\n }\n if (box.fullSize) {\n setBoxDims(box, x, userPadding.top, width, params.outerHeight - userPadding.bottom - userPadding.top);\n } else {\n setBoxDims(box, x, chartArea.top + stack.placed, width, height);\n }\n stack.start = x;\n stack.placed += height;\n x = box.right;\n }\n }\n\n chartArea.x = x;\n chartArea.y = y;\n}\n\n/**\n * @interface LayoutItem\n * @typedef {object} LayoutItem\n * @prop {string} position - The position of the item in the chart layout. Possible values are\n * 'left', 'top', 'right', 'bottom', and 'chartArea'\n * @prop {number} weight - The weight used to sort the item. Higher weights are further away from the chart area\n * @prop {boolean} fullSize - if true, and the item is horizontal, then push vertical boxes down\n * @prop {function} isHorizontal - returns true if the layout item is horizontal (ie. top or bottom)\n * @prop {function} update - Takes two parameters: width and height. Returns size of item\n * @prop {function} draw - Draws the element\n * @prop {function} [getPadding] - Returns an object with padding on the edges\n * @prop {number} width - Width of item. Must be valid after update()\n * @prop {number} height - Height of item. Must be valid after update()\n * @prop {number} left - Left edge of the item. Set by layout system and cannot be used in update\n * @prop {number} top - Top edge of the item. Set by layout system and cannot be used in update\n * @prop {number} right - Right edge of the item. Set by layout system and cannot be used in update\n * @prop {number} bottom - Bottom edge of the item. Set by layout system and cannot be used in update\n */\n\n// The layout service is very self explanatory. It's responsible for the layout within a chart.\n// Scales, Legends and Plugins all rely on the layout service and can easily register to be placed anywhere they need\n// It is this service's responsibility of carrying out that layout.\nexport default {\n\n /**\n\t * Register a box to a chart.\n\t * A box is simply a reference to an object that requires layout. eg. Scales, Legend, Title.\n\t * @param {Chart} chart - the chart to use\n\t * @param {LayoutItem} item - the item to add to be laid out\n\t */\n addBox(chart, item) {\n if (!chart.boxes) {\n chart.boxes = [];\n }\n\n // initialize item with default values\n item.fullSize = item.fullSize || false;\n item.position = item.position || 'top';\n item.weight = item.weight || 0;\n // @ts-ignore\n item._layers = item._layers || function() {\n return [{\n z: 0,\n draw(chartArea) {\n item.draw(chartArea);\n }\n }];\n };\n\n chart.boxes.push(item);\n },\n\n /**\n\t * Remove a layoutItem from a chart\n\t * @param {Chart} chart - the chart to remove the box from\n\t * @param {LayoutItem} layoutItem - the item to remove from the layout\n\t */\n removeBox(chart, layoutItem) {\n const index = chart.boxes ? chart.boxes.indexOf(layoutItem) : -1;\n if (index !== -1) {\n chart.boxes.splice(index, 1);\n }\n },\n\n /**\n\t * Sets (or updates) options on the given `item`.\n\t * @param {Chart} chart - the chart in which the item lives (or will be added to)\n\t * @param {LayoutItem} item - the item to configure with the given options\n\t * @param {object} options - the new item options.\n\t */\n configure(chart, item, options) {\n item.fullSize = options.fullSize;\n item.position = options.position;\n item.weight = options.weight;\n },\n\n /**\n\t * Fits boxes of the given chart into the given size by having each box measure itself\n\t * then running a fitting algorithm\n\t * @param {Chart} chart - the chart\n\t * @param {number} width - the width to fit into\n\t * @param {number} height - the height to fit into\n * @param {number} minPadding - minimum padding required for each side of chart area\n\t */\n update(chart, width, height, minPadding) {\n if (!chart) {\n return;\n }\n\n const padding = toPadding(chart.options.layout.padding);\n const availableWidth = Math.max(width - padding.width, 0);\n const availableHeight = Math.max(height - padding.height, 0);\n const boxes = buildLayoutBoxes(chart.boxes);\n const verticalBoxes = boxes.vertical;\n const horizontalBoxes = boxes.horizontal;\n\n // Before any changes are made, notify boxes that an update is about to being\n // This is used to clear any cached data (e.g. scale limits)\n each(chart.boxes, box => {\n if (typeof box.beforeLayout === 'function') {\n box.beforeLayout();\n }\n });\n\n // Essentially we now have any number of boxes on each of the 4 sides.\n // Our canvas looks like the following.\n // The areas L1 and L2 are the left axes. R1 is the right axis, T1 is the top axis and\n // B1 is the bottom axis\n // There are also 4 quadrant-like locations (left to right instead of clockwise) reserved for chart overlays\n // These locations are single-box locations only, when trying to register a chartArea location that is already taken,\n // an error will be thrown.\n //\n // |----------------------------------------------------|\n // | T1 (Full Width) |\n // |----------------------------------------------------|\n // | | | T2 | |\n // | |----|-------------------------------------|----|\n // | | | C1 | | C2 | |\n // | | |----| |----| |\n // | | | | |\n // | L1 | L2 | ChartArea (C0) | R1 |\n // | | | | |\n // | | |----| |----| |\n // | | | C3 | | C4 | |\n // | |----|-------------------------------------|----|\n // | | | B1 | |\n // |----------------------------------------------------|\n // | B2 (Full Width) |\n // |----------------------------------------------------|\n //\n\n const visibleVerticalBoxCount = verticalBoxes.reduce((total, wrap) =>\n wrap.box.options && wrap.box.options.display === false ? total : total + 1, 0) || 1;\n\n const params = Object.freeze({\n outerWidth: width,\n outerHeight: height,\n padding,\n availableWidth,\n availableHeight,\n vBoxMaxWidth: availableWidth / 2 / visibleVerticalBoxCount,\n hBoxMaxHeight: availableHeight / 2\n });\n const maxPadding = Object.assign({}, padding);\n updateMaxPadding(maxPadding, toPadding(minPadding));\n const chartArea = Object.assign({\n maxPadding,\n w: availableWidth,\n h: availableHeight,\n x: padding.left,\n y: padding.top\n }, padding);\n\n const stacks = setLayoutDims(verticalBoxes.concat(horizontalBoxes), params);\n\n // First fit the fullSize boxes, to reduce probability of re-fitting.\n fitBoxes(boxes.fullSize, chartArea, params, stacks);\n\n // Then fit vertical boxes\n fitBoxes(verticalBoxes, chartArea, params, stacks);\n\n // Then fit horizontal boxes\n if (fitBoxes(horizontalBoxes, chartArea, params, stacks)) {\n // if the area changed, re-fit vertical boxes\n fitBoxes(verticalBoxes, chartArea, params, stacks);\n }\n\n handleMaxPadding(chartArea);\n\n // Finally place the boxes to correct coordinates\n placeBoxes(boxes.leftAndTop, chartArea, params, stacks);\n\n // Move to opposite side of chart\n chartArea.x += chartArea.w;\n chartArea.y += chartArea.h;\n\n placeBoxes(boxes.rightAndBottom, chartArea, params, stacks);\n\n chart.chartArea = {\n left: chartArea.left,\n top: chartArea.top,\n right: chartArea.left + chartArea.w,\n bottom: chartArea.top + chartArea.h,\n height: chartArea.h,\n width: chartArea.w,\n };\n\n // Finally update boxes in chartArea (radial scale for example)\n each(boxes.chartArea, (layout) => {\n const box = layout.box;\n Object.assign(box, chart.chartArea);\n box.update(chartArea.w, chartArea.h, {left: 0, top: 0, right: 0, bottom: 0});\n });\n }\n};\n","\n/**\n * @typedef { import('../core/core.controller.js').default } Chart\n */\n\n/**\n * Abstract class that allows abstracting platform dependencies away from the chart.\n */\nexport default class BasePlatform {\n /**\n\t * Called at chart construction time, returns a context2d instance implementing\n\t * the [W3C Canvas 2D Context API standard]{@link https://www.w3.org/TR/2dcontext/}.\n\t * @param {HTMLCanvasElement} canvas - The canvas from which to acquire context (platform specific)\n\t * @param {number} [aspectRatio] - The chart options\n\t */\n acquireContext(canvas, aspectRatio) {} // eslint-disable-line no-unused-vars\n\n /**\n\t * Called at chart destruction time, releases any resources associated to the context\n\t * previously returned by the acquireContext() method.\n\t * @param {CanvasRenderingContext2D} context - The context2d instance\n\t * @returns {boolean} true if the method succeeded, else false\n\t */\n releaseContext(context) { // eslint-disable-line no-unused-vars\n return false;\n }\n\n /**\n\t * Registers the specified listener on the given chart.\n\t * @param {Chart} chart - Chart from which to listen for event\n\t * @param {string} type - The ({@link ChartEvent}) type to listen for\n\t * @param {function} listener - Receives a notification (an object that implements\n\t * the {@link ChartEvent} interface) when an event of the specified type occurs.\n\t */\n addEventListener(chart, type, listener) {} // eslint-disable-line no-unused-vars\n\n /**\n\t * Removes the specified listener previously registered with addEventListener.\n\t * @param {Chart} chart - Chart from which to remove the listener\n\t * @param {string} type - The ({@link ChartEvent}) type to remove\n\t * @param {function} listener - The listener function to remove from the event target.\n\t */\n removeEventListener(chart, type, listener) {} // eslint-disable-line no-unused-vars\n\n /**\n\t * @returns {number} the current devicePixelRatio of the device this platform is connected to.\n\t */\n getDevicePixelRatio() {\n return 1;\n }\n\n /**\n\t * Returns the maximum size in pixels of given canvas element.\n\t * @param {HTMLCanvasElement} element\n\t * @param {number} [width] - content width of parent element\n\t * @param {number} [height] - content height of parent element\n\t * @param {number} [aspectRatio] - aspect ratio to maintain\n\t */\n getMaximumSize(element, width, height, aspectRatio) {\n width = Math.max(0, width || element.width);\n height = height || element.height;\n return {\n width,\n height: Math.max(0, aspectRatio ? Math.floor(width / aspectRatio) : height)\n };\n }\n\n /**\n\t * @param {HTMLCanvasElement} canvas\n\t * @returns {boolean} true if the canvas is attached to the platform, false if not.\n\t */\n isAttached(canvas) { // eslint-disable-line no-unused-vars\n return true;\n }\n\n /**\n * Updates config with platform specific requirements\n * @param {import('../core/core.config.js').default} config\n */\n updateConfig(config) { // eslint-disable-line no-unused-vars\n // no-op\n }\n}\n","/**\n * Platform fallback implementation (minimal).\n * @see https://github.com/chartjs/Chart.js/pull/4591#issuecomment-319575939\n */\n\nimport BasePlatform from './platform.base.js';\n\n/**\n * Platform class for charts without access to the DOM or to many element properties\n * This platform is used by default for any chart passed an OffscreenCanvas.\n * @extends BasePlatform\n */\nexport default class BasicPlatform extends BasePlatform {\n acquireContext(item) {\n // To prevent canvas fingerprinting, some add-ons undefine the getContext\n // method, for example: https://github.com/kkapsner/CanvasBlocker\n // https://github.com/chartjs/Chart.js/issues/2807\n return item && item.getContext && item.getContext('2d') || null;\n }\n updateConfig(config) {\n config.options.animation = false;\n }\n}\n","/**\n * Chart.Platform implementation for targeting a web browser\n */\n\nimport BasePlatform from './platform.base.js';\nimport {_getParentNode, getRelativePosition, supportsEventListenerOptions, readUsedSize, getMaximumSize} from '../helpers/helpers.dom.js';\nimport {throttled} from '../helpers/helpers.extras.js';\nimport {isNullOrUndef} from '../helpers/helpers.core.js';\n\n/**\n * @typedef { import('../core/core.controller.js').default } Chart\n */\n\nconst EXPANDO_KEY = '$chartjs';\n\n/**\n * DOM event types -> Chart.js event types.\n * Note: only events with different types are mapped.\n * @see https://developer.mozilla.org/en-US/docs/Web/Events\n */\nconst EVENT_TYPES = {\n touchstart: 'mousedown',\n touchmove: 'mousemove',\n touchend: 'mouseup',\n pointerenter: 'mouseenter',\n pointerdown: 'mousedown',\n pointermove: 'mousemove',\n pointerup: 'mouseup',\n pointerleave: 'mouseout',\n pointerout: 'mouseout'\n};\n\nconst isNullOrEmpty = value => value === null || value === '';\n/**\n * Initializes the canvas style and render size without modifying the canvas display size,\n * since responsiveness is handled by the controller.resize() method. The config is used\n * to determine the aspect ratio to apply in case no explicit height has been specified.\n * @param {HTMLCanvasElement} canvas\n * @param {number} [aspectRatio]\n */\nfunction initCanvas(canvas, aspectRatio) {\n const style = canvas.style;\n\n // NOTE(SB) canvas.getAttribute('width') !== canvas.width: in the first case it\n // returns null or '' if no explicit value has been set to the canvas attribute.\n const renderHeight = canvas.getAttribute('height');\n const renderWidth = canvas.getAttribute('width');\n\n // Chart.js modifies some canvas values that we want to restore on destroy\n canvas[EXPANDO_KEY] = {\n initial: {\n height: renderHeight,\n width: renderWidth,\n style: {\n display: style.display,\n height: style.height,\n width: style.width\n }\n }\n };\n\n // Force canvas to display as block to avoid extra space caused by inline\n // elements, which would interfere with the responsive resize process.\n // https://github.com/chartjs/Chart.js/issues/2538\n style.display = style.display || 'block';\n // Include possible borders in the size\n style.boxSizing = style.boxSizing || 'border-box';\n\n if (isNullOrEmpty(renderWidth)) {\n const displayWidth = readUsedSize(canvas, 'width');\n if (displayWidth !== undefined) {\n canvas.width = displayWidth;\n }\n }\n\n if (isNullOrEmpty(renderHeight)) {\n if (canvas.style.height === '') {\n // If no explicit render height and style height, let's apply the aspect ratio,\n // which one can be specified by the user but also by charts as default option\n // (i.e. options.aspectRatio). If not specified, use canvas aspect ratio of 2.\n canvas.height = canvas.width / (aspectRatio || 2);\n } else {\n const displayHeight = readUsedSize(canvas, 'height');\n if (displayHeight !== undefined) {\n canvas.height = displayHeight;\n }\n }\n }\n\n return canvas;\n}\n\n// Default passive to true as expected by Chrome for 'touchstart' and 'touchend' events.\n// https://github.com/chartjs/Chart.js/issues/4287\nconst eventListenerOptions = supportsEventListenerOptions ? {passive: true} : false;\n\nfunction addListener(node, type, listener) {\n if (node) {\n node.addEventListener(type, listener, eventListenerOptions);\n }\n}\n\nfunction removeListener(chart, type, listener) {\n if (chart && chart.canvas) {\n chart.canvas.removeEventListener(type, listener, eventListenerOptions);\n }\n}\n\nfunction fromNativeEvent(event, chart) {\n const type = EVENT_TYPES[event.type] || event.type;\n const {x, y} = getRelativePosition(event, chart);\n return {\n type,\n chart,\n native: event,\n x: x !== undefined ? x : null,\n y: y !== undefined ? y : null,\n };\n}\n\nfunction nodeListContains(nodeList, canvas) {\n for (const node of nodeList) {\n if (node === canvas || node.contains(canvas)) {\n return true;\n }\n }\n}\n\nfunction createAttachObserver(chart, type, listener) {\n const canvas = chart.canvas;\n const observer = new MutationObserver(entries => {\n let trigger = false;\n for (const entry of entries) {\n trigger = trigger || nodeListContains(entry.addedNodes, canvas);\n trigger = trigger && !nodeListContains(entry.removedNodes, canvas);\n }\n if (trigger) {\n listener();\n }\n });\n observer.observe(document, {childList: true, subtree: true});\n return observer;\n}\n\nfunction createDetachObserver(chart, type, listener) {\n const canvas = chart.canvas;\n const observer = new MutationObserver(entries => {\n let trigger = false;\n for (const entry of entries) {\n trigger = trigger || nodeListContains(entry.removedNodes, canvas);\n trigger = trigger && !nodeListContains(entry.addedNodes, canvas);\n }\n if (trigger) {\n listener();\n }\n });\n observer.observe(document, {childList: true, subtree: true});\n return observer;\n}\n\nconst drpListeningCharts = new Map();\nlet oldDevicePixelRatio = 0;\n\nfunction onWindowResize() {\n const dpr = window.devicePixelRatio;\n if (dpr === oldDevicePixelRatio) {\n return;\n }\n oldDevicePixelRatio = dpr;\n drpListeningCharts.forEach((resize, chart) => {\n if (chart.currentDevicePixelRatio !== dpr) {\n resize();\n }\n });\n}\n\nfunction listenDevicePixelRatioChanges(chart, resize) {\n if (!drpListeningCharts.size) {\n window.addEventListener('resize', onWindowResize);\n }\n drpListeningCharts.set(chart, resize);\n}\n\nfunction unlistenDevicePixelRatioChanges(chart) {\n drpListeningCharts.delete(chart);\n if (!drpListeningCharts.size) {\n window.removeEventListener('resize', onWindowResize);\n }\n}\n\nfunction createResizeObserver(chart, type, listener) {\n const canvas = chart.canvas;\n const container = canvas && _getParentNode(canvas);\n if (!container) {\n return;\n }\n const resize = throttled((width, height) => {\n const w = container.clientWidth;\n listener(width, height);\n if (w < container.clientWidth) {\n // If the container size shrank during chart resize, let's assume\n // scrollbar appeared. So we resize again with the scrollbar visible -\n // effectively making chart smaller and the scrollbar hidden again.\n // Because we are inside `throttled`, and currently `ticking`, scroll\n // events are ignored during this whole 2 resize process.\n // If we assumed wrong and something else happened, we are resizing\n // twice in a frame (potential performance issue)\n listener();\n }\n }, window);\n\n // @ts-ignore until https://github.com/microsoft/TypeScript/issues/37861 implemented\n const observer = new ResizeObserver(entries => {\n const entry = entries[0];\n const width = entry.contentRect.width;\n const height = entry.contentRect.height;\n // When its container's display is set to 'none' the callback will be called with a\n // size of (0, 0), which will cause the chart to lose its original height, so skip\n // resizing in such case.\n if (width === 0 && height === 0) {\n return;\n }\n resize(width, height);\n });\n observer.observe(container);\n listenDevicePixelRatioChanges(chart, resize);\n\n return observer;\n}\n\nfunction releaseObserver(chart, type, observer) {\n if (observer) {\n observer.disconnect();\n }\n if (type === 'resize') {\n unlistenDevicePixelRatioChanges(chart);\n }\n}\n\nfunction createProxyAndListen(chart, type, listener) {\n const canvas = chart.canvas;\n const proxy = throttled((event) => {\n // This case can occur if the chart is destroyed while waiting\n // for the throttled function to occur. We prevent crashes by checking\n // for a destroyed chart\n if (chart.ctx !== null) {\n listener(fromNativeEvent(event, chart));\n }\n }, chart);\n\n addListener(canvas, type, proxy);\n\n return proxy;\n}\n\n/**\n * Platform class for charts that can access the DOM and global window/document properties\n * @extends BasePlatform\n */\nexport default class DomPlatform extends BasePlatform {\n\n /**\n\t * @param {HTMLCanvasElement} canvas\n\t * @param {number} [aspectRatio]\n\t * @return {CanvasRenderingContext2D|null}\n\t */\n acquireContext(canvas, aspectRatio) {\n // To prevent canvas fingerprinting, some add-ons undefine the getContext\n // method, for example: https://github.com/kkapsner/CanvasBlocker\n // https://github.com/chartjs/Chart.js/issues/2807\n const context = canvas && canvas.getContext && canvas.getContext('2d');\n\n // `instanceof HTMLCanvasElement/CanvasRenderingContext2D` fails when the canvas is\n // inside an iframe or when running in a protected environment. We could guess the\n // types from their toString() value but let's keep things flexible and assume it's\n // a sufficient condition if the canvas has a context2D which has canvas as `canvas`.\n // https://github.com/chartjs/Chart.js/issues/3887\n // https://github.com/chartjs/Chart.js/issues/4102\n // https://github.com/chartjs/Chart.js/issues/4152\n if (context && context.canvas === canvas) {\n // Load platform resources on first chart creation, to make it possible to\n // import the library before setting platform options.\n initCanvas(canvas, aspectRatio);\n return context;\n }\n\n return null;\n }\n\n /**\n\t * @param {CanvasRenderingContext2D} context\n\t */\n releaseContext(context) {\n const canvas = context.canvas;\n if (!canvas[EXPANDO_KEY]) {\n return false;\n }\n\n const initial = canvas[EXPANDO_KEY].initial;\n ['height', 'width'].forEach((prop) => {\n const value = initial[prop];\n if (isNullOrUndef(value)) {\n canvas.removeAttribute(prop);\n } else {\n canvas.setAttribute(prop, value);\n }\n });\n\n const style = initial.style || {};\n Object.keys(style).forEach((key) => {\n canvas.style[key] = style[key];\n });\n\n // The canvas render size might have been changed (and thus the state stack discarded),\n // we can't use save() and restore() to restore the initial state. So make sure that at\n // least the canvas context is reset to the default state by setting the canvas width.\n // https://www.w3.org/TR/2011/WD-html5-20110525/the-canvas-element.html\n // eslint-disable-next-line no-self-assign\n canvas.width = canvas.width;\n\n delete canvas[EXPANDO_KEY];\n return true;\n }\n\n /**\n\t *\n\t * @param {Chart} chart\n\t * @param {string} type\n\t * @param {function} listener\n\t */\n addEventListener(chart, type, listener) {\n // Can have only one listener per type, so make sure previous is removed\n this.removeEventListener(chart, type);\n\n const proxies = chart.$proxies || (chart.$proxies = {});\n const handlers = {\n attach: createAttachObserver,\n detach: createDetachObserver,\n resize: createResizeObserver\n };\n const handler = handlers[type] || createProxyAndListen;\n proxies[type] = handler(chart, type, listener);\n }\n\n\n /**\n\t * @param {Chart} chart\n\t * @param {string} type\n\t */\n removeEventListener(chart, type) {\n const proxies = chart.$proxies || (chart.$proxies = {});\n const proxy = proxies[type];\n\n if (!proxy) {\n return;\n }\n\n const handlers = {\n attach: releaseObserver,\n detach: releaseObserver,\n resize: releaseObserver\n };\n const handler = handlers[type] || removeListener;\n handler(chart, type, proxy);\n proxies[type] = undefined;\n }\n\n getDevicePixelRatio() {\n return window.devicePixelRatio;\n }\n\n /**\n\t * @param {HTMLCanvasElement} canvas\n\t * @param {number} [width] - content width of parent element\n\t * @param {number} [height] - content height of parent element\n\t * @param {number} [aspectRatio] - aspect ratio to maintain\n\t */\n getMaximumSize(canvas, width, height, aspectRatio) {\n return getMaximumSize(canvas, width, height, aspectRatio);\n }\n\n /**\n\t * @param {HTMLCanvasElement} canvas\n\t */\n isAttached(canvas) {\n const container = canvas && _getParentNode(canvas);\n return !!(container && container.isConnected);\n }\n}\n","import type {AnyObject} from '../types/basic.js';\nimport type {Point} from '../types/geometric.js';\nimport type {Animation} from '../types/animation.js';\nimport {isNumber} from '../helpers/helpers.math.js';\n\nexport default class Element {\n\n static defaults = {};\n static defaultRoutes = undefined;\n\n x: number;\n y: number;\n active = false;\n options: O;\n $animations: Record;\n\n tooltipPosition(useFinalPosition: boolean): Point {\n const {x, y} = this.getProps(['x', 'y'], useFinalPosition);\n return {x, y} as Point;\n }\n\n hasValue() {\n return isNumber(this.x) && isNumber(this.y);\n }\n\n /**\n * Gets the current or final value of each prop. Can return extra properties (whole object).\n * @param props - properties to get\n * @param [final] - get the final value (animation target)\n */\n getProps

(props: P, final?: boolean): Pick;\n getProps

(props: P[], final?: boolean): Partial>;\n getProps(props: string[], final?: boolean): Partial> {\n const anims = this.$animations;\n if (!final || !anims) {\n // let's not create an object, if not needed\n return this as Record;\n }\n const ret: Record = {};\n props.forEach((prop) => {\n ret[prop] = anims[prop] && anims[prop].active() ? anims[prop]._to : this[prop as string];\n });\n return ret;\n }\n}\n","import {isNullOrUndef, valueOrDefault} from '../helpers/helpers.core.js';\nimport {_factorize} from '../helpers/helpers.math.js';\n\n\n/**\n * @typedef { import('./core.controller.js').default } Chart\n * @typedef {{value:number | string, label?:string, major?:boolean, $context?:any}} Tick\n */\n\n/**\n * Returns a subset of ticks to be plotted to avoid overlapping labels.\n * @param {import('./core.scale.js').default} scale\n * @param {Tick[]} ticks\n * @return {Tick[]}\n * @private\n */\nexport function autoSkip(scale, ticks) {\n const tickOpts = scale.options.ticks;\n const determinedMaxTicks = determineMaxTicks(scale);\n const ticksLimit = Math.min(tickOpts.maxTicksLimit || determinedMaxTicks, determinedMaxTicks);\n const majorIndices = tickOpts.major.enabled ? getMajorIndices(ticks) : [];\n const numMajorIndices = majorIndices.length;\n const first = majorIndices[0];\n const last = majorIndices[numMajorIndices - 1];\n const newTicks = [];\n\n // If there are too many major ticks to display them all\n if (numMajorIndices > ticksLimit) {\n skipMajors(ticks, newTicks, majorIndices, numMajorIndices / ticksLimit);\n return newTicks;\n }\n\n const spacing = calculateSpacing(majorIndices, ticks, ticksLimit);\n\n if (numMajorIndices > 0) {\n let i, ilen;\n const avgMajorSpacing = numMajorIndices > 1 ? Math.round((last - first) / (numMajorIndices - 1)) : null;\n skip(ticks, newTicks, spacing, isNullOrUndef(avgMajorSpacing) ? 0 : first - avgMajorSpacing, first);\n for (i = 0, ilen = numMajorIndices - 1; i < ilen; i++) {\n skip(ticks, newTicks, spacing, majorIndices[i], majorIndices[i + 1]);\n }\n skip(ticks, newTicks, spacing, last, isNullOrUndef(avgMajorSpacing) ? ticks.length : last + avgMajorSpacing);\n return newTicks;\n }\n skip(ticks, newTicks, spacing);\n return newTicks;\n}\n\nfunction determineMaxTicks(scale) {\n const offset = scale.options.offset;\n const tickLength = scale._tickSize();\n const maxScale = scale._length / tickLength + (offset ? 0 : 1);\n const maxChart = scale._maxLength / tickLength;\n return Math.floor(Math.min(maxScale, maxChart));\n}\n\n/**\n * @param {number[]} majorIndices\n * @param {Tick[]} ticks\n * @param {number} ticksLimit\n */\nfunction calculateSpacing(majorIndices, ticks, ticksLimit) {\n const evenMajorSpacing = getEvenSpacing(majorIndices);\n const spacing = ticks.length / ticksLimit;\n\n // If the major ticks are evenly spaced apart, place the minor ticks\n // so that they divide the major ticks into even chunks\n if (!evenMajorSpacing) {\n return Math.max(spacing, 1);\n }\n\n const factors = _factorize(evenMajorSpacing);\n for (let i = 0, ilen = factors.length - 1; i < ilen; i++) {\n const factor = factors[i];\n if (factor > spacing) {\n return factor;\n }\n }\n return Math.max(spacing, 1);\n}\n\n/**\n * @param {Tick[]} ticks\n */\nfunction getMajorIndices(ticks) {\n const result = [];\n let i, ilen;\n for (i = 0, ilen = ticks.length; i < ilen; i++) {\n if (ticks[i].major) {\n result.push(i);\n }\n }\n return result;\n}\n\n/**\n * @param {Tick[]} ticks\n * @param {Tick[]} newTicks\n * @param {number[]} majorIndices\n * @param {number} spacing\n */\nfunction skipMajors(ticks, newTicks, majorIndices, spacing) {\n let count = 0;\n let next = majorIndices[0];\n let i;\n\n spacing = Math.ceil(spacing);\n for (i = 0; i < ticks.length; i++) {\n if (i === next) {\n newTicks.push(ticks[i]);\n count++;\n next = majorIndices[count * spacing];\n }\n }\n}\n\n/**\n * @param {Tick[]} ticks\n * @param {Tick[]} newTicks\n * @param {number} spacing\n * @param {number} [majorStart]\n * @param {number} [majorEnd]\n */\nfunction skip(ticks, newTicks, spacing, majorStart, majorEnd) {\n const start = valueOrDefault(majorStart, 0);\n const end = Math.min(valueOrDefault(majorEnd, ticks.length), ticks.length);\n let count = 0;\n let length, i, next;\n\n spacing = Math.ceil(spacing);\n if (majorEnd) {\n length = majorEnd - majorStart;\n spacing = length / Math.floor(length / spacing);\n }\n\n next = start;\n\n while (next < 0) {\n count++;\n next = Math.round(start + count * spacing);\n }\n\n for (i = Math.max(start, 0); i < end; i++) {\n if (i === next) {\n newTicks.push(ticks[i]);\n count++;\n next = Math.round(start + count * spacing);\n }\n }\n}\n\n\n/**\n * @param {number[]} arr\n */\nfunction getEvenSpacing(arr) {\n const len = arr.length;\n let i, diff;\n\n if (len < 2) {\n return false;\n }\n\n for (diff = arr[0], i = 1; i < len; ++i) {\n if (arr[i] - arr[i - 1] !== diff) {\n return false;\n }\n }\n return diff;\n}\n","import Element from './core.element.js';\nimport {_alignPixel, _measureText, renderText, clipArea, unclipArea} from '../helpers/helpers.canvas.js';\nimport {callback as call, each, finiteOrDefault, isArray, isFinite, isNullOrUndef, isObject, valueOrDefault} from '../helpers/helpers.core.js';\nimport {toDegrees, toRadians, _int16Range, _limitValue, HALF_PI} from '../helpers/helpers.math.js';\nimport {_alignStartEnd, _toLeftRightCenter} from '../helpers/helpers.extras.js';\nimport {createContext, toFont, toPadding, _addGrace} from '../helpers/helpers.options.js';\nimport {autoSkip} from './core.scale.autoskip.js';\n\nconst reverseAlign = (align) => align === 'left' ? 'right' : align === 'right' ? 'left' : align;\nconst offsetFromEdge = (scale, edge, offset) => edge === 'top' || edge === 'left' ? scale[edge] + offset : scale[edge] - offset;\nconst getTicksLimit = (ticksLength, maxTicksLimit) => Math.min(maxTicksLimit || ticksLength, ticksLength);\n\n/**\n * @typedef { import('../types/index.js').Chart } Chart\n * @typedef {{value:number | string, label?:string, major?:boolean, $context?:any}} Tick\n */\n\n/**\n * Returns a new array containing numItems from arr\n * @param {any[]} arr\n * @param {number} numItems\n */\nfunction sample(arr, numItems) {\n const result = [];\n const increment = arr.length / numItems;\n const len = arr.length;\n let i = 0;\n\n for (; i < len; i += increment) {\n result.push(arr[Math.floor(i)]);\n }\n return result;\n}\n\n/**\n * @param {Scale} scale\n * @param {number} index\n * @param {boolean} offsetGridLines\n */\nfunction getPixelForGridLine(scale, index, offsetGridLines) {\n const length = scale.ticks.length;\n const validIndex = Math.min(index, length - 1);\n const start = scale._startPixel;\n const end = scale._endPixel;\n const epsilon = 1e-6; // 1e-6 is margin in pixels for accumulated error.\n let lineValue = scale.getPixelForTick(validIndex);\n let offset;\n\n if (offsetGridLines) {\n if (length === 1) {\n offset = Math.max(lineValue - start, end - lineValue);\n } else if (index === 0) {\n offset = (scale.getPixelForTick(1) - lineValue) / 2;\n } else {\n offset = (lineValue - scale.getPixelForTick(validIndex - 1)) / 2;\n }\n lineValue += validIndex < index ? offset : -offset;\n\n // Return undefined if the pixel is out of the range\n if (lineValue < start - epsilon || lineValue > end + epsilon) {\n return;\n }\n }\n return lineValue;\n}\n\n/**\n * @param {object} caches\n * @param {number} length\n */\nfunction garbageCollect(caches, length) {\n each(caches, (cache) => {\n const gc = cache.gc;\n const gcLen = gc.length / 2;\n let i;\n if (gcLen > length) {\n for (i = 0; i < gcLen; ++i) {\n delete cache.data[gc[i]];\n }\n gc.splice(0, gcLen);\n }\n });\n}\n\n/**\n * @param {object} options\n */\nfunction getTickMarkLength(options) {\n return options.drawTicks ? options.tickLength : 0;\n}\n\n/**\n * @param {object} options\n */\nfunction getTitleHeight(options, fallback) {\n if (!options.display) {\n return 0;\n }\n\n const font = toFont(options.font, fallback);\n const padding = toPadding(options.padding);\n const lines = isArray(options.text) ? options.text.length : 1;\n\n return (lines * font.lineHeight) + padding.height;\n}\n\nfunction createScaleContext(parent, scale) {\n return createContext(parent, {\n scale,\n type: 'scale'\n });\n}\n\nfunction createTickContext(parent, index, tick) {\n return createContext(parent, {\n tick,\n index,\n type: 'tick'\n });\n}\n\nfunction titleAlign(align, position, reverse) {\n /** @type {CanvasTextAlign} */\n let ret = _toLeftRightCenter(align);\n if ((reverse && position !== 'right') || (!reverse && position === 'right')) {\n ret = reverseAlign(ret);\n }\n return ret;\n}\n\nfunction titleArgs(scale, offset, position, align) {\n const {top, left, bottom, right, chart} = scale;\n const {chartArea, scales} = chart;\n let rotation = 0;\n let maxWidth, titleX, titleY;\n const height = bottom - top;\n const width = right - left;\n\n if (scale.isHorizontal()) {\n titleX = _alignStartEnd(align, left, right);\n\n if (isObject(position)) {\n const positionAxisID = Object.keys(position)[0];\n const value = position[positionAxisID];\n titleY = scales[positionAxisID].getPixelForValue(value) + height - offset;\n } else if (position === 'center') {\n titleY = (chartArea.bottom + chartArea.top) / 2 + height - offset;\n } else {\n titleY = offsetFromEdge(scale, position, offset);\n }\n maxWidth = right - left;\n } else {\n if (isObject(position)) {\n const positionAxisID = Object.keys(position)[0];\n const value = position[positionAxisID];\n titleX = scales[positionAxisID].getPixelForValue(value) - width + offset;\n } else if (position === 'center') {\n titleX = (chartArea.left + chartArea.right) / 2 - width + offset;\n } else {\n titleX = offsetFromEdge(scale, position, offset);\n }\n titleY = _alignStartEnd(align, bottom, top);\n rotation = position === 'left' ? -HALF_PI : HALF_PI;\n }\n return {titleX, titleY, maxWidth, rotation};\n}\n\nexport default class Scale extends Element {\n\n // eslint-disable-next-line max-statements\n constructor(cfg) {\n super();\n\n /** @type {string} */\n this.id = cfg.id;\n /** @type {string} */\n this.type = cfg.type;\n /** @type {any} */\n this.options = undefined;\n /** @type {CanvasRenderingContext2D} */\n this.ctx = cfg.ctx;\n /** @type {Chart} */\n this.chart = cfg.chart;\n\n // implements box\n /** @type {number} */\n this.top = undefined;\n /** @type {number} */\n this.bottom = undefined;\n /** @type {number} */\n this.left = undefined;\n /** @type {number} */\n this.right = undefined;\n /** @type {number} */\n this.width = undefined;\n /** @type {number} */\n this.height = undefined;\n this._margins = {\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n };\n /** @type {number} */\n this.maxWidth = undefined;\n /** @type {number} */\n this.maxHeight = undefined;\n /** @type {number} */\n this.paddingTop = undefined;\n /** @type {number} */\n this.paddingBottom = undefined;\n /** @type {number} */\n this.paddingLeft = undefined;\n /** @type {number} */\n this.paddingRight = undefined;\n\n // scale-specific properties\n /** @type {string=} */\n this.axis = undefined;\n /** @type {number=} */\n this.labelRotation = undefined;\n this.min = undefined;\n this.max = undefined;\n this._range = undefined;\n /** @type {Tick[]} */\n this.ticks = [];\n /** @type {object[]|null} */\n this._gridLineItems = null;\n /** @type {object[]|null} */\n this._labelItems = null;\n /** @type {object|null} */\n this._labelSizes = null;\n this._length = 0;\n this._maxLength = 0;\n this._longestTextCache = {};\n /** @type {number} */\n this._startPixel = undefined;\n /** @type {number} */\n this._endPixel = undefined;\n this._reversePixels = false;\n this._userMax = undefined;\n this._userMin = undefined;\n this._suggestedMax = undefined;\n this._suggestedMin = undefined;\n this._ticksLength = 0;\n this._borderValue = 0;\n this._cache = {};\n this._dataLimitsCached = false;\n this.$context = undefined;\n }\n\n /**\n\t * @param {any} options\n\t * @since 3.0\n\t */\n init(options) {\n this.options = options.setContext(this.getContext());\n\n this.axis = options.axis;\n\n // parse min/max value, so we can properly determine min/max for other scales\n this._userMin = this.parse(options.min);\n this._userMax = this.parse(options.max);\n this._suggestedMin = this.parse(options.suggestedMin);\n this._suggestedMax = this.parse(options.suggestedMax);\n }\n\n /**\n\t * Parse a supported input value to internal representation.\n\t * @param {*} raw\n\t * @param {number} [index]\n\t * @since 3.0\n\t */\n parse(raw, index) { // eslint-disable-line no-unused-vars\n return raw;\n }\n\n /**\n\t * @return {{min: number, max: number, minDefined: boolean, maxDefined: boolean}}\n\t * @protected\n\t * @since 3.0\n\t */\n getUserBounds() {\n let {_userMin, _userMax, _suggestedMin, _suggestedMax} = this;\n _userMin = finiteOrDefault(_userMin, Number.POSITIVE_INFINITY);\n _userMax = finiteOrDefault(_userMax, Number.NEGATIVE_INFINITY);\n _suggestedMin = finiteOrDefault(_suggestedMin, Number.POSITIVE_INFINITY);\n _suggestedMax = finiteOrDefault(_suggestedMax, Number.NEGATIVE_INFINITY);\n return {\n min: finiteOrDefault(_userMin, _suggestedMin),\n max: finiteOrDefault(_userMax, _suggestedMax),\n minDefined: isFinite(_userMin),\n maxDefined: isFinite(_userMax)\n };\n }\n\n /**\n\t * @param {boolean} canStack\n\t * @return {{min: number, max: number}}\n\t * @protected\n\t * @since 3.0\n\t */\n getMinMax(canStack) {\n let {min, max, minDefined, maxDefined} = this.getUserBounds();\n let range;\n\n if (minDefined && maxDefined) {\n return {min, max};\n }\n\n const metas = this.getMatchingVisibleMetas();\n for (let i = 0, ilen = metas.length; i < ilen; ++i) {\n range = metas[i].controller.getMinMax(this, canStack);\n if (!minDefined) {\n min = Math.min(min, range.min);\n }\n if (!maxDefined) {\n max = Math.max(max, range.max);\n }\n }\n\n // Make sure min <= max when only min or max is defined by user and the data is outside that range\n min = maxDefined && min > max ? max : min;\n max = minDefined && min > max ? min : max;\n\n return {\n min: finiteOrDefault(min, finiteOrDefault(max, min)),\n max: finiteOrDefault(max, finiteOrDefault(min, max))\n };\n }\n\n /**\n\t * Get the padding needed for the scale\n\t * @return {{top: number, left: number, bottom: number, right: number}} the necessary padding\n\t * @private\n\t */\n getPadding() {\n return {\n left: this.paddingLeft || 0,\n top: this.paddingTop || 0,\n right: this.paddingRight || 0,\n bottom: this.paddingBottom || 0\n };\n }\n\n /**\n\t * Returns the scale tick objects\n\t * @return {Tick[]}\n\t * @since 2.7\n\t */\n getTicks() {\n return this.ticks;\n }\n\n /**\n\t * @return {string[]}\n\t */\n getLabels() {\n const data = this.chart.data;\n return this.options.labels || (this.isHorizontal() ? data.xLabels : data.yLabels) || data.labels || [];\n }\n\n /**\n * @return {import('../types.js').LabelItem[]}\n */\n getLabelItems(chartArea = this.chart.chartArea) {\n const items = this._labelItems || (this._labelItems = this._computeLabelItems(chartArea));\n return items;\n }\n\n // When a new layout is created, reset the data limits cache\n beforeLayout() {\n this._cache = {};\n this._dataLimitsCached = false;\n }\n\n // These methods are ordered by lifecycle. Utilities then follow.\n // Any function defined here is inherited by all scale types.\n // Any function can be extended by the scale type\n\n beforeUpdate() {\n call(this.options.beforeUpdate, [this]);\n }\n\n /**\n\t * @param {number} maxWidth - the max width in pixels\n\t * @param {number} maxHeight - the max height in pixels\n\t * @param {{top: number, left: number, bottom: number, right: number}} margins - the space between the edge of the other scales and edge of the chart\n\t * This space comes from two sources:\n\t * - padding - space that's required to show the labels at the edges of the scale\n\t * - thickness of scales or legends in another orientation\n\t */\n update(maxWidth, maxHeight, margins) {\n const {beginAtZero, grace, ticks: tickOpts} = this.options;\n const sampleSize = tickOpts.sampleSize;\n\n // Update Lifecycle - Probably don't want to ever extend or overwrite this function ;)\n this.beforeUpdate();\n\n // Absorb the master measurements\n this.maxWidth = maxWidth;\n this.maxHeight = maxHeight;\n this._margins = margins = Object.assign({\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n }, margins);\n\n this.ticks = null;\n this._labelSizes = null;\n this._gridLineItems = null;\n this._labelItems = null;\n\n // Dimensions\n this.beforeSetDimensions();\n this.setDimensions();\n this.afterSetDimensions();\n\n this._maxLength = this.isHorizontal()\n ? this.width + margins.left + margins.right\n : this.height + margins.top + margins.bottom;\n\n // Data min/max\n if (!this._dataLimitsCached) {\n this.beforeDataLimits();\n this.determineDataLimits();\n this.afterDataLimits();\n this._range = _addGrace(this, grace, beginAtZero);\n this._dataLimitsCached = true;\n }\n\n this.beforeBuildTicks();\n\n this.ticks = this.buildTicks() || [];\n\n // Allow modification of ticks in callback.\n this.afterBuildTicks();\n\n // Compute tick rotation and fit using a sampled subset of labels\n // We generally don't need to compute the size of every single label for determining scale size\n const samplingEnabled = sampleSize < this.ticks.length;\n this._convertTicksToLabels(samplingEnabled ? sample(this.ticks, sampleSize) : this.ticks);\n\n // configure is called twice, once here, once from core.controller.updateLayout.\n // Here we haven't been positioned yet, but dimensions are correct.\n // Variables set in configure are needed for calculateLabelRotation, and\n // it's ok that coordinates are not correct there, only dimensions matter.\n this.configure();\n\n // Tick Rotation\n this.beforeCalculateLabelRotation();\n this.calculateLabelRotation(); // Preconditions: number of ticks and sizes of largest labels must be calculated beforehand\n this.afterCalculateLabelRotation();\n\n // Auto-skip\n if (tickOpts.display && (tickOpts.autoSkip || tickOpts.source === 'auto')) {\n this.ticks = autoSkip(this, this.ticks);\n this._labelSizes = null;\n this.afterAutoSkip();\n }\n\n if (samplingEnabled) {\n // Generate labels using all non-skipped ticks\n this._convertTicksToLabels(this.ticks);\n }\n\n this.beforeFit();\n this.fit(); // Preconditions: label rotation and label sizes must be calculated beforehand\n this.afterFit();\n\n // IMPORTANT: after this point, we consider that `this.ticks` will NEVER change!\n\n this.afterUpdate();\n }\n\n /**\n\t * @protected\n\t */\n configure() {\n let reversePixels = this.options.reverse;\n let startPixel, endPixel;\n\n if (this.isHorizontal()) {\n startPixel = this.left;\n endPixel = this.right;\n } else {\n startPixel = this.top;\n endPixel = this.bottom;\n // by default vertical scales are from bottom to top, so pixels are reversed\n reversePixels = !reversePixels;\n }\n this._startPixel = startPixel;\n this._endPixel = endPixel;\n this._reversePixels = reversePixels;\n this._length = endPixel - startPixel;\n this._alignToPixels = this.options.alignToPixels;\n }\n\n afterUpdate() {\n call(this.options.afterUpdate, [this]);\n }\n\n //\n\n beforeSetDimensions() {\n call(this.options.beforeSetDimensions, [this]);\n }\n setDimensions() {\n // Set the unconstrained dimension before label rotation\n if (this.isHorizontal()) {\n // Reset position before calculating rotation\n this.width = this.maxWidth;\n this.left = 0;\n this.right = this.width;\n } else {\n this.height = this.maxHeight;\n\n // Reset position before calculating rotation\n this.top = 0;\n this.bottom = this.height;\n }\n\n // Reset padding\n this.paddingLeft = 0;\n this.paddingTop = 0;\n this.paddingRight = 0;\n this.paddingBottom = 0;\n }\n afterSetDimensions() {\n call(this.options.afterSetDimensions, [this]);\n }\n\n _callHooks(name) {\n this.chart.notifyPlugins(name, this.getContext());\n call(this.options[name], [this]);\n }\n\n // Data limits\n beforeDataLimits() {\n this._callHooks('beforeDataLimits');\n }\n determineDataLimits() {}\n afterDataLimits() {\n this._callHooks('afterDataLimits');\n }\n\n //\n beforeBuildTicks() {\n this._callHooks('beforeBuildTicks');\n }\n /**\n\t * @return {object[]} the ticks\n\t */\n buildTicks() {\n return [];\n }\n afterBuildTicks() {\n this._callHooks('afterBuildTicks');\n }\n\n beforeTickToLabelConversion() {\n call(this.options.beforeTickToLabelConversion, [this]);\n }\n /**\n\t * Convert ticks to label strings\n\t * @param {Tick[]} ticks\n\t */\n generateTickLabels(ticks) {\n const tickOpts = this.options.ticks;\n let i, ilen, tick;\n for (i = 0, ilen = ticks.length; i < ilen; i++) {\n tick = ticks[i];\n tick.label = call(tickOpts.callback, [tick.value, i, ticks], this);\n }\n }\n afterTickToLabelConversion() {\n call(this.options.afterTickToLabelConversion, [this]);\n }\n\n //\n\n beforeCalculateLabelRotation() {\n call(this.options.beforeCalculateLabelRotation, [this]);\n }\n calculateLabelRotation() {\n const options = this.options;\n const tickOpts = options.ticks;\n const numTicks = getTicksLimit(this.ticks.length, options.ticks.maxTicksLimit);\n const minRotation = tickOpts.minRotation || 0;\n const maxRotation = tickOpts.maxRotation;\n let labelRotation = minRotation;\n let tickWidth, maxHeight, maxLabelDiagonal;\n\n if (!this._isVisible() || !tickOpts.display || minRotation >= maxRotation || numTicks <= 1 || !this.isHorizontal()) {\n this.labelRotation = minRotation;\n return;\n }\n\n const labelSizes = this._getLabelSizes();\n const maxLabelWidth = labelSizes.widest.width;\n const maxLabelHeight = labelSizes.highest.height;\n\n // Estimate the width of each grid based on the canvas width, the maximum\n // label width and the number of tick intervals\n const maxWidth = _limitValue(this.chart.width - maxLabelWidth, 0, this.maxWidth);\n tickWidth = options.offset ? this.maxWidth / numTicks : maxWidth / (numTicks - 1);\n\n // Allow 3 pixels x2 padding either side for label readability\n if (maxLabelWidth + 6 > tickWidth) {\n tickWidth = maxWidth / (numTicks - (options.offset ? 0.5 : 1));\n maxHeight = this.maxHeight - getTickMarkLength(options.grid)\n\t\t\t\t- tickOpts.padding - getTitleHeight(options.title, this.chart.options.font);\n maxLabelDiagonal = Math.sqrt(maxLabelWidth * maxLabelWidth + maxLabelHeight * maxLabelHeight);\n labelRotation = toDegrees(Math.min(\n Math.asin(_limitValue((labelSizes.highest.height + 6) / tickWidth, -1, 1)),\n Math.asin(_limitValue(maxHeight / maxLabelDiagonal, -1, 1)) - Math.asin(_limitValue(maxLabelHeight / maxLabelDiagonal, -1, 1))\n ));\n labelRotation = Math.max(minRotation, Math.min(maxRotation, labelRotation));\n }\n\n this.labelRotation = labelRotation;\n }\n afterCalculateLabelRotation() {\n call(this.options.afterCalculateLabelRotation, [this]);\n }\n afterAutoSkip() {}\n\n //\n\n beforeFit() {\n call(this.options.beforeFit, [this]);\n }\n fit() {\n // Reset\n const minSize = {\n width: 0,\n height: 0\n };\n\n const {chart, options: {ticks: tickOpts, title: titleOpts, grid: gridOpts}} = this;\n const display = this._isVisible();\n const isHorizontal = this.isHorizontal();\n\n if (display) {\n const titleHeight = getTitleHeight(titleOpts, chart.options.font);\n if (isHorizontal) {\n minSize.width = this.maxWidth;\n minSize.height = getTickMarkLength(gridOpts) + titleHeight;\n } else {\n minSize.height = this.maxHeight; // fill all the height\n minSize.width = getTickMarkLength(gridOpts) + titleHeight;\n }\n\n // Don't bother fitting the ticks if we are not showing the labels\n if (tickOpts.display && this.ticks.length) {\n const {first, last, widest, highest} = this._getLabelSizes();\n const tickPadding = tickOpts.padding * 2;\n const angleRadians = toRadians(this.labelRotation);\n const cos = Math.cos(angleRadians);\n const sin = Math.sin(angleRadians);\n\n if (isHorizontal) {\n // A horizontal axis is more constrained by the height.\n const labelHeight = tickOpts.mirror ? 0 : sin * widest.width + cos * highest.height;\n minSize.height = Math.min(this.maxHeight, minSize.height + labelHeight + tickPadding);\n } else {\n // A vertical axis is more constrained by the width. Labels are the\n // dominant factor here, so get that length first and account for padding\n const labelWidth = tickOpts.mirror ? 0 : cos * widest.width + sin * highest.height;\n\n minSize.width = Math.min(this.maxWidth, minSize.width + labelWidth + tickPadding);\n }\n this._calculatePadding(first, last, sin, cos);\n }\n }\n\n this._handleMargins();\n\n if (isHorizontal) {\n this.width = this._length = chart.width - this._margins.left - this._margins.right;\n this.height = minSize.height;\n } else {\n this.width = minSize.width;\n this.height = this._length = chart.height - this._margins.top - this._margins.bottom;\n }\n }\n\n _calculatePadding(first, last, sin, cos) {\n const {ticks: {align, padding}, position} = this.options;\n const isRotated = this.labelRotation !== 0;\n const labelsBelowTicks = position !== 'top' && this.axis === 'x';\n\n if (this.isHorizontal()) {\n const offsetLeft = this.getPixelForTick(0) - this.left;\n const offsetRight = this.right - this.getPixelForTick(this.ticks.length - 1);\n let paddingLeft = 0;\n let paddingRight = 0;\n\n // Ensure that our ticks are always inside the canvas. When rotated, ticks are right aligned\n // which means that the right padding is dominated by the font height\n if (isRotated) {\n if (labelsBelowTicks) {\n paddingLeft = cos * first.width;\n paddingRight = sin * last.height;\n } else {\n paddingLeft = sin * first.height;\n paddingRight = cos * last.width;\n }\n } else if (align === 'start') {\n paddingRight = last.width;\n } else if (align === 'end') {\n paddingLeft = first.width;\n } else if (align !== 'inner') {\n paddingLeft = first.width / 2;\n paddingRight = last.width / 2;\n }\n\n // Adjust padding taking into account changes in offsets\n this.paddingLeft = Math.max((paddingLeft - offsetLeft + padding) * this.width / (this.width - offsetLeft), 0);\n this.paddingRight = Math.max((paddingRight - offsetRight + padding) * this.width / (this.width - offsetRight), 0);\n } else {\n let paddingTop = last.height / 2;\n let paddingBottom = first.height / 2;\n\n if (align === 'start') {\n paddingTop = 0;\n paddingBottom = first.height;\n } else if (align === 'end') {\n paddingTop = last.height;\n paddingBottom = 0;\n }\n\n this.paddingTop = paddingTop + padding;\n this.paddingBottom = paddingBottom + padding;\n }\n }\n\n /**\n\t * Handle margins and padding interactions\n\t * @private\n\t */\n _handleMargins() {\n if (this._margins) {\n this._margins.left = Math.max(this.paddingLeft, this._margins.left);\n this._margins.top = Math.max(this.paddingTop, this._margins.top);\n this._margins.right = Math.max(this.paddingRight, this._margins.right);\n this._margins.bottom = Math.max(this.paddingBottom, this._margins.bottom);\n }\n }\n\n afterFit() {\n call(this.options.afterFit, [this]);\n }\n\n // Shared Methods\n /**\n\t * @return {boolean}\n\t */\n isHorizontal() {\n const {axis, position} = this.options;\n return position === 'top' || position === 'bottom' || axis === 'x';\n }\n /**\n\t * @return {boolean}\n\t */\n isFullSize() {\n return this.options.fullSize;\n }\n\n /**\n\t * @param {Tick[]} ticks\n\t * @private\n\t */\n _convertTicksToLabels(ticks) {\n this.beforeTickToLabelConversion();\n\n this.generateTickLabels(ticks);\n\n // Ticks should be skipped when callback returns null or undef, so lets remove those.\n let i, ilen;\n for (i = 0, ilen = ticks.length; i < ilen; i++) {\n if (isNullOrUndef(ticks[i].label)) {\n ticks.splice(i, 1);\n ilen--;\n i--;\n }\n }\n\n this.afterTickToLabelConversion();\n }\n\n /**\n\t * @return {{ first: object, last: object, widest: object, highest: object, widths: Array, heights: array }}\n\t * @private\n\t */\n _getLabelSizes() {\n let labelSizes = this._labelSizes;\n\n if (!labelSizes) {\n const sampleSize = this.options.ticks.sampleSize;\n let ticks = this.ticks;\n if (sampleSize < ticks.length) {\n ticks = sample(ticks, sampleSize);\n }\n\n this._labelSizes = labelSizes = this._computeLabelSizes(ticks, ticks.length, this.options.ticks.maxTicksLimit);\n }\n\n return labelSizes;\n }\n\n /**\n\t * Returns {width, height, offset} objects for the first, last, widest, highest tick\n\t * labels where offset indicates the anchor point offset from the top in pixels.\n\t * @return {{ first: object, last: object, widest: object, highest: object, widths: Array, heights: array }}\n\t * @private\n\t */\n _computeLabelSizes(ticks, length, maxTicksLimit) {\n const {ctx, _longestTextCache: caches} = this;\n const widths = [];\n const heights = [];\n const increment = Math.floor(length / getTicksLimit(length, maxTicksLimit));\n let widestLabelSize = 0;\n let highestLabelSize = 0;\n let i, j, jlen, label, tickFont, fontString, cache, lineHeight, width, height, nestedLabel;\n\n for (i = 0; i < length; i += increment) {\n label = ticks[i].label;\n tickFont = this._resolveTickFontOptions(i);\n ctx.font = fontString = tickFont.string;\n cache = caches[fontString] = caches[fontString] || {data: {}, gc: []};\n lineHeight = tickFont.lineHeight;\n width = height = 0;\n // Undefined labels and arrays should not be measured\n if (!isNullOrUndef(label) && !isArray(label)) {\n width = _measureText(ctx, cache.data, cache.gc, width, label);\n height = lineHeight;\n } else if (isArray(label)) {\n // if it is an array let's measure each element\n for (j = 0, jlen = label.length; j < jlen; ++j) {\n nestedLabel = /** @type {string} */ (label[j]);\n // Undefined labels and arrays should not be measured\n if (!isNullOrUndef(nestedLabel) && !isArray(nestedLabel)) {\n width = _measureText(ctx, cache.data, cache.gc, width, nestedLabel);\n height += lineHeight;\n }\n }\n }\n widths.push(width);\n heights.push(height);\n widestLabelSize = Math.max(width, widestLabelSize);\n highestLabelSize = Math.max(height, highestLabelSize);\n }\n garbageCollect(caches, length);\n\n const widest = widths.indexOf(widestLabelSize);\n const highest = heights.indexOf(highestLabelSize);\n\n const valueAt = (idx) => ({width: widths[idx] || 0, height: heights[idx] || 0});\n\n return {\n first: valueAt(0),\n last: valueAt(length - 1),\n widest: valueAt(widest),\n highest: valueAt(highest),\n widths,\n heights,\n };\n }\n\n /**\n\t * Used to get the label to display in the tooltip for the given value\n\t * @param {*} value\n\t * @return {string}\n\t */\n getLabelForValue(value) {\n return value;\n }\n\n /**\n\t * Returns the location of the given data point. Value can either be an index or a numerical value\n\t * The coordinate (0, 0) is at the upper-left corner of the canvas\n\t * @param {*} value\n\t * @param {number} [index]\n\t * @return {number}\n\t */\n getPixelForValue(value, index) { // eslint-disable-line no-unused-vars\n return NaN;\n }\n\n /**\n\t * Used to get the data value from a given pixel. This is the inverse of getPixelForValue\n\t * The coordinate (0, 0) is at the upper-left corner of the canvas\n\t * @param {number} pixel\n\t * @return {*}\n\t */\n getValueForPixel(pixel) {} // eslint-disable-line no-unused-vars\n\n /**\n\t * Returns the location of the tick at the given index\n\t * The coordinate (0, 0) is at the upper-left corner of the canvas\n\t * @param {number} index\n\t * @return {number}\n\t */\n getPixelForTick(index) {\n const ticks = this.ticks;\n if (index < 0 || index > ticks.length - 1) {\n return null;\n }\n return this.getPixelForValue(ticks[index].value);\n }\n\n /**\n\t * Utility for getting the pixel location of a percentage of scale\n\t * The coordinate (0, 0) is at the upper-left corner of the canvas\n\t * @param {number} decimal\n\t * @return {number}\n\t */\n getPixelForDecimal(decimal) {\n if (this._reversePixels) {\n decimal = 1 - decimal;\n }\n\n const pixel = this._startPixel + decimal * this._length;\n return _int16Range(this._alignToPixels ? _alignPixel(this.chart, pixel, 0) : pixel);\n }\n\n /**\n\t * @param {number} pixel\n\t * @return {number}\n\t */\n getDecimalForPixel(pixel) {\n const decimal = (pixel - this._startPixel) / this._length;\n return this._reversePixels ? 1 - decimal : decimal;\n }\n\n /**\n\t * Returns the pixel for the minimum chart value\n\t * The coordinate (0, 0) is at the upper-left corner of the canvas\n\t * @return {number}\n\t */\n getBasePixel() {\n return this.getPixelForValue(this.getBaseValue());\n }\n\n /**\n\t * @return {number}\n\t */\n getBaseValue() {\n const {min, max} = this;\n\n return min < 0 && max < 0 ? max :\n min > 0 && max > 0 ? min :\n 0;\n }\n\n /**\n\t * @protected\n\t */\n getContext(index) {\n const ticks = this.ticks || [];\n\n if (index >= 0 && index < ticks.length) {\n const tick = ticks[index];\n return tick.$context ||\n\t\t\t\t(tick.$context = createTickContext(this.getContext(), index, tick));\n }\n return this.$context ||\n\t\t\t(this.$context = createScaleContext(this.chart.getContext(), this));\n }\n\n /**\n\t * @return {number}\n\t * @private\n\t */\n _tickSize() {\n const optionTicks = this.options.ticks;\n\n // Calculate space needed by label in axis direction.\n const rot = toRadians(this.labelRotation);\n const cos = Math.abs(Math.cos(rot));\n const sin = Math.abs(Math.sin(rot));\n\n const labelSizes = this._getLabelSizes();\n const padding = optionTicks.autoSkipPadding || 0;\n const w = labelSizes ? labelSizes.widest.width + padding : 0;\n const h = labelSizes ? labelSizes.highest.height + padding : 0;\n\n // Calculate space needed for 1 tick in axis direction.\n return this.isHorizontal()\n ? h * cos > w * sin ? w / cos : h / sin\n : h * sin < w * cos ? h / cos : w / sin;\n }\n\n /**\n\t * @return {boolean}\n\t * @private\n\t */\n _isVisible() {\n const display = this.options.display;\n\n if (display !== 'auto') {\n return !!display;\n }\n\n return this.getMatchingVisibleMetas().length > 0;\n }\n\n /**\n\t * @private\n\t */\n _computeGridLineItems(chartArea) {\n const axis = this.axis;\n const chart = this.chart;\n const options = this.options;\n const {grid, position, border} = options;\n const offset = grid.offset;\n const isHorizontal = this.isHorizontal();\n const ticks = this.ticks;\n const ticksLength = ticks.length + (offset ? 1 : 0);\n const tl = getTickMarkLength(grid);\n const items = [];\n\n const borderOpts = border.setContext(this.getContext());\n const axisWidth = borderOpts.display ? borderOpts.width : 0;\n const axisHalfWidth = axisWidth / 2;\n const alignBorderValue = function(pixel) {\n return _alignPixel(chart, pixel, axisWidth);\n };\n let borderValue, i, lineValue, alignedLineValue;\n let tx1, ty1, tx2, ty2, x1, y1, x2, y2;\n\n if (position === 'top') {\n borderValue = alignBorderValue(this.bottom);\n ty1 = this.bottom - tl;\n ty2 = borderValue - axisHalfWidth;\n y1 = alignBorderValue(chartArea.top) + axisHalfWidth;\n y2 = chartArea.bottom;\n } else if (position === 'bottom') {\n borderValue = alignBorderValue(this.top);\n y1 = chartArea.top;\n y2 = alignBorderValue(chartArea.bottom) - axisHalfWidth;\n ty1 = borderValue + axisHalfWidth;\n ty2 = this.top + tl;\n } else if (position === 'left') {\n borderValue = alignBorderValue(this.right);\n tx1 = this.right - tl;\n tx2 = borderValue - axisHalfWidth;\n x1 = alignBorderValue(chartArea.left) + axisHalfWidth;\n x2 = chartArea.right;\n } else if (position === 'right') {\n borderValue = alignBorderValue(this.left);\n x1 = chartArea.left;\n x2 = alignBorderValue(chartArea.right) - axisHalfWidth;\n tx1 = borderValue + axisHalfWidth;\n tx2 = this.left + tl;\n } else if (axis === 'x') {\n if (position === 'center') {\n borderValue = alignBorderValue((chartArea.top + chartArea.bottom) / 2 + 0.5);\n } else if (isObject(position)) {\n const positionAxisID = Object.keys(position)[0];\n const value = position[positionAxisID];\n borderValue = alignBorderValue(this.chart.scales[positionAxisID].getPixelForValue(value));\n }\n\n y1 = chartArea.top;\n y2 = chartArea.bottom;\n ty1 = borderValue + axisHalfWidth;\n ty2 = ty1 + tl;\n } else if (axis === 'y') {\n if (position === 'center') {\n borderValue = alignBorderValue((chartArea.left + chartArea.right) / 2);\n } else if (isObject(position)) {\n const positionAxisID = Object.keys(position)[0];\n const value = position[positionAxisID];\n borderValue = alignBorderValue(this.chart.scales[positionAxisID].getPixelForValue(value));\n }\n\n tx1 = borderValue - axisHalfWidth;\n tx2 = tx1 - tl;\n x1 = chartArea.left;\n x2 = chartArea.right;\n }\n\n const limit = valueOrDefault(options.ticks.maxTicksLimit, ticksLength);\n const step = Math.max(1, Math.ceil(ticksLength / limit));\n for (i = 0; i < ticksLength; i += step) {\n const context = this.getContext(i);\n const optsAtIndex = grid.setContext(context);\n const optsAtIndexBorder = border.setContext(context);\n\n const lineWidth = optsAtIndex.lineWidth;\n const lineColor = optsAtIndex.color;\n const borderDash = optsAtIndexBorder.dash || [];\n const borderDashOffset = optsAtIndexBorder.dashOffset;\n\n const tickWidth = optsAtIndex.tickWidth;\n const tickColor = optsAtIndex.tickColor;\n const tickBorderDash = optsAtIndex.tickBorderDash || [];\n const tickBorderDashOffset = optsAtIndex.tickBorderDashOffset;\n\n lineValue = getPixelForGridLine(this, i, offset);\n\n // Skip if the pixel is out of the range\n if (lineValue === undefined) {\n continue;\n }\n\n alignedLineValue = _alignPixel(chart, lineValue, lineWidth);\n\n if (isHorizontal) {\n tx1 = tx2 = x1 = x2 = alignedLineValue;\n } else {\n ty1 = ty2 = y1 = y2 = alignedLineValue;\n }\n\n items.push({\n tx1,\n ty1,\n tx2,\n ty2,\n x1,\n y1,\n x2,\n y2,\n width: lineWidth,\n color: lineColor,\n borderDash,\n borderDashOffset,\n tickWidth,\n tickColor,\n tickBorderDash,\n tickBorderDashOffset,\n });\n }\n\n this._ticksLength = ticksLength;\n this._borderValue = borderValue;\n\n return items;\n }\n\n /**\n\t * @private\n\t */\n _computeLabelItems(chartArea) {\n const axis = this.axis;\n const options = this.options;\n const {position, ticks: optionTicks} = options;\n const isHorizontal = this.isHorizontal();\n const ticks = this.ticks;\n const {align, crossAlign, padding, mirror} = optionTicks;\n const tl = getTickMarkLength(options.grid);\n const tickAndPadding = tl + padding;\n const hTickAndPadding = mirror ? -padding : tickAndPadding;\n const rotation = -toRadians(this.labelRotation);\n const items = [];\n let i, ilen, tick, label, x, y, textAlign, pixel, font, lineHeight, lineCount, textOffset;\n let textBaseline = 'middle';\n\n if (position === 'top') {\n y = this.bottom - hTickAndPadding;\n textAlign = this._getXAxisLabelAlignment();\n } else if (position === 'bottom') {\n y = this.top + hTickAndPadding;\n textAlign = this._getXAxisLabelAlignment();\n } else if (position === 'left') {\n const ret = this._getYAxisLabelAlignment(tl);\n textAlign = ret.textAlign;\n x = ret.x;\n } else if (position === 'right') {\n const ret = this._getYAxisLabelAlignment(tl);\n textAlign = ret.textAlign;\n x = ret.x;\n } else if (axis === 'x') {\n if (position === 'center') {\n y = ((chartArea.top + chartArea.bottom) / 2) + tickAndPadding;\n } else if (isObject(position)) {\n const positionAxisID = Object.keys(position)[0];\n const value = position[positionAxisID];\n y = this.chart.scales[positionAxisID].getPixelForValue(value) + tickAndPadding;\n }\n textAlign = this._getXAxisLabelAlignment();\n } else if (axis === 'y') {\n if (position === 'center') {\n x = ((chartArea.left + chartArea.right) / 2) - tickAndPadding;\n } else if (isObject(position)) {\n const positionAxisID = Object.keys(position)[0];\n const value = position[positionAxisID];\n x = this.chart.scales[positionAxisID].getPixelForValue(value);\n }\n textAlign = this._getYAxisLabelAlignment(tl).textAlign;\n }\n\n if (axis === 'y') {\n if (align === 'start') {\n textBaseline = 'top';\n } else if (align === 'end') {\n textBaseline = 'bottom';\n }\n }\n\n const labelSizes = this._getLabelSizes();\n for (i = 0, ilen = ticks.length; i < ilen; ++i) {\n tick = ticks[i];\n label = tick.label;\n\n const optsAtIndex = optionTicks.setContext(this.getContext(i));\n pixel = this.getPixelForTick(i) + optionTicks.labelOffset;\n font = this._resolveTickFontOptions(i);\n lineHeight = font.lineHeight;\n lineCount = isArray(label) ? label.length : 1;\n const halfCount = lineCount / 2;\n const color = optsAtIndex.color;\n const strokeColor = optsAtIndex.textStrokeColor;\n const strokeWidth = optsAtIndex.textStrokeWidth;\n let tickTextAlign = textAlign;\n\n if (isHorizontal) {\n x = pixel;\n\n if (textAlign === 'inner') {\n if (i === ilen - 1) {\n tickTextAlign = !this.options.reverse ? 'right' : 'left';\n } else if (i === 0) {\n tickTextAlign = !this.options.reverse ? 'left' : 'right';\n } else {\n tickTextAlign = 'center';\n }\n }\n\n if (position === 'top') {\n if (crossAlign === 'near' || rotation !== 0) {\n textOffset = -lineCount * lineHeight + lineHeight / 2;\n } else if (crossAlign === 'center') {\n textOffset = -labelSizes.highest.height / 2 - halfCount * lineHeight + lineHeight;\n } else {\n textOffset = -labelSizes.highest.height + lineHeight / 2;\n }\n } else {\n // eslint-disable-next-line no-lonely-if\n if (crossAlign === 'near' || rotation !== 0) {\n textOffset = lineHeight / 2;\n } else if (crossAlign === 'center') {\n textOffset = labelSizes.highest.height / 2 - halfCount * lineHeight;\n } else {\n textOffset = labelSizes.highest.height - lineCount * lineHeight;\n }\n }\n if (mirror) {\n textOffset *= -1;\n }\n if (rotation !== 0 && !optsAtIndex.showLabelBackdrop) {\n x += (lineHeight / 2) * Math.sin(rotation);\n }\n } else {\n y = pixel;\n textOffset = (1 - lineCount) * lineHeight / 2;\n }\n\n let backdrop;\n\n if (optsAtIndex.showLabelBackdrop) {\n const labelPadding = toPadding(optsAtIndex.backdropPadding);\n const height = labelSizes.heights[i];\n const width = labelSizes.widths[i];\n\n let top = textOffset - labelPadding.top;\n let left = 0 - labelPadding.left;\n\n switch (textBaseline) {\n case 'middle':\n top -= height / 2;\n break;\n case 'bottom':\n top -= height;\n break;\n default:\n break;\n }\n\n switch (textAlign) {\n case 'center':\n left -= width / 2;\n break;\n case 'right':\n left -= width;\n break;\n case 'inner':\n if (i === ilen - 1) {\n left -= width;\n } else if (i > 0) {\n left -= width / 2;\n }\n break;\n default:\n break;\n }\n\n backdrop = {\n left,\n top,\n width: width + labelPadding.width,\n height: height + labelPadding.height,\n\n color: optsAtIndex.backdropColor,\n };\n }\n\n items.push({\n label,\n font,\n textOffset,\n options: {\n rotation,\n color,\n strokeColor,\n strokeWidth,\n textAlign: tickTextAlign,\n textBaseline,\n translation: [x, y],\n backdrop,\n }\n });\n }\n\n return items;\n }\n\n _getXAxisLabelAlignment() {\n const {position, ticks} = this.options;\n const rotation = -toRadians(this.labelRotation);\n\n if (rotation) {\n return position === 'top' ? 'left' : 'right';\n }\n\n let align = 'center';\n\n if (ticks.align === 'start') {\n align = 'left';\n } else if (ticks.align === 'end') {\n align = 'right';\n } else if (ticks.align === 'inner') {\n align = 'inner';\n }\n\n return align;\n }\n\n _getYAxisLabelAlignment(tl) {\n const {position, ticks: {crossAlign, mirror, padding}} = this.options;\n const labelSizes = this._getLabelSizes();\n const tickAndPadding = tl + padding;\n const widest = labelSizes.widest.width;\n\n let textAlign;\n let x;\n\n if (position === 'left') {\n if (mirror) {\n x = this.right + padding;\n\n if (crossAlign === 'near') {\n textAlign = 'left';\n } else if (crossAlign === 'center') {\n textAlign = 'center';\n x += (widest / 2);\n } else {\n textAlign = 'right';\n x += widest;\n }\n } else {\n x = this.right - tickAndPadding;\n\n if (crossAlign === 'near') {\n textAlign = 'right';\n } else if (crossAlign === 'center') {\n textAlign = 'center';\n x -= (widest / 2);\n } else {\n textAlign = 'left';\n x = this.left;\n }\n }\n } else if (position === 'right') {\n if (mirror) {\n x = this.left + padding;\n\n if (crossAlign === 'near') {\n textAlign = 'right';\n } else if (crossAlign === 'center') {\n textAlign = 'center';\n x -= (widest / 2);\n } else {\n textAlign = 'left';\n x -= widest;\n }\n } else {\n x = this.left + tickAndPadding;\n\n if (crossAlign === 'near') {\n textAlign = 'left';\n } else if (crossAlign === 'center') {\n textAlign = 'center';\n x += widest / 2;\n } else {\n textAlign = 'right';\n x = this.right;\n }\n }\n } else {\n textAlign = 'right';\n }\n\n return {textAlign, x};\n }\n\n /**\n\t * @private\n\t */\n _computeLabelArea() {\n if (this.options.ticks.mirror) {\n return;\n }\n\n const chart = this.chart;\n const position = this.options.position;\n\n if (position === 'left' || position === 'right') {\n return {top: 0, left: this.left, bottom: chart.height, right: this.right};\n } if (position === 'top' || position === 'bottom') {\n return {top: this.top, left: 0, bottom: this.bottom, right: chart.width};\n }\n }\n\n /**\n * @protected\n */\n drawBackground() {\n const {ctx, options: {backgroundColor}, left, top, width, height} = this;\n if (backgroundColor) {\n ctx.save();\n ctx.fillStyle = backgroundColor;\n ctx.fillRect(left, top, width, height);\n ctx.restore();\n }\n }\n\n getLineWidthForValue(value) {\n const grid = this.options.grid;\n if (!this._isVisible() || !grid.display) {\n return 0;\n }\n const ticks = this.ticks;\n const index = ticks.findIndex(t => t.value === value);\n if (index >= 0) {\n const opts = grid.setContext(this.getContext(index));\n return opts.lineWidth;\n }\n return 0;\n }\n\n /**\n\t * @protected\n\t */\n drawGrid(chartArea) {\n const grid = this.options.grid;\n const ctx = this.ctx;\n const items = this._gridLineItems || (this._gridLineItems = this._computeGridLineItems(chartArea));\n let i, ilen;\n\n const drawLine = (p1, p2, style) => {\n if (!style.width || !style.color) {\n return;\n }\n ctx.save();\n ctx.lineWidth = style.width;\n ctx.strokeStyle = style.color;\n ctx.setLineDash(style.borderDash || []);\n ctx.lineDashOffset = style.borderDashOffset;\n\n ctx.beginPath();\n ctx.moveTo(p1.x, p1.y);\n ctx.lineTo(p2.x, p2.y);\n ctx.stroke();\n ctx.restore();\n };\n\n if (grid.display) {\n for (i = 0, ilen = items.length; i < ilen; ++i) {\n const item = items[i];\n\n if (grid.drawOnChartArea) {\n drawLine(\n {x: item.x1, y: item.y1},\n {x: item.x2, y: item.y2},\n item\n );\n }\n\n if (grid.drawTicks) {\n drawLine(\n {x: item.tx1, y: item.ty1},\n {x: item.tx2, y: item.ty2},\n {\n color: item.tickColor,\n width: item.tickWidth,\n borderDash: item.tickBorderDash,\n borderDashOffset: item.tickBorderDashOffset\n }\n );\n }\n }\n }\n }\n\n /**\n\t * @protected\n\t */\n drawBorder() {\n const {chart, ctx, options: {border, grid}} = this;\n const borderOpts = border.setContext(this.getContext());\n const axisWidth = border.display ? borderOpts.width : 0;\n if (!axisWidth) {\n return;\n }\n const lastLineWidth = grid.setContext(this.getContext(0)).lineWidth;\n const borderValue = this._borderValue;\n let x1, x2, y1, y2;\n\n if (this.isHorizontal()) {\n x1 = _alignPixel(chart, this.left, axisWidth) - axisWidth / 2;\n x2 = _alignPixel(chart, this.right, lastLineWidth) + lastLineWidth / 2;\n y1 = y2 = borderValue;\n } else {\n y1 = _alignPixel(chart, this.top, axisWidth) - axisWidth / 2;\n y2 = _alignPixel(chart, this.bottom, lastLineWidth) + lastLineWidth / 2;\n x1 = x2 = borderValue;\n }\n ctx.save();\n ctx.lineWidth = borderOpts.width;\n ctx.strokeStyle = borderOpts.color;\n\n ctx.beginPath();\n ctx.moveTo(x1, y1);\n ctx.lineTo(x2, y2);\n ctx.stroke();\n\n ctx.restore();\n }\n\n /**\n\t * @protected\n\t */\n drawLabels(chartArea) {\n const optionTicks = this.options.ticks;\n\n if (!optionTicks.display) {\n return;\n }\n\n const ctx = this.ctx;\n\n const area = this._computeLabelArea();\n if (area) {\n clipArea(ctx, area);\n }\n\n const items = this.getLabelItems(chartArea);\n for (const item of items) {\n const renderTextOptions = item.options;\n const tickFont = item.font;\n const label = item.label;\n const y = item.textOffset;\n renderText(ctx, label, 0, y, tickFont, renderTextOptions);\n }\n\n if (area) {\n unclipArea(ctx);\n }\n }\n\n /**\n\t * @protected\n\t */\n drawTitle() {\n const {ctx, options: {position, title, reverse}} = this;\n\n if (!title.display) {\n return;\n }\n\n const font = toFont(title.font);\n const padding = toPadding(title.padding);\n const align = title.align;\n let offset = font.lineHeight / 2;\n\n if (position === 'bottom' || position === 'center' || isObject(position)) {\n offset += padding.bottom;\n if (isArray(title.text)) {\n offset += font.lineHeight * (title.text.length - 1);\n }\n } else {\n offset += padding.top;\n }\n\n const {titleX, titleY, maxWidth, rotation} = titleArgs(this, offset, position, align);\n\n renderText(ctx, title.text, 0, 0, font, {\n color: title.color,\n maxWidth,\n rotation,\n textAlign: titleAlign(align, position, reverse),\n textBaseline: 'middle',\n translation: [titleX, titleY],\n });\n }\n\n draw(chartArea) {\n if (!this._isVisible()) {\n return;\n }\n\n this.drawBackground();\n this.drawGrid(chartArea);\n this.drawBorder();\n this.drawTitle();\n this.drawLabels(chartArea);\n }\n\n /**\n\t * @return {object[]}\n\t * @private\n\t */\n _layers() {\n const opts = this.options;\n const tz = opts.ticks && opts.ticks.z || 0;\n const gz = valueOrDefault(opts.grid && opts.grid.z, -1);\n const bz = valueOrDefault(opts.border && opts.border.z, 0);\n\n if (!this._isVisible() || this.draw !== Scale.prototype.draw) {\n // backward compatibility: draw has been overridden by custom scale\n return [{\n z: tz,\n draw: (chartArea) => {\n this.draw(chartArea);\n }\n }];\n }\n\n return [{\n z: gz,\n draw: (chartArea) => {\n this.drawBackground();\n this.drawGrid(chartArea);\n this.drawTitle();\n }\n }, {\n z: bz,\n draw: () => {\n this.drawBorder();\n }\n }, {\n z: tz,\n draw: (chartArea) => {\n this.drawLabels(chartArea);\n }\n }];\n }\n\n /**\n\t * Returns visible dataset metas that are attached to this scale\n\t * @param {string} [type] - if specified, also filter by dataset type\n\t * @return {object[]}\n\t */\n getMatchingVisibleMetas(type) {\n const metas = this.chart.getSortedVisibleDatasetMetas();\n const axisID = this.axis + 'AxisID';\n const result = [];\n let i, ilen;\n\n for (i = 0, ilen = metas.length; i < ilen; ++i) {\n const meta = metas[i];\n if (meta[axisID] === this.id && (!type || meta.type === type)) {\n result.push(meta);\n }\n }\n return result;\n }\n\n /**\n\t * @param {number} index\n\t * @return {object}\n\t * @protected\n \t */\n _resolveTickFontOptions(index) {\n const opts = this.options.ticks.setContext(this.getContext(index));\n return toFont(opts.font);\n }\n\n /**\n * @protected\n */\n _maxDigits() {\n const fontSize = this._resolveTickFontOptions(0).lineHeight;\n return (this.isHorizontal() ? this.width : this.height) / fontSize;\n }\n}\n","import {merge} from '../helpers/index.js';\nimport defaults, {overrides} from './core.defaults.js';\n\n/**\n * @typedef {{id: string, defaults: any, overrides?: any, defaultRoutes: any}} IChartComponent\n */\n\nexport default class TypedRegistry {\n constructor(type, scope, override) {\n this.type = type;\n this.scope = scope;\n this.override = override;\n this.items = Object.create(null);\n }\n\n isForType(type) {\n return Object.prototype.isPrototypeOf.call(this.type.prototype, type.prototype);\n }\n\n /**\n\t * @param {IChartComponent} item\n\t * @returns {string} The scope where items defaults were registered to.\n\t */\n register(item) {\n const proto = Object.getPrototypeOf(item);\n let parentScope;\n\n if (isIChartComponent(proto)) {\n // Make sure the parent is registered and note the scope where its defaults are.\n parentScope = this.register(proto);\n }\n\n const items = this.items;\n const id = item.id;\n const scope = this.scope + '.' + id;\n\n if (!id) {\n throw new Error('class does not have id: ' + item);\n }\n\n if (id in items) {\n // already registered\n return scope;\n }\n\n items[id] = item;\n registerDefaults(item, scope, parentScope);\n if (this.override) {\n defaults.override(item.id, item.overrides);\n }\n\n return scope;\n }\n\n /**\n\t * @param {string} id\n\t * @returns {object?}\n\t */\n get(id) {\n return this.items[id];\n }\n\n /**\n\t * @param {IChartComponent} item\n\t */\n unregister(item) {\n const items = this.items;\n const id = item.id;\n const scope = this.scope;\n\n if (id in items) {\n delete items[id];\n }\n\n if (scope && id in defaults[scope]) {\n delete defaults[scope][id];\n if (this.override) {\n delete overrides[id];\n }\n }\n }\n}\n\nfunction registerDefaults(item, scope, parentScope) {\n // Inherit the parent's defaults and keep existing defaults\n const itemDefaults = merge(Object.create(null), [\n parentScope ? defaults.get(parentScope) : {},\n defaults.get(scope),\n item.defaults\n ]);\n\n defaults.set(scope, itemDefaults);\n\n if (item.defaultRoutes) {\n routeDefaults(scope, item.defaultRoutes);\n }\n\n if (item.descriptors) {\n defaults.describe(scope, item.descriptors);\n }\n}\n\nfunction routeDefaults(scope, routes) {\n Object.keys(routes).forEach(property => {\n const propertyParts = property.split('.');\n const sourceName = propertyParts.pop();\n const sourceScope = [scope].concat(propertyParts).join('.');\n const parts = routes[property].split('.');\n const targetName = parts.pop();\n const targetScope = parts.join('.');\n defaults.route(sourceScope, sourceName, targetScope, targetName);\n });\n}\n\nfunction isIChartComponent(proto) {\n return 'id' in proto && 'defaults' in proto;\n}\n","import DatasetController from './core.datasetController.js';\nimport Element from './core.element.js';\nimport Scale from './core.scale.js';\nimport TypedRegistry from './core.typedRegistry.js';\nimport {each, callback as call, _capitalize} from '../helpers/helpers.core.js';\n\n/**\n * Please use the module's default export which provides a singleton instance\n * Note: class is exported for typedoc\n */\nexport class Registry {\n constructor() {\n this.controllers = new TypedRegistry(DatasetController, 'datasets', true);\n this.elements = new TypedRegistry(Element, 'elements');\n this.plugins = new TypedRegistry(Object, 'plugins');\n this.scales = new TypedRegistry(Scale, 'scales');\n // Order is important, Scale has Element in prototype chain,\n // so Scales must be before Elements. Plugins are a fallback, so not listed here.\n this._typedRegistries = [this.controllers, this.scales, this.elements];\n }\n\n /**\n\t * @param {...any} args\n\t */\n add(...args) {\n this._each('register', args);\n }\n\n remove(...args) {\n this._each('unregister', args);\n }\n\n /**\n\t * @param {...typeof DatasetController} args\n\t */\n addControllers(...args) {\n this._each('register', args, this.controllers);\n }\n\n /**\n\t * @param {...typeof Element} args\n\t */\n addElements(...args) {\n this._each('register', args, this.elements);\n }\n\n /**\n\t * @param {...any} args\n\t */\n addPlugins(...args) {\n this._each('register', args, this.plugins);\n }\n\n /**\n\t * @param {...typeof Scale} args\n\t */\n addScales(...args) {\n this._each('register', args, this.scales);\n }\n\n /**\n\t * @param {string} id\n\t * @returns {typeof DatasetController}\n\t */\n getController(id) {\n return this._get(id, this.controllers, 'controller');\n }\n\n /**\n\t * @param {string} id\n\t * @returns {typeof Element}\n\t */\n getElement(id) {\n return this._get(id, this.elements, 'element');\n }\n\n /**\n\t * @param {string} id\n\t * @returns {object}\n\t */\n getPlugin(id) {\n return this._get(id, this.plugins, 'plugin');\n }\n\n /**\n\t * @param {string} id\n\t * @returns {typeof Scale}\n\t */\n getScale(id) {\n return this._get(id, this.scales, 'scale');\n }\n\n /**\n\t * @param {...typeof DatasetController} args\n\t */\n removeControllers(...args) {\n this._each('unregister', args, this.controllers);\n }\n\n /**\n\t * @param {...typeof Element} args\n\t */\n removeElements(...args) {\n this._each('unregister', args, this.elements);\n }\n\n /**\n\t * @param {...any} args\n\t */\n removePlugins(...args) {\n this._each('unregister', args, this.plugins);\n }\n\n /**\n\t * @param {...typeof Scale} args\n\t */\n removeScales(...args) {\n this._each('unregister', args, this.scales);\n }\n\n /**\n\t * @private\n\t */\n _each(method, args, typedRegistry) {\n [...args].forEach(arg => {\n const reg = typedRegistry || this._getRegistryForType(arg);\n if (typedRegistry || reg.isForType(arg) || (reg === this.plugins && arg.id)) {\n this._exec(method, reg, arg);\n } else {\n // Handle loopable args\n // Use case:\n // import * as plugins from './plugins.js';\n // Chart.register(plugins);\n each(arg, item => {\n // If there are mixed types in the loopable, make sure those are\n // registered in correct registry\n // Use case: (treemap exporting controller, elements etc)\n // import * as treemap from 'chartjs-chart-treemap.js';\n // Chart.register(treemap);\n\n const itemReg = typedRegistry || this._getRegistryForType(item);\n this._exec(method, itemReg, item);\n });\n }\n });\n }\n\n /**\n\t * @private\n\t */\n _exec(method, registry, component) {\n const camelMethod = _capitalize(method);\n call(component['before' + camelMethod], [], component); // beforeRegister / beforeUnregister\n registry[method](component);\n call(component['after' + camelMethod], [], component); // afterRegister / afterUnregister\n }\n\n /**\n\t * @private\n\t */\n _getRegistryForType(type) {\n for (let i = 0; i < this._typedRegistries.length; i++) {\n const reg = this._typedRegistries[i];\n if (reg.isForType(type)) {\n return reg;\n }\n }\n // plugins is the fallback registry\n return this.plugins;\n }\n\n /**\n\t * @private\n\t */\n _get(id, typedRegistry, type) {\n const item = typedRegistry.get(id);\n if (item === undefined) {\n throw new Error('\"' + id + '\" is not a registered ' + type + '.');\n }\n return item;\n }\n\n}\n\n// singleton instance\nexport default /* #__PURE__ */ new Registry();\n","import registry from './core.registry.js';\nimport {callback as callCallback, isNullOrUndef, valueOrDefault} from '../helpers/helpers.core.js';\n\n/**\n * @typedef { import('./core.controller.js').default } Chart\n * @typedef { import('../types/index.js').ChartEvent } ChartEvent\n * @typedef { import('../plugins/plugin.tooltip.js').default } Tooltip\n */\n\n/**\n * @callback filterCallback\n * @param {{plugin: object, options: object}} value\n * @param {number} [index]\n * @param {array} [array]\n * @param {object} [thisArg]\n * @return {boolean}\n */\n\n\nexport default class PluginService {\n constructor() {\n this._init = [];\n }\n\n /**\n\t * Calls enabled plugins for `chart` on the specified hook and with the given args.\n\t * This method immediately returns as soon as a plugin explicitly returns false. The\n\t * returned value can be used, for instance, to interrupt the current action.\n\t * @param {Chart} chart - The chart instance for which plugins should be called.\n\t * @param {string} hook - The name of the plugin method to call (e.g. 'beforeUpdate').\n\t * @param {object} [args] - Extra arguments to apply to the hook call.\n * @param {filterCallback} [filter] - Filtering function for limiting which plugins are notified\n\t * @returns {boolean} false if any of the plugins return false, else returns true.\n\t */\n notify(chart, hook, args, filter) {\n if (hook === 'beforeInit') {\n this._init = this._createDescriptors(chart, true);\n this._notify(this._init, chart, 'install');\n }\n\n const descriptors = filter ? this._descriptors(chart).filter(filter) : this._descriptors(chart);\n const result = this._notify(descriptors, chart, hook, args);\n\n if (hook === 'afterDestroy') {\n this._notify(descriptors, chart, 'stop');\n this._notify(this._init, chart, 'uninstall');\n }\n return result;\n }\n\n /**\n\t * @private\n\t */\n _notify(descriptors, chart, hook, args) {\n args = args || {};\n for (const descriptor of descriptors) {\n const plugin = descriptor.plugin;\n const method = plugin[hook];\n const params = [chart, args, descriptor.options];\n if (callCallback(method, params, plugin) === false && args.cancelable) {\n return false;\n }\n }\n\n return true;\n }\n\n invalidate() {\n // When plugins are registered, there is the possibility of a double\n // invalidate situation. In this case, we only want to invalidate once.\n // If we invalidate multiple times, the `_oldCache` is lost and all of the\n // plugins are restarted without being correctly stopped.\n // See https://github.com/chartjs/Chart.js/issues/8147\n if (!isNullOrUndef(this._cache)) {\n this._oldCache = this._cache;\n this._cache = undefined;\n }\n }\n\n /**\n\t * @param {Chart} chart\n\t * @private\n\t */\n _descriptors(chart) {\n if (this._cache) {\n return this._cache;\n }\n\n const descriptors = this._cache = this._createDescriptors(chart);\n\n this._notifyStateChanges(chart);\n\n return descriptors;\n }\n\n _createDescriptors(chart, all) {\n const config = chart && chart.config;\n const options = valueOrDefault(config.options && config.options.plugins, {});\n const plugins = allPlugins(config);\n // options === false => all plugins are disabled\n return options === false && !all ? [] : createDescriptors(chart, plugins, options, all);\n }\n\n /**\n\t * @param {Chart} chart\n\t * @private\n\t */\n _notifyStateChanges(chart) {\n const previousDescriptors = this._oldCache || [];\n const descriptors = this._cache;\n const diff = (a, b) => a.filter(x => !b.some(y => x.plugin.id === y.plugin.id));\n this._notify(diff(previousDescriptors, descriptors), chart, 'stop');\n this._notify(diff(descriptors, previousDescriptors), chart, 'start');\n }\n}\n\n/**\n * @param {import('./core.config.js').default} config\n */\nfunction allPlugins(config) {\n const localIds = {};\n const plugins = [];\n const keys = Object.keys(registry.plugins.items);\n for (let i = 0; i < keys.length; i++) {\n plugins.push(registry.getPlugin(keys[i]));\n }\n\n const local = config.plugins || [];\n for (let i = 0; i < local.length; i++) {\n const plugin = local[i];\n\n if (plugins.indexOf(plugin) === -1) {\n plugins.push(plugin);\n localIds[plugin.id] = true;\n }\n }\n\n return {plugins, localIds};\n}\n\nfunction getOpts(options, all) {\n if (!all && options === false) {\n return null;\n }\n if (options === true) {\n return {};\n }\n return options;\n}\n\nfunction createDescriptors(chart, {plugins, localIds}, options, all) {\n const result = [];\n const context = chart.getContext();\n\n for (const plugin of plugins) {\n const id = plugin.id;\n const opts = getOpts(options[id], all);\n if (opts === null) {\n continue;\n }\n result.push({\n plugin,\n options: pluginOpts(chart.config, {plugin, local: localIds[id]}, opts, context)\n });\n }\n\n return result;\n}\n\nfunction pluginOpts(config, {plugin, local}, opts, context) {\n const keys = config.pluginScopeKeys(plugin);\n const scopes = config.getOptionScopes(opts, keys);\n if (local && plugin.defaults) {\n // make sure plugin defaults are in scopes for local (not registered) plugins\n scopes.push(plugin.defaults);\n }\n return config.createResolver(scopes, context, [''], {\n // These are just defaults that plugins can override\n scriptable: false,\n indexable: false,\n allKeys: true\n });\n}\n","import defaults, {overrides, descriptors} from './core.defaults.js';\nimport {mergeIf, resolveObjectKey, isArray, isFunction, valueOrDefault, isObject} from '../helpers/helpers.core.js';\nimport {_attachContext, _createResolver, _descriptors} from '../helpers/helpers.config.js';\n\nexport function getIndexAxis(type, options) {\n const datasetDefaults = defaults.datasets[type] || {};\n const datasetOptions = (options.datasets || {})[type] || {};\n return datasetOptions.indexAxis || options.indexAxis || datasetDefaults.indexAxis || 'x';\n}\n\nfunction getAxisFromDefaultScaleID(id, indexAxis) {\n let axis = id;\n if (id === '_index_') {\n axis = indexAxis;\n } else if (id === '_value_') {\n axis = indexAxis === 'x' ? 'y' : 'x';\n }\n return axis;\n}\n\nfunction getDefaultScaleIDFromAxis(axis, indexAxis) {\n return axis === indexAxis ? '_index_' : '_value_';\n}\n\nfunction idMatchesAxis(id) {\n if (id === 'x' || id === 'y' || id === 'r') {\n return id;\n }\n}\n\nfunction axisFromPosition(position) {\n if (position === 'top' || position === 'bottom') {\n return 'x';\n }\n if (position === 'left' || position === 'right') {\n return 'y';\n }\n}\n\nexport function determineAxis(id, ...scaleOptions) {\n if (idMatchesAxis(id)) {\n return id;\n }\n for (const opts of scaleOptions) {\n const axis = opts.axis\n || axisFromPosition(opts.position)\n || id.length > 1 && idMatchesAxis(id[0].toLowerCase());\n if (axis) {\n return axis;\n }\n }\n throw new Error(`Cannot determine type of '${id}' axis. Please provide 'axis' or 'position' option.`);\n}\n\nfunction getAxisFromDataset(id, axis, dataset) {\n if (dataset[axis + 'AxisID'] === id) {\n return {axis};\n }\n}\n\nfunction retrieveAxisFromDatasets(id, config) {\n if (config.data && config.data.datasets) {\n const boundDs = config.data.datasets.filter((d) => d.xAxisID === id || d.yAxisID === id);\n if (boundDs.length) {\n return getAxisFromDataset(id, 'x', boundDs[0]) || getAxisFromDataset(id, 'y', boundDs[0]);\n }\n }\n return {};\n}\n\nfunction mergeScaleConfig(config, options) {\n const chartDefaults = overrides[config.type] || {scales: {}};\n const configScales = options.scales || {};\n const chartIndexAxis = getIndexAxis(config.type, options);\n const scales = Object.create(null);\n\n // First figure out first scale id's per axis.\n Object.keys(configScales).forEach(id => {\n const scaleConf = configScales[id];\n if (!isObject(scaleConf)) {\n return console.error(`Invalid scale configuration for scale: ${id}`);\n }\n if (scaleConf._proxy) {\n return console.warn(`Ignoring resolver passed as options for scale: ${id}`);\n }\n const axis = determineAxis(id, scaleConf, retrieveAxisFromDatasets(id, config), defaults.scales[scaleConf.type]);\n const defaultId = getDefaultScaleIDFromAxis(axis, chartIndexAxis);\n const defaultScaleOptions = chartDefaults.scales || {};\n scales[id] = mergeIf(Object.create(null), [{axis}, scaleConf, defaultScaleOptions[axis], defaultScaleOptions[defaultId]]);\n });\n\n // Then merge dataset defaults to scale configs\n config.data.datasets.forEach(dataset => {\n const type = dataset.type || config.type;\n const indexAxis = dataset.indexAxis || getIndexAxis(type, options);\n const datasetDefaults = overrides[type] || {};\n const defaultScaleOptions = datasetDefaults.scales || {};\n Object.keys(defaultScaleOptions).forEach(defaultID => {\n const axis = getAxisFromDefaultScaleID(defaultID, indexAxis);\n const id = dataset[axis + 'AxisID'] || axis;\n scales[id] = scales[id] || Object.create(null);\n mergeIf(scales[id], [{axis}, configScales[id], defaultScaleOptions[defaultID]]);\n });\n });\n\n // apply scale defaults, if not overridden by dataset defaults\n Object.keys(scales).forEach(key => {\n const scale = scales[key];\n mergeIf(scale, [defaults.scales[scale.type], defaults.scale]);\n });\n\n return scales;\n}\n\nfunction initOptions(config) {\n const options = config.options || (config.options = {});\n\n options.plugins = valueOrDefault(options.plugins, {});\n options.scales = mergeScaleConfig(config, options);\n}\n\nfunction initData(data) {\n data = data || {};\n data.datasets = data.datasets || [];\n data.labels = data.labels || [];\n return data;\n}\n\nfunction initConfig(config) {\n config = config || {};\n config.data = initData(config.data);\n\n initOptions(config);\n\n return config;\n}\n\nconst keyCache = new Map();\nconst keysCached = new Set();\n\nfunction cachedKeys(cacheKey, generate) {\n let keys = keyCache.get(cacheKey);\n if (!keys) {\n keys = generate();\n keyCache.set(cacheKey, keys);\n keysCached.add(keys);\n }\n return keys;\n}\n\nconst addIfFound = (set, obj, key) => {\n const opts = resolveObjectKey(obj, key);\n if (opts !== undefined) {\n set.add(opts);\n }\n};\n\nexport default class Config {\n constructor(config) {\n this._config = initConfig(config);\n this._scopeCache = new Map();\n this._resolverCache = new Map();\n }\n\n get platform() {\n return this._config.platform;\n }\n\n get type() {\n return this._config.type;\n }\n\n set type(type) {\n this._config.type = type;\n }\n\n get data() {\n return this._config.data;\n }\n\n set data(data) {\n this._config.data = initData(data);\n }\n\n get options() {\n return this._config.options;\n }\n\n set options(options) {\n this._config.options = options;\n }\n\n get plugins() {\n return this._config.plugins;\n }\n\n update() {\n const config = this._config;\n this.clearCache();\n initOptions(config);\n }\n\n clearCache() {\n this._scopeCache.clear();\n this._resolverCache.clear();\n }\n\n /**\n * Returns the option scope keys for resolving dataset options.\n * These keys do not include the dataset itself, because it is not under options.\n * @param {string} datasetType\n * @return {string[][]}\n */\n datasetScopeKeys(datasetType) {\n return cachedKeys(datasetType,\n () => [[\n `datasets.${datasetType}`,\n ''\n ]]);\n }\n\n /**\n * Returns the option scope keys for resolving dataset animation options.\n * These keys do not include the dataset itself, because it is not under options.\n * @param {string} datasetType\n * @param {string} transition\n * @return {string[][]}\n */\n datasetAnimationScopeKeys(datasetType, transition) {\n return cachedKeys(`${datasetType}.transition.${transition}`,\n () => [\n [\n `datasets.${datasetType}.transitions.${transition}`,\n `transitions.${transition}`,\n ],\n // The following are used for looking up the `animations` and `animation` keys\n [\n `datasets.${datasetType}`,\n ''\n ]\n ]);\n }\n\n /**\n * Returns the options scope keys for resolving element options that belong\n * to an dataset. These keys do not include the dataset itself, because it\n * is not under options.\n * @param {string} datasetType\n * @param {string} elementType\n * @return {string[][]}\n */\n datasetElementScopeKeys(datasetType, elementType) {\n return cachedKeys(`${datasetType}-${elementType}`,\n () => [[\n `datasets.${datasetType}.elements.${elementType}`,\n `datasets.${datasetType}`,\n `elements.${elementType}`,\n ''\n ]]);\n }\n\n /**\n * Returns the options scope keys for resolving plugin options.\n * @param {{id: string, additionalOptionScopes?: string[]}} plugin\n * @return {string[][]}\n */\n pluginScopeKeys(plugin) {\n const id = plugin.id;\n const type = this.type;\n return cachedKeys(`${type}-plugin-${id}`,\n () => [[\n `plugins.${id}`,\n ...plugin.additionalOptionScopes || [],\n ]]);\n }\n\n /**\n * @private\n */\n _cachedScopes(mainScope, resetCache) {\n const _scopeCache = this._scopeCache;\n let cache = _scopeCache.get(mainScope);\n if (!cache || resetCache) {\n cache = new Map();\n _scopeCache.set(mainScope, cache);\n }\n return cache;\n }\n\n /**\n * Resolves the objects from options and defaults for option value resolution.\n * @param {object} mainScope - The main scope object for options\n * @param {string[][]} keyLists - The arrays of keys in resolution order\n * @param {boolean} [resetCache] - reset the cache for this mainScope\n */\n getOptionScopes(mainScope, keyLists, resetCache) {\n const {options, type} = this;\n const cache = this._cachedScopes(mainScope, resetCache);\n const cached = cache.get(keyLists);\n if (cached) {\n return cached;\n }\n\n const scopes = new Set();\n\n keyLists.forEach(keys => {\n if (mainScope) {\n scopes.add(mainScope);\n keys.forEach(key => addIfFound(scopes, mainScope, key));\n }\n keys.forEach(key => addIfFound(scopes, options, key));\n keys.forEach(key => addIfFound(scopes, overrides[type] || {}, key));\n keys.forEach(key => addIfFound(scopes, defaults, key));\n keys.forEach(key => addIfFound(scopes, descriptors, key));\n });\n\n const array = Array.from(scopes);\n if (array.length === 0) {\n array.push(Object.create(null));\n }\n if (keysCached.has(keyLists)) {\n cache.set(keyLists, array);\n }\n return array;\n }\n\n /**\n * Returns the option scopes for resolving chart options\n * @return {object[]}\n */\n chartOptionScopes() {\n const {options, type} = this;\n\n return [\n options,\n overrides[type] || {},\n defaults.datasets[type] || {}, // https://github.com/chartjs/Chart.js/issues/8531\n {type},\n defaults,\n descriptors\n ];\n }\n\n /**\n * @param {object[]} scopes\n * @param {string[]} names\n * @param {function|object} context\n * @param {string[]} [prefixes]\n * @return {object}\n */\n resolveNamedOptions(scopes, names, context, prefixes = ['']) {\n const result = {$shared: true};\n const {resolver, subPrefixes} = getResolver(this._resolverCache, scopes, prefixes);\n let options = resolver;\n if (needContext(resolver, names)) {\n result.$shared = false;\n context = isFunction(context) ? context() : context;\n // subResolver is passed to scriptable options. It should not resolve to hover options.\n const subResolver = this.createResolver(scopes, context, subPrefixes);\n options = _attachContext(resolver, context, subResolver);\n }\n\n for (const prop of names) {\n result[prop] = options[prop];\n }\n return result;\n }\n\n /**\n * @param {object[]} scopes\n * @param {object} [context]\n * @param {string[]} [prefixes]\n * @param {{scriptable: boolean, indexable: boolean, allKeys?: boolean}} [descriptorDefaults]\n */\n createResolver(scopes, context, prefixes = [''], descriptorDefaults) {\n const {resolver} = getResolver(this._resolverCache, scopes, prefixes);\n return isObject(context)\n ? _attachContext(resolver, context, undefined, descriptorDefaults)\n : resolver;\n }\n}\n\nfunction getResolver(resolverCache, scopes, prefixes) {\n let cache = resolverCache.get(scopes);\n if (!cache) {\n cache = new Map();\n resolverCache.set(scopes, cache);\n }\n const cacheKey = prefixes.join();\n let cached = cache.get(cacheKey);\n if (!cached) {\n const resolver = _createResolver(scopes, prefixes);\n cached = {\n resolver,\n subPrefixes: prefixes.filter(p => !p.toLowerCase().includes('hover'))\n };\n cache.set(cacheKey, cached);\n }\n return cached;\n}\n\nconst hasFunction = value => isObject(value)\n && Object.getOwnPropertyNames(value).some((key) => isFunction(value[key]));\n\nfunction needContext(proxy, names) {\n const {isScriptable, isIndexable} = _descriptors(proxy);\n\n for (const prop of names) {\n const scriptable = isScriptable(prop);\n const indexable = isIndexable(prop);\n const value = (indexable || scriptable) && proxy[prop];\n if ((scriptable && (isFunction(value) || hasFunction(value)))\n || (indexable && isArray(value))) {\n return true;\n }\n }\n return false;\n}\n","import animator from './core.animator.js';\nimport defaults, {overrides} from './core.defaults.js';\nimport Interaction from './core.interaction.js';\nimport layouts from './core.layouts.js';\nimport {_detectPlatform} from '../platform/index.js';\nimport PluginService from './core.plugins.js';\nimport registry from './core.registry.js';\nimport Config, {determineAxis, getIndexAxis} from './core.config.js';\nimport {retinaScale, _isDomSupported} from '../helpers/helpers.dom.js';\nimport {each, callback as callCallback, uid, valueOrDefault, _elementsEqual, isNullOrUndef, setsEqual, defined, isFunction, _isClickEvent} from '../helpers/helpers.core.js';\nimport {clearCanvas, clipArea, createContext, unclipArea, _isPointInArea} from '../helpers/index.js';\n// @ts-ignore\nimport {version} from '../../package.json';\nimport {debounce} from '../helpers/helpers.extras.js';\n\n/**\n * @typedef { import('../types/index.js').ChartEvent } ChartEvent\n * @typedef { import('../types/index.js').Point } Point\n */\n\nconst KNOWN_POSITIONS = ['top', 'bottom', 'left', 'right', 'chartArea'];\nfunction positionIsHorizontal(position, axis) {\n return position === 'top' || position === 'bottom' || (KNOWN_POSITIONS.indexOf(position) === -1 && axis === 'x');\n}\n\nfunction compare2Level(l1, l2) {\n return function(a, b) {\n return a[l1] === b[l1]\n ? a[l2] - b[l2]\n : a[l1] - b[l1];\n };\n}\n\nfunction onAnimationsComplete(context) {\n const chart = context.chart;\n const animationOptions = chart.options.animation;\n\n chart.notifyPlugins('afterRender');\n callCallback(animationOptions && animationOptions.onComplete, [context], chart);\n}\n\nfunction onAnimationProgress(context) {\n const chart = context.chart;\n const animationOptions = chart.options.animation;\n callCallback(animationOptions && animationOptions.onProgress, [context], chart);\n}\n\n/**\n * Chart.js can take a string id of a canvas element, a 2d context, or a canvas element itself.\n * Attempt to unwrap the item passed into the chart constructor so that it is a canvas element (if possible).\n */\nfunction getCanvas(item) {\n if (_isDomSupported() && typeof item === 'string') {\n item = document.getElementById(item);\n } else if (item && item.length) {\n // Support for array based queries (such as jQuery)\n item = item[0];\n }\n\n if (item && item.canvas) {\n // Support for any object associated to a canvas (including a context2d)\n item = item.canvas;\n }\n return item;\n}\n\nconst instances = {};\nconst getChart = (key) => {\n const canvas = getCanvas(key);\n return Object.values(instances).filter((c) => c.canvas === canvas).pop();\n};\n\nfunction moveNumericKeys(obj, start, move) {\n const keys = Object.keys(obj);\n for (const key of keys) {\n const intKey = +key;\n if (intKey >= start) {\n const value = obj[key];\n delete obj[key];\n if (move > 0 || intKey > start) {\n obj[intKey + move] = value;\n }\n }\n }\n}\n\n/**\n * @param {ChartEvent} e\n * @param {ChartEvent|null} lastEvent\n * @param {boolean} inChartArea\n * @param {boolean} isClick\n * @returns {ChartEvent|null}\n */\nfunction determineLastEvent(e, lastEvent, inChartArea, isClick) {\n if (!inChartArea || e.type === 'mouseout') {\n return null;\n }\n if (isClick) {\n return lastEvent;\n }\n return e;\n}\n\nfunction getSizeForArea(scale, chartArea, field) {\n return scale.options.clip ? scale[field] : chartArea[field];\n}\n\nfunction getDatasetArea(meta, chartArea) {\n const {xScale, yScale} = meta;\n if (xScale && yScale) {\n return {\n left: getSizeForArea(xScale, chartArea, 'left'),\n right: getSizeForArea(xScale, chartArea, 'right'),\n top: getSizeForArea(yScale, chartArea, 'top'),\n bottom: getSizeForArea(yScale, chartArea, 'bottom')\n };\n }\n return chartArea;\n}\n\nclass Chart {\n\n static defaults = defaults;\n static instances = instances;\n static overrides = overrides;\n static registry = registry;\n static version = version;\n static getChart = getChart;\n\n static register(...items) {\n registry.add(...items);\n invalidatePlugins();\n }\n\n static unregister(...items) {\n registry.remove(...items);\n invalidatePlugins();\n }\n\n // eslint-disable-next-line max-statements\n constructor(item, userConfig) {\n const config = this.config = new Config(userConfig);\n const initialCanvas = getCanvas(item);\n const existingChart = getChart(initialCanvas);\n if (existingChart) {\n throw new Error(\n 'Canvas is already in use. Chart with ID \\'' + existingChart.id + '\\'' +\n\t\t\t\t' must be destroyed before the canvas with ID \\'' + existingChart.canvas.id + '\\' can be reused.'\n );\n }\n\n const options = config.createResolver(config.chartOptionScopes(), this.getContext());\n\n this.platform = new (config.platform || _detectPlatform(initialCanvas))();\n this.platform.updateConfig(config);\n\n const context = this.platform.acquireContext(initialCanvas, options.aspectRatio);\n const canvas = context && context.canvas;\n const height = canvas && canvas.height;\n const width = canvas && canvas.width;\n\n this.id = uid();\n this.ctx = context;\n this.canvas = canvas;\n this.width = width;\n this.height = height;\n this._options = options;\n // Store the previously used aspect ratio to determine if a resize\n // is needed during updates. Do this after _options is set since\n // aspectRatio uses a getter\n this._aspectRatio = this.aspectRatio;\n this._layers = [];\n this._metasets = [];\n this._stacks = undefined;\n this.boxes = [];\n this.currentDevicePixelRatio = undefined;\n this.chartArea = undefined;\n this._active = [];\n this._lastEvent = undefined;\n this._listeners = {};\n /** @type {?{attach?: function, detach?: function, resize?: function}} */\n this._responsiveListeners = undefined;\n this._sortedMetasets = [];\n this.scales = {};\n this._plugins = new PluginService();\n this.$proxies = {};\n this._hiddenIndices = {};\n this.attached = false;\n this._animationsDisabled = undefined;\n this.$context = undefined;\n this._doResize = debounce(mode => this.update(mode), options.resizeDelay || 0);\n this._dataChanges = [];\n\n // Add the chart instance to the global namespace\n instances[this.id] = this;\n\n if (!context || !canvas) {\n // The given item is not a compatible context2d element, let's return before finalizing\n // the chart initialization but after setting basic chart / controller properties that\n // can help to figure out that the chart is not valid (e.g chart.canvas !== null);\n // https://github.com/chartjs/Chart.js/issues/2807\n console.error(\"Failed to create chart: can't acquire context from the given item\");\n return;\n }\n\n animator.listen(this, 'complete', onAnimationsComplete);\n animator.listen(this, 'progress', onAnimationProgress);\n\n this._initialize();\n if (this.attached) {\n this.update();\n }\n }\n\n get aspectRatio() {\n const {options: {aspectRatio, maintainAspectRatio}, width, height, _aspectRatio} = this;\n if (!isNullOrUndef(aspectRatio)) {\n // If aspectRatio is defined in options, use that.\n return aspectRatio;\n }\n\n if (maintainAspectRatio && _aspectRatio) {\n // If maintainAspectRatio is truthly and we had previously determined _aspectRatio, use that\n return _aspectRatio;\n }\n\n // Calculate\n return height ? width / height : null;\n }\n\n get data() {\n return this.config.data;\n }\n\n set data(data) {\n this.config.data = data;\n }\n\n get options() {\n return this._options;\n }\n\n set options(options) {\n this.config.options = options;\n }\n\n get registry() {\n return registry;\n }\n\n /**\n\t * @private\n\t */\n _initialize() {\n // Before init plugin notification\n this.notifyPlugins('beforeInit');\n\n if (this.options.responsive) {\n this.resize();\n } else {\n retinaScale(this, this.options.devicePixelRatio);\n }\n\n this.bindEvents();\n\n // After init plugin notification\n this.notifyPlugins('afterInit');\n\n return this;\n }\n\n clear() {\n clearCanvas(this.canvas, this.ctx);\n return this;\n }\n\n stop() {\n animator.stop(this);\n return this;\n }\n\n /**\n\t * Resize the chart to its container or to explicit dimensions.\n\t * @param {number} [width]\n\t * @param {number} [height]\n\t */\n resize(width, height) {\n if (!animator.running(this)) {\n this._resize(width, height);\n } else {\n this._resizeBeforeDraw = {width, height};\n }\n }\n\n _resize(width, height) {\n const options = this.options;\n const canvas = this.canvas;\n const aspectRatio = options.maintainAspectRatio && this.aspectRatio;\n const newSize = this.platform.getMaximumSize(canvas, width, height, aspectRatio);\n const newRatio = options.devicePixelRatio || this.platform.getDevicePixelRatio();\n const mode = this.width ? 'resize' : 'attach';\n\n this.width = newSize.width;\n this.height = newSize.height;\n this._aspectRatio = this.aspectRatio;\n if (!retinaScale(this, newRatio, true)) {\n return;\n }\n\n this.notifyPlugins('resize', {size: newSize});\n\n callCallback(options.onResize, [this, newSize], this);\n\n if (this.attached) {\n if (this._doResize(mode)) {\n // The resize update is delayed, only draw without updating.\n this.render();\n }\n }\n }\n\n ensureScalesHaveIDs() {\n const options = this.options;\n const scalesOptions = options.scales || {};\n\n each(scalesOptions, (axisOptions, axisID) => {\n axisOptions.id = axisID;\n });\n }\n\n /**\n\t * Builds a map of scale ID to scale object for future lookup.\n\t */\n buildOrUpdateScales() {\n const options = this.options;\n const scaleOpts = options.scales;\n const scales = this.scales;\n const updated = Object.keys(scales).reduce((obj, id) => {\n obj[id] = false;\n return obj;\n }, {});\n let items = [];\n\n if (scaleOpts) {\n items = items.concat(\n Object.keys(scaleOpts).map((id) => {\n const scaleOptions = scaleOpts[id];\n const axis = determineAxis(id, scaleOptions);\n const isRadial = axis === 'r';\n const isHorizontal = axis === 'x';\n return {\n options: scaleOptions,\n dposition: isRadial ? 'chartArea' : isHorizontal ? 'bottom' : 'left',\n dtype: isRadial ? 'radialLinear' : isHorizontal ? 'category' : 'linear'\n };\n })\n );\n }\n\n each(items, (item) => {\n const scaleOptions = item.options;\n const id = scaleOptions.id;\n const axis = determineAxis(id, scaleOptions);\n const scaleType = valueOrDefault(scaleOptions.type, item.dtype);\n\n if (scaleOptions.position === undefined || positionIsHorizontal(scaleOptions.position, axis) !== positionIsHorizontal(item.dposition)) {\n scaleOptions.position = item.dposition;\n }\n\n updated[id] = true;\n let scale = null;\n if (id in scales && scales[id].type === scaleType) {\n scale = scales[id];\n } else {\n const scaleClass = registry.getScale(scaleType);\n scale = new scaleClass({\n id,\n type: scaleType,\n ctx: this.ctx,\n chart: this\n });\n scales[scale.id] = scale;\n }\n\n scale.init(scaleOptions, options);\n });\n // clear up discarded scales\n each(updated, (hasUpdated, id) => {\n if (!hasUpdated) {\n delete scales[id];\n }\n });\n\n each(scales, (scale) => {\n layouts.configure(this, scale, scale.options);\n layouts.addBox(this, scale);\n });\n }\n\n /**\n\t * @private\n\t */\n _updateMetasets() {\n const metasets = this._metasets;\n const numData = this.data.datasets.length;\n const numMeta = metasets.length;\n\n metasets.sort((a, b) => a.index - b.index);\n if (numMeta > numData) {\n for (let i = numData; i < numMeta; ++i) {\n this._destroyDatasetMeta(i);\n }\n metasets.splice(numData, numMeta - numData);\n }\n this._sortedMetasets = metasets.slice(0).sort(compare2Level('order', 'index'));\n }\n\n /**\n\t * @private\n\t */\n _removeUnreferencedMetasets() {\n const {_metasets: metasets, data: {datasets}} = this;\n if (metasets.length > datasets.length) {\n delete this._stacks;\n }\n metasets.forEach((meta, index) => {\n if (datasets.filter(x => x === meta._dataset).length === 0) {\n this._destroyDatasetMeta(index);\n }\n });\n }\n\n buildOrUpdateControllers() {\n const newControllers = [];\n const datasets = this.data.datasets;\n let i, ilen;\n\n this._removeUnreferencedMetasets();\n\n for (i = 0, ilen = datasets.length; i < ilen; i++) {\n const dataset = datasets[i];\n let meta = this.getDatasetMeta(i);\n const type = dataset.type || this.config.type;\n\n if (meta.type && meta.type !== type) {\n this._destroyDatasetMeta(i);\n meta = this.getDatasetMeta(i);\n }\n meta.type = type;\n meta.indexAxis = dataset.indexAxis || getIndexAxis(type, this.options);\n meta.order = dataset.order || 0;\n meta.index = i;\n meta.label = '' + dataset.label;\n meta.visible = this.isDatasetVisible(i);\n\n if (meta.controller) {\n meta.controller.updateIndex(i);\n meta.controller.linkScales();\n } else {\n const ControllerClass = registry.getController(type);\n const {datasetElementType, dataElementType} = defaults.datasets[type];\n Object.assign(ControllerClass, {\n dataElementType: registry.getElement(dataElementType),\n datasetElementType: datasetElementType && registry.getElement(datasetElementType)\n });\n meta.controller = new ControllerClass(this, i);\n newControllers.push(meta.controller);\n }\n }\n\n this._updateMetasets();\n return newControllers;\n }\n\n /**\n\t * Reset the elements of all datasets\n\t * @private\n\t */\n _resetElements() {\n each(this.data.datasets, (dataset, datasetIndex) => {\n this.getDatasetMeta(datasetIndex).controller.reset();\n }, this);\n }\n\n /**\n\t* Resets the chart back to its state before the initial animation\n\t*/\n reset() {\n this._resetElements();\n this.notifyPlugins('reset');\n }\n\n update(mode) {\n const config = this.config;\n\n config.update();\n const options = this._options = config.createResolver(config.chartOptionScopes(), this.getContext());\n const animsDisabled = this._animationsDisabled = !options.animation;\n\n this._updateScales();\n this._checkEventBindings();\n this._updateHiddenIndices();\n\n // plugins options references might have change, let's invalidate the cache\n // https://github.com/chartjs/Chart.js/issues/5111#issuecomment-355934167\n this._plugins.invalidate();\n\n if (this.notifyPlugins('beforeUpdate', {mode, cancelable: true}) === false) {\n return;\n }\n\n // Make sure dataset controllers are updated and new controllers are reset\n const newControllers = this.buildOrUpdateControllers();\n\n this.notifyPlugins('beforeElementsUpdate');\n\n // Make sure all dataset controllers have correct meta data counts\n let minPadding = 0;\n for (let i = 0, ilen = this.data.datasets.length; i < ilen; i++) {\n const {controller} = this.getDatasetMeta(i);\n const reset = !animsDisabled && newControllers.indexOf(controller) === -1;\n // New controllers will be reset after the layout pass, so we only want to modify\n // elements added to new datasets\n controller.buildOrUpdateElements(reset);\n minPadding = Math.max(+controller.getMaxOverflow(), minPadding);\n }\n minPadding = this._minPadding = options.layout.autoPadding ? minPadding : 0;\n this._updateLayout(minPadding);\n\n // Only reset the controllers if we have animations\n if (!animsDisabled) {\n // Can only reset the new controllers after the scales have been updated\n // Reset is done to get the starting point for the initial animation\n each(newControllers, (controller) => {\n controller.reset();\n });\n }\n\n this._updateDatasets(mode);\n\n // Do this before render so that any plugins that need final scale updates can use it\n this.notifyPlugins('afterUpdate', {mode});\n\n this._layers.sort(compare2Level('z', '_idx'));\n\n // Replay last event from before update, or set hover styles on active elements\n const {_active, _lastEvent} = this;\n if (_lastEvent) {\n this._eventHandler(_lastEvent, true);\n } else if (_active.length) {\n this._updateHoverStyles(_active, _active, true);\n }\n\n this.render();\n }\n\n /**\n * @private\n */\n _updateScales() {\n each(this.scales, (scale) => {\n layouts.removeBox(this, scale);\n });\n\n this.ensureScalesHaveIDs();\n this.buildOrUpdateScales();\n }\n\n /**\n * @private\n */\n _checkEventBindings() {\n const options = this.options;\n const existingEvents = new Set(Object.keys(this._listeners));\n const newEvents = new Set(options.events);\n\n if (!setsEqual(existingEvents, newEvents) || !!this._responsiveListeners !== options.responsive) {\n // The configured events have changed. Rebind.\n this.unbindEvents();\n this.bindEvents();\n }\n }\n\n /**\n * @private\n */\n _updateHiddenIndices() {\n const {_hiddenIndices} = this;\n const changes = this._getUniformDataChanges() || [];\n for (const {method, start, count} of changes) {\n const move = method === '_removeElements' ? -count : count;\n moveNumericKeys(_hiddenIndices, start, move);\n }\n }\n\n /**\n * @private\n */\n _getUniformDataChanges() {\n const _dataChanges = this._dataChanges;\n if (!_dataChanges || !_dataChanges.length) {\n return;\n }\n\n this._dataChanges = [];\n const datasetCount = this.data.datasets.length;\n const makeSet = (idx) => new Set(\n _dataChanges\n .filter(c => c[0] === idx)\n .map((c, i) => i + ',' + c.splice(1).join(','))\n );\n\n const changeSet = makeSet(0);\n for (let i = 1; i < datasetCount; i++) {\n if (!setsEqual(changeSet, makeSet(i))) {\n return;\n }\n }\n return Array.from(changeSet)\n .map(c => c.split(','))\n .map(a => ({method: a[1], start: +a[2], count: +a[3]}));\n }\n\n /**\n\t * Updates the chart layout unless a plugin returns `false` to the `beforeLayout`\n\t * hook, in which case, plugins will not be called on `afterLayout`.\n\t * @private\n\t */\n _updateLayout(minPadding) {\n if (this.notifyPlugins('beforeLayout', {cancelable: true}) === false) {\n return;\n }\n\n layouts.update(this, this.width, this.height, minPadding);\n\n const area = this.chartArea;\n const noArea = area.width <= 0 || area.height <= 0;\n\n this._layers = [];\n each(this.boxes, (box) => {\n if (noArea && box.position === 'chartArea') {\n // Skip drawing and configuring chartArea boxes when chartArea is zero or negative\n return;\n }\n\n // configure is called twice, once in core.scale.update and once here.\n // Here the boxes are fully updated and at their final positions.\n if (box.configure) {\n box.configure();\n }\n this._layers.push(...box._layers());\n }, this);\n\n this._layers.forEach((item, index) => {\n item._idx = index;\n });\n\n this.notifyPlugins('afterLayout');\n }\n\n /**\n\t * Updates all datasets unless a plugin returns `false` to the `beforeDatasetsUpdate`\n\t * hook, in which case, plugins will not be called on `afterDatasetsUpdate`.\n\t * @private\n\t */\n _updateDatasets(mode) {\n if (this.notifyPlugins('beforeDatasetsUpdate', {mode, cancelable: true}) === false) {\n return;\n }\n\n for (let i = 0, ilen = this.data.datasets.length; i < ilen; ++i) {\n this.getDatasetMeta(i).controller.configure();\n }\n\n for (let i = 0, ilen = this.data.datasets.length; i < ilen; ++i) {\n this._updateDataset(i, isFunction(mode) ? mode({datasetIndex: i}) : mode);\n }\n\n this.notifyPlugins('afterDatasetsUpdate', {mode});\n }\n\n /**\n\t * Updates dataset at index unless a plugin returns `false` to the `beforeDatasetUpdate`\n\t * hook, in which case, plugins will not be called on `afterDatasetUpdate`.\n\t * @private\n\t */\n _updateDataset(index, mode) {\n const meta = this.getDatasetMeta(index);\n const args = {meta, index, mode, cancelable: true};\n\n if (this.notifyPlugins('beforeDatasetUpdate', args) === false) {\n return;\n }\n\n meta.controller._update(mode);\n\n args.cancelable = false;\n this.notifyPlugins('afterDatasetUpdate', args);\n }\n\n render() {\n if (this.notifyPlugins('beforeRender', {cancelable: true}) === false) {\n return;\n }\n\n if (animator.has(this)) {\n if (this.attached && !animator.running(this)) {\n animator.start(this);\n }\n } else {\n this.draw();\n onAnimationsComplete({chart: this});\n }\n }\n\n draw() {\n let i;\n if (this._resizeBeforeDraw) {\n const {width, height} = this._resizeBeforeDraw;\n // Unset pending resize request now to avoid possible recursion within _resize\n this._resizeBeforeDraw = null;\n this._resize(width, height);\n }\n this.clear();\n\n if (this.width <= 0 || this.height <= 0) {\n return;\n }\n\n if (this.notifyPlugins('beforeDraw', {cancelable: true}) === false) {\n return;\n }\n\n // Because of plugin hooks (before/afterDatasetsDraw), datasets can't\n // currently be part of layers. Instead, we draw\n // layers <= 0 before(default, backward compat), and the rest after\n const layers = this._layers;\n for (i = 0; i < layers.length && layers[i].z <= 0; ++i) {\n layers[i].draw(this.chartArea);\n }\n\n this._drawDatasets();\n\n // Rest of layers\n for (; i < layers.length; ++i) {\n layers[i].draw(this.chartArea);\n }\n\n this.notifyPlugins('afterDraw');\n }\n\n /**\n\t * @private\n\t */\n _getSortedDatasetMetas(filterVisible) {\n const metasets = this._sortedMetasets;\n const result = [];\n let i, ilen;\n\n for (i = 0, ilen = metasets.length; i < ilen; ++i) {\n const meta = metasets[i];\n if (!filterVisible || meta.visible) {\n result.push(meta);\n }\n }\n\n return result;\n }\n\n /**\n\t * Gets the visible dataset metas in drawing order\n\t * @return {object[]}\n\t */\n getSortedVisibleDatasetMetas() {\n return this._getSortedDatasetMetas(true);\n }\n\n /**\n\t * Draws all datasets unless a plugin returns `false` to the `beforeDatasetsDraw`\n\t * hook, in which case, plugins will not be called on `afterDatasetsDraw`.\n\t * @private\n\t */\n _drawDatasets() {\n if (this.notifyPlugins('beforeDatasetsDraw', {cancelable: true}) === false) {\n return;\n }\n\n const metasets = this.getSortedVisibleDatasetMetas();\n for (let i = metasets.length - 1; i >= 0; --i) {\n this._drawDataset(metasets[i]);\n }\n\n this.notifyPlugins('afterDatasetsDraw');\n }\n\n /**\n\t * Draws dataset at index unless a plugin returns `false` to the `beforeDatasetDraw`\n\t * hook, in which case, plugins will not be called on `afterDatasetDraw`.\n\t * @private\n\t */\n _drawDataset(meta) {\n const ctx = this.ctx;\n const clip = meta._clip;\n const useClip = !clip.disabled;\n const area = getDatasetArea(meta, this.chartArea);\n const args = {\n meta,\n index: meta.index,\n cancelable: true\n };\n\n if (this.notifyPlugins('beforeDatasetDraw', args) === false) {\n return;\n }\n\n if (useClip) {\n clipArea(ctx, {\n left: clip.left === false ? 0 : area.left - clip.left,\n right: clip.right === false ? this.width : area.right + clip.right,\n top: clip.top === false ? 0 : area.top - clip.top,\n bottom: clip.bottom === false ? this.height : area.bottom + clip.bottom\n });\n }\n\n meta.controller.draw();\n\n if (useClip) {\n unclipArea(ctx);\n }\n\n args.cancelable = false;\n this.notifyPlugins('afterDatasetDraw', args);\n }\n\n /**\n * Checks whether the given point is in the chart area.\n * @param {Point} point - in relative coordinates (see, e.g., getRelativePosition)\n * @returns {boolean}\n */\n isPointInArea(point) {\n return _isPointInArea(point, this.chartArea, this._minPadding);\n }\n\n getElementsAtEventForMode(e, mode, options, useFinalPosition) {\n const method = Interaction.modes[mode];\n if (typeof method === 'function') {\n return method(this, e, options, useFinalPosition);\n }\n\n return [];\n }\n\n getDatasetMeta(datasetIndex) {\n const dataset = this.data.datasets[datasetIndex];\n const metasets = this._metasets;\n let meta = metasets.filter(x => x && x._dataset === dataset).pop();\n\n if (!meta) {\n meta = {\n type: null,\n data: [],\n dataset: null,\n controller: null,\n hidden: null,\t\t\t// See isDatasetVisible() comment\n xAxisID: null,\n yAxisID: null,\n order: dataset && dataset.order || 0,\n index: datasetIndex,\n _dataset: dataset,\n _parsed: [],\n _sorted: false\n };\n metasets.push(meta);\n }\n\n return meta;\n }\n\n getContext() {\n return this.$context || (this.$context = createContext(null, {chart: this, type: 'chart'}));\n }\n\n getVisibleDatasetCount() {\n return this.getSortedVisibleDatasetMetas().length;\n }\n\n isDatasetVisible(datasetIndex) {\n const dataset = this.data.datasets[datasetIndex];\n if (!dataset) {\n return false;\n }\n\n const meta = this.getDatasetMeta(datasetIndex);\n\n // meta.hidden is a per chart dataset hidden flag override with 3 states: if true or false,\n // the dataset.hidden value is ignored, else if null, the dataset hidden state is returned.\n return typeof meta.hidden === 'boolean' ? !meta.hidden : !dataset.hidden;\n }\n\n setDatasetVisibility(datasetIndex, visible) {\n const meta = this.getDatasetMeta(datasetIndex);\n meta.hidden = !visible;\n }\n\n toggleDataVisibility(index) {\n this._hiddenIndices[index] = !this._hiddenIndices[index];\n }\n\n getDataVisibility(index) {\n return !this._hiddenIndices[index];\n }\n\n /**\n\t * @private\n\t */\n _updateVisibility(datasetIndex, dataIndex, visible) {\n const mode = visible ? 'show' : 'hide';\n const meta = this.getDatasetMeta(datasetIndex);\n const anims = meta.controller._resolveAnimations(undefined, mode);\n\n if (defined(dataIndex)) {\n meta.data[dataIndex].hidden = !visible;\n this.update();\n } else {\n this.setDatasetVisibility(datasetIndex, visible);\n // Animate visible state, so hide animation can be seen. This could be handled better if update / updateDataset returned a Promise.\n anims.update(meta, {visible});\n this.update((ctx) => ctx.datasetIndex === datasetIndex ? mode : undefined);\n }\n }\n\n hide(datasetIndex, dataIndex) {\n this._updateVisibility(datasetIndex, dataIndex, false);\n }\n\n show(datasetIndex, dataIndex) {\n this._updateVisibility(datasetIndex, dataIndex, true);\n }\n\n /**\n\t * @private\n\t */\n _destroyDatasetMeta(datasetIndex) {\n const meta = this._metasets[datasetIndex];\n if (meta && meta.controller) {\n meta.controller._destroy();\n }\n delete this._metasets[datasetIndex];\n }\n\n _stop() {\n let i, ilen;\n this.stop();\n animator.remove(this);\n\n for (i = 0, ilen = this.data.datasets.length; i < ilen; ++i) {\n this._destroyDatasetMeta(i);\n }\n }\n\n destroy() {\n this.notifyPlugins('beforeDestroy');\n const {canvas, ctx} = this;\n\n this._stop();\n this.config.clearCache();\n\n if (canvas) {\n this.unbindEvents();\n clearCanvas(canvas, ctx);\n this.platform.releaseContext(ctx);\n this.canvas = null;\n this.ctx = null;\n }\n\n delete instances[this.id];\n\n this.notifyPlugins('afterDestroy');\n }\n\n toBase64Image(...args) {\n return this.canvas.toDataURL(...args);\n }\n\n /**\n\t * @private\n\t */\n bindEvents() {\n this.bindUserEvents();\n if (this.options.responsive) {\n this.bindResponsiveEvents();\n } else {\n this.attached = true;\n }\n }\n\n /**\n * @private\n */\n bindUserEvents() {\n const listeners = this._listeners;\n const platform = this.platform;\n\n const _add = (type, listener) => {\n platform.addEventListener(this, type, listener);\n listeners[type] = listener;\n };\n\n const listener = (e, x, y) => {\n e.offsetX = x;\n e.offsetY = y;\n this._eventHandler(e);\n };\n\n each(this.options.events, (type) => _add(type, listener));\n }\n\n /**\n * @private\n */\n bindResponsiveEvents() {\n if (!this._responsiveListeners) {\n this._responsiveListeners = {};\n }\n const listeners = this._responsiveListeners;\n const platform = this.platform;\n\n const _add = (type, listener) => {\n platform.addEventListener(this, type, listener);\n listeners[type] = listener;\n };\n const _remove = (type, listener) => {\n if (listeners[type]) {\n platform.removeEventListener(this, type, listener);\n delete listeners[type];\n }\n };\n\n const listener = (width, height) => {\n if (this.canvas) {\n this.resize(width, height);\n }\n };\n\n let detached; // eslint-disable-line prefer-const\n const attached = () => {\n _remove('attach', attached);\n\n this.attached = true;\n this.resize();\n\n _add('resize', listener);\n _add('detach', detached);\n };\n\n detached = () => {\n this.attached = false;\n\n _remove('resize', listener);\n\n // Stop animating and remove metasets, so when re-attached, the animations start from beginning.\n this._stop();\n this._resize(0, 0);\n\n _add('attach', attached);\n };\n\n if (platform.isAttached(this.canvas)) {\n attached();\n } else {\n detached();\n }\n }\n\n /**\n\t * @private\n\t */\n unbindEvents() {\n each(this._listeners, (listener, type) => {\n this.platform.removeEventListener(this, type, listener);\n });\n this._listeners = {};\n\n each(this._responsiveListeners, (listener, type) => {\n this.platform.removeEventListener(this, type, listener);\n });\n this._responsiveListeners = undefined;\n }\n\n updateHoverStyle(items, mode, enabled) {\n const prefix = enabled ? 'set' : 'remove';\n let meta, item, i, ilen;\n\n if (mode === 'dataset') {\n meta = this.getDatasetMeta(items[0].datasetIndex);\n meta.controller['_' + prefix + 'DatasetHoverStyle']();\n }\n\n for (i = 0, ilen = items.length; i < ilen; ++i) {\n item = items[i];\n const controller = item && this.getDatasetMeta(item.datasetIndex).controller;\n if (controller) {\n controller[prefix + 'HoverStyle'](item.element, item.datasetIndex, item.index);\n }\n }\n }\n\n /**\n\t * Get active (hovered) elements\n\t * @returns array\n\t */\n getActiveElements() {\n return this._active || [];\n }\n\n /**\n\t * Set active (hovered) elements\n\t * @param {array} activeElements New active data points\n\t */\n setActiveElements(activeElements) {\n const lastActive = this._active || [];\n const active = activeElements.map(({datasetIndex, index}) => {\n const meta = this.getDatasetMeta(datasetIndex);\n if (!meta) {\n throw new Error('No dataset found at index ' + datasetIndex);\n }\n\n return {\n datasetIndex,\n element: meta.data[index],\n index,\n };\n });\n const changed = !_elementsEqual(active, lastActive);\n\n if (changed) {\n this._active = active;\n // Make sure we don't use the previous mouse event to override the active elements in update.\n this._lastEvent = null;\n this._updateHoverStyles(active, lastActive);\n }\n }\n\n /**\n\t * Calls enabled plugins on the specified hook and with the given args.\n\t * This method immediately returns as soon as a plugin explicitly returns false. The\n\t * returned value can be used, for instance, to interrupt the current action.\n\t * @param {string} hook - The name of the plugin method to call (e.g. 'beforeUpdate').\n\t * @param {Object} [args] - Extra arguments to apply to the hook call.\n * @param {import('./core.plugins.js').filterCallback} [filter] - Filtering function for limiting which plugins are notified\n\t * @returns {boolean} false if any of the plugins return false, else returns true.\n\t */\n notifyPlugins(hook, args, filter) {\n return this._plugins.notify(this, hook, args, filter);\n }\n\n /**\n * Check if a plugin with the specific ID is registered and enabled\n * @param {string} pluginId - The ID of the plugin of which to check if it is enabled\n * @returns {boolean}\n */\n isPluginEnabled(pluginId) {\n return this._plugins._cache.filter(p => p.plugin.id === pluginId).length === 1;\n }\n\n /**\n\t * @private\n\t */\n _updateHoverStyles(active, lastActive, replay) {\n const hoverOptions = this.options.hover;\n const diff = (a, b) => a.filter(x => !b.some(y => x.datasetIndex === y.datasetIndex && x.index === y.index));\n const deactivated = diff(lastActive, active);\n const activated = replay ? active : diff(active, lastActive);\n\n if (deactivated.length) {\n this.updateHoverStyle(deactivated, hoverOptions.mode, false);\n }\n\n if (activated.length && hoverOptions.mode) {\n this.updateHoverStyle(activated, hoverOptions.mode, true);\n }\n }\n\n /**\n\t * @private\n\t */\n _eventHandler(e, replay) {\n const args = {\n event: e,\n replay,\n cancelable: true,\n inChartArea: this.isPointInArea(e)\n };\n const eventFilter = (plugin) => (plugin.options.events || this.options.events).includes(e.native.type);\n\n if (this.notifyPlugins('beforeEvent', args, eventFilter) === false) {\n return;\n }\n\n const changed = this._handleEvent(e, replay, args.inChartArea);\n\n args.cancelable = false;\n this.notifyPlugins('afterEvent', args, eventFilter);\n\n if (changed || args.changed) {\n this.render();\n }\n\n return this;\n }\n\n /**\n\t * Handle an event\n\t * @param {ChartEvent} e the event to handle\n\t * @param {boolean} [replay] - true if the event was replayed by `update`\n * @param {boolean} [inChartArea] - true if the event is inside chartArea\n\t * @return {boolean} true if the chart needs to re-render\n\t * @private\n\t */\n _handleEvent(e, replay, inChartArea) {\n const {_active: lastActive = [], options} = this;\n\n // If the event is replayed from `update`, we should evaluate with the final positions.\n //\n // The `replay`:\n // It's the last event (excluding click) that has occurred before `update`.\n // So mouse has not moved. It's also over the chart, because there is a `replay`.\n //\n // The why:\n // If animations are active, the elements haven't moved yet compared to state before update.\n // But if they will, we are activating the elements that would be active, if this check\n // was done after the animations have completed. => \"final positions\".\n // If there is no animations, the \"final\" and \"current\" positions are equal.\n // This is done so we do not have to evaluate the active elements each animation frame\n // - it would be expensive.\n const useFinalPosition = replay;\n const active = this._getActiveElements(e, lastActive, inChartArea, useFinalPosition);\n const isClick = _isClickEvent(e);\n const lastEvent = determineLastEvent(e, this._lastEvent, inChartArea, isClick);\n\n if (inChartArea) {\n // Set _lastEvent to null while we are processing the event handlers.\n // This prevents recursion if the handler calls chart.update()\n this._lastEvent = null;\n\n // Invoke onHover hook\n callCallback(options.onHover, [e, active, this], this);\n\n if (isClick) {\n callCallback(options.onClick, [e, active, this], this);\n }\n }\n\n const changed = !_elementsEqual(active, lastActive);\n if (changed || replay) {\n this._active = active;\n this._updateHoverStyles(active, lastActive, replay);\n }\n\n this._lastEvent = lastEvent;\n\n return changed;\n }\n\n /**\n * @param {ChartEvent} e - The event\n * @param {import('../types/index.js').ActiveElement[]} lastActive - Previously active elements\n * @param {boolean} inChartArea - Is the event inside chartArea\n * @param {boolean} useFinalPosition - Should the evaluation be done with current or final (after animation) element positions\n * @returns {import('../types/index.js').ActiveElement[]} - The active elements\n * @pravate\n */\n _getActiveElements(e, lastActive, inChartArea, useFinalPosition) {\n if (e.type === 'mouseout') {\n return [];\n }\n\n if (!inChartArea) {\n // Let user control the active elements outside chartArea. Eg. using Legend.\n return lastActive;\n }\n\n const hoverOptions = this.options.hover;\n return this.getElementsAtEventForMode(e, hoverOptions.mode, hoverOptions, useFinalPosition);\n }\n}\n\n// @ts-ignore\nfunction invalidatePlugins() {\n return each(Chart.instances, (chart) => chart._plugins.invalidate());\n}\n\nexport default Chart;\n","import {_isDomSupported} from '../helpers/index.js';\nimport BasePlatform from './platform.base.js';\nimport BasicPlatform from './platform.basic.js';\nimport DomPlatform from './platform.dom.js';\n\nexport function _detectPlatform(canvas) {\n if (!_isDomSupported() || (typeof OffscreenCanvas !== 'undefined' && canvas instanceof OffscreenCanvas)) {\n return BasicPlatform;\n }\n return DomPlatform;\n}\n\nexport {BasePlatform, BasicPlatform, DomPlatform};\n","import Element from '../core/core.element.js';\nimport {_angleBetween, getAngleFromPoint, TAU, HALF_PI, valueOrDefault} from '../helpers/index.js';\nimport {PI, _isBetween, _limitValue} from '../helpers/helpers.math.js';\nimport {_readValueToProps} from '../helpers/helpers.options.js';\nimport type {ArcOptions, Point} from '../types/index.js';\n\n\nfunction clipArc(ctx: CanvasRenderingContext2D, element: ArcElement, endAngle: number) {\n const {startAngle, pixelMargin, x, y, outerRadius, innerRadius} = element;\n let angleMargin = pixelMargin / outerRadius;\n\n // Draw an inner border by clipping the arc and drawing a double-width border\n // Enlarge the clipping arc by 0.33 pixels to eliminate glitches between borders\n ctx.beginPath();\n ctx.arc(x, y, outerRadius, startAngle - angleMargin, endAngle + angleMargin);\n if (innerRadius > pixelMargin) {\n angleMargin = pixelMargin / innerRadius;\n ctx.arc(x, y, innerRadius, endAngle + angleMargin, startAngle - angleMargin, true);\n } else {\n ctx.arc(x, y, pixelMargin, endAngle + HALF_PI, startAngle - HALF_PI);\n }\n ctx.closePath();\n ctx.clip();\n}\n\nfunction toRadiusCorners(value) {\n return _readValueToProps(value, ['outerStart', 'outerEnd', 'innerStart', 'innerEnd']);\n}\n\n/**\n * Parse border radius from the provided options\n */\nfunction parseBorderRadius(arc: ArcElement, innerRadius: number, outerRadius: number, angleDelta: number) {\n const o = toRadiusCorners(arc.options.borderRadius);\n const halfThickness = (outerRadius - innerRadius) / 2;\n const innerLimit = Math.min(halfThickness, angleDelta * innerRadius / 2);\n\n // Outer limits are complicated. We want to compute the available angular distance at\n // a radius of outerRadius - borderRadius because for small angular distances, this term limits.\n // We compute at r = outerRadius - borderRadius because this circle defines the center of the border corners.\n //\n // If the borderRadius is large, that value can become negative.\n // This causes the outer borders to lose their radius entirely, which is rather unexpected. To solve that, if borderRadius > outerRadius\n // we know that the thickness term will dominate and compute the limits at that point\n const computeOuterLimit = (val) => {\n const outerArcLimit = (outerRadius - Math.min(halfThickness, val)) * angleDelta / 2;\n return _limitValue(val, 0, Math.min(halfThickness, outerArcLimit));\n };\n\n return {\n outerStart: computeOuterLimit(o.outerStart),\n outerEnd: computeOuterLimit(o.outerEnd),\n innerStart: _limitValue(o.innerStart, 0, innerLimit),\n innerEnd: _limitValue(o.innerEnd, 0, innerLimit),\n };\n}\n\n/**\n * Convert (r, 𝜃) to (x, y)\n */\nfunction rThetaToXY(r: number, theta: number, x: number, y: number) {\n return {\n x: x + r * Math.cos(theta),\n y: y + r * Math.sin(theta),\n };\n}\n\n\n/**\n * Path the arc, respecting border radius by separating into left and right halves.\n *\n * Start End\n *\n * 1--->a--->2 Outer\n * / \\\n * 8 3\n * | |\n * | |\n * 7 4\n * \\ /\n * 6<---b<---5 Inner\n */\nfunction pathArc(\n ctx: CanvasRenderingContext2D,\n element: ArcElement,\n offset: number,\n spacing: number,\n end: number,\n circular: boolean,\n) {\n const {x, y, startAngle: start, pixelMargin, innerRadius: innerR} = element;\n\n const outerRadius = Math.max(element.outerRadius + spacing + offset - pixelMargin, 0);\n const innerRadius = innerR > 0 ? innerR + spacing + offset + pixelMargin : 0;\n\n let spacingOffset = 0;\n const alpha = end - start;\n\n if (spacing) {\n // When spacing is present, it is the same for all items\n // So we adjust the start and end angle of the arc such that\n // the distance is the same as it would be without the spacing\n const noSpacingInnerRadius = innerR > 0 ? innerR - spacing : 0;\n const noSpacingOuterRadius = outerRadius > 0 ? outerRadius - spacing : 0;\n const avNogSpacingRadius = (noSpacingInnerRadius + noSpacingOuterRadius) / 2;\n const adjustedAngle = avNogSpacingRadius !== 0 ? (alpha * avNogSpacingRadius) / (avNogSpacingRadius + spacing) : alpha;\n spacingOffset = (alpha - adjustedAngle) / 2;\n }\n\n const beta = Math.max(0.001, alpha * outerRadius - offset / PI) / outerRadius;\n const angleOffset = (alpha - beta) / 2;\n const startAngle = start + angleOffset + spacingOffset;\n const endAngle = end - angleOffset - spacingOffset;\n const {outerStart, outerEnd, innerStart, innerEnd} = parseBorderRadius(element, innerRadius, outerRadius, endAngle - startAngle);\n\n const outerStartAdjustedRadius = outerRadius - outerStart;\n const outerEndAdjustedRadius = outerRadius - outerEnd;\n const outerStartAdjustedAngle = startAngle + outerStart / outerStartAdjustedRadius;\n const outerEndAdjustedAngle = endAngle - outerEnd / outerEndAdjustedRadius;\n\n const innerStartAdjustedRadius = innerRadius + innerStart;\n const innerEndAdjustedRadius = innerRadius + innerEnd;\n const innerStartAdjustedAngle = startAngle + innerStart / innerStartAdjustedRadius;\n const innerEndAdjustedAngle = endAngle - innerEnd / innerEndAdjustedRadius;\n\n ctx.beginPath();\n\n if (circular) {\n // The first arc segments from point 1 to point a to point 2\n const outerMidAdjustedAngle = (outerStartAdjustedAngle + outerEndAdjustedAngle) / 2;\n ctx.arc(x, y, outerRadius, outerStartAdjustedAngle, outerMidAdjustedAngle);\n ctx.arc(x, y, outerRadius, outerMidAdjustedAngle, outerEndAdjustedAngle);\n\n // The corner segment from point 2 to point 3\n if (outerEnd > 0) {\n const pCenter = rThetaToXY(outerEndAdjustedRadius, outerEndAdjustedAngle, x, y);\n ctx.arc(pCenter.x, pCenter.y, outerEnd, outerEndAdjustedAngle, endAngle + HALF_PI);\n }\n\n // The line from point 3 to point 4\n const p4 = rThetaToXY(innerEndAdjustedRadius, endAngle, x, y);\n ctx.lineTo(p4.x, p4.y);\n\n // The corner segment from point 4 to point 5\n if (innerEnd > 0) {\n const pCenter = rThetaToXY(innerEndAdjustedRadius, innerEndAdjustedAngle, x, y);\n ctx.arc(pCenter.x, pCenter.y, innerEnd, endAngle + HALF_PI, innerEndAdjustedAngle + Math.PI);\n }\n\n // The inner arc from point 5 to point b to point 6\n const innerMidAdjustedAngle = ((endAngle - (innerEnd / innerRadius)) + (startAngle + (innerStart / innerRadius))) / 2;\n ctx.arc(x, y, innerRadius, endAngle - (innerEnd / innerRadius), innerMidAdjustedAngle, true);\n ctx.arc(x, y, innerRadius, innerMidAdjustedAngle, startAngle + (innerStart / innerRadius), true);\n\n // The corner segment from point 6 to point 7\n if (innerStart > 0) {\n const pCenter = rThetaToXY(innerStartAdjustedRadius, innerStartAdjustedAngle, x, y);\n ctx.arc(pCenter.x, pCenter.y, innerStart, innerStartAdjustedAngle + Math.PI, startAngle - HALF_PI);\n }\n\n // The line from point 7 to point 8\n const p8 = rThetaToXY(outerStartAdjustedRadius, startAngle, x, y);\n ctx.lineTo(p8.x, p8.y);\n\n // The corner segment from point 8 to point 1\n if (outerStart > 0) {\n const pCenter = rThetaToXY(outerStartAdjustedRadius, outerStartAdjustedAngle, x, y);\n ctx.arc(pCenter.x, pCenter.y, outerStart, startAngle - HALF_PI, outerStartAdjustedAngle);\n }\n } else {\n ctx.moveTo(x, y);\n\n const outerStartX = Math.cos(outerStartAdjustedAngle) * outerRadius + x;\n const outerStartY = Math.sin(outerStartAdjustedAngle) * outerRadius + y;\n ctx.lineTo(outerStartX, outerStartY);\n\n const outerEndX = Math.cos(outerEndAdjustedAngle) * outerRadius + x;\n const outerEndY = Math.sin(outerEndAdjustedAngle) * outerRadius + y;\n ctx.lineTo(outerEndX, outerEndY);\n }\n\n ctx.closePath();\n}\n\nfunction drawArc(\n ctx: CanvasRenderingContext2D,\n element: ArcElement,\n offset: number,\n spacing: number,\n circular: boolean,\n) {\n const {fullCircles, startAngle, circumference} = element;\n let endAngle = element.endAngle;\n if (fullCircles) {\n pathArc(ctx, element, offset, spacing, endAngle, circular);\n for (let i = 0; i < fullCircles; ++i) {\n ctx.fill();\n }\n if (!isNaN(circumference)) {\n endAngle = startAngle + (circumference % TAU || TAU);\n }\n }\n pathArc(ctx, element, offset, spacing, endAngle, circular);\n ctx.fill();\n return endAngle;\n}\n\nfunction drawBorder(\n ctx: CanvasRenderingContext2D,\n element: ArcElement,\n offset: number,\n spacing: number,\n circular: boolean,\n) {\n const {fullCircles, startAngle, circumference, options} = element;\n const {borderWidth, borderJoinStyle, borderDash, borderDashOffset} = options;\n const inner = options.borderAlign === 'inner';\n\n if (!borderWidth) {\n return;\n }\n\n ctx.setLineDash(borderDash || []);\n ctx.lineDashOffset = borderDashOffset;\n\n if (inner) {\n ctx.lineWidth = borderWidth * 2;\n ctx.lineJoin = borderJoinStyle || 'round';\n } else {\n ctx.lineWidth = borderWidth;\n ctx.lineJoin = borderJoinStyle || 'bevel';\n }\n\n let endAngle = element.endAngle;\n if (fullCircles) {\n pathArc(ctx, element, offset, spacing, endAngle, circular);\n for (let i = 0; i < fullCircles; ++i) {\n ctx.stroke();\n }\n if (!isNaN(circumference)) {\n endAngle = startAngle + (circumference % TAU || TAU);\n }\n }\n\n if (inner) {\n clipArc(ctx, element, endAngle);\n }\n\n if (!fullCircles) {\n pathArc(ctx, element, offset, spacing, endAngle, circular);\n ctx.stroke();\n }\n}\n\nexport interface ArcProps extends Point {\n startAngle: number;\n endAngle: number;\n innerRadius: number;\n outerRadius: number;\n circumference: number;\n}\n\nexport default class ArcElement extends Element {\n\n static id = 'arc';\n\n static defaults = {\n borderAlign: 'center',\n borderColor: '#fff',\n borderDash: [],\n borderDashOffset: 0,\n borderJoinStyle: undefined,\n borderRadius: 0,\n borderWidth: 2,\n offset: 0,\n spacing: 0,\n angle: undefined,\n circular: true,\n };\n\n static defaultRoutes = {\n backgroundColor: 'backgroundColor'\n };\n\n static descriptors = {\n _scriptable: true,\n _indexable: (name) => name !== 'borderDash'\n };\n\n circumference: number;\n endAngle: number;\n fullCircles: number;\n innerRadius: number;\n outerRadius: number;\n pixelMargin: number;\n startAngle: number;\n\n constructor(cfg) {\n super();\n\n this.options = undefined;\n this.circumference = undefined;\n this.startAngle = undefined;\n this.endAngle = undefined;\n this.innerRadius = undefined;\n this.outerRadius = undefined;\n this.pixelMargin = 0;\n this.fullCircles = 0;\n\n if (cfg) {\n Object.assign(this, cfg);\n }\n }\n\n inRange(chartX: number, chartY: number, useFinalPosition: boolean) {\n const point = this.getProps(['x', 'y'], useFinalPosition);\n const {angle, distance} = getAngleFromPoint(point, {x: chartX, y: chartY});\n const {startAngle, endAngle, innerRadius, outerRadius, circumference} = this.getProps([\n 'startAngle',\n 'endAngle',\n 'innerRadius',\n 'outerRadius',\n 'circumference'\n ], useFinalPosition);\n const rAdjust = (this.options.spacing + this.options.borderWidth) / 2;\n const _circumference = valueOrDefault(circumference, endAngle - startAngle);\n const nonZeroBetween = _angleBetween(angle, startAngle, endAngle) && startAngle !== endAngle;\n const betweenAngles = _circumference >= TAU || nonZeroBetween;\n const withinRadius = _isBetween(distance, innerRadius + rAdjust, outerRadius + rAdjust);\n\n return (betweenAngles && withinRadius);\n }\n\n getCenterPoint(useFinalPosition: boolean) {\n const {x, y, startAngle, endAngle, innerRadius, outerRadius} = this.getProps([\n 'x',\n 'y',\n 'startAngle',\n 'endAngle',\n 'innerRadius',\n 'outerRadius'\n ], useFinalPosition);\n const {offset, spacing} = this.options;\n const halfAngle = (startAngle + endAngle) / 2;\n const halfRadius = (innerRadius + outerRadius + spacing + offset) / 2;\n return {\n x: x + Math.cos(halfAngle) * halfRadius,\n y: y + Math.sin(halfAngle) * halfRadius\n };\n }\n\n tooltipPosition(useFinalPosition: boolean) {\n return this.getCenterPoint(useFinalPosition);\n }\n\n draw(ctx: CanvasRenderingContext2D) {\n const {options, circumference} = this;\n const offset = (options.offset || 0) / 4;\n const spacing = (options.spacing || 0) / 2;\n const circular = options.circular;\n this.pixelMargin = (options.borderAlign === 'inner') ? 0.33 : 0;\n this.fullCircles = circumference > TAU ? Math.floor(circumference / TAU) : 0;\n\n if (circumference === 0 || this.innerRadius < 0 || this.outerRadius < 0) {\n return;\n }\n\n ctx.save();\n\n const halfAngle = (this.startAngle + this.endAngle) / 2;\n ctx.translate(Math.cos(halfAngle) * offset, Math.sin(halfAngle) * offset);\n const fix = 1 - Math.sin(Math.min(PI, circumference || 0));\n const radiusOffset = offset * fix;\n\n ctx.fillStyle = options.backgroundColor;\n ctx.strokeStyle = options.borderColor;\n\n drawArc(ctx, this, radiusOffset, spacing, circular);\n drawBorder(ctx, this, radiusOffset, spacing, circular);\n\n ctx.restore();\n }\n}\n","import Element from '../core/core.element.js';\nimport {_bezierInterpolation, _pointInLine, _steppedInterpolation} from '../helpers/helpers.interpolation.js';\nimport {_computeSegments, _boundSegments} from '../helpers/helpers.segment.js';\nimport {_steppedLineTo, _bezierCurveTo} from '../helpers/helpers.canvas.js';\nimport {_updateBezierControlPoints} from '../helpers/helpers.curve.js';\nimport {valueOrDefault} from '../helpers/index.js';\n\n/**\n * @typedef { import('./element.point.js').default } PointElement\n */\n\nfunction setStyle(ctx, options, style = options) {\n ctx.lineCap = valueOrDefault(style.borderCapStyle, options.borderCapStyle);\n ctx.setLineDash(valueOrDefault(style.borderDash, options.borderDash));\n ctx.lineDashOffset = valueOrDefault(style.borderDashOffset, options.borderDashOffset);\n ctx.lineJoin = valueOrDefault(style.borderJoinStyle, options.borderJoinStyle);\n ctx.lineWidth = valueOrDefault(style.borderWidth, options.borderWidth);\n ctx.strokeStyle = valueOrDefault(style.borderColor, options.borderColor);\n}\n\nfunction lineTo(ctx, previous, target) {\n ctx.lineTo(target.x, target.y);\n}\n\n/**\n * @returns {any}\n */\nfunction getLineMethod(options) {\n if (options.stepped) {\n return _steppedLineTo;\n }\n\n if (options.tension || options.cubicInterpolationMode === 'monotone') {\n return _bezierCurveTo;\n }\n\n return lineTo;\n}\n\nfunction pathVars(points, segment, params = {}) {\n const count = points.length;\n const {start: paramsStart = 0, end: paramsEnd = count - 1} = params;\n const {start: segmentStart, end: segmentEnd} = segment;\n const start = Math.max(paramsStart, segmentStart);\n const end = Math.min(paramsEnd, segmentEnd);\n const outside = paramsStart < segmentStart && paramsEnd < segmentStart || paramsStart > segmentEnd && paramsEnd > segmentEnd;\n\n return {\n count,\n start,\n loop: segment.loop,\n ilen: end < start && !outside ? count + end - start : end - start\n };\n}\n\n/**\n * Create path from points, grouping by truncated x-coordinate\n * Points need to be in order by x-coordinate for this to work efficiently\n * @param {CanvasRenderingContext2D|Path2D} ctx - Context\n * @param {LineElement} line\n * @param {object} segment\n * @param {number} segment.start - start index of the segment, referring the points array\n * @param {number} segment.end - end index of the segment, referring the points array\n * @param {boolean} segment.loop - indicates that the segment is a loop\n * @param {object} params\n * @param {boolean} params.move - move to starting point (vs line to it)\n * @param {boolean} params.reverse - path the segment from end to start\n * @param {number} params.start - limit segment to points starting from `start` index\n * @param {number} params.end - limit segment to points ending at `start` + `count` index\n */\nfunction pathSegment(ctx, line, segment, params) {\n const {points, options} = line;\n const {count, start, loop, ilen} = pathVars(points, segment, params);\n const lineMethod = getLineMethod(options);\n // eslint-disable-next-line prefer-const\n let {move = true, reverse} = params || {};\n let i, point, prev;\n\n for (i = 0; i <= ilen; ++i) {\n point = points[(start + (reverse ? ilen - i : i)) % count];\n\n if (point.skip) {\n // If there is a skipped point inside a segment, spanGaps must be true\n continue;\n } else if (move) {\n ctx.moveTo(point.x, point.y);\n move = false;\n } else {\n lineMethod(ctx, prev, point, reverse, options.stepped);\n }\n\n prev = point;\n }\n\n if (loop) {\n point = points[(start + (reverse ? ilen : 0)) % count];\n lineMethod(ctx, prev, point, reverse, options.stepped);\n }\n\n return !!loop;\n}\n\n/**\n * Create path from points, grouping by truncated x-coordinate\n * Points need to be in order by x-coordinate for this to work efficiently\n * @param {CanvasRenderingContext2D|Path2D} ctx - Context\n * @param {LineElement} line\n * @param {object} segment\n * @param {number} segment.start - start index of the segment, referring the points array\n * @param {number} segment.end - end index of the segment, referring the points array\n * @param {boolean} segment.loop - indicates that the segment is a loop\n * @param {object} params\n * @param {boolean} params.move - move to starting point (vs line to it)\n * @param {boolean} params.reverse - path the segment from end to start\n * @param {number} params.start - limit segment to points starting from `start` index\n * @param {number} params.end - limit segment to points ending at `start` + `count` index\n */\nfunction fastPathSegment(ctx, line, segment, params) {\n const points = line.points;\n const {count, start, ilen} = pathVars(points, segment, params);\n const {move = true, reverse} = params || {};\n let avgX = 0;\n let countX = 0;\n let i, point, prevX, minY, maxY, lastY;\n\n const pointIndex = (index) => (start + (reverse ? ilen - index : index)) % count;\n const drawX = () => {\n if (minY !== maxY) {\n // Draw line to maxY and minY, using the average x-coordinate\n ctx.lineTo(avgX, maxY);\n ctx.lineTo(avgX, minY);\n // Line to y-value of last point in group. So the line continues\n // from correct position. Not using move, to have solid path.\n ctx.lineTo(avgX, lastY);\n }\n };\n\n if (move) {\n point = points[pointIndex(0)];\n ctx.moveTo(point.x, point.y);\n }\n\n for (i = 0; i <= ilen; ++i) {\n point = points[pointIndex(i)];\n\n if (point.skip) {\n // If there is a skipped point inside a segment, spanGaps must be true\n continue;\n }\n\n const x = point.x;\n const y = point.y;\n const truncX = x | 0; // truncated x-coordinate\n\n if (truncX === prevX) {\n // Determine `minY` / `maxY` and `avgX` while we stay within same x-position\n if (y < minY) {\n minY = y;\n } else if (y > maxY) {\n maxY = y;\n }\n // For first point in group, countX is `0`, so average will be `x` / 1.\n avgX = (countX * avgX + x) / ++countX;\n } else {\n drawX();\n // Draw line to next x-position, using the first (or only)\n // y-value in that group\n ctx.lineTo(x, y);\n\n prevX = truncX;\n countX = 0;\n minY = maxY = y;\n }\n // Keep track of the last y-value in group\n lastY = y;\n }\n drawX();\n}\n\n/**\n * @param {LineElement} line - the line\n * @returns {function}\n * @private\n */\nfunction _getSegmentMethod(line) {\n const opts = line.options;\n const borderDash = opts.borderDash && opts.borderDash.length;\n const useFastPath = !line._decimated && !line._loop && !opts.tension && opts.cubicInterpolationMode !== 'monotone' && !opts.stepped && !borderDash;\n return useFastPath ? fastPathSegment : pathSegment;\n}\n\n/**\n * @private\n */\nfunction _getInterpolationMethod(options) {\n if (options.stepped) {\n return _steppedInterpolation;\n }\n\n if (options.tension || options.cubicInterpolationMode === 'monotone') {\n return _bezierInterpolation;\n }\n\n return _pointInLine;\n}\n\nfunction strokePathWithCache(ctx, line, start, count) {\n let path = line._path;\n if (!path) {\n path = line._path = new Path2D();\n if (line.path(path, start, count)) {\n path.closePath();\n }\n }\n setStyle(ctx, line.options);\n ctx.stroke(path);\n}\n\nfunction strokePathDirect(ctx, line, start, count) {\n const {segments, options} = line;\n const segmentMethod = _getSegmentMethod(line);\n\n for (const segment of segments) {\n setStyle(ctx, options, segment.style);\n ctx.beginPath();\n if (segmentMethod(ctx, line, segment, {start, end: start + count - 1})) {\n ctx.closePath();\n }\n ctx.stroke();\n }\n}\n\nconst usePath2D = typeof Path2D === 'function';\n\nfunction draw(ctx, line, start, count) {\n if (usePath2D && !line.options.segment) {\n strokePathWithCache(ctx, line, start, count);\n } else {\n strokePathDirect(ctx, line, start, count);\n }\n}\n\nexport default class LineElement extends Element {\n\n static id = 'line';\n\n /**\n * @type {any}\n */\n static defaults = {\n borderCapStyle: 'butt',\n borderDash: [],\n borderDashOffset: 0,\n borderJoinStyle: 'miter',\n borderWidth: 3,\n capBezierPoints: true,\n cubicInterpolationMode: 'default',\n fill: false,\n spanGaps: false,\n stepped: false,\n tension: 0,\n };\n\n /**\n * @type {any}\n */\n static defaultRoutes = {\n backgroundColor: 'backgroundColor',\n borderColor: 'borderColor'\n };\n\n\n static descriptors = {\n _scriptable: true,\n _indexable: (name) => name !== 'borderDash' && name !== 'fill',\n };\n\n\n constructor(cfg) {\n super();\n\n this.animated = true;\n this.options = undefined;\n this._chart = undefined;\n this._loop = undefined;\n this._fullLoop = undefined;\n this._path = undefined;\n this._points = undefined;\n this._segments = undefined;\n this._decimated = false;\n this._pointsUpdated = false;\n this._datasetIndex = undefined;\n\n if (cfg) {\n Object.assign(this, cfg);\n }\n }\n\n updateControlPoints(chartArea, indexAxis) {\n const options = this.options;\n if ((options.tension || options.cubicInterpolationMode === 'monotone') && !options.stepped && !this._pointsUpdated) {\n const loop = options.spanGaps ? this._loop : this._fullLoop;\n _updateBezierControlPoints(this._points, options, chartArea, loop, indexAxis);\n this._pointsUpdated = true;\n }\n }\n\n set points(points) {\n this._points = points;\n delete this._segments;\n delete this._path;\n this._pointsUpdated = false;\n }\n\n get points() {\n return this._points;\n }\n\n get segments() {\n return this._segments || (this._segments = _computeSegments(this, this.options.segment));\n }\n\n /**\n\t * First non-skipped point on this line\n\t * @returns {PointElement|undefined}\n\t */\n first() {\n const segments = this.segments;\n const points = this.points;\n return segments.length && points[segments[0].start];\n }\n\n /**\n\t * Last non-skipped point on this line\n\t * @returns {PointElement|undefined}\n\t */\n last() {\n const segments = this.segments;\n const points = this.points;\n const count = segments.length;\n return count && points[segments[count - 1].end];\n }\n\n /**\n\t * Interpolate a point in this line at the same value on `property` as\n\t * the reference `point` provided\n\t * @param {PointElement} point - the reference point\n\t * @param {string} property - the property to match on\n\t * @returns {PointElement|undefined}\n\t */\n interpolate(point, property) {\n const options = this.options;\n const value = point[property];\n const points = this.points;\n const segments = _boundSegments(this, {property, start: value, end: value});\n\n if (!segments.length) {\n return;\n }\n\n const result = [];\n const _interpolate = _getInterpolationMethod(options);\n let i, ilen;\n for (i = 0, ilen = segments.length; i < ilen; ++i) {\n const {start, end} = segments[i];\n const p1 = points[start];\n const p2 = points[end];\n if (p1 === p2) {\n result.push(p1);\n continue;\n }\n const t = Math.abs((value - p1[property]) / (p2[property] - p1[property]));\n const interpolated = _interpolate(p1, p2, t, options.stepped);\n interpolated[property] = point[property];\n result.push(interpolated);\n }\n return result.length === 1 ? result[0] : result;\n }\n\n /**\n\t * Append a segment of this line to current path.\n\t * @param {CanvasRenderingContext2D} ctx\n\t * @param {object} segment\n\t * @param {number} segment.start - start index of the segment, referring the points array\n \t * @param {number} segment.end - end index of the segment, referring the points array\n \t * @param {boolean} segment.loop - indicates that the segment is a loop\n\t * @param {object} params\n\t * @param {boolean} params.move - move to starting point (vs line to it)\n\t * @param {boolean} params.reverse - path the segment from end to start\n\t * @param {number} params.start - limit segment to points starting from `start` index\n\t * @param {number} params.end - limit segment to points ending at `start` + `count` index\n\t * @returns {undefined|boolean} - true if the segment is a full loop (path should be closed)\n\t */\n pathSegment(ctx, segment, params) {\n const segmentMethod = _getSegmentMethod(this);\n return segmentMethod(ctx, this, segment, params);\n }\n\n /**\n\t * Append all segments of this line to current path.\n\t * @param {CanvasRenderingContext2D|Path2D} ctx\n\t * @param {number} [start]\n\t * @param {number} [count]\n\t * @returns {undefined|boolean} - true if line is a full loop (path should be closed)\n\t */\n path(ctx, start, count) {\n const segments = this.segments;\n const segmentMethod = _getSegmentMethod(this);\n let loop = this._loop;\n\n start = start || 0;\n count = count || (this.points.length - start);\n\n for (const segment of segments) {\n loop &= segmentMethod(ctx, this, segment, {start, end: start + count - 1});\n }\n return !!loop;\n }\n\n /**\n\t * Draw\n\t * @param {CanvasRenderingContext2D} ctx\n\t * @param {object} chartArea\n\t * @param {number} [start]\n\t * @param {number} [count]\n\t */\n draw(ctx, chartArea, start, count) {\n const options = this.options || {};\n const points = this.points || [];\n\n if (points.length && options.borderWidth) {\n ctx.save();\n\n draw(ctx, this, start, count);\n\n ctx.restore();\n }\n\n if (this.animated) {\n // When line is animated, the control points and path are not cached.\n this._pointsUpdated = false;\n this._path = undefined;\n }\n }\n}\n","import Element from '../core/core.element.js';\nimport {drawPoint, _isPointInArea} from '../helpers/helpers.canvas.js';\nimport type {\n CartesianParsedData,\n ChartArea,\n Point,\n PointHoverOptions,\n PointOptions,\n} from '../types/index.js';\n\nfunction inRange(el: PointElement, pos: number, axis: 'x' | 'y', useFinalPosition?: boolean) {\n const options = el.options;\n const {[axis]: value} = el.getProps([axis], useFinalPosition);\n\n return (Math.abs(pos - value) < options.radius + options.hitRadius);\n}\n\nexport type PointProps = Point\n\nexport default class PointElement extends Element {\n\n static id = 'point';\n\n parsed: CartesianParsedData;\n skip?: boolean;\n stop?: boolean;\n\n /**\n * @type {any}\n */\n static defaults = {\n borderWidth: 1,\n hitRadius: 1,\n hoverBorderWidth: 1,\n hoverRadius: 4,\n pointStyle: 'circle',\n radius: 3,\n rotation: 0\n };\n\n /**\n * @type {any}\n */\n static defaultRoutes = {\n backgroundColor: 'backgroundColor',\n borderColor: 'borderColor'\n };\n\n constructor(cfg) {\n super();\n\n this.options = undefined;\n this.parsed = undefined;\n this.skip = undefined;\n this.stop = undefined;\n\n if (cfg) {\n Object.assign(this, cfg);\n }\n }\n\n inRange(mouseX: number, mouseY: number, useFinalPosition?: boolean) {\n const options = this.options;\n const {x, y} = this.getProps(['x', 'y'], useFinalPosition);\n return ((Math.pow(mouseX - x, 2) + Math.pow(mouseY - y, 2)) < Math.pow(options.hitRadius + options.radius, 2));\n }\n\n inXRange(mouseX: number, useFinalPosition?: boolean) {\n return inRange(this, mouseX, 'x', useFinalPosition);\n }\n\n inYRange(mouseY: number, useFinalPosition?: boolean) {\n return inRange(this, mouseY, 'y', useFinalPosition);\n }\n\n getCenterPoint(useFinalPosition?: boolean) {\n const {x, y} = this.getProps(['x', 'y'], useFinalPosition);\n return {x, y};\n }\n\n size(options?: Partial) {\n options = options || this.options || {};\n let radius = options.radius || 0;\n radius = Math.max(radius, radius && options.hoverRadius || 0);\n const borderWidth = radius && options.borderWidth || 0;\n return (radius + borderWidth) * 2;\n }\n\n draw(ctx: CanvasRenderingContext2D, area: ChartArea) {\n const options = this.options;\n\n if (this.skip || options.radius < 0.1 || !_isPointInArea(this, area, this.size(options) / 2)) {\n return;\n }\n\n ctx.strokeStyle = options.borderColor;\n ctx.lineWidth = options.borderWidth;\n ctx.fillStyle = options.backgroundColor;\n drawPoint(ctx, options, this.x, this.y);\n }\n\n getRange() {\n const options = this.options || {};\n // @ts-expect-error Fallbacks should never be hit in practice\n return options.radius + options.hitRadius;\n }\n}\n","import Element from '../core/core.element.js';\nimport {isObject, _isBetween, _limitValue} from '../helpers/index.js';\nimport {addRoundedRectPath} from '../helpers/helpers.canvas.js';\nimport {toTRBL, toTRBLCorners} from '../helpers/helpers.options.js';\n\n/** @typedef {{ x: number, y: number, base: number, horizontal: boolean, width: number, height: number }} BarProps */\n\n/**\n * Helper function to get the bounds of the bar regardless of the orientation\n * @param {BarElement} bar the bar\n * @param {boolean} [useFinalPosition]\n * @return {object} bounds of the bar\n * @private\n */\nfunction getBarBounds(bar, useFinalPosition) {\n const {x, y, base, width, height} = /** @type {BarProps} */ (bar.getProps(['x', 'y', 'base', 'width', 'height'], useFinalPosition));\n\n let left, right, top, bottom, half;\n\n if (bar.horizontal) {\n half = height / 2;\n left = Math.min(x, base);\n right = Math.max(x, base);\n top = y - half;\n bottom = y + half;\n } else {\n half = width / 2;\n left = x - half;\n right = x + half;\n top = Math.min(y, base);\n bottom = Math.max(y, base);\n }\n\n return {left, top, right, bottom};\n}\n\nfunction skipOrLimit(skip, value, min, max) {\n return skip ? 0 : _limitValue(value, min, max);\n}\n\nfunction parseBorderWidth(bar, maxW, maxH) {\n const value = bar.options.borderWidth;\n const skip = bar.borderSkipped;\n const o = toTRBL(value);\n\n return {\n t: skipOrLimit(skip.top, o.top, 0, maxH),\n r: skipOrLimit(skip.right, o.right, 0, maxW),\n b: skipOrLimit(skip.bottom, o.bottom, 0, maxH),\n l: skipOrLimit(skip.left, o.left, 0, maxW)\n };\n}\n\nfunction parseBorderRadius(bar, maxW, maxH) {\n const {enableBorderRadius} = bar.getProps(['enableBorderRadius']);\n const value = bar.options.borderRadius;\n const o = toTRBLCorners(value);\n const maxR = Math.min(maxW, maxH);\n const skip = bar.borderSkipped;\n\n // If the value is an object, assume the user knows what they are doing\n // and apply as directed.\n const enableBorder = enableBorderRadius || isObject(value);\n\n return {\n topLeft: skipOrLimit(!enableBorder || skip.top || skip.left, o.topLeft, 0, maxR),\n topRight: skipOrLimit(!enableBorder || skip.top || skip.right, o.topRight, 0, maxR),\n bottomLeft: skipOrLimit(!enableBorder || skip.bottom || skip.left, o.bottomLeft, 0, maxR),\n bottomRight: skipOrLimit(!enableBorder || skip.bottom || skip.right, o.bottomRight, 0, maxR)\n };\n}\n\nfunction boundingRects(bar) {\n const bounds = getBarBounds(bar);\n const width = bounds.right - bounds.left;\n const height = bounds.bottom - bounds.top;\n const border = parseBorderWidth(bar, width / 2, height / 2);\n const radius = parseBorderRadius(bar, width / 2, height / 2);\n\n return {\n outer: {\n x: bounds.left,\n y: bounds.top,\n w: width,\n h: height,\n radius\n },\n inner: {\n x: bounds.left + border.l,\n y: bounds.top + border.t,\n w: width - border.l - border.r,\n h: height - border.t - border.b,\n radius: {\n topLeft: Math.max(0, radius.topLeft - Math.max(border.t, border.l)),\n topRight: Math.max(0, radius.topRight - Math.max(border.t, border.r)),\n bottomLeft: Math.max(0, radius.bottomLeft - Math.max(border.b, border.l)),\n bottomRight: Math.max(0, radius.bottomRight - Math.max(border.b, border.r)),\n }\n }\n };\n}\n\nfunction inRange(bar, x, y, useFinalPosition) {\n const skipX = x === null;\n const skipY = y === null;\n const skipBoth = skipX && skipY;\n const bounds = bar && !skipBoth && getBarBounds(bar, useFinalPosition);\n\n return bounds\n\t\t&& (skipX || _isBetween(x, bounds.left, bounds.right))\n\t\t&& (skipY || _isBetween(y, bounds.top, bounds.bottom));\n}\n\nfunction hasRadius(radius) {\n return radius.topLeft || radius.topRight || radius.bottomLeft || radius.bottomRight;\n}\n\n/**\n * Add a path of a rectangle to the current sub-path\n * @param {CanvasRenderingContext2D} ctx Context\n * @param {*} rect Bounding rect\n */\nfunction addNormalRectPath(ctx, rect) {\n ctx.rect(rect.x, rect.y, rect.w, rect.h);\n}\n\nfunction inflateRect(rect, amount, refRect = {}) {\n const x = rect.x !== refRect.x ? -amount : 0;\n const y = rect.y !== refRect.y ? -amount : 0;\n const w = (rect.x + rect.w !== refRect.x + refRect.w ? amount : 0) - x;\n const h = (rect.y + rect.h !== refRect.y + refRect.h ? amount : 0) - y;\n return {\n x: rect.x + x,\n y: rect.y + y,\n w: rect.w + w,\n h: rect.h + h,\n radius: rect.radius\n };\n}\n\nexport default class BarElement extends Element {\n\n static id = 'bar';\n\n /**\n * @type {any}\n */\n static defaults = {\n borderSkipped: 'start',\n borderWidth: 0,\n borderRadius: 0,\n inflateAmount: 'auto',\n pointStyle: undefined\n };\n\n /**\n * @type {any}\n */\n static defaultRoutes = {\n backgroundColor: 'backgroundColor',\n borderColor: 'borderColor'\n };\n\n constructor(cfg) {\n super();\n\n this.options = undefined;\n this.horizontal = undefined;\n this.base = undefined;\n this.width = undefined;\n this.height = undefined;\n this.inflateAmount = undefined;\n\n if (cfg) {\n Object.assign(this, cfg);\n }\n }\n\n draw(ctx) {\n const {inflateAmount, options: {borderColor, backgroundColor}} = this;\n const {inner, outer} = boundingRects(this);\n const addRectPath = hasRadius(outer.radius) ? addRoundedRectPath : addNormalRectPath;\n\n ctx.save();\n\n if (outer.w !== inner.w || outer.h !== inner.h) {\n ctx.beginPath();\n addRectPath(ctx, inflateRect(outer, inflateAmount, inner));\n ctx.clip();\n addRectPath(ctx, inflateRect(inner, -inflateAmount, outer));\n ctx.fillStyle = borderColor;\n ctx.fill('evenodd');\n }\n\n ctx.beginPath();\n addRectPath(ctx, inflateRect(inner, inflateAmount));\n ctx.fillStyle = backgroundColor;\n ctx.fill();\n\n ctx.restore();\n }\n\n inRange(mouseX, mouseY, useFinalPosition) {\n return inRange(this, mouseX, mouseY, useFinalPosition);\n }\n\n inXRange(mouseX, useFinalPosition) {\n return inRange(this, mouseX, null, useFinalPosition);\n }\n\n inYRange(mouseY, useFinalPosition) {\n return inRange(this, null, mouseY, useFinalPosition);\n }\n\n getCenterPoint(useFinalPosition) {\n const {x, y, base, horizontal} = /** @type {BarProps} */ (this.getProps(['x', 'y', 'base', 'horizontal'], useFinalPosition));\n return {\n x: horizontal ? (x + base) / 2 : x,\n y: horizontal ? y : (y + base) / 2\n };\n }\n\n getRange(axis) {\n return axis === 'x' ? this.width / 2 : this.height / 2;\n }\n}\n","import {DoughnutController, PolarAreaController, defaults} from '../index.js';\nimport type {Chart, ChartDataset} from '../types.js';\n\nexport interface ColorsPluginOptions {\n enabled?: boolean;\n forceOverride?: boolean;\n}\n\ninterface ColorsDescriptor {\n backgroundColor?: unknown;\n borderColor?: unknown;\n}\n\nconst BORDER_COLORS = [\n 'rgb(54, 162, 235)', // blue\n 'rgb(255, 99, 132)', // red\n 'rgb(255, 159, 64)', // orange\n 'rgb(255, 205, 86)', // yellow\n 'rgb(75, 192, 192)', // green\n 'rgb(153, 102, 255)', // purple\n 'rgb(201, 203, 207)' // grey\n];\n\n// Border colors with 50% transparency\nconst BACKGROUND_COLORS = /* #__PURE__ */ BORDER_COLORS.map(color => color.replace('rgb(', 'rgba(').replace(')', ', 0.5)'));\n\nfunction getBorderColor(i: number) {\n return BORDER_COLORS[i % BORDER_COLORS.length];\n}\n\nfunction getBackgroundColor(i: number) {\n return BACKGROUND_COLORS[i % BACKGROUND_COLORS.length];\n}\n\nfunction colorizeDefaultDataset(dataset: ChartDataset, i: number) {\n dataset.borderColor = getBorderColor(i);\n dataset.backgroundColor = getBackgroundColor(i);\n\n return ++i;\n}\n\nfunction colorizeDoughnutDataset(dataset: ChartDataset, i: number) {\n dataset.backgroundColor = dataset.data.map(() => getBorderColor(i++));\n\n return i;\n}\n\nfunction colorizePolarAreaDataset(dataset: ChartDataset, i: number) {\n dataset.backgroundColor = dataset.data.map(() => getBackgroundColor(i++));\n\n return i;\n}\n\nfunction getColorizer(chart: Chart) {\n let i = 0;\n\n return (dataset: ChartDataset, datasetIndex: number) => {\n const controller = chart.getDatasetMeta(datasetIndex).controller;\n\n if (controller instanceof DoughnutController) {\n i = colorizeDoughnutDataset(dataset, i);\n } else if (controller instanceof PolarAreaController) {\n i = colorizePolarAreaDataset(dataset, i);\n } else if (controller) {\n i = colorizeDefaultDataset(dataset, i);\n }\n };\n}\n\nfunction containsColorsDefinitions(\n descriptors: ColorsDescriptor[] | Record\n) {\n let k: number | string;\n\n for (k in descriptors) {\n if (descriptors[k].borderColor || descriptors[k].backgroundColor) {\n return true;\n }\n }\n\n return false;\n}\n\nfunction containsColorsDefinition(\n descriptor: ColorsDescriptor\n) {\n return descriptor && (descriptor.borderColor || descriptor.backgroundColor);\n}\n\nfunction containsDefaultColorsDefenitions() {\n return defaults.borderColor !== 'rgba(0,0,0,0.1)' || defaults.backgroundColor !== 'rgba(0,0,0,0.1)';\n}\n\nexport default {\n id: 'colors',\n\n defaults: {\n enabled: true,\n forceOverride: false\n } as ColorsPluginOptions,\n\n beforeLayout(chart: Chart, _args, options: ColorsPluginOptions) {\n if (!options.enabled) {\n return;\n }\n\n const {\n data: {datasets},\n options: chartOptions\n } = chart.config;\n const {elements} = chartOptions;\n\n const containsColorDefenition = (\n containsColorsDefinitions(datasets) ||\n containsColorsDefinition(chartOptions) ||\n (elements && containsColorsDefinitions(elements)) ||\n containsDefaultColorsDefenitions());\n\n if (!options.forceOverride && containsColorDefenition) {\n return;\n }\n\n const colorizer = getColorizer(chart);\n\n datasets.forEach(colorizer);\n }\n};\n","import {_limitValue, _lookupByKey, isNullOrUndef, resolve} from '../helpers/index.js';\n\nfunction lttbDecimation(data, start, count, availableWidth, options) {\n /**\n * Implementation of the Largest Triangle Three Buckets algorithm.\n *\n * This implementation is based on the original implementation by Sveinn Steinarsson\n * in https://github.com/sveinn-steinarsson/flot-downsample/blob/master/jquery.flot.downsample.js\n *\n * The original implementation is MIT licensed.\n */\n const samples = options.samples || availableWidth;\n // There are less points than the threshold, returning the whole array\n if (samples >= count) {\n return data.slice(start, start + count);\n }\n\n const decimated = [];\n\n const bucketWidth = (count - 2) / (samples - 2);\n let sampledIndex = 0;\n const endIndex = start + count - 1;\n // Starting from offset\n let a = start;\n let i, maxAreaPoint, maxArea, area, nextA;\n\n decimated[sampledIndex++] = data[a];\n\n for (i = 0; i < samples - 2; i++) {\n let avgX = 0;\n let avgY = 0;\n let j;\n\n // Adding offset\n const avgRangeStart = Math.floor((i + 1) * bucketWidth) + 1 + start;\n const avgRangeEnd = Math.min(Math.floor((i + 2) * bucketWidth) + 1, count) + start;\n const avgRangeLength = avgRangeEnd - avgRangeStart;\n\n for (j = avgRangeStart; j < avgRangeEnd; j++) {\n avgX += data[j].x;\n avgY += data[j].y;\n }\n\n avgX /= avgRangeLength;\n avgY /= avgRangeLength;\n\n // Adding offset\n const rangeOffs = Math.floor(i * bucketWidth) + 1 + start;\n const rangeTo = Math.min(Math.floor((i + 1) * bucketWidth) + 1, count) + start;\n const {x: pointAx, y: pointAy} = data[a];\n\n // Note that this is changed from the original algorithm which initializes these\n // values to 1. The reason for this change is that if the area is small, nextA\n // would never be set and thus a crash would occur in the next loop as `a` would become\n // `undefined`. Since the area is always positive, but could be 0 in the case of a flat trace,\n // initializing with a negative number is the correct solution.\n maxArea = area = -1;\n\n for (j = rangeOffs; j < rangeTo; j++) {\n area = 0.5 * Math.abs(\n (pointAx - avgX) * (data[j].y - pointAy) -\n (pointAx - data[j].x) * (avgY - pointAy)\n );\n\n if (area > maxArea) {\n maxArea = area;\n maxAreaPoint = data[j];\n nextA = j;\n }\n }\n\n decimated[sampledIndex++] = maxAreaPoint;\n a = nextA;\n }\n\n // Include the last point\n decimated[sampledIndex++] = data[endIndex];\n\n return decimated;\n}\n\nfunction minMaxDecimation(data, start, count, availableWidth) {\n let avgX = 0;\n let countX = 0;\n let i, point, x, y, prevX, minIndex, maxIndex, startIndex, minY, maxY;\n const decimated = [];\n const endIndex = start + count - 1;\n\n const xMin = data[start].x;\n const xMax = data[endIndex].x;\n const dx = xMax - xMin;\n\n for (i = start; i < start + count; ++i) {\n point = data[i];\n x = (point.x - xMin) / dx * availableWidth;\n y = point.y;\n const truncX = x | 0;\n\n if (truncX === prevX) {\n // Determine `minY` / `maxY` and `avgX` while we stay within same x-position\n if (y < minY) {\n minY = y;\n minIndex = i;\n } else if (y > maxY) {\n maxY = y;\n maxIndex = i;\n }\n // For first point in group, countX is `0`, so average will be `x` / 1.\n // Use point.x here because we're computing the average data `x` value\n avgX = (countX * avgX + point.x) / ++countX;\n } else {\n // Push up to 4 points, 3 for the last interval and the first point for this interval\n const lastIndex = i - 1;\n\n if (!isNullOrUndef(minIndex) && !isNullOrUndef(maxIndex)) {\n // The interval is defined by 4 points: start, min, max, end.\n // The starting point is already considered at this point, so we need to determine which\n // of the other points to add. We need to sort these points to ensure the decimated data\n // is still sorted and then ensure there are no duplicates.\n const intermediateIndex1 = Math.min(minIndex, maxIndex);\n const intermediateIndex2 = Math.max(minIndex, maxIndex);\n\n if (intermediateIndex1 !== startIndex && intermediateIndex1 !== lastIndex) {\n decimated.push({\n ...data[intermediateIndex1],\n x: avgX,\n });\n }\n if (intermediateIndex2 !== startIndex && intermediateIndex2 !== lastIndex) {\n decimated.push({\n ...data[intermediateIndex2],\n x: avgX\n });\n }\n }\n\n // lastIndex === startIndex will occur when a range has only 1 point which could\n // happen with very uneven data\n if (i > 0 && lastIndex !== startIndex) {\n // Last point in the previous interval\n decimated.push(data[lastIndex]);\n }\n\n // Start of the new interval\n decimated.push(point);\n prevX = truncX;\n countX = 0;\n minY = maxY = y;\n minIndex = maxIndex = startIndex = i;\n }\n }\n\n return decimated;\n}\n\nfunction cleanDecimatedDataset(dataset) {\n if (dataset._decimated) {\n const data = dataset._data;\n delete dataset._decimated;\n delete dataset._data;\n Object.defineProperty(dataset, 'data', {\n configurable: true,\n enumerable: true,\n writable: true,\n value: data,\n });\n }\n}\n\nfunction cleanDecimatedData(chart) {\n chart.data.datasets.forEach((dataset) => {\n cleanDecimatedDataset(dataset);\n });\n}\n\nfunction getStartAndCountOfVisiblePointsSimplified(meta, points) {\n const pointCount = points.length;\n\n let start = 0;\n let count;\n\n const {iScale} = meta;\n const {min, max, minDefined, maxDefined} = iScale.getUserBounds();\n\n if (minDefined) {\n start = _limitValue(_lookupByKey(points, iScale.axis, min).lo, 0, pointCount - 1);\n }\n if (maxDefined) {\n count = _limitValue(_lookupByKey(points, iScale.axis, max).hi + 1, start, pointCount) - start;\n } else {\n count = pointCount - start;\n }\n\n return {start, count};\n}\n\nexport default {\n id: 'decimation',\n\n defaults: {\n algorithm: 'min-max',\n enabled: false,\n },\n\n beforeElementsUpdate: (chart, args, options) => {\n if (!options.enabled) {\n // The decimation plugin may have been previously enabled. Need to remove old `dataset._data` handlers\n cleanDecimatedData(chart);\n return;\n }\n\n // Assume the entire chart is available to show a few more points than needed\n const availableWidth = chart.width;\n\n chart.data.datasets.forEach((dataset, datasetIndex) => {\n const {_data, indexAxis} = dataset;\n const meta = chart.getDatasetMeta(datasetIndex);\n const data = _data || dataset.data;\n\n if (resolve([indexAxis, chart.options.indexAxis]) === 'y') {\n // Decimation is only supported for lines that have an X indexAxis\n return;\n }\n\n if (!meta.controller.supportsDecimation) {\n // Only line datasets are supported\n return;\n }\n\n const xAxis = chart.scales[meta.xAxisID];\n if (xAxis.type !== 'linear' && xAxis.type !== 'time') {\n // Only linear interpolation is supported\n return;\n }\n\n if (chart.options.parsing) {\n // Plugin only supports data that does not need parsing\n return;\n }\n\n let {start, count} = getStartAndCountOfVisiblePointsSimplified(meta, data);\n const threshold = options.threshold || 4 * availableWidth;\n if (count <= threshold) {\n // No decimation is required until we are above this threshold\n cleanDecimatedDataset(dataset);\n return;\n }\n\n if (isNullOrUndef(_data)) {\n // First time we are seeing this dataset\n // We override the 'data' property with a setter that stores the\n // raw data in _data, but reads the decimated data from _decimated\n dataset._data = data;\n delete dataset.data;\n Object.defineProperty(dataset, 'data', {\n configurable: true,\n enumerable: true,\n get: function() {\n return this._decimated;\n },\n set: function(d) {\n this._data = d;\n }\n });\n }\n\n // Point the chart to the decimated data\n let decimated;\n switch (options.algorithm) {\n case 'lttb':\n decimated = lttbDecimation(data, start, count, availableWidth, options);\n break;\n case 'min-max':\n decimated = minMaxDecimation(data, start, count, availableWidth);\n break;\n default:\n throw new Error(`Unsupported decimation algorithm '${options.algorithm}'`);\n }\n\n dataset._decimated = decimated;\n });\n },\n\n destroy(chart) {\n cleanDecimatedData(chart);\n }\n};\n","import {_boundSegment, _boundSegments, _normalizeAngle} from '../../helpers/index.js';\n\nexport function _segments(line, target, property) {\n const segments = line.segments;\n const points = line.points;\n const tpoints = target.points;\n const parts = [];\n\n for (const segment of segments) {\n let {start, end} = segment;\n end = _findSegmentEnd(start, end, points);\n\n const bounds = _getBounds(property, points[start], points[end], segment.loop);\n\n if (!target.segments) {\n // Special case for boundary not supporting `segments` (simpleArc)\n // Bounds are provided as `target` for partial circle, or undefined for full circle\n parts.push({\n source: segment,\n target: bounds,\n start: points[start],\n end: points[end]\n });\n continue;\n }\n\n // Get all segments from `target` that intersect the bounds of current segment of `line`\n const targetSegments = _boundSegments(target, bounds);\n\n for (const tgt of targetSegments) {\n const subBounds = _getBounds(property, tpoints[tgt.start], tpoints[tgt.end], tgt.loop);\n const fillSources = _boundSegment(segment, points, subBounds);\n\n for (const fillSource of fillSources) {\n parts.push({\n source: fillSource,\n target: tgt,\n start: {\n [property]: _getEdge(bounds, subBounds, 'start', Math.max)\n },\n end: {\n [property]: _getEdge(bounds, subBounds, 'end', Math.min)\n }\n });\n }\n }\n }\n return parts;\n}\n\nexport function _getBounds(property, first, last, loop) {\n if (loop) {\n return;\n }\n let start = first[property];\n let end = last[property];\n\n if (property === 'angle') {\n start = _normalizeAngle(start);\n end = _normalizeAngle(end);\n }\n return {property, start, end};\n}\n\nexport function _pointsFromSegments(boundary, line) {\n const {x = null, y = null} = boundary || {};\n const linePoints = line.points;\n const points = [];\n line.segments.forEach(({start, end}) => {\n end = _findSegmentEnd(start, end, linePoints);\n const first = linePoints[start];\n const last = linePoints[end];\n if (y !== null) {\n points.push({x: first.x, y});\n points.push({x: last.x, y});\n } else if (x !== null) {\n points.push({x, y: first.y});\n points.push({x, y: last.y});\n }\n });\n return points;\n}\n\nexport function _findSegmentEnd(start, end, points) {\n for (;end > start; end--) {\n const point = points[end];\n if (!isNaN(point.x) && !isNaN(point.y)) {\n break;\n }\n }\n return end;\n}\n\nfunction _getEdge(a, b, prop, fn) {\n if (a && b) {\n return fn(a[prop], b[prop]);\n }\n return a ? a[prop] : b ? b[prop] : 0;\n}\n","/**\n * @typedef { import('../../core/core.controller.js').default } Chart\n * @typedef { import('../../core/core.scale.js').default } Scale\n * @typedef { import('../../elements/element.point.js').default } PointElement\n */\n\nimport {LineElement} from '../../elements/index.js';\nimport {isArray} from '../../helpers/index.js';\nimport {_pointsFromSegments} from './filler.segment.js';\n\n/**\n * @param {PointElement[] | { x: number; y: number; }} boundary\n * @param {LineElement} line\n * @return {LineElement?}\n */\nexport function _createBoundaryLine(boundary, line) {\n let points = [];\n let _loop = false;\n\n if (isArray(boundary)) {\n _loop = true;\n // @ts-ignore\n points = boundary;\n } else {\n points = _pointsFromSegments(boundary, line);\n }\n\n return points.length ? new LineElement({\n points,\n options: {tension: 0},\n _loop,\n _fullLoop: _loop\n }) : null;\n}\n\nexport function _shouldApplyFill(source) {\n return source && source.fill !== false;\n}\n","import {isObject, isFinite, valueOrDefault} from '../../helpers/helpers.core.js';\n\n/**\n * @typedef { import('../../core/core.scale.js').default } Scale\n * @typedef { import('../../elements/element.line.js').default } LineElement\n * @typedef { import('../../types/index.js').FillTarget } FillTarget\n * @typedef { import('../../types/index.js').ComplexFillTarget } ComplexFillTarget\n */\n\nexport function _resolveTarget(sources, index, propagate) {\n const source = sources[index];\n let fill = source.fill;\n const visited = [index];\n let target;\n\n if (!propagate) {\n return fill;\n }\n\n while (fill !== false && visited.indexOf(fill) === -1) {\n if (!isFinite(fill)) {\n return fill;\n }\n\n target = sources[fill];\n if (!target) {\n return false;\n }\n\n if (target.visible) {\n return fill;\n }\n\n visited.push(fill);\n fill = target.fill;\n }\n\n return false;\n}\n\n/**\n * @param {LineElement} line\n * @param {number} index\n * @param {number} count\n */\nexport function _decodeFill(line, index, count) {\n /** @type {string | {value: number}} */\n const fill = parseFillOption(line);\n\n if (isObject(fill)) {\n return isNaN(fill.value) ? false : fill;\n }\n\n let target = parseFloat(fill);\n\n if (isFinite(target) && Math.floor(target) === target) {\n return decodeTargetIndex(fill[0], index, target, count);\n }\n\n return ['origin', 'start', 'end', 'stack', 'shape'].indexOf(fill) >= 0 && fill;\n}\n\nfunction decodeTargetIndex(firstCh, index, target, count) {\n if (firstCh === '-' || firstCh === '+') {\n target = index + target;\n }\n\n if (target === index || target < 0 || target >= count) {\n return false;\n }\n\n return target;\n}\n\n/**\n * @param {FillTarget | ComplexFillTarget} fill\n * @param {Scale} scale\n * @returns {number | null}\n */\nexport function _getTargetPixel(fill, scale) {\n let pixel = null;\n if (fill === 'start') {\n pixel = scale.bottom;\n } else if (fill === 'end') {\n pixel = scale.top;\n } else if (isObject(fill)) {\n // @ts-ignore\n pixel = scale.getPixelForValue(fill.value);\n } else if (scale.getBasePixel) {\n pixel = scale.getBasePixel();\n }\n return pixel;\n}\n\n/**\n * @param {FillTarget | ComplexFillTarget} fill\n * @param {Scale} scale\n * @param {number} startValue\n * @returns {number | undefined}\n */\nexport function _getTargetValue(fill, scale, startValue) {\n let value;\n\n if (fill === 'start') {\n value = startValue;\n } else if (fill === 'end') {\n value = scale.options.reverse ? scale.min : scale.max;\n } else if (isObject(fill)) {\n // @ts-ignore\n value = fill.value;\n } else {\n value = scale.getBaseValue();\n }\n return value;\n}\n\n/**\n * @param {LineElement} line\n */\nfunction parseFillOption(line) {\n const options = line.options;\n const fillOption = options.fill;\n let fill = valueOrDefault(fillOption && fillOption.target, fillOption);\n\n if (fill === undefined) {\n fill = !!options.backgroundColor;\n }\n\n if (fill === false || fill === null) {\n return false;\n }\n\n if (fill === true) {\n return 'origin';\n }\n return fill;\n}\n","/**\n * @typedef { import('../../core/core.controller.js').default } Chart\n * @typedef { import('../../core/core.scale.js').default } Scale\n * @typedef { import('../../elements/element.point.js').default } PointElement\n */\n\nimport {LineElement} from '../../elements/index.js';\nimport {_isBetween} from '../../helpers/index.js';\nimport {_createBoundaryLine} from './filler.helper.js';\n\n/**\n * @param {{ chart: Chart; scale: Scale; index: number; line: LineElement; }} source\n * @return {LineElement}\n */\nexport function _buildStackLine(source) {\n const {scale, index, line} = source;\n const points = [];\n const segments = line.segments;\n const sourcePoints = line.points;\n const linesBelow = getLinesBelow(scale, index);\n linesBelow.push(_createBoundaryLine({x: null, y: scale.bottom}, line));\n\n for (let i = 0; i < segments.length; i++) {\n const segment = segments[i];\n for (let j = segment.start; j <= segment.end; j++) {\n addPointsBelow(points, sourcePoints[j], linesBelow);\n }\n }\n return new LineElement({points, options: {}});\n}\n\n/**\n * @param {Scale} scale\n * @param {number} index\n * @return {LineElement[]}\n */\nfunction getLinesBelow(scale, index) {\n const below = [];\n const metas = scale.getMatchingVisibleMetas('line');\n\n for (let i = 0; i < metas.length; i++) {\n const meta = metas[i];\n if (meta.index === index) {\n break;\n }\n if (!meta.hidden) {\n below.unshift(meta.dataset);\n }\n }\n return below;\n}\n\n/**\n * @param {PointElement[]} points\n * @param {PointElement} sourcePoint\n * @param {LineElement[]} linesBelow\n */\nfunction addPointsBelow(points, sourcePoint, linesBelow) {\n const postponed = [];\n for (let j = 0; j < linesBelow.length; j++) {\n const line = linesBelow[j];\n const {first, last, point} = findPoint(line, sourcePoint, 'x');\n\n if (!point || (first && last)) {\n continue;\n }\n if (first) {\n // First point of an segment -> need to add another point before this,\n // from next line below.\n postponed.unshift(point);\n } else {\n points.push(point);\n if (!last) {\n // In the middle of an segment, no need to add more points.\n break;\n }\n }\n }\n points.push(...postponed);\n}\n\n/**\n * @param {LineElement} line\n * @param {PointElement} sourcePoint\n * @param {string} property\n * @returns {{point?: PointElement, first?: boolean, last?: boolean}}\n */\nfunction findPoint(line, sourcePoint, property) {\n const point = line.interpolate(sourcePoint, property);\n if (!point) {\n return {};\n }\n\n const pointValue = point[property];\n const segments = line.segments;\n const linePoints = line.points;\n let first = false;\n let last = false;\n for (let i = 0; i < segments.length; i++) {\n const segment = segments[i];\n const firstValue = linePoints[segment.start][property];\n const lastValue = linePoints[segment.end][property];\n if (_isBetween(pointValue, firstValue, lastValue)) {\n first = pointValue === firstValue;\n last = pointValue === lastValue;\n break;\n }\n }\n return {first, last, point};\n}\n","import {TAU} from '../../helpers/index.js';\n\n// TODO: use elements.ArcElement instead\nexport class simpleArc {\n constructor(opts) {\n this.x = opts.x;\n this.y = opts.y;\n this.radius = opts.radius;\n }\n\n pathSegment(ctx, bounds, opts) {\n const {x, y, radius} = this;\n bounds = bounds || {start: 0, end: TAU};\n ctx.arc(x, y, radius, bounds.end, bounds.start, true);\n return !opts.bounds;\n }\n\n interpolate(point) {\n const {x, y, radius} = this;\n const angle = point.angle;\n return {\n x: x + Math.cos(angle) * radius,\n y: y + Math.sin(angle) * radius,\n angle\n };\n }\n}\n","import {isFinite} from '../../helpers/index.js';\nimport {_createBoundaryLine} from './filler.helper.js';\nimport {_getTargetPixel, _getTargetValue} from './filler.options.js';\nimport {_buildStackLine} from './filler.target.stack.js';\nimport {simpleArc} from './simpleArc.js';\n\n/**\n * @typedef { import('../../core/core.controller.js').default } Chart\n * @typedef { import('../../core/core.scale.js').default } Scale\n * @typedef { import('../../elements/element.point.js').default } PointElement\n */\n\nexport function _getTarget(source) {\n const {chart, fill, line} = source;\n\n if (isFinite(fill)) {\n return getLineByIndex(chart, fill);\n }\n\n if (fill === 'stack') {\n return _buildStackLine(source);\n }\n\n if (fill === 'shape') {\n return true;\n }\n\n const boundary = computeBoundary(source);\n\n if (boundary instanceof simpleArc) {\n return boundary;\n }\n\n return _createBoundaryLine(boundary, line);\n}\n\n/**\n * @param {Chart} chart\n * @param {number} index\n */\nfunction getLineByIndex(chart, index) {\n const meta = chart.getDatasetMeta(index);\n const visible = meta && chart.isDatasetVisible(index);\n return visible ? meta.dataset : null;\n}\n\nfunction computeBoundary(source) {\n const scale = source.scale || {};\n\n if (scale.getPointPositionForValue) {\n return computeCircularBoundary(source);\n }\n return computeLinearBoundary(source);\n}\n\n\nfunction computeLinearBoundary(source) {\n const {scale = {}, fill} = source;\n const pixel = _getTargetPixel(fill, scale);\n\n if (isFinite(pixel)) {\n const horizontal = scale.isHorizontal();\n\n return {\n x: horizontal ? pixel : null,\n y: horizontal ? null : pixel\n };\n }\n\n return null;\n}\n\nfunction computeCircularBoundary(source) {\n const {scale, fill} = source;\n const options = scale.options;\n const length = scale.getLabels().length;\n const start = options.reverse ? scale.max : scale.min;\n const value = _getTargetValue(fill, scale, start);\n const target = [];\n\n if (options.grid.circular) {\n const center = scale.getPointPositionForValue(0, start);\n return new simpleArc({\n x: center.x,\n y: center.y,\n radius: scale.getDistanceFromCenterForValue(value)\n });\n }\n\n for (let i = 0; i < length; ++i) {\n target.push(scale.getPointPositionForValue(i, value));\n }\n return target;\n}\n\n","import {clipArea, unclipArea} from '../../helpers/index.js';\nimport {_findSegmentEnd, _getBounds, _segments} from './filler.segment.js';\nimport {_getTarget} from './filler.target.js';\n\nexport function _drawfill(ctx, source, area) {\n const target = _getTarget(source);\n const {line, scale, axis} = source;\n const lineOpts = line.options;\n const fillOption = lineOpts.fill;\n const color = lineOpts.backgroundColor;\n const {above = color, below = color} = fillOption || {};\n if (target && line.points.length) {\n clipArea(ctx, area);\n doFill(ctx, {line, target, above, below, area, scale, axis});\n unclipArea(ctx);\n }\n}\n\nfunction doFill(ctx, cfg) {\n const {line, target, above, below, area, scale} = cfg;\n const property = line._loop ? 'angle' : cfg.axis;\n\n ctx.save();\n\n if (property === 'x' && below !== above) {\n clipVertical(ctx, target, area.top);\n fill(ctx, {line, target, color: above, scale, property});\n ctx.restore();\n ctx.save();\n clipVertical(ctx, target, area.bottom);\n }\n fill(ctx, {line, target, color: below, scale, property});\n\n ctx.restore();\n}\n\nfunction clipVertical(ctx, target, clipY) {\n const {segments, points} = target;\n let first = true;\n let lineLoop = false;\n\n ctx.beginPath();\n for (const segment of segments) {\n const {start, end} = segment;\n const firstPoint = points[start];\n const lastPoint = points[_findSegmentEnd(start, end, points)];\n if (first) {\n ctx.moveTo(firstPoint.x, firstPoint.y);\n first = false;\n } else {\n ctx.lineTo(firstPoint.x, clipY);\n ctx.lineTo(firstPoint.x, firstPoint.y);\n }\n lineLoop = !!target.pathSegment(ctx, segment, {move: lineLoop});\n if (lineLoop) {\n ctx.closePath();\n } else {\n ctx.lineTo(lastPoint.x, clipY);\n }\n }\n\n ctx.lineTo(target.first().x, clipY);\n ctx.closePath();\n ctx.clip();\n}\n\nfunction fill(ctx, cfg) {\n const {line, target, property, color, scale} = cfg;\n const segments = _segments(line, target, property);\n\n for (const {source: src, target: tgt, start, end} of segments) {\n const {style: {backgroundColor = color} = {}} = src;\n const notShape = target !== true;\n\n ctx.save();\n ctx.fillStyle = backgroundColor;\n\n clipBounds(ctx, scale, notShape && _getBounds(property, start, end));\n\n ctx.beginPath();\n\n const lineLoop = !!line.pathSegment(ctx, src);\n\n let loop;\n if (notShape) {\n if (lineLoop) {\n ctx.closePath();\n } else {\n interpolatedLineTo(ctx, target, end, property);\n }\n\n const targetLoop = !!target.pathSegment(ctx, tgt, {move: lineLoop, reverse: true});\n loop = lineLoop && targetLoop;\n if (!loop) {\n interpolatedLineTo(ctx, target, start, property);\n }\n }\n\n ctx.closePath();\n ctx.fill(loop ? 'evenodd' : 'nonzero');\n\n ctx.restore();\n }\n}\n\nfunction clipBounds(ctx, scale, bounds) {\n const {top, bottom} = scale.chart.chartArea;\n const {property, start, end} = bounds || {};\n if (property === 'x') {\n ctx.beginPath();\n ctx.rect(start, top, end - start, bottom - top);\n ctx.clip();\n }\n}\n\nfunction interpolatedLineTo(ctx, target, point, property) {\n const interpolatedPoint = target.interpolate(point, property);\n if (interpolatedPoint) {\n ctx.lineTo(interpolatedPoint.x, interpolatedPoint.y);\n }\n}\n\n","/**\n * Plugin based on discussion from the following Chart.js issues:\n * @see https://github.com/chartjs/Chart.js/issues/2380#issuecomment-279961569\n * @see https://github.com/chartjs/Chart.js/issues/2440#issuecomment-256461897\n */\n\nimport LineElement from '../../elements/element.line.js';\nimport {_drawfill} from './filler.drawing.js';\nimport {_shouldApplyFill} from './filler.helper.js';\nimport {_decodeFill, _resolveTarget} from './filler.options.js';\n\nexport default {\n id: 'filler',\n\n afterDatasetsUpdate(chart, _args, options) {\n const count = (chart.data.datasets || []).length;\n const sources = [];\n let meta, i, line, source;\n\n for (i = 0; i < count; ++i) {\n meta = chart.getDatasetMeta(i);\n line = meta.dataset;\n source = null;\n\n if (line && line.options && line instanceof LineElement) {\n source = {\n visible: chart.isDatasetVisible(i),\n index: i,\n fill: _decodeFill(line, i, count),\n chart,\n axis: meta.controller.options.indexAxis,\n scale: meta.vScale,\n line,\n };\n }\n\n meta.$filler = source;\n sources.push(source);\n }\n\n for (i = 0; i < count; ++i) {\n source = sources[i];\n if (!source || source.fill === false) {\n continue;\n }\n\n source.fill = _resolveTarget(sources, i, options.propagate);\n }\n },\n\n beforeDraw(chart, _args, options) {\n const draw = options.drawTime === 'beforeDraw';\n const metasets = chart.getSortedVisibleDatasetMetas();\n const area = chart.chartArea;\n for (let i = metasets.length - 1; i >= 0; --i) {\n const source = metasets[i].$filler;\n if (!source) {\n continue;\n }\n\n source.line.updateControlPoints(area, source.axis);\n if (draw && source.fill) {\n _drawfill(chart.ctx, source, area);\n }\n }\n },\n\n beforeDatasetsDraw(chart, _args, options) {\n if (options.drawTime !== 'beforeDatasetsDraw') {\n return;\n }\n\n const metasets = chart.getSortedVisibleDatasetMetas();\n for (let i = metasets.length - 1; i >= 0; --i) {\n const source = metasets[i].$filler;\n\n if (_shouldApplyFill(source)) {\n _drawfill(chart.ctx, source, chart.chartArea);\n }\n }\n },\n\n beforeDatasetDraw(chart, args, options) {\n const source = args.meta.$filler;\n\n if (!_shouldApplyFill(source) || options.drawTime !== 'beforeDatasetDraw') {\n return;\n }\n\n _drawfill(chart.ctx, source, chart.chartArea);\n },\n\n defaults: {\n propagate: true,\n drawTime: 'beforeDatasetDraw'\n }\n};\n","import defaults from '../core/core.defaults.js';\nimport Element from '../core/core.element.js';\nimport layouts from '../core/core.layouts.js';\nimport {addRoundedRectPath, drawPointLegend, renderText} from '../helpers/helpers.canvas.js';\nimport {\n _isBetween,\n callback as call,\n clipArea,\n getRtlAdapter,\n overrideTextDirection,\n restoreTextDirection,\n toFont,\n toPadding,\n unclipArea,\n valueOrDefault,\n} from '../helpers/index.js';\nimport {_alignStartEnd, _textX, _toLeftRightCenter} from '../helpers/helpers.extras.js';\nimport {toTRBLCorners} from '../helpers/helpers.options.js';\n\n/**\n * @typedef { import('../types/index.js').ChartEvent } ChartEvent\n */\n\nconst getBoxSize = (labelOpts, fontSize) => {\n let {boxHeight = fontSize, boxWidth = fontSize} = labelOpts;\n\n if (labelOpts.usePointStyle) {\n boxHeight = Math.min(boxHeight, fontSize);\n boxWidth = labelOpts.pointStyleWidth || Math.min(boxWidth, fontSize);\n }\n\n return {\n boxWidth,\n boxHeight,\n itemHeight: Math.max(fontSize, boxHeight)\n };\n};\n\nconst itemsEqual = (a, b) => a !== null && b !== null && a.datasetIndex === b.datasetIndex && a.index === b.index;\n\nexport class Legend extends Element {\n\n /**\n\t * @param {{ ctx: any; options: any; chart: any; }} config\n\t */\n constructor(config) {\n super();\n\n this._added = false;\n\n // Contains hit boxes for each dataset (in dataset order)\n this.legendHitBoxes = [];\n\n /**\n \t\t * @private\n \t\t */\n this._hoveredItem = null;\n\n // Are we in doughnut mode which has a different data type\n this.doughnutMode = false;\n\n this.chart = config.chart;\n this.options = config.options;\n this.ctx = config.ctx;\n this.legendItems = undefined;\n this.columnSizes = undefined;\n this.lineWidths = undefined;\n this.maxHeight = undefined;\n this.maxWidth = undefined;\n this.top = undefined;\n this.bottom = undefined;\n this.left = undefined;\n this.right = undefined;\n this.height = undefined;\n this.width = undefined;\n this._margins = undefined;\n this.position = undefined;\n this.weight = undefined;\n this.fullSize = undefined;\n }\n\n update(maxWidth, maxHeight, margins) {\n this.maxWidth = maxWidth;\n this.maxHeight = maxHeight;\n this._margins = margins;\n\n this.setDimensions();\n this.buildLabels();\n this.fit();\n }\n\n setDimensions() {\n if (this.isHorizontal()) {\n this.width = this.maxWidth;\n this.left = this._margins.left;\n this.right = this.width;\n } else {\n this.height = this.maxHeight;\n this.top = this._margins.top;\n this.bottom = this.height;\n }\n }\n\n buildLabels() {\n const labelOpts = this.options.labels || {};\n let legendItems = call(labelOpts.generateLabels, [this.chart], this) || [];\n\n if (labelOpts.filter) {\n legendItems = legendItems.filter((item) => labelOpts.filter(item, this.chart.data));\n }\n\n if (labelOpts.sort) {\n legendItems = legendItems.sort((a, b) => labelOpts.sort(a, b, this.chart.data));\n }\n\n if (this.options.reverse) {\n legendItems.reverse();\n }\n\n this.legendItems = legendItems;\n }\n\n fit() {\n const {options, ctx} = this;\n\n // The legend may not be displayed for a variety of reasons including\n // the fact that the defaults got set to `false`.\n // When the legend is not displayed, there are no guarantees that the options\n // are correctly formatted so we need to bail out as early as possible.\n if (!options.display) {\n this.width = this.height = 0;\n return;\n }\n\n const labelOpts = options.labels;\n const labelFont = toFont(labelOpts.font);\n const fontSize = labelFont.size;\n const titleHeight = this._computeTitleHeight();\n const {boxWidth, itemHeight} = getBoxSize(labelOpts, fontSize);\n\n let width, height;\n\n ctx.font = labelFont.string;\n\n if (this.isHorizontal()) {\n width = this.maxWidth; // fill all the width\n height = this._fitRows(titleHeight, fontSize, boxWidth, itemHeight) + 10;\n } else {\n height = this.maxHeight; // fill all the height\n width = this._fitCols(titleHeight, labelFont, boxWidth, itemHeight) + 10;\n }\n\n this.width = Math.min(width, options.maxWidth || this.maxWidth);\n this.height = Math.min(height, options.maxHeight || this.maxHeight);\n }\n\n /**\n\t * @private\n\t */\n _fitRows(titleHeight, fontSize, boxWidth, itemHeight) {\n const {ctx, maxWidth, options: {labels: {padding}}} = this;\n const hitboxes = this.legendHitBoxes = [];\n // Width of each line of legend boxes. Labels wrap onto multiple lines when there are too many to fit on one\n const lineWidths = this.lineWidths = [0];\n const lineHeight = itemHeight + padding;\n let totalHeight = titleHeight;\n\n ctx.textAlign = 'left';\n ctx.textBaseline = 'middle';\n\n let row = -1;\n let top = -lineHeight;\n this.legendItems.forEach((legendItem, i) => {\n const itemWidth = boxWidth + (fontSize / 2) + ctx.measureText(legendItem.text).width;\n\n if (i === 0 || lineWidths[lineWidths.length - 1] + itemWidth + 2 * padding > maxWidth) {\n totalHeight += lineHeight;\n lineWidths[lineWidths.length - (i > 0 ? 0 : 1)] = 0;\n top += lineHeight;\n row++;\n }\n\n hitboxes[i] = {left: 0, top, row, width: itemWidth, height: itemHeight};\n\n lineWidths[lineWidths.length - 1] += itemWidth + padding;\n });\n\n return totalHeight;\n }\n\n _fitCols(titleHeight, labelFont, boxWidth, _itemHeight) {\n const {ctx, maxHeight, options: {labels: {padding}}} = this;\n const hitboxes = this.legendHitBoxes = [];\n const columnSizes = this.columnSizes = [];\n const heightLimit = maxHeight - titleHeight;\n\n let totalWidth = padding;\n let currentColWidth = 0;\n let currentColHeight = 0;\n\n let left = 0;\n let col = 0;\n\n this.legendItems.forEach((legendItem, i) => {\n const {itemWidth, itemHeight} = calculateItemSize(boxWidth, labelFont, ctx, legendItem, _itemHeight);\n\n // If too tall, go to new column\n if (i > 0 && currentColHeight + itemHeight + 2 * padding > heightLimit) {\n totalWidth += currentColWidth + padding;\n columnSizes.push({width: currentColWidth, height: currentColHeight}); // previous column size\n left += currentColWidth + padding;\n col++;\n currentColWidth = currentColHeight = 0;\n }\n\n // Store the hitbox width and height here. Final position will be updated in `draw`\n hitboxes[i] = {left, top: currentColHeight, col, width: itemWidth, height: itemHeight};\n\n // Get max width\n currentColWidth = Math.max(currentColWidth, itemWidth);\n currentColHeight += itemHeight + padding;\n });\n\n totalWidth += currentColWidth;\n columnSizes.push({width: currentColWidth, height: currentColHeight}); // previous column size\n\n return totalWidth;\n }\n\n adjustHitBoxes() {\n if (!this.options.display) {\n return;\n }\n const titleHeight = this._computeTitleHeight();\n const {legendHitBoxes: hitboxes, options: {align, labels: {padding}, rtl}} = this;\n const rtlHelper = getRtlAdapter(rtl, this.left, this.width);\n if (this.isHorizontal()) {\n let row = 0;\n let left = _alignStartEnd(align, this.left + padding, this.right - this.lineWidths[row]);\n for (const hitbox of hitboxes) {\n if (row !== hitbox.row) {\n row = hitbox.row;\n left = _alignStartEnd(align, this.left + padding, this.right - this.lineWidths[row]);\n }\n hitbox.top += this.top + titleHeight + padding;\n hitbox.left = rtlHelper.leftForLtr(rtlHelper.x(left), hitbox.width);\n left += hitbox.width + padding;\n }\n } else {\n let col = 0;\n let top = _alignStartEnd(align, this.top + titleHeight + padding, this.bottom - this.columnSizes[col].height);\n for (const hitbox of hitboxes) {\n if (hitbox.col !== col) {\n col = hitbox.col;\n top = _alignStartEnd(align, this.top + titleHeight + padding, this.bottom - this.columnSizes[col].height);\n }\n hitbox.top = top;\n hitbox.left += this.left + padding;\n hitbox.left = rtlHelper.leftForLtr(rtlHelper.x(hitbox.left), hitbox.width);\n top += hitbox.height + padding;\n }\n }\n }\n\n isHorizontal() {\n return this.options.position === 'top' || this.options.position === 'bottom';\n }\n\n draw() {\n if (this.options.display) {\n const ctx = this.ctx;\n clipArea(ctx, this);\n\n this._draw();\n\n unclipArea(ctx);\n }\n }\n\n /**\n\t * @private\n\t */\n _draw() {\n const {options: opts, columnSizes, lineWidths, ctx} = this;\n const {align, labels: labelOpts} = opts;\n const defaultColor = defaults.color;\n const rtlHelper = getRtlAdapter(opts.rtl, this.left, this.width);\n const labelFont = toFont(labelOpts.font);\n const {padding} = labelOpts;\n const fontSize = labelFont.size;\n const halfFontSize = fontSize / 2;\n let cursor;\n\n this.drawTitle();\n\n // Canvas setup\n ctx.textAlign = rtlHelper.textAlign('left');\n ctx.textBaseline = 'middle';\n ctx.lineWidth = 0.5;\n ctx.font = labelFont.string;\n\n const {boxWidth, boxHeight, itemHeight} = getBoxSize(labelOpts, fontSize);\n\n // current position\n const drawLegendBox = function(x, y, legendItem) {\n if (isNaN(boxWidth) || boxWidth <= 0 || isNaN(boxHeight) || boxHeight < 0) {\n return;\n }\n\n // Set the ctx for the box\n ctx.save();\n\n const lineWidth = valueOrDefault(legendItem.lineWidth, 1);\n ctx.fillStyle = valueOrDefault(legendItem.fillStyle, defaultColor);\n ctx.lineCap = valueOrDefault(legendItem.lineCap, 'butt');\n ctx.lineDashOffset = valueOrDefault(legendItem.lineDashOffset, 0);\n ctx.lineJoin = valueOrDefault(legendItem.lineJoin, 'miter');\n ctx.lineWidth = lineWidth;\n ctx.strokeStyle = valueOrDefault(legendItem.strokeStyle, defaultColor);\n\n ctx.setLineDash(valueOrDefault(legendItem.lineDash, []));\n\n if (labelOpts.usePointStyle) {\n // Recalculate x and y for drawPoint() because its expecting\n // x and y to be center of figure (instead of top left)\n const drawOptions = {\n radius: boxHeight * Math.SQRT2 / 2,\n pointStyle: legendItem.pointStyle,\n rotation: legendItem.rotation,\n borderWidth: lineWidth\n };\n const centerX = rtlHelper.xPlus(x, boxWidth / 2);\n const centerY = y + halfFontSize;\n\n // Draw pointStyle as legend symbol\n drawPointLegend(ctx, drawOptions, centerX, centerY, labelOpts.pointStyleWidth && boxWidth);\n } else {\n // Draw box as legend symbol\n // Adjust position when boxHeight < fontSize (want it centered)\n const yBoxTop = y + Math.max((fontSize - boxHeight) / 2, 0);\n const xBoxLeft = rtlHelper.leftForLtr(x, boxWidth);\n const borderRadius = toTRBLCorners(legendItem.borderRadius);\n\n ctx.beginPath();\n\n if (Object.values(borderRadius).some(v => v !== 0)) {\n addRoundedRectPath(ctx, {\n x: xBoxLeft,\n y: yBoxTop,\n w: boxWidth,\n h: boxHeight,\n radius: borderRadius,\n });\n } else {\n ctx.rect(xBoxLeft, yBoxTop, boxWidth, boxHeight);\n }\n\n ctx.fill();\n if (lineWidth !== 0) {\n ctx.stroke();\n }\n }\n\n ctx.restore();\n };\n\n const fillText = function(x, y, legendItem) {\n renderText(ctx, legendItem.text, x, y + (itemHeight / 2), labelFont, {\n strikethrough: legendItem.hidden,\n textAlign: rtlHelper.textAlign(legendItem.textAlign)\n });\n };\n\n // Horizontal\n const isHorizontal = this.isHorizontal();\n const titleHeight = this._computeTitleHeight();\n if (isHorizontal) {\n cursor = {\n x: _alignStartEnd(align, this.left + padding, this.right - lineWidths[0]),\n y: this.top + padding + titleHeight,\n line: 0\n };\n } else {\n cursor = {\n x: this.left + padding,\n y: _alignStartEnd(align, this.top + titleHeight + padding, this.bottom - columnSizes[0].height),\n line: 0\n };\n }\n\n overrideTextDirection(this.ctx, opts.textDirection);\n\n const lineHeight = itemHeight + padding;\n this.legendItems.forEach((legendItem, i) => {\n ctx.strokeStyle = legendItem.fontColor; // for strikethrough effect\n ctx.fillStyle = legendItem.fontColor; // render in correct colour\n\n const textWidth = ctx.measureText(legendItem.text).width;\n const textAlign = rtlHelper.textAlign(legendItem.textAlign || (legendItem.textAlign = labelOpts.textAlign));\n const width = boxWidth + halfFontSize + textWidth;\n let x = cursor.x;\n let y = cursor.y;\n\n rtlHelper.setWidth(this.width);\n\n if (isHorizontal) {\n if (i > 0 && x + width + padding > this.right) {\n y = cursor.y += lineHeight;\n cursor.line++;\n x = cursor.x = _alignStartEnd(align, this.left + padding, this.right - lineWidths[cursor.line]);\n }\n } else if (i > 0 && y + lineHeight > this.bottom) {\n x = cursor.x = x + columnSizes[cursor.line].width + padding;\n cursor.line++;\n y = cursor.y = _alignStartEnd(align, this.top + titleHeight + padding, this.bottom - columnSizes[cursor.line].height);\n }\n\n const realX = rtlHelper.x(x);\n\n drawLegendBox(realX, y, legendItem);\n\n x = _textX(textAlign, x + boxWidth + halfFontSize, isHorizontal ? x + width : this.right, opts.rtl);\n\n // Fill the actual label\n fillText(rtlHelper.x(x), y, legendItem);\n\n if (isHorizontal) {\n cursor.x += width + padding;\n } else if (typeof legendItem.text !== 'string') {\n const fontLineHeight = labelFont.lineHeight;\n cursor.y += calculateLegendItemHeight(legendItem, fontLineHeight) + padding;\n } else {\n cursor.y += lineHeight;\n }\n });\n\n restoreTextDirection(this.ctx, opts.textDirection);\n }\n\n /**\n\t * @protected\n\t */\n drawTitle() {\n const opts = this.options;\n const titleOpts = opts.title;\n const titleFont = toFont(titleOpts.font);\n const titlePadding = toPadding(titleOpts.padding);\n\n if (!titleOpts.display) {\n return;\n }\n\n const rtlHelper = getRtlAdapter(opts.rtl, this.left, this.width);\n const ctx = this.ctx;\n const position = titleOpts.position;\n const halfFontSize = titleFont.size / 2;\n const topPaddingPlusHalfFontSize = titlePadding.top + halfFontSize;\n let y;\n\n // These defaults are used when the legend is vertical.\n // When horizontal, they are computed below.\n let left = this.left;\n let maxWidth = this.width;\n\n if (this.isHorizontal()) {\n // Move left / right so that the title is above the legend lines\n maxWidth = Math.max(...this.lineWidths);\n y = this.top + topPaddingPlusHalfFontSize;\n left = _alignStartEnd(opts.align, left, this.right - maxWidth);\n } else {\n // Move down so that the title is above the legend stack in every alignment\n const maxHeight = this.columnSizes.reduce((acc, size) => Math.max(acc, size.height), 0);\n y = topPaddingPlusHalfFontSize + _alignStartEnd(opts.align, this.top, this.bottom - maxHeight - opts.labels.padding - this._computeTitleHeight());\n }\n\n // Now that we know the left edge of the inner legend box, compute the correct\n // X coordinate from the title alignment\n const x = _alignStartEnd(position, left, left + maxWidth);\n\n // Canvas setup\n ctx.textAlign = rtlHelper.textAlign(_toLeftRightCenter(position));\n ctx.textBaseline = 'middle';\n ctx.strokeStyle = titleOpts.color;\n ctx.fillStyle = titleOpts.color;\n ctx.font = titleFont.string;\n\n renderText(ctx, titleOpts.text, x, y, titleFont);\n }\n\n /**\n\t * @private\n\t */\n _computeTitleHeight() {\n const titleOpts = this.options.title;\n const titleFont = toFont(titleOpts.font);\n const titlePadding = toPadding(titleOpts.padding);\n return titleOpts.display ? titleFont.lineHeight + titlePadding.height : 0;\n }\n\n /**\n\t * @private\n\t */\n _getLegendItemAt(x, y) {\n let i, hitBox, lh;\n\n if (_isBetween(x, this.left, this.right)\n && _isBetween(y, this.top, this.bottom)) {\n // See if we are touching one of the dataset boxes\n lh = this.legendHitBoxes;\n for (i = 0; i < lh.length; ++i) {\n hitBox = lh[i];\n\n if (_isBetween(x, hitBox.left, hitBox.left + hitBox.width)\n && _isBetween(y, hitBox.top, hitBox.top + hitBox.height)) {\n // Touching an element\n return this.legendItems[i];\n }\n }\n }\n\n return null;\n }\n\n /**\n\t * Handle an event\n\t * @param {ChartEvent} e - The event to handle\n\t */\n handleEvent(e) {\n const opts = this.options;\n if (!isListened(e.type, opts)) {\n return;\n }\n\n // Chart event already has relative position in it\n const hoveredItem = this._getLegendItemAt(e.x, e.y);\n\n if (e.type === 'mousemove' || e.type === 'mouseout') {\n const previous = this._hoveredItem;\n const sameItem = itemsEqual(previous, hoveredItem);\n if (previous && !sameItem) {\n call(opts.onLeave, [e, previous, this], this);\n }\n\n this._hoveredItem = hoveredItem;\n\n if (hoveredItem && !sameItem) {\n call(opts.onHover, [e, hoveredItem, this], this);\n }\n } else if (hoveredItem) {\n call(opts.onClick, [e, hoveredItem, this], this);\n }\n }\n}\n\nfunction calculateItemSize(boxWidth, labelFont, ctx, legendItem, _itemHeight) {\n const itemWidth = calculateItemWidth(legendItem, boxWidth, labelFont, ctx);\n const itemHeight = calculateItemHeight(_itemHeight, legendItem, labelFont.lineHeight);\n return {itemWidth, itemHeight};\n}\n\nfunction calculateItemWidth(legendItem, boxWidth, labelFont, ctx) {\n let legendItemText = legendItem.text;\n if (legendItemText && typeof legendItemText !== 'string') {\n legendItemText = legendItemText.reduce((a, b) => a.length > b.length ? a : b);\n }\n return boxWidth + (labelFont.size / 2) + ctx.measureText(legendItemText).width;\n}\n\nfunction calculateItemHeight(_itemHeight, legendItem, fontLineHeight) {\n let itemHeight = _itemHeight;\n if (typeof legendItem.text !== 'string') {\n itemHeight = calculateLegendItemHeight(legendItem, fontLineHeight);\n }\n return itemHeight;\n}\n\nfunction calculateLegendItemHeight(legendItem, fontLineHeight) {\n const labelHeight = legendItem.text ? legendItem.text.length : 0;\n return fontLineHeight * labelHeight;\n}\n\nfunction isListened(type, opts) {\n if ((type === 'mousemove' || type === 'mouseout') && (opts.onHover || opts.onLeave)) {\n return true;\n }\n if (opts.onClick && (type === 'click' || type === 'mouseup')) {\n return true;\n }\n return false;\n}\n\nexport default {\n id: 'legend',\n\n /**\n\t * For tests\n\t * @private\n\t */\n _element: Legend,\n\n start(chart, _args, options) {\n const legend = chart.legend = new Legend({ctx: chart.ctx, options, chart});\n layouts.configure(chart, legend, options);\n layouts.addBox(chart, legend);\n },\n\n stop(chart) {\n layouts.removeBox(chart, chart.legend);\n delete chart.legend;\n },\n\n // During the beforeUpdate step, the layout configuration needs to run\n // This ensures that if the legend position changes (via an option update)\n // the layout system respects the change. See https://github.com/chartjs/Chart.js/issues/7527\n beforeUpdate(chart, _args, options) {\n const legend = chart.legend;\n layouts.configure(chart, legend, options);\n legend.options = options;\n },\n\n // The labels need to be built after datasets are updated to ensure that colors\n // and other styling are correct. See https://github.com/chartjs/Chart.js/issues/6968\n afterUpdate(chart) {\n const legend = chart.legend;\n legend.buildLabels();\n legend.adjustHitBoxes();\n },\n\n\n afterEvent(chart, args) {\n if (!args.replay) {\n chart.legend.handleEvent(args.event);\n }\n },\n\n defaults: {\n display: true,\n position: 'top',\n align: 'center',\n fullSize: true,\n reverse: false,\n weight: 1000,\n\n // a callback that will handle\n onClick(e, legendItem, legend) {\n const index = legendItem.datasetIndex;\n const ci = legend.chart;\n if (ci.isDatasetVisible(index)) {\n ci.hide(index);\n legendItem.hidden = true;\n } else {\n ci.show(index);\n legendItem.hidden = false;\n }\n },\n\n onHover: null,\n onLeave: null,\n\n labels: {\n color: (ctx) => ctx.chart.options.color,\n boxWidth: 40,\n padding: 10,\n // Generates labels shown in the legend\n // Valid properties to return:\n // text : text to display\n // fillStyle : fill of coloured box\n // strokeStyle: stroke of coloured box\n // hidden : if this legend item refers to a hidden item\n // lineCap : cap style for line\n // lineDash\n // lineDashOffset :\n // lineJoin :\n // lineWidth :\n generateLabels(chart) {\n const datasets = chart.data.datasets;\n const {labels: {usePointStyle, pointStyle, textAlign, color, useBorderRadius, borderRadius}} = chart.legend.options;\n\n return chart._getSortedDatasetMetas().map((meta) => {\n const style = meta.controller.getStyle(usePointStyle ? 0 : undefined);\n const borderWidth = toPadding(style.borderWidth);\n\n return {\n text: datasets[meta.index].label,\n fillStyle: style.backgroundColor,\n fontColor: color,\n hidden: !meta.visible,\n lineCap: style.borderCapStyle,\n lineDash: style.borderDash,\n lineDashOffset: style.borderDashOffset,\n lineJoin: style.borderJoinStyle,\n lineWidth: (borderWidth.width + borderWidth.height) / 4,\n strokeStyle: style.borderColor,\n pointStyle: pointStyle || style.pointStyle,\n rotation: style.rotation,\n textAlign: textAlign || style.textAlign,\n borderRadius: useBorderRadius && (borderRadius || style.borderRadius),\n\n // Below is extra data used for toggling the datasets\n datasetIndex: meta.index\n };\n }, this);\n }\n },\n\n title: {\n color: (ctx) => ctx.chart.options.color,\n display: false,\n position: 'center',\n text: '',\n }\n },\n\n descriptors: {\n _scriptable: (name) => !name.startsWith('on'),\n labels: {\n _scriptable: (name) => !['generateLabels', 'filter', 'sort'].includes(name),\n }\n },\n};\n","import Element from '../core/core.element.js';\nimport layouts from '../core/core.layouts.js';\nimport {PI, isArray, toPadding, toFont} from '../helpers/index.js';\nimport {_toLeftRightCenter, _alignStartEnd} from '../helpers/helpers.extras.js';\nimport {renderText} from '../helpers/helpers.canvas.js';\n\nexport class Title extends Element {\n /**\n\t * @param {{ ctx: any; options: any; chart: any; }} config\n\t */\n constructor(config) {\n super();\n\n this.chart = config.chart;\n this.options = config.options;\n this.ctx = config.ctx;\n this._padding = undefined;\n this.top = undefined;\n this.bottom = undefined;\n this.left = undefined;\n this.right = undefined;\n this.width = undefined;\n this.height = undefined;\n this.position = undefined;\n this.weight = undefined;\n this.fullSize = undefined;\n }\n\n update(maxWidth, maxHeight) {\n const opts = this.options;\n\n this.left = 0;\n this.top = 0;\n\n if (!opts.display) {\n this.width = this.height = this.right = this.bottom = 0;\n return;\n }\n\n this.width = this.right = maxWidth;\n this.height = this.bottom = maxHeight;\n\n const lineCount = isArray(opts.text) ? opts.text.length : 1;\n this._padding = toPadding(opts.padding);\n const textSize = lineCount * toFont(opts.font).lineHeight + this._padding.height;\n\n if (this.isHorizontal()) {\n this.height = textSize;\n } else {\n this.width = textSize;\n }\n }\n\n isHorizontal() {\n const pos = this.options.position;\n return pos === 'top' || pos === 'bottom';\n }\n\n _drawArgs(offset) {\n const {top, left, bottom, right, options} = this;\n const align = options.align;\n let rotation = 0;\n let maxWidth, titleX, titleY;\n\n if (this.isHorizontal()) {\n titleX = _alignStartEnd(align, left, right);\n titleY = top + offset;\n maxWidth = right - left;\n } else {\n if (options.position === 'left') {\n titleX = left + offset;\n titleY = _alignStartEnd(align, bottom, top);\n rotation = PI * -0.5;\n } else {\n titleX = right - offset;\n titleY = _alignStartEnd(align, top, bottom);\n rotation = PI * 0.5;\n }\n maxWidth = bottom - top;\n }\n return {titleX, titleY, maxWidth, rotation};\n }\n\n draw() {\n const ctx = this.ctx;\n const opts = this.options;\n\n if (!opts.display) {\n return;\n }\n\n const fontOpts = toFont(opts.font);\n const lineHeight = fontOpts.lineHeight;\n const offset = lineHeight / 2 + this._padding.top;\n const {titleX, titleY, maxWidth, rotation} = this._drawArgs(offset);\n\n renderText(ctx, opts.text, 0, 0, fontOpts, {\n color: opts.color,\n maxWidth,\n rotation,\n textAlign: _toLeftRightCenter(opts.align),\n textBaseline: 'middle',\n translation: [titleX, titleY],\n });\n }\n}\n\nfunction createTitle(chart, titleOpts) {\n const title = new Title({\n ctx: chart.ctx,\n options: titleOpts,\n chart\n });\n\n layouts.configure(chart, title, titleOpts);\n layouts.addBox(chart, title);\n chart.titleBlock = title;\n}\n\nexport default {\n id: 'title',\n\n /**\n\t * For tests\n\t * @private\n\t */\n _element: Title,\n\n start(chart, _args, options) {\n createTitle(chart, options);\n },\n\n stop(chart) {\n const titleBlock = chart.titleBlock;\n layouts.removeBox(chart, titleBlock);\n delete chart.titleBlock;\n },\n\n beforeUpdate(chart, _args, options) {\n const title = chart.titleBlock;\n layouts.configure(chart, title, options);\n title.options = options;\n },\n\n defaults: {\n align: 'center',\n display: false,\n font: {\n weight: 'bold',\n },\n fullSize: true,\n padding: 10,\n position: 'top',\n text: '',\n weight: 2000 // by default greater than legend (1000) to be above\n },\n\n defaultRoutes: {\n color: 'color'\n },\n\n descriptors: {\n _scriptable: true,\n _indexable: false,\n },\n};\n","import {Title} from './plugin.title.js';\nimport layouts from '../core/core.layouts.js';\n\nconst map = new WeakMap();\n\nexport default {\n id: 'subtitle',\n\n start(chart, _args, options) {\n const title = new Title({\n ctx: chart.ctx,\n options,\n chart\n });\n\n layouts.configure(chart, title, options);\n layouts.addBox(chart, title);\n map.set(chart, title);\n },\n\n stop(chart) {\n layouts.removeBox(chart, map.get(chart));\n map.delete(chart);\n },\n\n beforeUpdate(chart, _args, options) {\n const title = map.get(chart);\n layouts.configure(chart, title, options);\n title.options = options;\n },\n\n defaults: {\n align: 'center',\n display: false,\n font: {\n weight: 'normal',\n },\n fullSize: true,\n padding: 0,\n position: 'top',\n text: '',\n weight: 1500 // by default greater than legend (1000) and smaller than title (2000)\n },\n\n defaultRoutes: {\n color: 'color'\n },\n\n descriptors: {\n _scriptable: true,\n _indexable: false,\n },\n};\n","import Animations from '../core/core.animations.js';\nimport Element from '../core/core.element.js';\nimport {addRoundedRectPath} from '../helpers/helpers.canvas.js';\nimport {each, noop, isNullOrUndef, isArray, _elementsEqual, isObject} from '../helpers/helpers.core.js';\nimport {toFont, toPadding, toTRBLCorners} from '../helpers/helpers.options.js';\nimport {getRtlAdapter, overrideTextDirection, restoreTextDirection} from '../helpers/helpers.rtl.js';\nimport {distanceBetweenPoints, _limitValue} from '../helpers/helpers.math.js';\nimport {createContext, drawPoint} from '../helpers/index.js';\n\n/**\n * @typedef { import('../platform/platform.base.js').Chart } Chart\n * @typedef { import('../types/index.js').ChartEvent } ChartEvent\n * @typedef { import('../types/index.js').ActiveElement } ActiveElement\n * @typedef { import('../core/core.interaction.js').InteractionItem } InteractionItem\n */\n\nconst positioners = {\n /**\n\t * Average mode places the tooltip at the average position of the elements shown\n\t */\n average(items) {\n if (!items.length) {\n return false;\n }\n\n let i, len;\n let xSet = new Set();\n let y = 0;\n let count = 0;\n\n for (i = 0, len = items.length; i < len; ++i) {\n const el = items[i].element;\n if (el && el.hasValue()) {\n const pos = el.tooltipPosition();\n xSet.add(pos.x);\n y += pos.y;\n ++count;\n }\n }\n\n // No visible items where found, return false so we don't have to divide by 0 which reduces in NaN\n if (count === 0 || xSet.size === 0) {\n return false;\n }\n\n const xAverage = [...xSet].reduce((a, b) => a + b) / xSet.size;\n\n return {\n x: xAverage,\n y: y / count\n };\n },\n\n /**\n\t * Gets the tooltip position nearest of the item nearest to the event position\n\t */\n nearest(items, eventPosition) {\n if (!items.length) {\n return false;\n }\n\n let x = eventPosition.x;\n let y = eventPosition.y;\n let minDistance = Number.POSITIVE_INFINITY;\n let i, len, nearestElement;\n\n for (i = 0, len = items.length; i < len; ++i) {\n const el = items[i].element;\n if (el && el.hasValue()) {\n const center = el.getCenterPoint();\n const d = distanceBetweenPoints(eventPosition, center);\n\n if (d < minDistance) {\n minDistance = d;\n nearestElement = el;\n }\n }\n }\n\n if (nearestElement) {\n const tp = nearestElement.tooltipPosition();\n x = tp.x;\n y = tp.y;\n }\n\n return {\n x,\n y\n };\n }\n};\n\n// Helper to push or concat based on if the 2nd parameter is an array or not\nfunction pushOrConcat(base, toPush) {\n if (toPush) {\n if (isArray(toPush)) {\n // base = base.concat(toPush);\n Array.prototype.push.apply(base, toPush);\n } else {\n base.push(toPush);\n }\n }\n\n return base;\n}\n\n/**\n * Returns array of strings split by newline\n * @param {*} str - The value to split by newline.\n * @returns {string|string[]} value if newline present - Returned from String split() method\n * @function\n */\nfunction splitNewlines(str) {\n if ((typeof str === 'string' || str instanceof String) && str.indexOf('\\n') > -1) {\n return str.split('\\n');\n }\n return str;\n}\n\n\n/**\n * Private helper to create a tooltip item model\n * @param {Chart} chart\n * @param {ActiveElement} item - {element, index, datasetIndex} to create the tooltip item for\n * @return new tooltip item\n */\nfunction createTooltipItem(chart, item) {\n const {element, datasetIndex, index} = item;\n const controller = chart.getDatasetMeta(datasetIndex).controller;\n const {label, value} = controller.getLabelAndValue(index);\n\n return {\n chart,\n label,\n parsed: controller.getParsed(index),\n raw: chart.data.datasets[datasetIndex].data[index],\n formattedValue: value,\n dataset: controller.getDataset(),\n dataIndex: index,\n datasetIndex,\n element\n };\n}\n\n/**\n * Get the size of the tooltip\n */\nfunction getTooltipSize(tooltip, options) {\n const ctx = tooltip.chart.ctx;\n const {body, footer, title} = tooltip;\n const {boxWidth, boxHeight} = options;\n const bodyFont = toFont(options.bodyFont);\n const titleFont = toFont(options.titleFont);\n const footerFont = toFont(options.footerFont);\n const titleLineCount = title.length;\n const footerLineCount = footer.length;\n const bodyLineItemCount = body.length;\n\n const padding = toPadding(options.padding);\n let height = padding.height;\n let width = 0;\n\n // Count of all lines in the body\n let combinedBodyLength = body.reduce((count, bodyItem) => count + bodyItem.before.length + bodyItem.lines.length + bodyItem.after.length, 0);\n combinedBodyLength += tooltip.beforeBody.length + tooltip.afterBody.length;\n\n if (titleLineCount) {\n height += titleLineCount * titleFont.lineHeight\n\t\t\t+ (titleLineCount - 1) * options.titleSpacing\n\t\t\t+ options.titleMarginBottom;\n }\n if (combinedBodyLength) {\n // Body lines may include some extra height depending on boxHeight\n const bodyLineHeight = options.displayColors ? Math.max(boxHeight, bodyFont.lineHeight) : bodyFont.lineHeight;\n height += bodyLineItemCount * bodyLineHeight\n\t\t\t+ (combinedBodyLength - bodyLineItemCount) * bodyFont.lineHeight\n\t\t\t+ (combinedBodyLength - 1) * options.bodySpacing;\n }\n if (footerLineCount) {\n height += options.footerMarginTop\n\t\t\t+ footerLineCount * footerFont.lineHeight\n\t\t\t+ (footerLineCount - 1) * options.footerSpacing;\n }\n\n // Title width\n let widthPadding = 0;\n const maxLineWidth = function(line) {\n width = Math.max(width, ctx.measureText(line).width + widthPadding);\n };\n\n ctx.save();\n\n ctx.font = titleFont.string;\n each(tooltip.title, maxLineWidth);\n\n // Body width\n ctx.font = bodyFont.string;\n each(tooltip.beforeBody.concat(tooltip.afterBody), maxLineWidth);\n\n // Body lines may include some extra width due to the color box\n widthPadding = options.displayColors ? (boxWidth + 2 + options.boxPadding) : 0;\n each(body, (bodyItem) => {\n each(bodyItem.before, maxLineWidth);\n each(bodyItem.lines, maxLineWidth);\n each(bodyItem.after, maxLineWidth);\n });\n\n // Reset back to 0\n widthPadding = 0;\n\n // Footer width\n ctx.font = footerFont.string;\n each(tooltip.footer, maxLineWidth);\n\n ctx.restore();\n\n // Add padding\n width += padding.width;\n\n return {width, height};\n}\n\nfunction determineYAlign(chart, size) {\n const {y, height} = size;\n\n if (y < height / 2) {\n return 'top';\n } else if (y > (chart.height - height / 2)) {\n return 'bottom';\n }\n return 'center';\n}\n\nfunction doesNotFitWithAlign(xAlign, chart, options, size) {\n const {x, width} = size;\n const caret = options.caretSize + options.caretPadding;\n if (xAlign === 'left' && x + width + caret > chart.width) {\n return true;\n }\n\n if (xAlign === 'right' && x - width - caret < 0) {\n return true;\n }\n}\n\nfunction determineXAlign(chart, options, size, yAlign) {\n const {x, width} = size;\n const {width: chartWidth, chartArea: {left, right}} = chart;\n let xAlign = 'center';\n\n if (yAlign === 'center') {\n xAlign = x <= (left + right) / 2 ? 'left' : 'right';\n } else if (x <= width / 2) {\n xAlign = 'left';\n } else if (x >= chartWidth - width / 2) {\n xAlign = 'right';\n }\n\n if (doesNotFitWithAlign(xAlign, chart, options, size)) {\n xAlign = 'center';\n }\n\n return xAlign;\n}\n\n/**\n * Helper to get the alignment of a tooltip given the size\n */\nfunction determineAlignment(chart, options, size) {\n const yAlign = size.yAlign || options.yAlign || determineYAlign(chart, size);\n\n return {\n xAlign: size.xAlign || options.xAlign || determineXAlign(chart, options, size, yAlign),\n yAlign\n };\n}\n\nfunction alignX(size, xAlign) {\n let {x, width} = size;\n if (xAlign === 'right') {\n x -= width;\n } else if (xAlign === 'center') {\n x -= (width / 2);\n }\n return x;\n}\n\nfunction alignY(size, yAlign, paddingAndSize) {\n // eslint-disable-next-line prefer-const\n let {y, height} = size;\n if (yAlign === 'top') {\n y += paddingAndSize;\n } else if (yAlign === 'bottom') {\n y -= height + paddingAndSize;\n } else {\n y -= (height / 2);\n }\n return y;\n}\n\n/**\n * Helper to get the location a tooltip needs to be placed at given the initial position (via the vm) and the size and alignment\n */\nfunction getBackgroundPoint(options, size, alignment, chart) {\n const {caretSize, caretPadding, cornerRadius} = options;\n const {xAlign, yAlign} = alignment;\n const paddingAndSize = caretSize + caretPadding;\n const {topLeft, topRight, bottomLeft, bottomRight} = toTRBLCorners(cornerRadius);\n\n let x = alignX(size, xAlign);\n const y = alignY(size, yAlign, paddingAndSize);\n\n if (yAlign === 'center') {\n if (xAlign === 'left') {\n x += paddingAndSize;\n } else if (xAlign === 'right') {\n x -= paddingAndSize;\n }\n } else if (xAlign === 'left') {\n x -= Math.max(topLeft, bottomLeft) + caretSize;\n } else if (xAlign === 'right') {\n x += Math.max(topRight, bottomRight) + caretSize;\n }\n\n return {\n x: _limitValue(x, 0, chart.width - size.width),\n y: _limitValue(y, 0, chart.height - size.height)\n };\n}\n\nfunction getAlignedX(tooltip, align, options) {\n const padding = toPadding(options.padding);\n\n return align === 'center'\n ? tooltip.x + tooltip.width / 2\n : align === 'right'\n ? tooltip.x + tooltip.width - padding.right\n : tooltip.x + padding.left;\n}\n\n/**\n * Helper to build before and after body lines\n */\nfunction getBeforeAfterBodyLines(callback) {\n return pushOrConcat([], splitNewlines(callback));\n}\n\nfunction createTooltipContext(parent, tooltip, tooltipItems) {\n return createContext(parent, {\n tooltip,\n tooltipItems,\n type: 'tooltip'\n });\n}\n\nfunction overrideCallbacks(callbacks, context) {\n const override = context && context.dataset && context.dataset.tooltip && context.dataset.tooltip.callbacks;\n return override ? callbacks.override(override) : callbacks;\n}\n\nconst defaultCallbacks = {\n // Args are: (tooltipItems, data)\n beforeTitle: noop,\n title(tooltipItems) {\n if (tooltipItems.length > 0) {\n const item = tooltipItems[0];\n const labels = item.chart.data.labels;\n const labelCount = labels ? labels.length : 0;\n\n if (this && this.options && this.options.mode === 'dataset') {\n return item.dataset.label || '';\n } else if (item.label) {\n return item.label;\n } else if (labelCount > 0 && item.dataIndex < labelCount) {\n return labels[item.dataIndex];\n }\n }\n\n return '';\n },\n afterTitle: noop,\n\n // Args are: (tooltipItems, data)\n beforeBody: noop,\n\n // Args are: (tooltipItem, data)\n beforeLabel: noop,\n label(tooltipItem) {\n if (this && this.options && this.options.mode === 'dataset') {\n return tooltipItem.label + ': ' + tooltipItem.formattedValue || tooltipItem.formattedValue;\n }\n\n let label = tooltipItem.dataset.label || '';\n\n if (label) {\n label += ': ';\n }\n const value = tooltipItem.formattedValue;\n if (!isNullOrUndef(value)) {\n label += value;\n }\n return label;\n },\n labelColor(tooltipItem) {\n const meta = tooltipItem.chart.getDatasetMeta(tooltipItem.datasetIndex);\n const options = meta.controller.getStyle(tooltipItem.dataIndex);\n return {\n borderColor: options.borderColor,\n backgroundColor: options.backgroundColor,\n borderWidth: options.borderWidth,\n borderDash: options.borderDash,\n borderDashOffset: options.borderDashOffset,\n borderRadius: 0,\n };\n },\n labelTextColor() {\n return this.options.bodyColor;\n },\n labelPointStyle(tooltipItem) {\n const meta = tooltipItem.chart.getDatasetMeta(tooltipItem.datasetIndex);\n const options = meta.controller.getStyle(tooltipItem.dataIndex);\n return {\n pointStyle: options.pointStyle,\n rotation: options.rotation,\n };\n },\n afterLabel: noop,\n\n // Args are: (tooltipItems, data)\n afterBody: noop,\n\n // Args are: (tooltipItems, data)\n beforeFooter: noop,\n footer: noop,\n afterFooter: noop\n};\n\n/**\n * Invoke callback from object with context and arguments.\n * If callback returns `undefined`, then will be invoked default callback.\n * @param {Record} callbacks\n * @param {keyof typeof defaultCallbacks} name\n * @param {*} ctx\n * @param {*} arg\n * @returns {any}\n */\nfunction invokeCallbackWithFallback(callbacks, name, ctx, arg) {\n const result = callbacks[name].call(ctx, arg);\n\n if (typeof result === 'undefined') {\n return defaultCallbacks[name].call(ctx, arg);\n }\n\n return result;\n}\n\nexport class Tooltip extends Element {\n\n /**\n * @namespace Chart.Tooltip.positioners\n */\n static positioners = positioners;\n\n constructor(config) {\n super();\n\n this.opacity = 0;\n this._active = [];\n this._eventPosition = undefined;\n this._size = undefined;\n this._cachedAnimations = undefined;\n this._tooltipItems = [];\n this.$animations = undefined;\n this.$context = undefined;\n this.chart = config.chart;\n this.options = config.options;\n this.dataPoints = undefined;\n this.title = undefined;\n this.beforeBody = undefined;\n this.body = undefined;\n this.afterBody = undefined;\n this.footer = undefined;\n this.xAlign = undefined;\n this.yAlign = undefined;\n this.x = undefined;\n this.y = undefined;\n this.height = undefined;\n this.width = undefined;\n this.caretX = undefined;\n this.caretY = undefined;\n // TODO: V4, make this private, rename to `_labelStyles`, and combine with `labelPointStyles`\n // and `labelTextColors` to create a single variable\n this.labelColors = undefined;\n this.labelPointStyles = undefined;\n this.labelTextColors = undefined;\n }\n\n initialize(options) {\n this.options = options;\n this._cachedAnimations = undefined;\n this.$context = undefined;\n }\n\n /**\n\t * @private\n\t */\n _resolveAnimations() {\n const cached = this._cachedAnimations;\n\n if (cached) {\n return cached;\n }\n\n const chart = this.chart;\n const options = this.options.setContext(this.getContext());\n const opts = options.enabled && chart.options.animation && options.animations;\n const animations = new Animations(this.chart, opts);\n if (opts._cacheable) {\n this._cachedAnimations = Object.freeze(animations);\n }\n\n return animations;\n }\n\n /**\n\t * @protected\n\t */\n getContext() {\n return this.$context ||\n\t\t\t(this.$context = createTooltipContext(this.chart.getContext(), this, this._tooltipItems));\n }\n\n getTitle(context, options) {\n const {callbacks} = options;\n\n const beforeTitle = invokeCallbackWithFallback(callbacks, 'beforeTitle', this, context);\n const title = invokeCallbackWithFallback(callbacks, 'title', this, context);\n const afterTitle = invokeCallbackWithFallback(callbacks, 'afterTitle', this, context);\n\n let lines = [];\n lines = pushOrConcat(lines, splitNewlines(beforeTitle));\n lines = pushOrConcat(lines, splitNewlines(title));\n lines = pushOrConcat(lines, splitNewlines(afterTitle));\n\n return lines;\n }\n\n getBeforeBody(tooltipItems, options) {\n return getBeforeAfterBodyLines(\n invokeCallbackWithFallback(options.callbacks, 'beforeBody', this, tooltipItems)\n );\n }\n\n getBody(tooltipItems, options) {\n const {callbacks} = options;\n const bodyItems = [];\n\n each(tooltipItems, (context) => {\n const bodyItem = {\n before: [],\n lines: [],\n after: []\n };\n const scoped = overrideCallbacks(callbacks, context);\n pushOrConcat(bodyItem.before, splitNewlines(invokeCallbackWithFallback(scoped, 'beforeLabel', this, context)));\n pushOrConcat(bodyItem.lines, invokeCallbackWithFallback(scoped, 'label', this, context));\n pushOrConcat(bodyItem.after, splitNewlines(invokeCallbackWithFallback(scoped, 'afterLabel', this, context)));\n\n bodyItems.push(bodyItem);\n });\n\n return bodyItems;\n }\n\n getAfterBody(tooltipItems, options) {\n return getBeforeAfterBodyLines(\n invokeCallbackWithFallback(options.callbacks, 'afterBody', this, tooltipItems)\n );\n }\n\n // Get the footer and beforeFooter and afterFooter lines\n getFooter(tooltipItems, options) {\n const {callbacks} = options;\n\n const beforeFooter = invokeCallbackWithFallback(callbacks, 'beforeFooter', this, tooltipItems);\n const footer = invokeCallbackWithFallback(callbacks, 'footer', this, tooltipItems);\n const afterFooter = invokeCallbackWithFallback(callbacks, 'afterFooter', this, tooltipItems);\n\n let lines = [];\n lines = pushOrConcat(lines, splitNewlines(beforeFooter));\n lines = pushOrConcat(lines, splitNewlines(footer));\n lines = pushOrConcat(lines, splitNewlines(afterFooter));\n\n return lines;\n }\n\n /**\n\t * @private\n\t */\n _createItems(options) {\n const active = this._active;\n const data = this.chart.data;\n const labelColors = [];\n const labelPointStyles = [];\n const labelTextColors = [];\n let tooltipItems = [];\n let i, len;\n\n for (i = 0, len = active.length; i < len; ++i) {\n tooltipItems.push(createTooltipItem(this.chart, active[i]));\n }\n\n // If the user provided a filter function, use it to modify the tooltip items\n if (options.filter) {\n tooltipItems = tooltipItems.filter((element, index, array) => options.filter(element, index, array, data));\n }\n\n // If the user provided a sorting function, use it to modify the tooltip items\n if (options.itemSort) {\n tooltipItems = tooltipItems.sort((a, b) => options.itemSort(a, b, data));\n }\n\n // Determine colors for boxes\n each(tooltipItems, (context) => {\n const scoped = overrideCallbacks(options.callbacks, context);\n labelColors.push(invokeCallbackWithFallback(scoped, 'labelColor', this, context));\n labelPointStyles.push(invokeCallbackWithFallback(scoped, 'labelPointStyle', this, context));\n labelTextColors.push(invokeCallbackWithFallback(scoped, 'labelTextColor', this, context));\n });\n\n this.labelColors = labelColors;\n this.labelPointStyles = labelPointStyles;\n this.labelTextColors = labelTextColors;\n this.dataPoints = tooltipItems;\n return tooltipItems;\n }\n\n update(changed, replay) {\n const options = this.options.setContext(this.getContext());\n const active = this._active;\n let properties;\n let tooltipItems = [];\n\n if (!active.length) {\n if (this.opacity !== 0) {\n properties = {\n opacity: 0\n };\n }\n } else {\n const position = positioners[options.position].call(this, active, this._eventPosition);\n tooltipItems = this._createItems(options);\n\n this.title = this.getTitle(tooltipItems, options);\n this.beforeBody = this.getBeforeBody(tooltipItems, options);\n this.body = this.getBody(tooltipItems, options);\n this.afterBody = this.getAfterBody(tooltipItems, options);\n this.footer = this.getFooter(tooltipItems, options);\n\n const size = this._size = getTooltipSize(this, options);\n const positionAndSize = Object.assign({}, position, size);\n const alignment = determineAlignment(this.chart, options, positionAndSize);\n const backgroundPoint = getBackgroundPoint(options, positionAndSize, alignment, this.chart);\n\n this.xAlign = alignment.xAlign;\n this.yAlign = alignment.yAlign;\n\n properties = {\n opacity: 1,\n x: backgroundPoint.x,\n y: backgroundPoint.y,\n width: size.width,\n height: size.height,\n caretX: position.x,\n caretY: position.y\n };\n }\n\n this._tooltipItems = tooltipItems;\n this.$context = undefined;\n\n if (properties) {\n this._resolveAnimations().update(this, properties);\n }\n\n if (changed && options.external) {\n options.external.call(this, {chart: this.chart, tooltip: this, replay});\n }\n }\n\n drawCaret(tooltipPoint, ctx, size, options) {\n const caretPosition = this.getCaretPosition(tooltipPoint, size, options);\n\n ctx.lineTo(caretPosition.x1, caretPosition.y1);\n ctx.lineTo(caretPosition.x2, caretPosition.y2);\n ctx.lineTo(caretPosition.x3, caretPosition.y3);\n }\n\n getCaretPosition(tooltipPoint, size, options) {\n const {xAlign, yAlign} = this;\n const {caretSize, cornerRadius} = options;\n const {topLeft, topRight, bottomLeft, bottomRight} = toTRBLCorners(cornerRadius);\n const {x: ptX, y: ptY} = tooltipPoint;\n const {width, height} = size;\n let x1, x2, x3, y1, y2, y3;\n\n if (yAlign === 'center') {\n y2 = ptY + (height / 2);\n\n if (xAlign === 'left') {\n x1 = ptX;\n x2 = x1 - caretSize;\n\n // Left draws bottom -> top, this y1 is on the bottom\n y1 = y2 + caretSize;\n y3 = y2 - caretSize;\n } else {\n x1 = ptX + width;\n x2 = x1 + caretSize;\n\n // Right draws top -> bottom, thus y1 is on the top\n y1 = y2 - caretSize;\n y3 = y2 + caretSize;\n }\n\n x3 = x1;\n } else {\n if (xAlign === 'left') {\n x2 = ptX + Math.max(topLeft, bottomLeft) + (caretSize);\n } else if (xAlign === 'right') {\n x2 = ptX + width - Math.max(topRight, bottomRight) - caretSize;\n } else {\n x2 = this.caretX;\n }\n\n if (yAlign === 'top') {\n y1 = ptY;\n y2 = y1 - caretSize;\n\n // Top draws left -> right, thus x1 is on the left\n x1 = x2 - caretSize;\n x3 = x2 + caretSize;\n } else {\n y1 = ptY + height;\n y2 = y1 + caretSize;\n\n // Bottom draws right -> left, thus x1 is on the right\n x1 = x2 + caretSize;\n x3 = x2 - caretSize;\n }\n y3 = y1;\n }\n return {x1, x2, x3, y1, y2, y3};\n }\n\n drawTitle(pt, ctx, options) {\n const title = this.title;\n const length = title.length;\n let titleFont, titleSpacing, i;\n\n if (length) {\n const rtlHelper = getRtlAdapter(options.rtl, this.x, this.width);\n\n pt.x = getAlignedX(this, options.titleAlign, options);\n\n ctx.textAlign = rtlHelper.textAlign(options.titleAlign);\n ctx.textBaseline = 'middle';\n\n titleFont = toFont(options.titleFont);\n titleSpacing = options.titleSpacing;\n\n ctx.fillStyle = options.titleColor;\n ctx.font = titleFont.string;\n\n for (i = 0; i < length; ++i) {\n ctx.fillText(title[i], rtlHelper.x(pt.x), pt.y + titleFont.lineHeight / 2);\n pt.y += titleFont.lineHeight + titleSpacing; // Line Height and spacing\n\n if (i + 1 === length) {\n pt.y += options.titleMarginBottom - titleSpacing; // If Last, add margin, remove spacing\n }\n }\n }\n }\n\n /**\n\t * @private\n\t */\n _drawColorBox(ctx, pt, i, rtlHelper, options) {\n const labelColor = this.labelColors[i];\n const labelPointStyle = this.labelPointStyles[i];\n const {boxHeight, boxWidth} = options;\n const bodyFont = toFont(options.bodyFont);\n const colorX = getAlignedX(this, 'left', options);\n const rtlColorX = rtlHelper.x(colorX);\n const yOffSet = boxHeight < bodyFont.lineHeight ? (bodyFont.lineHeight - boxHeight) / 2 : 0;\n const colorY = pt.y + yOffSet;\n\n if (options.usePointStyle) {\n const drawOptions = {\n radius: Math.min(boxWidth, boxHeight) / 2, // fit the circle in the box\n pointStyle: labelPointStyle.pointStyle,\n rotation: labelPointStyle.rotation,\n borderWidth: 1\n };\n // Recalculate x and y for drawPoint() because its expecting\n // x and y to be center of figure (instead of top left)\n const centerX = rtlHelper.leftForLtr(rtlColorX, boxWidth) + boxWidth / 2;\n const centerY = colorY + boxHeight / 2;\n\n // Fill the point with white so that colours merge nicely if the opacity is < 1\n ctx.strokeStyle = options.multiKeyBackground;\n ctx.fillStyle = options.multiKeyBackground;\n drawPoint(ctx, drawOptions, centerX, centerY);\n\n // Draw the point\n ctx.strokeStyle = labelColor.borderColor;\n ctx.fillStyle = labelColor.backgroundColor;\n drawPoint(ctx, drawOptions, centerX, centerY);\n } else {\n // Border\n ctx.lineWidth = isObject(labelColor.borderWidth) ? Math.max(...Object.values(labelColor.borderWidth)) : (labelColor.borderWidth || 1); // TODO, v4 remove fallback\n ctx.strokeStyle = labelColor.borderColor;\n ctx.setLineDash(labelColor.borderDash || []);\n ctx.lineDashOffset = labelColor.borderDashOffset || 0;\n\n // Fill a white rect so that colours merge nicely if the opacity is < 1\n const outerX = rtlHelper.leftForLtr(rtlColorX, boxWidth);\n const innerX = rtlHelper.leftForLtr(rtlHelper.xPlus(rtlColorX, 1), boxWidth - 2);\n const borderRadius = toTRBLCorners(labelColor.borderRadius);\n\n if (Object.values(borderRadius).some(v => v !== 0)) {\n ctx.beginPath();\n ctx.fillStyle = options.multiKeyBackground;\n addRoundedRectPath(ctx, {\n x: outerX,\n y: colorY,\n w: boxWidth,\n h: boxHeight,\n radius: borderRadius,\n });\n ctx.fill();\n ctx.stroke();\n\n // Inner square\n ctx.fillStyle = labelColor.backgroundColor;\n ctx.beginPath();\n addRoundedRectPath(ctx, {\n x: innerX,\n y: colorY + 1,\n w: boxWidth - 2,\n h: boxHeight - 2,\n radius: borderRadius,\n });\n ctx.fill();\n } else {\n // Normal rect\n ctx.fillStyle = options.multiKeyBackground;\n ctx.fillRect(outerX, colorY, boxWidth, boxHeight);\n ctx.strokeRect(outerX, colorY, boxWidth, boxHeight);\n // Inner square\n ctx.fillStyle = labelColor.backgroundColor;\n ctx.fillRect(innerX, colorY + 1, boxWidth - 2, boxHeight - 2);\n }\n }\n\n // restore fillStyle\n ctx.fillStyle = this.labelTextColors[i];\n }\n\n drawBody(pt, ctx, options) {\n const {body} = this;\n const {bodySpacing, bodyAlign, displayColors, boxHeight, boxWidth, boxPadding} = options;\n const bodyFont = toFont(options.bodyFont);\n let bodyLineHeight = bodyFont.lineHeight;\n let xLinePadding = 0;\n\n const rtlHelper = getRtlAdapter(options.rtl, this.x, this.width);\n\n const fillLineOfText = function(line) {\n ctx.fillText(line, rtlHelper.x(pt.x + xLinePadding), pt.y + bodyLineHeight / 2);\n pt.y += bodyLineHeight + bodySpacing;\n };\n\n const bodyAlignForCalculation = rtlHelper.textAlign(bodyAlign);\n let bodyItem, textColor, lines, i, j, ilen, jlen;\n\n ctx.textAlign = bodyAlign;\n ctx.textBaseline = 'middle';\n ctx.font = bodyFont.string;\n\n pt.x = getAlignedX(this, bodyAlignForCalculation, options);\n\n // Before body lines\n ctx.fillStyle = options.bodyColor;\n each(this.beforeBody, fillLineOfText);\n\n xLinePadding = displayColors && bodyAlignForCalculation !== 'right'\n ? bodyAlign === 'center' ? (boxWidth / 2 + boxPadding) : (boxWidth + 2 + boxPadding)\n : 0;\n\n // Draw body lines now\n for (i = 0, ilen = body.length; i < ilen; ++i) {\n bodyItem = body[i];\n textColor = this.labelTextColors[i];\n\n ctx.fillStyle = textColor;\n each(bodyItem.before, fillLineOfText);\n\n lines = bodyItem.lines;\n // Draw Legend-like boxes if needed\n if (displayColors && lines.length) {\n this._drawColorBox(ctx, pt, i, rtlHelper, options);\n bodyLineHeight = Math.max(bodyFont.lineHeight, boxHeight);\n }\n\n for (j = 0, jlen = lines.length; j < jlen; ++j) {\n fillLineOfText(lines[j]);\n // Reset for any lines that don't include colorbox\n bodyLineHeight = bodyFont.lineHeight;\n }\n\n each(bodyItem.after, fillLineOfText);\n }\n\n // Reset back to 0 for after body\n xLinePadding = 0;\n bodyLineHeight = bodyFont.lineHeight;\n\n // After body lines\n each(this.afterBody, fillLineOfText);\n pt.y -= bodySpacing; // Remove last body spacing\n }\n\n drawFooter(pt, ctx, options) {\n const footer = this.footer;\n const length = footer.length;\n let footerFont, i;\n\n if (length) {\n const rtlHelper = getRtlAdapter(options.rtl, this.x, this.width);\n\n pt.x = getAlignedX(this, options.footerAlign, options);\n pt.y += options.footerMarginTop;\n\n ctx.textAlign = rtlHelper.textAlign(options.footerAlign);\n ctx.textBaseline = 'middle';\n\n footerFont = toFont(options.footerFont);\n\n ctx.fillStyle = options.footerColor;\n ctx.font = footerFont.string;\n\n for (i = 0; i < length; ++i) {\n ctx.fillText(footer[i], rtlHelper.x(pt.x), pt.y + footerFont.lineHeight / 2);\n pt.y += footerFont.lineHeight + options.footerSpacing;\n }\n }\n }\n\n drawBackground(pt, ctx, tooltipSize, options) {\n const {xAlign, yAlign} = this;\n const {x, y} = pt;\n const {width, height} = tooltipSize;\n const {topLeft, topRight, bottomLeft, bottomRight} = toTRBLCorners(options.cornerRadius);\n\n ctx.fillStyle = options.backgroundColor;\n ctx.strokeStyle = options.borderColor;\n ctx.lineWidth = options.borderWidth;\n\n ctx.beginPath();\n ctx.moveTo(x + topLeft, y);\n if (yAlign === 'top') {\n this.drawCaret(pt, ctx, tooltipSize, options);\n }\n ctx.lineTo(x + width - topRight, y);\n ctx.quadraticCurveTo(x + width, y, x + width, y + topRight);\n if (yAlign === 'center' && xAlign === 'right') {\n this.drawCaret(pt, ctx, tooltipSize, options);\n }\n ctx.lineTo(x + width, y + height - bottomRight);\n ctx.quadraticCurveTo(x + width, y + height, x + width - bottomRight, y + height);\n if (yAlign === 'bottom') {\n this.drawCaret(pt, ctx, tooltipSize, options);\n }\n ctx.lineTo(x + bottomLeft, y + height);\n ctx.quadraticCurveTo(x, y + height, x, y + height - bottomLeft);\n if (yAlign === 'center' && xAlign === 'left') {\n this.drawCaret(pt, ctx, tooltipSize, options);\n }\n ctx.lineTo(x, y + topLeft);\n ctx.quadraticCurveTo(x, y, x + topLeft, y);\n ctx.closePath();\n\n ctx.fill();\n\n if (options.borderWidth > 0) {\n ctx.stroke();\n }\n }\n\n /**\n\t * Update x/y animation targets when _active elements are animating too\n\t * @private\n\t */\n _updateAnimationTarget(options) {\n const chart = this.chart;\n const anims = this.$animations;\n const animX = anims && anims.x;\n const animY = anims && anims.y;\n if (animX || animY) {\n const position = positioners[options.position].call(this, this._active, this._eventPosition);\n if (!position) {\n return;\n }\n const size = this._size = getTooltipSize(this, options);\n const positionAndSize = Object.assign({}, position, this._size);\n const alignment = determineAlignment(chart, options, positionAndSize);\n const point = getBackgroundPoint(options, positionAndSize, alignment, chart);\n if (animX._to !== point.x || animY._to !== point.y) {\n this.xAlign = alignment.xAlign;\n this.yAlign = alignment.yAlign;\n this.width = size.width;\n this.height = size.height;\n this.caretX = position.x;\n this.caretY = position.y;\n this._resolveAnimations().update(this, point);\n }\n }\n }\n\n /**\n * Determine if the tooltip will draw anything\n * @returns {boolean} True if the tooltip will render\n */\n _willRender() {\n return !!this.opacity;\n }\n\n draw(ctx) {\n const options = this.options.setContext(this.getContext());\n let opacity = this.opacity;\n\n if (!opacity) {\n return;\n }\n\n this._updateAnimationTarget(options);\n\n const tooltipSize = {\n width: this.width,\n height: this.height\n };\n const pt = {\n x: this.x,\n y: this.y\n };\n\n // IE11/Edge does not like very small opacities, so snap to 0\n opacity = Math.abs(opacity) < 1e-3 ? 0 : opacity;\n\n const padding = toPadding(options.padding);\n\n // Truthy/falsey value for empty tooltip\n const hasTooltipContent = this.title.length || this.beforeBody.length || this.body.length || this.afterBody.length || this.footer.length;\n\n if (options.enabled && hasTooltipContent) {\n ctx.save();\n ctx.globalAlpha = opacity;\n\n // Draw Background\n this.drawBackground(pt, ctx, tooltipSize, options);\n\n overrideTextDirection(ctx, options.textDirection);\n\n pt.y += padding.top;\n\n // Titles\n this.drawTitle(pt, ctx, options);\n\n // Body\n this.drawBody(pt, ctx, options);\n\n // Footer\n this.drawFooter(pt, ctx, options);\n\n restoreTextDirection(ctx, options.textDirection);\n\n ctx.restore();\n }\n }\n\n /**\n\t * Get active elements in the tooltip\n\t * @returns {Array} Array of elements that are active in the tooltip\n\t */\n getActiveElements() {\n return this._active || [];\n }\n\n /**\n\t * Set active elements in the tooltip\n\t * @param {array} activeElements Array of active datasetIndex/index pairs.\n\t * @param {object} eventPosition Synthetic event position used in positioning\n\t */\n setActiveElements(activeElements, eventPosition) {\n const lastActive = this._active;\n const active = activeElements.map(({datasetIndex, index}) => {\n const meta = this.chart.getDatasetMeta(datasetIndex);\n\n if (!meta) {\n throw new Error('Cannot find a dataset at index ' + datasetIndex);\n }\n\n return {\n datasetIndex,\n element: meta.data[index],\n index,\n };\n });\n const changed = !_elementsEqual(lastActive, active);\n const positionChanged = this._positionChanged(active, eventPosition);\n\n if (changed || positionChanged) {\n this._active = active;\n this._eventPosition = eventPosition;\n this._ignoreReplayEvents = true;\n this.update(true);\n }\n }\n\n /**\n\t * Handle an event\n\t * @param {ChartEvent} e - The event to handle\n\t * @param {boolean} [replay] - This is a replayed event (from update)\n\t * @param {boolean} [inChartArea] - The event is inside chartArea\n\t * @returns {boolean} true if the tooltip changed\n\t */\n handleEvent(e, replay, inChartArea = true) {\n if (replay && this._ignoreReplayEvents) {\n return false;\n }\n this._ignoreReplayEvents = false;\n\n const options = this.options;\n const lastActive = this._active || [];\n const active = this._getActiveElements(e, lastActive, replay, inChartArea);\n\n // When there are multiple items shown, but the tooltip position is nearest mode\n // an update may need to be made because our position may have changed even though\n // the items are the same as before.\n const positionChanged = this._positionChanged(active, e);\n\n // Remember Last Actives\n const changed = replay || !_elementsEqual(active, lastActive) || positionChanged;\n\n // Only handle target event on tooltip change\n if (changed) {\n this._active = active;\n\n if (options.enabled || options.external) {\n this._eventPosition = {\n x: e.x,\n y: e.y\n };\n\n this.update(true, replay);\n }\n }\n\n return changed;\n }\n\n /**\n\t * Helper for determining the active elements for event\n\t * @param {ChartEvent} e - The event to handle\n\t * @param {InteractionItem[]} lastActive - Previously active elements\n\t * @param {boolean} [replay] - This is a replayed event (from update)\n\t * @param {boolean} [inChartArea] - The event is inside chartArea\n\t * @returns {InteractionItem[]} - Active elements\n\t * @private\n\t */\n _getActiveElements(e, lastActive, replay, inChartArea) {\n const options = this.options;\n\n if (e.type === 'mouseout') {\n return [];\n }\n\n if (!inChartArea) {\n // Let user control the active elements outside chartArea. Eg. using Legend.\n // But make sure that active elements are still valid.\n return lastActive.filter(i =>\n this.chart.data.datasets[i.datasetIndex] &&\n this.chart.getDatasetMeta(i.datasetIndex).controller.getParsed(i.index) !== undefined\n );\n }\n\n // Find Active Elements for tooltips\n const active = this.chart.getElementsAtEventForMode(e, options.mode, options, replay);\n\n if (options.reverse) {\n active.reverse();\n }\n\n return active;\n }\n\n /**\n\t * Determine if the active elements + event combination changes the\n\t * tooltip position\n\t * @param {array} active - Active elements\n\t * @param {ChartEvent} e - Event that triggered the position change\n\t * @returns {boolean} True if the position has changed\n\t */\n _positionChanged(active, e) {\n const {caretX, caretY, options} = this;\n const position = positioners[options.position].call(this, active, e);\n return position !== false && (caretX !== position.x || caretY !== position.y);\n }\n}\n\nexport default {\n id: 'tooltip',\n _element: Tooltip,\n positioners,\n\n afterInit(chart, _args, options) {\n if (options) {\n chart.tooltip = new Tooltip({chart, options});\n }\n },\n\n beforeUpdate(chart, _args, options) {\n if (chart.tooltip) {\n chart.tooltip.initialize(options);\n }\n },\n\n reset(chart, _args, options) {\n if (chart.tooltip) {\n chart.tooltip.initialize(options);\n }\n },\n\n afterDraw(chart) {\n const tooltip = chart.tooltip;\n\n if (tooltip && tooltip._willRender()) {\n const args = {\n tooltip\n };\n\n if (chart.notifyPlugins('beforeTooltipDraw', {...args, cancelable: true}) === false) {\n return;\n }\n\n tooltip.draw(chart.ctx);\n\n chart.notifyPlugins('afterTooltipDraw', args);\n }\n },\n\n afterEvent(chart, args) {\n if (chart.tooltip) {\n // If the event is replayed from `update`, we should evaluate with the final positions.\n const useFinalPosition = args.replay;\n if (chart.tooltip.handleEvent(args.event, useFinalPosition, args.inChartArea)) {\n // notify chart about the change, so it will render\n args.changed = true;\n }\n }\n },\n\n defaults: {\n enabled: true,\n external: null,\n position: 'average',\n backgroundColor: 'rgba(0,0,0,0.8)',\n titleColor: '#fff',\n titleFont: {\n weight: 'bold',\n },\n titleSpacing: 2,\n titleMarginBottom: 6,\n titleAlign: 'left',\n bodyColor: '#fff',\n bodySpacing: 2,\n bodyFont: {\n },\n bodyAlign: 'left',\n footerColor: '#fff',\n footerSpacing: 2,\n footerMarginTop: 6,\n footerFont: {\n weight: 'bold',\n },\n footerAlign: 'left',\n padding: 6,\n caretPadding: 2,\n caretSize: 5,\n cornerRadius: 6,\n boxHeight: (ctx, opts) => opts.bodyFont.size,\n boxWidth: (ctx, opts) => opts.bodyFont.size,\n multiKeyBackground: '#fff',\n displayColors: true,\n boxPadding: 0,\n borderColor: 'rgba(0,0,0,0)',\n borderWidth: 0,\n animation: {\n duration: 400,\n easing: 'easeOutQuart',\n },\n animations: {\n numbers: {\n type: 'number',\n properties: ['x', 'y', 'width', 'height', 'caretX', 'caretY'],\n },\n opacity: {\n easing: 'linear',\n duration: 200\n }\n },\n callbacks: defaultCallbacks\n },\n\n defaultRoutes: {\n bodyFont: 'font',\n footerFont: 'font',\n titleFont: 'font'\n },\n\n descriptors: {\n _scriptable: (name) => name !== 'filter' && name !== 'itemSort' && name !== 'external',\n _indexable: false,\n callbacks: {\n _scriptable: false,\n _indexable: false,\n },\n animation: {\n _fallback: false\n },\n animations: {\n _fallback: 'animation'\n }\n },\n\n // Resolve additionally from `interaction` options and defaults.\n additionalOptionScopes: ['interaction']\n};\n","import Scale from '../core/core.scale.js';\nimport {isNullOrUndef, valueOrDefault, _limitValue} from '../helpers/index.js';\n\nconst addIfString = (labels, raw, index, addedLabels) => {\n if (typeof raw === 'string') {\n index = labels.push(raw) - 1;\n addedLabels.unshift({index, label: raw});\n } else if (isNaN(raw)) {\n index = null;\n }\n return index;\n};\n\nfunction findOrAddLabel(labels, raw, index, addedLabels) {\n const first = labels.indexOf(raw);\n if (first === -1) {\n return addIfString(labels, raw, index, addedLabels);\n }\n const last = labels.lastIndexOf(raw);\n return first !== last ? index : first;\n}\n\nconst validIndex = (index, max) => index === null ? null : _limitValue(Math.round(index), 0, max);\n\nfunction _getLabelForValue(value) {\n const labels = this.getLabels();\n\n if (value >= 0 && value < labels.length) {\n return labels[value];\n }\n return value;\n}\n\nexport default class CategoryScale extends Scale {\n\n static id = 'category';\n\n /**\n * @type {any}\n */\n static defaults = {\n ticks: {\n callback: _getLabelForValue\n }\n };\n\n constructor(cfg) {\n super(cfg);\n\n /** @type {number} */\n this._startValue = undefined;\n this._valueRange = 0;\n this._addedLabels = [];\n }\n\n init(scaleOptions) {\n const added = this._addedLabels;\n if (added.length) {\n const labels = this.getLabels();\n for (const {index, label} of added) {\n if (labels[index] === label) {\n labels.splice(index, 1);\n }\n }\n this._addedLabels = [];\n }\n super.init(scaleOptions);\n }\n\n parse(raw, index) {\n if (isNullOrUndef(raw)) {\n return null;\n }\n const labels = this.getLabels();\n index = isFinite(index) && labels[index] === raw ? index\n : findOrAddLabel(labels, raw, valueOrDefault(index, raw), this._addedLabels);\n return validIndex(index, labels.length - 1);\n }\n\n determineDataLimits() {\n const {minDefined, maxDefined} = this.getUserBounds();\n let {min, max} = this.getMinMax(true);\n\n if (this.options.bounds === 'ticks') {\n if (!minDefined) {\n min = 0;\n }\n if (!maxDefined) {\n max = this.getLabels().length - 1;\n }\n }\n\n this.min = min;\n this.max = max;\n }\n\n buildTicks() {\n const min = this.min;\n const max = this.max;\n const offset = this.options.offset;\n const ticks = [];\n let labels = this.getLabels();\n\n // If we are viewing some subset of labels, slice the original array\n labels = (min === 0 && max === labels.length - 1) ? labels : labels.slice(min, max + 1);\n\n this._valueRange = Math.max(labels.length - (offset ? 0 : 1), 1);\n this._startValue = this.min - (offset ? 0.5 : 0);\n\n for (let value = min; value <= max; value++) {\n ticks.push({value});\n }\n return ticks;\n }\n\n getLabelForValue(value) {\n return _getLabelForValue.call(this, value);\n }\n\n /**\n\t * @protected\n\t */\n configure() {\n super.configure();\n\n if (!this.isHorizontal()) {\n // For backward compatibility, vertical category scale reverse is inverted.\n this._reversePixels = !this._reversePixels;\n }\n }\n\n // Used to get data value locations. Value can either be an index or a numerical value\n getPixelForValue(value) {\n if (typeof value !== 'number') {\n value = this.parse(value);\n }\n\n return value === null ? NaN : this.getPixelForDecimal((value - this._startValue) / this._valueRange);\n }\n\n // Must override base implementation because it calls getPixelForValue\n // and category scale can have duplicate values\n getPixelForTick(index) {\n const ticks = this.ticks;\n if (index < 0 || index > ticks.length - 1) {\n return null;\n }\n return this.getPixelForValue(ticks[index].value);\n }\n\n getValueForPixel(pixel) {\n return Math.round(this._startValue + this.getDecimalForPixel(pixel) * this._valueRange);\n }\n\n getBasePixel() {\n return this.bottom;\n }\n}\n","import {isNullOrUndef} from '../helpers/helpers.core.js';\nimport {almostEquals, almostWhole, niceNum, _decimalPlaces, _setMinAndMaxByKey, sign, toRadians} from '../helpers/helpers.math.js';\nimport Scale from '../core/core.scale.js';\nimport {formatNumber} from '../helpers/helpers.intl.js';\n\n/**\n * Generate a set of linear ticks for an axis\n * 1. If generationOptions.min, generationOptions.max, and generationOptions.step are defined:\n * if (max - min) / step is an integer, ticks are generated as [min, min + step, ..., max]\n * Note that the generationOptions.maxCount setting is respected in this scenario\n *\n * 2. If generationOptions.min, generationOptions.max, and generationOptions.count is defined\n * spacing = (max - min) / count\n * Ticks are generated as [min, min + spacing, ..., max]\n *\n * 3. If generationOptions.count is defined\n * spacing = (niceMax - niceMin) / count\n *\n * 4. Compute optimal spacing of ticks using niceNum algorithm\n *\n * @param generationOptions the options used to generate the ticks\n * @param dataRange the range of the data\n * @returns {object[]} array of tick objects\n */\nfunction generateTicks(generationOptions, dataRange) {\n const ticks = [];\n // To get a \"nice\" value for the tick spacing, we will use the appropriately named\n // \"nice number\" algorithm. See https://stackoverflow.com/questions/8506881/nice-label-algorithm-for-charts-with-minimum-ticks\n // for details.\n\n const MIN_SPACING = 1e-14;\n const {bounds, step, min, max, precision, count, maxTicks, maxDigits, includeBounds} = generationOptions;\n const unit = step || 1;\n const maxSpaces = maxTicks - 1;\n const {min: rmin, max: rmax} = dataRange;\n const minDefined = !isNullOrUndef(min);\n const maxDefined = !isNullOrUndef(max);\n const countDefined = !isNullOrUndef(count);\n const minSpacing = (rmax - rmin) / (maxDigits + 1);\n let spacing = niceNum((rmax - rmin) / maxSpaces / unit) * unit;\n let factor, niceMin, niceMax, numSpaces;\n\n // Beyond MIN_SPACING floating point numbers being to lose precision\n // such that we can't do the math necessary to generate ticks\n if (spacing < MIN_SPACING && !minDefined && !maxDefined) {\n return [{value: rmin}, {value: rmax}];\n }\n\n numSpaces = Math.ceil(rmax / spacing) - Math.floor(rmin / spacing);\n if (numSpaces > maxSpaces) {\n // If the calculated num of spaces exceeds maxNumSpaces, recalculate it\n spacing = niceNum(numSpaces * spacing / maxSpaces / unit) * unit;\n }\n\n if (!isNullOrUndef(precision)) {\n // If the user specified a precision, round to that number of decimal places\n factor = Math.pow(10, precision);\n spacing = Math.ceil(spacing * factor) / factor;\n }\n\n if (bounds === 'ticks') {\n niceMin = Math.floor(rmin / spacing) * spacing;\n niceMax = Math.ceil(rmax / spacing) * spacing;\n } else {\n niceMin = rmin;\n niceMax = rmax;\n }\n\n if (minDefined && maxDefined && step && almostWhole((max - min) / step, spacing / 1000)) {\n // Case 1: If min, max and stepSize are set and they make an evenly spaced scale use it.\n // spacing = step;\n // numSpaces = (max - min) / spacing;\n // Note that we round here to handle the case where almostWhole translated an FP error\n numSpaces = Math.round(Math.min((max - min) / spacing, maxTicks));\n spacing = (max - min) / numSpaces;\n niceMin = min;\n niceMax = max;\n } else if (countDefined) {\n // Cases 2 & 3, we have a count specified. Handle optional user defined edges to the range.\n // Sometimes these are no-ops, but it makes the code a lot clearer\n // and when a user defined range is specified, we want the correct ticks\n niceMin = minDefined ? min : niceMin;\n niceMax = maxDefined ? max : niceMax;\n numSpaces = count - 1;\n spacing = (niceMax - niceMin) / numSpaces;\n } else {\n // Case 4\n numSpaces = (niceMax - niceMin) / spacing;\n\n // If very close to our rounded value, use it.\n if (almostEquals(numSpaces, Math.round(numSpaces), spacing / 1000)) {\n numSpaces = Math.round(numSpaces);\n } else {\n numSpaces = Math.ceil(numSpaces);\n }\n }\n\n // The spacing will have changed in cases 1, 2, and 3 so the factor cannot be computed\n // until this point\n const decimalPlaces = Math.max(\n _decimalPlaces(spacing),\n _decimalPlaces(niceMin)\n );\n factor = Math.pow(10, isNullOrUndef(precision) ? decimalPlaces : precision);\n niceMin = Math.round(niceMin * factor) / factor;\n niceMax = Math.round(niceMax * factor) / factor;\n\n let j = 0;\n if (minDefined) {\n if (includeBounds && niceMin !== min) {\n ticks.push({value: min});\n\n if (niceMin < min) {\n j++; // Skip niceMin\n }\n // If the next nice tick is close to min, skip it\n if (almostEquals(Math.round((niceMin + j * spacing) * factor) / factor, min, relativeLabelSize(min, minSpacing, generationOptions))) {\n j++;\n }\n } else if (niceMin < min) {\n j++;\n }\n }\n\n for (; j < numSpaces; ++j) {\n const tickValue = Math.round((niceMin + j * spacing) * factor) / factor;\n if (maxDefined && tickValue > max) {\n break;\n }\n ticks.push({value: tickValue});\n }\n\n if (maxDefined && includeBounds && niceMax !== max) {\n // If the previous tick is too close to max, replace it with max, else add max\n if (ticks.length && almostEquals(ticks[ticks.length - 1].value, max, relativeLabelSize(max, minSpacing, generationOptions))) {\n ticks[ticks.length - 1].value = max;\n } else {\n ticks.push({value: max});\n }\n } else if (!maxDefined || niceMax === max) {\n ticks.push({value: niceMax});\n }\n\n return ticks;\n}\n\nfunction relativeLabelSize(value, minSpacing, {horizontal, minRotation}) {\n const rad = toRadians(minRotation);\n const ratio = (horizontal ? Math.sin(rad) : Math.cos(rad)) || 0.001;\n const length = 0.75 * minSpacing * ('' + value).length;\n return Math.min(minSpacing / ratio, length);\n}\n\nexport default class LinearScaleBase extends Scale {\n\n constructor(cfg) {\n super(cfg);\n\n /** @type {number} */\n this.start = undefined;\n /** @type {number} */\n this.end = undefined;\n /** @type {number} */\n this._startValue = undefined;\n /** @type {number} */\n this._endValue = undefined;\n this._valueRange = 0;\n }\n\n parse(raw, index) { // eslint-disable-line no-unused-vars\n if (isNullOrUndef(raw)) {\n return null;\n }\n if ((typeof raw === 'number' || raw instanceof Number) && !isFinite(+raw)) {\n return null;\n }\n\n return +raw;\n }\n\n handleTickRangeOptions() {\n const {beginAtZero} = this.options;\n const {minDefined, maxDefined} = this.getUserBounds();\n let {min, max} = this;\n\n const setMin = v => (min = minDefined ? min : v);\n const setMax = v => (max = maxDefined ? max : v);\n\n if (beginAtZero) {\n const minSign = sign(min);\n const maxSign = sign(max);\n\n if (minSign < 0 && maxSign < 0) {\n setMax(0);\n } else if (minSign > 0 && maxSign > 0) {\n setMin(0);\n }\n }\n\n if (min === max) {\n let offset = max === 0 ? 1 : Math.abs(max * 0.05);\n\n setMax(max + offset);\n\n if (!beginAtZero) {\n setMin(min - offset);\n }\n }\n this.min = min;\n this.max = max;\n }\n\n getTickLimit() {\n const tickOpts = this.options.ticks;\n // eslint-disable-next-line prefer-const\n let {maxTicksLimit, stepSize} = tickOpts;\n let maxTicks;\n\n if (stepSize) {\n maxTicks = Math.ceil(this.max / stepSize) - Math.floor(this.min / stepSize) + 1;\n if (maxTicks > 1000) {\n console.warn(`scales.${this.id}.ticks.stepSize: ${stepSize} would result generating up to ${maxTicks} ticks. Limiting to 1000.`);\n maxTicks = 1000;\n }\n } else {\n maxTicks = this.computeTickLimit();\n maxTicksLimit = maxTicksLimit || 11;\n }\n\n if (maxTicksLimit) {\n maxTicks = Math.min(maxTicksLimit, maxTicks);\n }\n\n return maxTicks;\n }\n\n /**\n\t * @protected\n\t */\n computeTickLimit() {\n return Number.POSITIVE_INFINITY;\n }\n\n buildTicks() {\n const opts = this.options;\n const tickOpts = opts.ticks;\n\n // Figure out what the max number of ticks we can support it is based on the size of\n // the axis area. For now, we say that the minimum tick spacing in pixels must be 40\n // We also limit the maximum number of ticks to 11 which gives a nice 10 squares on\n // the graph. Make sure we always have at least 2 ticks\n let maxTicks = this.getTickLimit();\n maxTicks = Math.max(2, maxTicks);\n\n const numericGeneratorOptions = {\n maxTicks,\n bounds: opts.bounds,\n min: opts.min,\n max: opts.max,\n precision: tickOpts.precision,\n step: tickOpts.stepSize,\n count: tickOpts.count,\n maxDigits: this._maxDigits(),\n horizontal: this.isHorizontal(),\n minRotation: tickOpts.minRotation || 0,\n includeBounds: tickOpts.includeBounds !== false\n };\n const dataRange = this._range || this;\n const ticks = generateTicks(numericGeneratorOptions, dataRange);\n\n // At this point, we need to update our max and min given the tick values,\n // since we probably have expanded the range of the scale\n if (opts.bounds === 'ticks') {\n _setMinAndMaxByKey(ticks, this, 'value');\n }\n\n if (opts.reverse) {\n ticks.reverse();\n\n this.start = this.max;\n this.end = this.min;\n } else {\n this.start = this.min;\n this.end = this.max;\n }\n\n return ticks;\n }\n\n /**\n\t * @protected\n\t */\n configure() {\n const ticks = this.ticks;\n let start = this.min;\n let end = this.max;\n\n super.configure();\n\n if (this.options.offset && ticks.length) {\n const offset = (end - start) / Math.max(ticks.length - 1, 1) / 2;\n start -= offset;\n end += offset;\n }\n this._startValue = start;\n this._endValue = end;\n this._valueRange = end - start;\n }\n\n getLabelForValue(value) {\n return formatNumber(value, this.chart.options.locale, this.options.ticks.format);\n }\n}\n","import {isFinite} from '../helpers/helpers.core.js';\nimport LinearScaleBase from './scale.linearbase.js';\nimport Ticks from '../core/core.ticks.js';\nimport {toRadians} from '../helpers/index.js';\n\nexport default class LinearScale extends LinearScaleBase {\n\n static id = 'linear';\n\n /**\n * @type {any}\n */\n static defaults = {\n ticks: {\n callback: Ticks.formatters.numeric\n }\n };\n\n\n determineDataLimits() {\n const {min, max} = this.getMinMax(true);\n\n this.min = isFinite(min) ? min : 0;\n this.max = isFinite(max) ? max : 1;\n\n // Common base implementation to handle min, max, beginAtZero\n this.handleTickRangeOptions();\n }\n\n /**\n\t * Returns the maximum number of ticks based on the scale dimension\n\t * @protected\n \t */\n computeTickLimit() {\n const horizontal = this.isHorizontal();\n const length = horizontal ? this.width : this.height;\n const minRotation = toRadians(this.options.ticks.minRotation);\n const ratio = (horizontal ? Math.sin(minRotation) : Math.cos(minRotation)) || 0.001;\n const tickFont = this._resolveTickFontOptions(0);\n return Math.ceil(length / Math.min(40, tickFont.lineHeight / ratio));\n }\n\n // Utils\n getPixelForValue(value) {\n return value === null ? NaN : this.getPixelForDecimal((value - this._startValue) / this._valueRange);\n }\n\n getValueForPixel(pixel) {\n return this._startValue + this.getDecimalForPixel(pixel) * this._valueRange;\n }\n}\n","import {finiteOrDefault, isFinite} from '../helpers/helpers.core.js';\nimport {formatNumber} from '../helpers/helpers.intl.js';\nimport {_setMinAndMaxByKey, log10} from '../helpers/helpers.math.js';\nimport Scale from '../core/core.scale.js';\nimport LinearScaleBase from './scale.linearbase.js';\nimport Ticks from '../core/core.ticks.js';\n\nconst log10Floor = v => Math.floor(log10(v));\nconst changeExponent = (v, m) => Math.pow(10, log10Floor(v) + m);\n\nfunction isMajor(tickVal) {\n const remain = tickVal / (Math.pow(10, log10Floor(tickVal)));\n return remain === 1;\n}\n\nfunction steps(min, max, rangeExp) {\n const rangeStep = Math.pow(10, rangeExp);\n const start = Math.floor(min / rangeStep);\n const end = Math.ceil(max / rangeStep);\n return end - start;\n}\n\nfunction startExp(min, max) {\n const range = max - min;\n let rangeExp = log10Floor(range);\n while (steps(min, max, rangeExp) > 10) {\n rangeExp++;\n }\n while (steps(min, max, rangeExp) < 10) {\n rangeExp--;\n }\n return Math.min(rangeExp, log10Floor(min));\n}\n\n\n/**\n * Generate a set of logarithmic ticks\n * @param generationOptions the options used to generate the ticks\n * @param dataRange the range of the data\n * @returns {object[]} array of tick objects\n */\nfunction generateTicks(generationOptions, {min, max}) {\n min = finiteOrDefault(generationOptions.min, min);\n const ticks = [];\n const minExp = log10Floor(min);\n let exp = startExp(min, max);\n let precision = exp < 0 ? Math.pow(10, Math.abs(exp)) : 1;\n const stepSize = Math.pow(10, exp);\n const base = minExp > exp ? Math.pow(10, minExp) : 0;\n const start = Math.round((min - base) * precision) / precision;\n const offset = Math.floor((min - base) / stepSize / 10) * stepSize * 10;\n let significand = Math.floor((start - offset) / Math.pow(10, exp));\n let value = finiteOrDefault(generationOptions.min, Math.round((base + offset + significand * Math.pow(10, exp)) * precision) / precision);\n while (value < max) {\n ticks.push({value, major: isMajor(value), significand});\n if (significand >= 10) {\n significand = significand < 15 ? 15 : 20;\n } else {\n significand++;\n }\n if (significand >= 20) {\n exp++;\n significand = 2;\n precision = exp >= 0 ? 1 : precision;\n }\n value = Math.round((base + offset + significand * Math.pow(10, exp)) * precision) / precision;\n }\n const lastTick = finiteOrDefault(generationOptions.max, value);\n ticks.push({value: lastTick, major: isMajor(lastTick), significand});\n\n return ticks;\n}\n\nexport default class LogarithmicScale extends Scale {\n\n static id = 'logarithmic';\n\n /**\n * @type {any}\n */\n static defaults = {\n ticks: {\n callback: Ticks.formatters.logarithmic,\n major: {\n enabled: true\n }\n }\n };\n\n\n constructor(cfg) {\n super(cfg);\n\n /** @type {number} */\n this.start = undefined;\n /** @type {number} */\n this.end = undefined;\n /** @type {number} */\n this._startValue = undefined;\n this._valueRange = 0;\n }\n\n parse(raw, index) {\n const value = LinearScaleBase.prototype.parse.apply(this, [raw, index]);\n if (value === 0) {\n this._zero = true;\n return undefined;\n }\n return isFinite(value) && value > 0 ? value : null;\n }\n\n determineDataLimits() {\n const {min, max} = this.getMinMax(true);\n\n this.min = isFinite(min) ? Math.max(0, min) : null;\n this.max = isFinite(max) ? Math.max(0, max) : null;\n\n if (this.options.beginAtZero) {\n this._zero = true;\n }\n\n // if data has `0` in it or `beginAtZero` is true, min (non zero) value is at bottom\n // of scale, and it does not equal suggestedMin, lower the min bound by one exp.\n if (this._zero && this.min !== this._suggestedMin && !isFinite(this._userMin)) {\n this.min = min === changeExponent(this.min, 0) ? changeExponent(this.min, -1) : changeExponent(this.min, 0);\n }\n\n this.handleTickRangeOptions();\n }\n\n handleTickRangeOptions() {\n const {minDefined, maxDefined} = this.getUserBounds();\n let min = this.min;\n let max = this.max;\n\n const setMin = v => (min = minDefined ? min : v);\n const setMax = v => (max = maxDefined ? max : v);\n\n if (min === max) {\n if (min <= 0) { // includes null\n setMin(1);\n setMax(10);\n } else {\n setMin(changeExponent(min, -1));\n setMax(changeExponent(max, +1));\n }\n }\n if (min <= 0) {\n setMin(changeExponent(max, -1));\n }\n if (max <= 0) {\n\n setMax(changeExponent(min, +1));\n }\n\n this.min = min;\n this.max = max;\n }\n\n buildTicks() {\n const opts = this.options;\n\n const generationOptions = {\n min: this._userMin,\n max: this._userMax\n };\n const ticks = generateTicks(generationOptions, this);\n\n // At this point, we need to update our max and min given the tick values,\n // since we probably have expanded the range of the scale\n if (opts.bounds === 'ticks') {\n _setMinAndMaxByKey(ticks, this, 'value');\n }\n\n if (opts.reverse) {\n ticks.reverse();\n\n this.start = this.max;\n this.end = this.min;\n } else {\n this.start = this.min;\n this.end = this.max;\n }\n\n return ticks;\n }\n\n /**\n\t * @param {number} value\n\t * @return {string}\n\t */\n getLabelForValue(value) {\n return value === undefined\n ? '0'\n : formatNumber(value, this.chart.options.locale, this.options.ticks.format);\n }\n\n /**\n\t * @protected\n\t */\n configure() {\n const start = this.min;\n\n super.configure();\n\n this._startValue = log10(start);\n this._valueRange = log10(this.max) - log10(start);\n }\n\n getPixelForValue(value) {\n if (value === undefined || value === 0) {\n value = this.min;\n }\n if (value === null || isNaN(value)) {\n return NaN;\n }\n return this.getPixelForDecimal(value === this.min\n ? 0\n : (log10(value) - this._startValue) / this._valueRange);\n }\n\n getValueForPixel(pixel) {\n const decimal = this.getDecimalForPixel(pixel);\n return Math.pow(10, this._startValue + decimal * this._valueRange);\n }\n}\n","import defaults from '../core/core.defaults.js';\nimport {_longestText, addRoundedRectPath, renderText, _isPointInArea} from '../helpers/helpers.canvas.js';\nimport {HALF_PI, TAU, toDegrees, toRadians, _normalizeAngle, PI} from '../helpers/helpers.math.js';\nimport LinearScaleBase from './scale.linearbase.js';\nimport Ticks from '../core/core.ticks.js';\nimport {valueOrDefault, isArray, isFinite, callback as callCallback, isNullOrUndef} from '../helpers/helpers.core.js';\nimport {createContext, toFont, toPadding, toTRBLCorners} from '../helpers/helpers.options.js';\n\nfunction getTickBackdropHeight(opts) {\n const tickOpts = opts.ticks;\n\n if (tickOpts.display && opts.display) {\n const padding = toPadding(tickOpts.backdropPadding);\n return valueOrDefault(tickOpts.font && tickOpts.font.size, defaults.font.size) + padding.height;\n }\n return 0;\n}\n\nfunction measureLabelSize(ctx, font, label) {\n label = isArray(label) ? label : [label];\n return {\n w: _longestText(ctx, font.string, label),\n h: label.length * font.lineHeight\n };\n}\n\nfunction determineLimits(angle, pos, size, min, max) {\n if (angle === min || angle === max) {\n return {\n start: pos - (size / 2),\n end: pos + (size / 2)\n };\n } else if (angle < min || angle > max) {\n return {\n start: pos - size,\n end: pos\n };\n }\n\n return {\n start: pos,\n end: pos + size\n };\n}\n\n/**\n * Helper function to fit a radial linear scale with point labels\n */\nfunction fitWithPointLabels(scale) {\n\n // Right, this is really confusing and there is a lot of maths going on here\n // The gist of the problem is here: https://gist.github.com/nnnick/696cc9c55f4b0beb8fe9\n //\n // Reaction: https://dl.dropboxusercontent.com/u/34601363/toomuchscience.gif\n //\n // Solution:\n //\n // We assume the radius of the polygon is half the size of the canvas at first\n // at each index we check if the text overlaps.\n //\n // Where it does, we store that angle and that index.\n //\n // After finding the largest index and angle we calculate how much we need to remove\n // from the shape radius to move the point inwards by that x.\n //\n // We average the left and right distances to get the maximum shape radius that can fit in the box\n // along with labels.\n //\n // Once we have that, we can find the centre point for the chart, by taking the x text protrusion\n // on each side, removing that from the size, halving it and adding the left x protrusion width.\n //\n // This will mean we have a shape fitted to the canvas, as large as it can be with the labels\n // and position it in the most space efficient manner\n //\n // https://dl.dropboxusercontent.com/u/34601363/yeahscience.gif\n\n // Get maximum radius of the polygon. Either half the height (minus the text width) or half the width.\n // Use this to calculate the offset + change. - Make sure L/R protrusion is at least 0 to stop issues with centre points\n const orig = {\n l: scale.left + scale._padding.left,\n r: scale.right - scale._padding.right,\n t: scale.top + scale._padding.top,\n b: scale.bottom - scale._padding.bottom\n };\n const limits = Object.assign({}, orig);\n const labelSizes = [];\n const padding = [];\n const valueCount = scale._pointLabels.length;\n const pointLabelOpts = scale.options.pointLabels;\n const additionalAngle = pointLabelOpts.centerPointLabels ? PI / valueCount : 0;\n\n for (let i = 0; i < valueCount; i++) {\n const opts = pointLabelOpts.setContext(scale.getPointLabelContext(i));\n padding[i] = opts.padding;\n const pointPosition = scale.getPointPosition(i, scale.drawingArea + padding[i], additionalAngle);\n const plFont = toFont(opts.font);\n const textSize = measureLabelSize(scale.ctx, plFont, scale._pointLabels[i]);\n labelSizes[i] = textSize;\n\n const angleRadians = _normalizeAngle(scale.getIndexAngle(i) + additionalAngle);\n const angle = Math.round(toDegrees(angleRadians));\n const hLimits = determineLimits(angle, pointPosition.x, textSize.w, 0, 180);\n const vLimits = determineLimits(angle, pointPosition.y, textSize.h, 90, 270);\n updateLimits(limits, orig, angleRadians, hLimits, vLimits);\n }\n\n scale.setCenterPoint(\n orig.l - limits.l,\n limits.r - orig.r,\n orig.t - limits.t,\n limits.b - orig.b\n );\n\n // Now that text size is determined, compute the full positions\n scale._pointLabelItems = buildPointLabelItems(scale, labelSizes, padding);\n}\n\nfunction updateLimits(limits, orig, angle, hLimits, vLimits) {\n const sin = Math.abs(Math.sin(angle));\n const cos = Math.abs(Math.cos(angle));\n let x = 0;\n let y = 0;\n if (hLimits.start < orig.l) {\n x = (orig.l - hLimits.start) / sin;\n limits.l = Math.min(limits.l, orig.l - x);\n } else if (hLimits.end > orig.r) {\n x = (hLimits.end - orig.r) / sin;\n limits.r = Math.max(limits.r, orig.r + x);\n }\n if (vLimits.start < orig.t) {\n y = (orig.t - vLimits.start) / cos;\n limits.t = Math.min(limits.t, orig.t - y);\n } else if (vLimits.end > orig.b) {\n y = (vLimits.end - orig.b) / cos;\n limits.b = Math.max(limits.b, orig.b + y);\n }\n}\n\nfunction createPointLabelItem(scale, index, itemOpts) {\n const outerDistance = scale.drawingArea;\n const {extra, additionalAngle, padding, size} = itemOpts;\n const pointLabelPosition = scale.getPointPosition(index, outerDistance + extra + padding, additionalAngle);\n const angle = Math.round(toDegrees(_normalizeAngle(pointLabelPosition.angle + HALF_PI)));\n const y = yForAngle(pointLabelPosition.y, size.h, angle);\n const textAlign = getTextAlignForAngle(angle);\n const left = leftForTextAlign(pointLabelPosition.x, size.w, textAlign);\n return {\n // if to draw or overlapped\n visible: true,\n\n // Text position\n x: pointLabelPosition.x,\n y,\n\n // Text rendering data\n textAlign,\n\n // Bounding box\n left,\n top: y,\n right: left + size.w,\n bottom: y + size.h\n };\n}\n\nfunction isNotOverlapped(item, area) {\n if (!area) {\n return true;\n }\n const {left, top, right, bottom} = item;\n const apexesInArea = _isPointInArea({x: left, y: top}, area) || _isPointInArea({x: left, y: bottom}, area) ||\n _isPointInArea({x: right, y: top}, area) || _isPointInArea({x: right, y: bottom}, area);\n return !apexesInArea;\n}\n\nfunction buildPointLabelItems(scale, labelSizes, padding) {\n const items = [];\n const valueCount = scale._pointLabels.length;\n const opts = scale.options;\n const {centerPointLabels, display} = opts.pointLabels;\n const itemOpts = {\n extra: getTickBackdropHeight(opts) / 2,\n additionalAngle: centerPointLabels ? PI / valueCount : 0\n };\n let area;\n\n for (let i = 0; i < valueCount; i++) {\n itemOpts.padding = padding[i];\n itemOpts.size = labelSizes[i];\n\n const item = createPointLabelItem(scale, i, itemOpts);\n items.push(item);\n if (display === 'auto') {\n item.visible = isNotOverlapped(item, area);\n if (item.visible) {\n area = item;\n }\n }\n }\n return items;\n}\n\nfunction getTextAlignForAngle(angle) {\n if (angle === 0 || angle === 180) {\n return 'center';\n } else if (angle < 180) {\n return 'left';\n }\n\n return 'right';\n}\n\nfunction leftForTextAlign(x, w, align) {\n if (align === 'right') {\n x -= w;\n } else if (align === 'center') {\n x -= (w / 2);\n }\n return x;\n}\n\nfunction yForAngle(y, h, angle) {\n if (angle === 90 || angle === 270) {\n y -= (h / 2);\n } else if (angle > 270 || angle < 90) {\n y -= h;\n }\n return y;\n}\n\nfunction drawPointLabelBox(ctx, opts, item) {\n const {left, top, right, bottom} = item;\n const {backdropColor} = opts;\n\n if (!isNullOrUndef(backdropColor)) {\n const borderRadius = toTRBLCorners(opts.borderRadius);\n const padding = toPadding(opts.backdropPadding);\n ctx.fillStyle = backdropColor;\n\n const backdropLeft = left - padding.left;\n const backdropTop = top - padding.top;\n const backdropWidth = right - left + padding.width;\n const backdropHeight = bottom - top + padding.height;\n\n if (Object.values(borderRadius).some(v => v !== 0)) {\n ctx.beginPath();\n addRoundedRectPath(ctx, {\n x: backdropLeft,\n y: backdropTop,\n w: backdropWidth,\n h: backdropHeight,\n radius: borderRadius,\n });\n ctx.fill();\n } else {\n ctx.fillRect(backdropLeft, backdropTop, backdropWidth, backdropHeight);\n }\n }\n}\n\nfunction drawPointLabels(scale, labelCount) {\n const {ctx, options: {pointLabels}} = scale;\n\n for (let i = labelCount - 1; i >= 0; i--) {\n const item = scale._pointLabelItems[i];\n if (!item.visible) {\n // overlapping\n continue;\n }\n const optsAtIndex = pointLabels.setContext(scale.getPointLabelContext(i));\n drawPointLabelBox(ctx, optsAtIndex, item);\n const plFont = toFont(optsAtIndex.font);\n const {x, y, textAlign} = item;\n\n renderText(\n ctx,\n scale._pointLabels[i],\n x,\n y + (plFont.lineHeight / 2),\n plFont,\n {\n color: optsAtIndex.color,\n textAlign: textAlign,\n textBaseline: 'middle'\n }\n );\n }\n}\n\nfunction pathRadiusLine(scale, radius, circular, labelCount) {\n const {ctx} = scale;\n if (circular) {\n // Draw circular arcs between the points\n ctx.arc(scale.xCenter, scale.yCenter, radius, 0, TAU);\n } else {\n // Draw straight lines connecting each index\n let pointPosition = scale.getPointPosition(0, radius);\n ctx.moveTo(pointPosition.x, pointPosition.y);\n\n for (let i = 1; i < labelCount; i++) {\n pointPosition = scale.getPointPosition(i, radius);\n ctx.lineTo(pointPosition.x, pointPosition.y);\n }\n }\n}\n\nfunction drawRadiusLine(scale, gridLineOpts, radius, labelCount, borderOpts) {\n const ctx = scale.ctx;\n const circular = gridLineOpts.circular;\n\n const {color, lineWidth} = gridLineOpts;\n\n if ((!circular && !labelCount) || !color || !lineWidth || radius < 0) {\n return;\n }\n\n ctx.save();\n ctx.strokeStyle = color;\n ctx.lineWidth = lineWidth;\n ctx.setLineDash(borderOpts.dash || []);\n ctx.lineDashOffset = borderOpts.dashOffset;\n\n ctx.beginPath();\n pathRadiusLine(scale, radius, circular, labelCount);\n ctx.closePath();\n ctx.stroke();\n ctx.restore();\n}\n\nfunction createPointLabelContext(parent, index, label) {\n return createContext(parent, {\n label,\n index,\n type: 'pointLabel'\n });\n}\n\nexport default class RadialLinearScale extends LinearScaleBase {\n\n static id = 'radialLinear';\n\n /**\n * @type {any}\n */\n static defaults = {\n display: true,\n\n // Boolean - Whether to animate scaling the chart from the centre\n animate: true,\n position: 'chartArea',\n\n angleLines: {\n display: true,\n lineWidth: 1,\n borderDash: [],\n borderDashOffset: 0.0\n },\n\n grid: {\n circular: false\n },\n\n startAngle: 0,\n\n // label settings\n ticks: {\n // Boolean - Show a backdrop to the scale label\n showLabelBackdrop: true,\n\n callback: Ticks.formatters.numeric\n },\n\n pointLabels: {\n backdropColor: undefined,\n\n // Number - The backdrop padding above & below the label in pixels\n backdropPadding: 2,\n\n // Boolean - if true, show point labels\n display: true,\n\n // Number - Point label font size in pixels\n font: {\n size: 10\n },\n\n // Function - Used to convert point labels\n callback(label) {\n return label;\n },\n\n // Number - Additionl padding between scale and pointLabel\n padding: 5,\n\n // Boolean - if true, center point labels to slices in polar chart\n centerPointLabels: false\n }\n };\n\n static defaultRoutes = {\n 'angleLines.color': 'borderColor',\n 'pointLabels.color': 'color',\n 'ticks.color': 'color'\n };\n\n static descriptors = {\n angleLines: {\n _fallback: 'grid'\n }\n };\n\n constructor(cfg) {\n super(cfg);\n\n /** @type {number} */\n this.xCenter = undefined;\n /** @type {number} */\n this.yCenter = undefined;\n /** @type {number} */\n this.drawingArea = undefined;\n /** @type {string[]} */\n this._pointLabels = [];\n this._pointLabelItems = [];\n }\n\n setDimensions() {\n // Set the unconstrained dimension before label rotation\n const padding = this._padding = toPadding(getTickBackdropHeight(this.options) / 2);\n const w = this.width = this.maxWidth - padding.width;\n const h = this.height = this.maxHeight - padding.height;\n this.xCenter = Math.floor(this.left + w / 2 + padding.left);\n this.yCenter = Math.floor(this.top + h / 2 + padding.top);\n this.drawingArea = Math.floor(Math.min(w, h) / 2);\n }\n\n determineDataLimits() {\n const {min, max} = this.getMinMax(false);\n\n this.min = isFinite(min) && !isNaN(min) ? min : 0;\n this.max = isFinite(max) && !isNaN(max) ? max : 0;\n\n // Common base implementation to handle min, max, beginAtZero\n this.handleTickRangeOptions();\n }\n\n /**\n\t * Returns the maximum number of ticks based on the scale dimension\n\t * @protected\n\t */\n computeTickLimit() {\n return Math.ceil(this.drawingArea / getTickBackdropHeight(this.options));\n }\n\n generateTickLabels(ticks) {\n LinearScaleBase.prototype.generateTickLabels.call(this, ticks);\n\n // Point labels\n this._pointLabels = this.getLabels()\n .map((value, index) => {\n const label = callCallback(this.options.pointLabels.callback, [value, index], this);\n return label || label === 0 ? label : '';\n })\n .filter((v, i) => this.chart.getDataVisibility(i));\n }\n\n fit() {\n const opts = this.options;\n\n if (opts.display && opts.pointLabels.display) {\n fitWithPointLabels(this);\n } else {\n this.setCenterPoint(0, 0, 0, 0);\n }\n }\n\n setCenterPoint(leftMovement, rightMovement, topMovement, bottomMovement) {\n this.xCenter += Math.floor((leftMovement - rightMovement) / 2);\n this.yCenter += Math.floor((topMovement - bottomMovement) / 2);\n this.drawingArea -= Math.min(this.drawingArea / 2, Math.max(leftMovement, rightMovement, topMovement, bottomMovement));\n }\n\n getIndexAngle(index) {\n const angleMultiplier = TAU / (this._pointLabels.length || 1);\n const startAngle = this.options.startAngle || 0;\n\n return _normalizeAngle(index * angleMultiplier + toRadians(startAngle));\n }\n\n getDistanceFromCenterForValue(value) {\n if (isNullOrUndef(value)) {\n return NaN;\n }\n\n // Take into account half font size + the yPadding of the top value\n const scalingFactor = this.drawingArea / (this.max - this.min);\n if (this.options.reverse) {\n return (this.max - value) * scalingFactor;\n }\n return (value - this.min) * scalingFactor;\n }\n\n getValueForDistanceFromCenter(distance) {\n if (isNullOrUndef(distance)) {\n return NaN;\n }\n\n const scaledDistance = distance / (this.drawingArea / (this.max - this.min));\n return this.options.reverse ? this.max - scaledDistance : this.min + scaledDistance;\n }\n\n getPointLabelContext(index) {\n const pointLabels = this._pointLabels || [];\n\n if (index >= 0 && index < pointLabels.length) {\n const pointLabel = pointLabels[index];\n return createPointLabelContext(this.getContext(), index, pointLabel);\n }\n }\n\n getPointPosition(index, distanceFromCenter, additionalAngle = 0) {\n const angle = this.getIndexAngle(index) - HALF_PI + additionalAngle;\n return {\n x: Math.cos(angle) * distanceFromCenter + this.xCenter,\n y: Math.sin(angle) * distanceFromCenter + this.yCenter,\n angle\n };\n }\n\n getPointPositionForValue(index, value) {\n return this.getPointPosition(index, this.getDistanceFromCenterForValue(value));\n }\n\n getBasePosition(index) {\n return this.getPointPositionForValue(index || 0, this.getBaseValue());\n }\n\n getPointLabelPosition(index) {\n const {left, top, right, bottom} = this._pointLabelItems[index];\n return {\n left,\n top,\n right,\n bottom,\n };\n }\n\n /**\n\t * @protected\n\t */\n drawBackground() {\n const {backgroundColor, grid: {circular}} = this.options;\n if (backgroundColor) {\n const ctx = this.ctx;\n ctx.save();\n ctx.beginPath();\n pathRadiusLine(this, this.getDistanceFromCenterForValue(this._endValue), circular, this._pointLabels.length);\n ctx.closePath();\n ctx.fillStyle = backgroundColor;\n ctx.fill();\n ctx.restore();\n }\n }\n\n /**\n\t * @protected\n\t */\n drawGrid() {\n const ctx = this.ctx;\n const opts = this.options;\n const {angleLines, grid, border} = opts;\n const labelCount = this._pointLabels.length;\n\n let i, offset, position;\n\n if (opts.pointLabels.display) {\n drawPointLabels(this, labelCount);\n }\n\n if (grid.display) {\n this.ticks.forEach((tick, index) => {\n if (index !== 0 || (index === 0 && this.min < 0)) {\n offset = this.getDistanceFromCenterForValue(tick.value);\n const context = this.getContext(index);\n const optsAtIndex = grid.setContext(context);\n const optsAtIndexBorder = border.setContext(context);\n\n drawRadiusLine(this, optsAtIndex, offset, labelCount, optsAtIndexBorder);\n }\n });\n }\n\n if (angleLines.display) {\n ctx.save();\n\n for (i = labelCount - 1; i >= 0; i--) {\n const optsAtIndex = angleLines.setContext(this.getPointLabelContext(i));\n const {color, lineWidth} = optsAtIndex;\n\n if (!lineWidth || !color) {\n continue;\n }\n\n ctx.lineWidth = lineWidth;\n ctx.strokeStyle = color;\n\n ctx.setLineDash(optsAtIndex.borderDash);\n ctx.lineDashOffset = optsAtIndex.borderDashOffset;\n\n offset = this.getDistanceFromCenterForValue(opts.reverse ? this.min : this.max);\n position = this.getPointPosition(i, offset);\n ctx.beginPath();\n ctx.moveTo(this.xCenter, this.yCenter);\n ctx.lineTo(position.x, position.y);\n ctx.stroke();\n }\n\n ctx.restore();\n }\n }\n\n /**\n\t * @protected\n\t */\n drawBorder() {}\n\n /**\n\t * @protected\n\t */\n drawLabels() {\n const ctx = this.ctx;\n const opts = this.options;\n const tickOpts = opts.ticks;\n\n if (!tickOpts.display) {\n return;\n }\n\n const startAngle = this.getIndexAngle(0);\n let offset, width;\n\n ctx.save();\n ctx.translate(this.xCenter, this.yCenter);\n ctx.rotate(startAngle);\n ctx.textAlign = 'center';\n ctx.textBaseline = 'middle';\n\n this.ticks.forEach((tick, index) => {\n if ((index === 0 && this.min >= 0) && !opts.reverse) {\n return;\n }\n\n const optsAtIndex = tickOpts.setContext(this.getContext(index));\n const tickFont = toFont(optsAtIndex.font);\n offset = this.getDistanceFromCenterForValue(this.ticks[index].value);\n\n if (optsAtIndex.showLabelBackdrop) {\n ctx.font = tickFont.string;\n width = ctx.measureText(tick.label).width;\n ctx.fillStyle = optsAtIndex.backdropColor;\n\n const padding = toPadding(optsAtIndex.backdropPadding);\n ctx.fillRect(\n -width / 2 - padding.left,\n -offset - tickFont.size / 2 - padding.top,\n width + padding.width,\n tickFont.size + padding.height\n );\n }\n\n renderText(ctx, tick.label, 0, -offset, tickFont, {\n color: optsAtIndex.color,\n strokeColor: optsAtIndex.textStrokeColor,\n strokeWidth: optsAtIndex.textStrokeWidth,\n });\n });\n\n ctx.restore();\n }\n\n /**\n\t * @protected\n\t */\n drawTitle() {}\n}\n","import adapters from '../core/core.adapters.js';\nimport {callback as call, isFinite, isNullOrUndef, mergeIf, valueOrDefault} from '../helpers/helpers.core.js';\nimport {toRadians, isNumber, _limitValue} from '../helpers/helpers.math.js';\nimport Scale from '../core/core.scale.js';\nimport {_arrayUnique, _filterBetween, _lookup} from '../helpers/helpers.collection.js';\n\n/**\n * @typedef { import('../core/core.adapters.js').TimeUnit } Unit\n * @typedef {{common: boolean, size: number, steps?: number}} Interval\n * @typedef { import('../core/core.adapters.js').DateAdapter } DateAdapter\n */\n\n/**\n * @type {Object}\n */\nconst INTERVALS = {\n millisecond: {common: true, size: 1, steps: 1000},\n second: {common: true, size: 1000, steps: 60},\n minute: {common: true, size: 60000, steps: 60},\n hour: {common: true, size: 3600000, steps: 24},\n day: {common: true, size: 86400000, steps: 30},\n week: {common: false, size: 604800000, steps: 4},\n month: {common: true, size: 2.628e9, steps: 12},\n quarter: {common: false, size: 7.884e9, steps: 4},\n year: {common: true, size: 3.154e10}\n};\n\n/**\n * @type {Unit[]}\n */\nconst UNITS = /** @type Unit[] */ /* #__PURE__ */ (Object.keys(INTERVALS));\n\n/**\n * @param {number} a\n * @param {number} b\n */\nfunction sorter(a, b) {\n return a - b;\n}\n\n/**\n * @param {TimeScale} scale\n * @param {*} input\n * @return {number}\n */\nfunction parse(scale, input) {\n if (isNullOrUndef(input)) {\n return null;\n }\n\n const adapter = scale._adapter;\n const {parser, round, isoWeekday} = scale._parseOpts;\n let value = input;\n\n if (typeof parser === 'function') {\n value = parser(value);\n }\n\n // Only parse if it's not a timestamp already\n if (!isFinite(value)) {\n value = typeof parser === 'string'\n ? adapter.parse(value, parser)\n : adapter.parse(value);\n }\n\n if (value === null) {\n return null;\n }\n\n if (round) {\n value = round === 'week' && (isNumber(isoWeekday) || isoWeekday === true)\n ? adapter.startOf(value, 'isoWeek', isoWeekday)\n : adapter.startOf(value, round);\n }\n\n return +value;\n}\n\n/**\n * Figures out what unit results in an appropriate number of auto-generated ticks\n * @param {Unit} minUnit\n * @param {number} min\n * @param {number} max\n * @param {number} capacity\n * @return {object}\n */\nfunction determineUnitForAutoTicks(minUnit, min, max, capacity) {\n const ilen = UNITS.length;\n\n for (let i = UNITS.indexOf(minUnit); i < ilen - 1; ++i) {\n const interval = INTERVALS[UNITS[i]];\n const factor = interval.steps ? interval.steps : Number.MAX_SAFE_INTEGER;\n\n if (interval.common && Math.ceil((max - min) / (factor * interval.size)) <= capacity) {\n return UNITS[i];\n }\n }\n\n return UNITS[ilen - 1];\n}\n\n/**\n * Figures out what unit to format a set of ticks with\n * @param {TimeScale} scale\n * @param {number} numTicks\n * @param {Unit} minUnit\n * @param {number} min\n * @param {number} max\n * @return {Unit}\n */\nfunction determineUnitForFormatting(scale, numTicks, minUnit, min, max) {\n for (let i = UNITS.length - 1; i >= UNITS.indexOf(minUnit); i--) {\n const unit = UNITS[i];\n if (INTERVALS[unit].common && scale._adapter.diff(max, min, unit) >= numTicks - 1) {\n return unit;\n }\n }\n\n return UNITS[minUnit ? UNITS.indexOf(minUnit) : 0];\n}\n\n/**\n * @param {Unit} unit\n * @return {object}\n */\nfunction determineMajorUnit(unit) {\n for (let i = UNITS.indexOf(unit) + 1, ilen = UNITS.length; i < ilen; ++i) {\n if (INTERVALS[UNITS[i]].common) {\n return UNITS[i];\n }\n }\n}\n\n/**\n * @param {object} ticks\n * @param {number} time\n * @param {number[]} [timestamps] - if defined, snap to these timestamps\n */\nfunction addTick(ticks, time, timestamps) {\n if (!timestamps) {\n ticks[time] = true;\n } else if (timestamps.length) {\n const {lo, hi} = _lookup(timestamps, time);\n const timestamp = timestamps[lo] >= time ? timestamps[lo] : timestamps[hi];\n ticks[timestamp] = true;\n }\n}\n\n/**\n * @param {TimeScale} scale\n * @param {object[]} ticks\n * @param {object} map\n * @param {Unit} majorUnit\n * @return {object[]}\n */\nfunction setMajorTicks(scale, ticks, map, majorUnit) {\n const adapter = scale._adapter;\n const first = +adapter.startOf(ticks[0].value, majorUnit);\n const last = ticks[ticks.length - 1].value;\n let major, index;\n\n for (major = first; major <= last; major = +adapter.add(major, 1, majorUnit)) {\n index = map[major];\n if (index >= 0) {\n ticks[index].major = true;\n }\n }\n return ticks;\n}\n\n/**\n * @param {TimeScale} scale\n * @param {number[]} values\n * @param {Unit|undefined} [majorUnit]\n * @return {object[]}\n */\nfunction ticksFromTimestamps(scale, values, majorUnit) {\n const ticks = [];\n /** @type {Object} */\n const map = {};\n const ilen = values.length;\n let i, value;\n\n for (i = 0; i < ilen; ++i) {\n value = values[i];\n map[value] = i;\n\n ticks.push({\n value,\n major: false\n });\n }\n\n // We set the major ticks separately from the above loop because calling startOf for every tick\n // is expensive when there is a large number of ticks\n return (ilen === 0 || !majorUnit) ? ticks : setMajorTicks(scale, ticks, map, majorUnit);\n}\n\nexport default class TimeScale extends Scale {\n\n static id = 'time';\n\n /**\n * @type {any}\n */\n static defaults = {\n /**\n * Scale boundary strategy (bypassed by min/max time options)\n * - `data`: make sure data are fully visible, ticks outside are removed\n * - `ticks`: make sure ticks are fully visible, data outside are truncated\n * @see https://github.com/chartjs/Chart.js/pull/4556\n * @since 2.7.0\n */\n bounds: 'data',\n\n adapters: {},\n time: {\n parser: false, // false == a pattern string from or a custom callback that converts its argument to a timestamp\n unit: false, // false == automatic or override with week, month, year, etc.\n round: false, // none, or override with week, month, year, etc.\n isoWeekday: false, // override week start day\n minUnit: 'millisecond',\n displayFormats: {}\n },\n ticks: {\n /**\n * Ticks generation input values:\n * - 'auto': generates \"optimal\" ticks based on scale size and time options.\n * - 'data': generates ticks from data (including labels from data {t|x|y} objects).\n * - 'labels': generates ticks from user given `data.labels` values ONLY.\n * @see https://github.com/chartjs/Chart.js/pull/4507\n * @since 2.7.0\n */\n source: 'auto',\n\n callback: false,\n\n major: {\n enabled: false\n }\n }\n };\n\n /**\n\t * @param {object} props\n\t */\n constructor(props) {\n super(props);\n\n /** @type {{data: number[], labels: number[], all: number[]}} */\n this._cache = {\n data: [],\n labels: [],\n all: []\n };\n\n /** @type {Unit} */\n this._unit = 'day';\n /** @type {Unit=} */\n this._majorUnit = undefined;\n this._offsets = {};\n this._normalized = false;\n this._parseOpts = undefined;\n }\n\n init(scaleOpts, opts = {}) {\n const time = scaleOpts.time || (scaleOpts.time = {});\n /** @type {DateAdapter} */\n const adapter = this._adapter = new adapters._date(scaleOpts.adapters.date);\n\n adapter.init(opts);\n\n // Backward compatibility: before introducing adapter, `displayFormats` was\n // supposed to contain *all* unit/string pairs but this can't be resolved\n // when loading the scale (adapters are loaded afterward), so let's populate\n // missing formats on update\n mergeIf(time.displayFormats, adapter.formats());\n\n this._parseOpts = {\n parser: time.parser,\n round: time.round,\n isoWeekday: time.isoWeekday\n };\n\n super.init(scaleOpts);\n\n this._normalized = opts.normalized;\n }\n\n /**\n\t * @param {*} raw\n\t * @param {number?} [index]\n\t * @return {number}\n\t */\n parse(raw, index) { // eslint-disable-line no-unused-vars\n if (raw === undefined) {\n return null;\n }\n return parse(this, raw);\n }\n\n beforeLayout() {\n super.beforeLayout();\n this._cache = {\n data: [],\n labels: [],\n all: []\n };\n }\n\n determineDataLimits() {\n const options = this.options;\n const adapter = this._adapter;\n const unit = options.time.unit || 'day';\n // eslint-disable-next-line prefer-const\n let {min, max, minDefined, maxDefined} = this.getUserBounds();\n\n /**\n\t\t * @param {object} bounds\n\t\t */\n function _applyBounds(bounds) {\n if (!minDefined && !isNaN(bounds.min)) {\n min = Math.min(min, bounds.min);\n }\n if (!maxDefined && !isNaN(bounds.max)) {\n max = Math.max(max, bounds.max);\n }\n }\n\n // If we have user provided `min` and `max` labels / data bounds can be ignored\n if (!minDefined || !maxDefined) {\n // Labels are always considered, when user did not force bounds\n _applyBounds(this._getLabelBounds());\n\n // If `bounds` is `'ticks'` and `ticks.source` is `'labels'`,\n // data bounds are ignored (and don't need to be determined)\n if (options.bounds !== 'ticks' || options.ticks.source !== 'labels') {\n _applyBounds(this.getMinMax(false));\n }\n }\n\n min = isFinite(min) && !isNaN(min) ? min : +adapter.startOf(Date.now(), unit);\n max = isFinite(max) && !isNaN(max) ? max : +adapter.endOf(Date.now(), unit) + 1;\n\n // Make sure that max is strictly higher than min (required by the timeseries lookup table)\n this.min = Math.min(min, max - 1);\n this.max = Math.max(min + 1, max);\n }\n\n /**\n\t * @private\n\t */\n _getLabelBounds() {\n const arr = this.getLabelTimestamps();\n let min = Number.POSITIVE_INFINITY;\n let max = Number.NEGATIVE_INFINITY;\n\n if (arr.length) {\n min = arr[0];\n max = arr[arr.length - 1];\n }\n return {min, max};\n }\n\n /**\n\t * @return {object[]}\n\t */\n buildTicks() {\n const options = this.options;\n const timeOpts = options.time;\n const tickOpts = options.ticks;\n const timestamps = tickOpts.source === 'labels' ? this.getLabelTimestamps() : this._generate();\n\n if (options.bounds === 'ticks' && timestamps.length) {\n this.min = this._userMin || timestamps[0];\n this.max = this._userMax || timestamps[timestamps.length - 1];\n }\n\n const min = this.min;\n const max = this.max;\n\n const ticks = _filterBetween(timestamps, min, max);\n\n // PRIVATE\n // determineUnitForFormatting relies on the number of ticks so we don't use it when\n // autoSkip is enabled because we don't yet know what the final number of ticks will be\n this._unit = timeOpts.unit || (tickOpts.autoSkip\n ? determineUnitForAutoTicks(timeOpts.minUnit, this.min, this.max, this._getLabelCapacity(min))\n : determineUnitForFormatting(this, ticks.length, timeOpts.minUnit, this.min, this.max));\n this._majorUnit = !tickOpts.major.enabled || this._unit === 'year' ? undefined\n : determineMajorUnit(this._unit);\n this.initOffsets(timestamps);\n\n if (options.reverse) {\n ticks.reverse();\n }\n\n return ticksFromTimestamps(this, ticks, this._majorUnit);\n }\n\n afterAutoSkip() {\n // Offsets for bar charts need to be handled with the auto skipped\n // ticks. Once ticks have been skipped, we re-compute the offsets.\n if (this.options.offsetAfterAutoskip) {\n this.initOffsets(this.ticks.map(tick => +tick.value));\n }\n }\n\n /**\n\t * Returns the start and end offsets from edges in the form of {start, end}\n\t * where each value is a relative width to the scale and ranges between 0 and 1.\n\t * They add extra margins on the both sides by scaling down the original scale.\n\t * Offsets are added when the `offset` option is true.\n\t * @param {number[]} timestamps\n\t * @protected\n\t */\n initOffsets(timestamps = []) {\n let start = 0;\n let end = 0;\n let first, last;\n\n if (this.options.offset && timestamps.length) {\n first = this.getDecimalForValue(timestamps[0]);\n if (timestamps.length === 1) {\n start = 1 - first;\n } else {\n start = (this.getDecimalForValue(timestamps[1]) - first) / 2;\n }\n last = this.getDecimalForValue(timestamps[timestamps.length - 1]);\n if (timestamps.length === 1) {\n end = last;\n } else {\n end = (last - this.getDecimalForValue(timestamps[timestamps.length - 2])) / 2;\n }\n }\n const limit = timestamps.length < 3 ? 0.5 : 0.25;\n start = _limitValue(start, 0, limit);\n end = _limitValue(end, 0, limit);\n\n this._offsets = {start, end, factor: 1 / (start + 1 + end)};\n }\n\n /**\n\t * Generates a maximum of `capacity` timestamps between min and max, rounded to the\n\t * `minor` unit using the given scale time `options`.\n\t * Important: this method can return ticks outside the min and max range, it's the\n\t * responsibility of the calling code to clamp values if needed.\n\t * @protected\n\t */\n _generate() {\n const adapter = this._adapter;\n const min = this.min;\n const max = this.max;\n const options = this.options;\n const timeOpts = options.time;\n // @ts-ignore\n const minor = timeOpts.unit || determineUnitForAutoTicks(timeOpts.minUnit, min, max, this._getLabelCapacity(min));\n const stepSize = valueOrDefault(options.ticks.stepSize, 1);\n const weekday = minor === 'week' ? timeOpts.isoWeekday : false;\n const hasWeekday = isNumber(weekday) || weekday === true;\n const ticks = {};\n let first = min;\n let time, count;\n\n // For 'week' unit, handle the first day of week option\n if (hasWeekday) {\n first = +adapter.startOf(first, 'isoWeek', weekday);\n }\n\n // Align first ticks on unit\n first = +adapter.startOf(first, hasWeekday ? 'day' : minor);\n\n // Prevent browser from freezing in case user options request millions of milliseconds\n if (adapter.diff(max, min, minor) > 100000 * stepSize) {\n throw new Error(min + ' and ' + max + ' are too far apart with stepSize of ' + stepSize + ' ' + minor);\n }\n\n const timestamps = options.ticks.source === 'data' && this.getDataTimestamps();\n for (time = first, count = 0; time < max; time = +adapter.add(time, stepSize, minor), count++) {\n addTick(ticks, time, timestamps);\n }\n\n if (time === max || options.bounds === 'ticks' || count === 1) {\n addTick(ticks, time, timestamps);\n }\n\n // @ts-ignore\n return Object.keys(ticks).sort(sorter).map(x => +x);\n }\n\n /**\n\t * @param {number} value\n\t * @return {string}\n\t */\n getLabelForValue(value) {\n const adapter = this._adapter;\n const timeOpts = this.options.time;\n\n if (timeOpts.tooltipFormat) {\n return adapter.format(value, timeOpts.tooltipFormat);\n }\n return adapter.format(value, timeOpts.displayFormats.datetime);\n }\n\n /**\n\t * @param {number} value\n\t * @param {string|undefined} format\n\t * @return {string}\n\t */\n format(value, format) {\n const options = this.options;\n const formats = options.time.displayFormats;\n const unit = this._unit;\n const fmt = format || formats[unit];\n return this._adapter.format(value, fmt);\n }\n\n /**\n\t * Function to format an individual tick mark\n\t * @param {number} time\n\t * @param {number} index\n\t * @param {object[]} ticks\n\t * @param {string|undefined} [format]\n\t * @return {string}\n\t * @private\n\t */\n _tickFormatFunction(time, index, ticks, format) {\n const options = this.options;\n const formatter = options.ticks.callback;\n\n if (formatter) {\n return call(formatter, [time, index, ticks], this);\n }\n\n const formats = options.time.displayFormats;\n const unit = this._unit;\n const majorUnit = this._majorUnit;\n const minorFormat = unit && formats[unit];\n const majorFormat = majorUnit && formats[majorUnit];\n const tick = ticks[index];\n const major = majorUnit && majorFormat && tick && tick.major;\n\n return this._adapter.format(time, format || (major ? majorFormat : minorFormat));\n }\n\n /**\n\t * @param {object[]} ticks\n\t */\n generateTickLabels(ticks) {\n let i, ilen, tick;\n\n for (i = 0, ilen = ticks.length; i < ilen; ++i) {\n tick = ticks[i];\n tick.label = this._tickFormatFunction(tick.value, i, ticks);\n }\n }\n\n /**\n\t * @param {number} value - Milliseconds since epoch (1 January 1970 00:00:00 UTC)\n\t * @return {number}\n\t */\n getDecimalForValue(value) {\n return value === null ? NaN : (value - this.min) / (this.max - this.min);\n }\n\n /**\n\t * @param {number} value - Milliseconds since epoch (1 January 1970 00:00:00 UTC)\n\t * @return {number}\n\t */\n getPixelForValue(value) {\n const offsets = this._offsets;\n const pos = this.getDecimalForValue(value);\n return this.getPixelForDecimal((offsets.start + pos) * offsets.factor);\n }\n\n /**\n\t * @param {number} pixel\n\t * @return {number}\n\t */\n getValueForPixel(pixel) {\n const offsets = this._offsets;\n const pos = this.getDecimalForPixel(pixel) / offsets.factor - offsets.end;\n return this.min + pos * (this.max - this.min);\n }\n\n /**\n\t * @param {string} label\n\t * @return {{w:number, h:number}}\n\t * @private\n\t */\n _getLabelSize(label) {\n const ticksOpts = this.options.ticks;\n const tickLabelWidth = this.ctx.measureText(label).width;\n const angle = toRadians(this.isHorizontal() ? ticksOpts.maxRotation : ticksOpts.minRotation);\n const cosRotation = Math.cos(angle);\n const sinRotation = Math.sin(angle);\n const tickFontSize = this._resolveTickFontOptions(0).size;\n\n return {\n w: (tickLabelWidth * cosRotation) + (tickFontSize * sinRotation),\n h: (tickLabelWidth * sinRotation) + (tickFontSize * cosRotation)\n };\n }\n\n /**\n\t * @param {number} exampleTime\n\t * @return {number}\n\t * @private\n\t */\n _getLabelCapacity(exampleTime) {\n const timeOpts = this.options.time;\n const displayFormats = timeOpts.displayFormats;\n\n // pick the longest format (milliseconds) for guesstimation\n const format = displayFormats[timeOpts.unit] || displayFormats.millisecond;\n const exampleLabel = this._tickFormatFunction(exampleTime, 0, ticksFromTimestamps(this, [exampleTime], this._majorUnit), format);\n const size = this._getLabelSize(exampleLabel);\n // subtract 1 - if offset then there's one less label than tick\n // if not offset then one half label padding is added to each end leaving room for one less label\n const capacity = Math.floor(this.isHorizontal() ? this.width / size.w : this.height / size.h) - 1;\n return capacity > 0 ? capacity : 1;\n }\n\n /**\n\t * @protected\n\t */\n getDataTimestamps() {\n let timestamps = this._cache.data || [];\n let i, ilen;\n\n if (timestamps.length) {\n return timestamps;\n }\n\n const metas = this.getMatchingVisibleMetas();\n\n if (this._normalized && metas.length) {\n return (this._cache.data = metas[0].controller.getAllParsedValues(this));\n }\n\n for (i = 0, ilen = metas.length; i < ilen; ++i) {\n timestamps = timestamps.concat(metas[i].controller.getAllParsedValues(this));\n }\n\n return (this._cache.data = this.normalize(timestamps));\n }\n\n /**\n\t * @protected\n\t */\n getLabelTimestamps() {\n const timestamps = this._cache.labels || [];\n let i, ilen;\n\n if (timestamps.length) {\n return timestamps;\n }\n\n const labels = this.getLabels();\n for (i = 0, ilen = labels.length; i < ilen; ++i) {\n timestamps.push(parse(this, labels[i]));\n }\n\n return (this._cache.labels = this._normalized ? timestamps : this.normalize(timestamps));\n }\n\n /**\n\t * @param {number[]} values\n\t * @protected\n\t */\n normalize(values) {\n // It seems to be somewhat faster to do sorting first\n return _arrayUnique(values.sort(sorter));\n }\n}\n","import TimeScale from './scale.time.js';\nimport {_lookupByKey} from '../helpers/helpers.collection.js';\n\n/**\n * Linearly interpolates the given source `val` using the table. If value is out of bounds, values\n * at edges are used for the interpolation.\n * @param {object} table\n * @param {number} val\n * @param {boolean} [reverse] lookup time based on position instead of vice versa\n * @return {object}\n */\nfunction interpolate(table, val, reverse) {\n let lo = 0;\n let hi = table.length - 1;\n let prevSource, nextSource, prevTarget, nextTarget;\n if (reverse) {\n if (val >= table[lo].pos && val <= table[hi].pos) {\n ({lo, hi} = _lookupByKey(table, 'pos', val));\n }\n ({pos: prevSource, time: prevTarget} = table[lo]);\n ({pos: nextSource, time: nextTarget} = table[hi]);\n } else {\n if (val >= table[lo].time && val <= table[hi].time) {\n ({lo, hi} = _lookupByKey(table, 'time', val));\n }\n ({time: prevSource, pos: prevTarget} = table[lo]);\n ({time: nextSource, pos: nextTarget} = table[hi]);\n }\n\n const span = nextSource - prevSource;\n return span ? prevTarget + (nextTarget - prevTarget) * (val - prevSource) / span : prevTarget;\n}\n\nclass TimeSeriesScale extends TimeScale {\n\n static id = 'timeseries';\n\n /**\n * @type {any}\n */\n static defaults = TimeScale.defaults;\n\n /**\n\t * @param {object} props\n\t */\n constructor(props) {\n super(props);\n\n /** @type {object[]} */\n this._table = [];\n /** @type {number} */\n this._minPos = undefined;\n /** @type {number} */\n this._tableRange = undefined;\n }\n\n /**\n\t * @protected\n\t */\n initOffsets() {\n const timestamps = this._getTimestampsForTable();\n const table = this._table = this.buildLookupTable(timestamps);\n this._minPos = interpolate(table, this.min);\n this._tableRange = interpolate(table, this.max) - this._minPos;\n super.initOffsets(timestamps);\n }\n\n /**\n\t * Returns an array of {time, pos} objects used to interpolate a specific `time` or position\n\t * (`pos`) on the scale, by searching entries before and after the requested value. `pos` is\n\t * a decimal between 0 and 1: 0 being the start of the scale (left or top) and 1 the other\n\t * extremity (left + width or top + height). Note that it would be more optimized to directly\n\t * store pre-computed pixels, but the scale dimensions are not guaranteed at the time we need\n\t * to create the lookup table. The table ALWAYS contains at least two items: min and max.\n\t * @param {number[]} timestamps\n\t * @return {object[]}\n\t * @protected\n\t */\n buildLookupTable(timestamps) {\n const {min, max} = this;\n const items = [];\n const table = [];\n let i, ilen, prev, curr, next;\n\n for (i = 0, ilen = timestamps.length; i < ilen; ++i) {\n curr = timestamps[i];\n if (curr >= min && curr <= max) {\n items.push(curr);\n }\n }\n\n if (items.length < 2) {\n // In case there is less that 2 timestamps between min and max, the scale is defined by min and max\n return [\n {time: min, pos: 0},\n {time: max, pos: 1}\n ];\n }\n\n for (i = 0, ilen = items.length; i < ilen; ++i) {\n next = items[i + 1];\n prev = items[i - 1];\n curr = items[i];\n\n // only add points that breaks the scale linearity\n if (Math.round((next + prev) / 2) !== curr) {\n table.push({time: curr, pos: i / (ilen - 1)});\n }\n }\n return table;\n }\n\n /**\n * Generates all timestamps defined in the data.\n * Important: this method can return ticks outside the min and max range, it's the\n * responsibility of the calling code to clamp values if needed.\n * @protected\n */\n _generate() {\n const min = this.min;\n const max = this.max;\n let timestamps = super.getDataTimestamps();\n if (!timestamps.includes(min) || !timestamps.length) {\n timestamps.splice(0, 0, min);\n }\n if (!timestamps.includes(max) || timestamps.length === 1) {\n timestamps.push(max);\n }\n return timestamps.sort((a, b) => a - b);\n }\n\n /**\n\t * Returns all timestamps\n\t * @return {number[]}\n\t * @private\n\t */\n _getTimestampsForTable() {\n let timestamps = this._cache.all || [];\n\n if (timestamps.length) {\n return timestamps;\n }\n\n const data = this.getDataTimestamps();\n const label = this.getLabelTimestamps();\n if (data.length && label.length) {\n // If combining labels and data (data might not contain all labels),\n // we need to recheck uniqueness and sort\n timestamps = this.normalize(data.concat(label));\n } else {\n timestamps = data.length ? data : label;\n }\n timestamps = this._cache.all = timestamps;\n\n return timestamps;\n }\n\n /**\n\t * @param {number} value - Milliseconds since epoch (1 January 1970 00:00:00 UTC)\n\t * @return {number}\n\t */\n getDecimalForValue(value) {\n return (interpolate(this._table, value) - this._minPos) / this._tableRange;\n }\n\n /**\n\t * @param {number} pixel\n\t * @return {number}\n\t */\n getValueForPixel(pixel) {\n const offsets = this._offsets;\n const decimal = this.getDecimalForPixel(pixel) / offsets.factor - offsets.end;\n return interpolate(this._table, decimal * this._tableRange + this._minPos, true);\n }\n}\n\nexport default TimeSeriesScale;\n","export * from './controllers/index.js';\nexport * from './core/index.js';\nexport * from './elements/index.js';\nexport * from './platform/index.js';\nexport * from './plugins/index.js';\nexport * from './scales/index.js';\n\nimport * as controllers from './controllers/index.js';\nimport * as elements from './elements/index.js';\nimport * as plugins from './plugins/index.js';\nimport * as scales from './scales/index.js';\n\nexport {\n controllers,\n elements,\n plugins,\n scales,\n};\n\nexport const registerables = [\n controllers,\n elements,\n plugins,\n scales,\n];\n","import type { MouseEvent } from 'react';\nimport type {\n ChartType,\n ChartData,\n DefaultDataPoint,\n ChartDataset,\n ChartOptions,\n Chart,\n} from 'chart.js';\n\nimport type { ForwardedRef } from './types.js';\n\nconst defaultDatasetIdKey = 'label';\n\nexport function reforwardRef(ref: ForwardedRef, value: T) {\n if (typeof ref === 'function') {\n ref(value);\n } else if (ref) {\n ref.current = value;\n }\n}\n\nexport function setOptions<\n TType extends ChartType = ChartType,\n TData = DefaultDataPoint,\n TLabel = unknown,\n>(chart: Chart, nextOptions: ChartOptions) {\n const options = chart.options;\n\n if (options && nextOptions) {\n Object.assign(options, nextOptions);\n }\n}\n\nexport function setLabels<\n TType extends ChartType = ChartType,\n TData = DefaultDataPoint,\n TLabel = unknown,\n>(\n currentData: ChartData,\n nextLabels: TLabel[] | undefined\n) {\n currentData.labels = nextLabels;\n}\n\nexport function setDatasets<\n TType extends ChartType = ChartType,\n TData = DefaultDataPoint,\n TLabel = unknown,\n>(\n currentData: ChartData,\n nextDatasets: ChartDataset[],\n datasetIdKey = defaultDatasetIdKey\n) {\n const addedDatasets: ChartDataset[] = [];\n\n currentData.datasets = nextDatasets.map(\n (nextDataset: Record) => {\n // given the new set, find it's current match\n const currentDataset = currentData.datasets.find(\n (dataset: Record) =>\n dataset[datasetIdKey] === nextDataset[datasetIdKey]\n );\n\n // There is no original to update, so simply add new one\n if (\n !currentDataset ||\n !nextDataset.data ||\n addedDatasets.includes(currentDataset)\n ) {\n return { ...nextDataset } as ChartDataset;\n }\n\n addedDatasets.push(currentDataset);\n\n Object.assign(currentDataset, nextDataset);\n\n return currentDataset;\n }\n );\n}\n\nexport function cloneData<\n TType extends ChartType = ChartType,\n TData = DefaultDataPoint,\n TLabel = unknown,\n>(data: ChartData, datasetIdKey = defaultDatasetIdKey) {\n const nextData: ChartData = {\n labels: [],\n datasets: [],\n };\n\n setLabels(nextData, data.labels);\n setDatasets(nextData, data.datasets, datasetIdKey);\n\n return nextData;\n}\n\n/**\n * Get dataset from mouse click event\n * @param chart - Chart.js instance\n * @param event - Mouse click event\n * @returns Dataset\n */\nexport function getDatasetAtEvent(\n chart: Chart,\n event: MouseEvent\n) {\n return chart.getElementsAtEventForMode(\n event.nativeEvent,\n 'dataset',\n { intersect: true },\n false\n );\n}\n\n/**\n * Get single dataset element from mouse click event\n * @param chart - Chart.js instance\n * @param event - Mouse click event\n * @returns Dataset\n */\nexport function getElementAtEvent(\n chart: Chart,\n event: MouseEvent\n) {\n return chart.getElementsAtEventForMode(\n event.nativeEvent,\n 'nearest',\n { intersect: true },\n false\n );\n}\n\n/**\n * Get all dataset elements from mouse click event\n * @param chart - Chart.js instance\n * @param event - Mouse click event\n * @returns Dataset\n */\nexport function getElementsAtEvent(\n chart: Chart,\n event: MouseEvent\n) {\n return chart.getElementsAtEventForMode(\n event.nativeEvent,\n 'index',\n { intersect: true },\n false\n );\n}\n","import React, { useEffect, useRef, forwardRef } from 'react';\nimport { Chart as ChartJS } from 'chart.js';\nimport type { ChartType, DefaultDataPoint } from 'chart.js';\n\nimport type { ForwardedRef, ChartProps, BaseChartComponent } from './types.js';\nimport {\n reforwardRef,\n cloneData,\n setOptions,\n setLabels,\n setDatasets,\n} from './utils.js';\n\nfunction ChartComponent<\n TType extends ChartType = ChartType,\n TData = DefaultDataPoint,\n TLabel = unknown,\n>(\n props: ChartProps,\n ref: ForwardedRef>\n) {\n const {\n height = 150,\n width = 300,\n redraw = false,\n datasetIdKey,\n type,\n data,\n options,\n plugins = [],\n fallbackContent,\n updateMode,\n ...canvasProps\n } = props;\n const canvasRef = useRef(null);\n const chartRef = useRef | null>(null);\n\n const renderChart = () => {\n if (!canvasRef.current) return;\n\n chartRef.current = new ChartJS(canvasRef.current, {\n type,\n data: cloneData(data, datasetIdKey),\n options: options && { ...options },\n plugins,\n });\n\n reforwardRef(ref, chartRef.current);\n };\n\n const destroyChart = () => {\n reforwardRef(ref, null);\n\n if (chartRef.current) {\n chartRef.current.destroy();\n chartRef.current = null;\n }\n };\n\n useEffect(() => {\n if (!redraw && chartRef.current && options) {\n setOptions(chartRef.current, options);\n }\n }, [redraw, options]);\n\n useEffect(() => {\n if (!redraw && chartRef.current) {\n setLabels(chartRef.current.config.data, data.labels);\n }\n }, [redraw, data.labels]);\n\n useEffect(() => {\n if (!redraw && chartRef.current && data.datasets) {\n setDatasets(chartRef.current.config.data, data.datasets, datasetIdKey);\n }\n }, [redraw, data.datasets]);\n\n useEffect(() => {\n if (!chartRef.current) return;\n\n if (redraw) {\n destroyChart();\n setTimeout(renderChart);\n } else {\n chartRef.current.update(updateMode);\n }\n }, [redraw, options, data.labels, data.datasets, updateMode]);\n\n useEffect(() => {\n if (!chartRef.current) return;\n\n destroyChart();\n setTimeout(renderChart);\n }, [type]);\n\n useEffect(() => {\n renderChart();\n\n return () => destroyChart();\n }, []);\n\n return (\n \n {fallbackContent}\n \n );\n}\n\nexport const Chart = forwardRef(ChartComponent) as BaseChartComponent;\n","import React, { forwardRef } from 'react';\nimport {\n Chart as ChartJS,\n LineController,\n BarController,\n RadarController,\n DoughnutController,\n PolarAreaController,\n BubbleController,\n PieController,\n ScatterController,\n} from 'chart.js';\nimport type { ChartType, ChartComponentLike } from 'chart.js';\n\nimport type {\n ChartProps,\n ChartJSOrUndefined,\n TypedChartComponent,\n} from './types.js';\nimport { Chart } from './chart.js';\n\nfunction createTypedChart(\n type: T,\n registerables: ChartComponentLike\n) {\n ChartJS.register(registerables);\n\n return forwardRef, Omit, 'type'>>(\n (props, ref) => \n ) as TypedChartComponent;\n}\n\nexport const Line = /* #__PURE__ */ createTypedChart('line', LineController);\n\nexport const Bar = /* #__PURE__ */ createTypedChart('bar', BarController);\n\nexport const Radar = /* #__PURE__ */ createTypedChart('radar', RadarController);\n\nexport const Doughnut = /* #__PURE__ */ createTypedChart(\n 'doughnut',\n DoughnutController\n);\n\nexport const PolarArea = /* #__PURE__ */ createTypedChart(\n 'polarArea',\n PolarAreaController\n);\n\nexport const Bubble = /* #__PURE__ */ createTypedChart(\n 'bubble',\n BubbleController\n);\n\nexport const Pie = /* #__PURE__ */ createTypedChart('pie', PieController);\n\nexport const Scatter = /* #__PURE__ */ createTypedChart(\n 'scatter',\n ScatterController\n);\n","import {Chart, registerables} from '../dist/chart.js';\n\nChart.register(...registerables);\n\nexport * from '../dist/chart.js';\nexport default Chart;\n","import React, { useState } from 'react'\nimport { Card, Button, Spinner } from 'react-bootstrap'\nimport { Doughnut, Bar } from 'react-chartjs-2'\nimport { useAppSelector, useClassDistribution } from '../store/hooks'\nimport 'chart.js/auto'\nimport { selectSelectedProjectId } from '../store/slices/projectSlice'\nimport { selectDatasetSources } from '../store/slices/datasetSlice'\nimport { TooltipItem } from 'chart.js'\nimport { FaChartBar, FaChartPie } from 'react-icons/fa'\nimport { useFetchProjectsQuery } from '../services/projectsApi'\n\ninterface ClassDistributionCardProps {\n title?: string\n showButtons?: boolean\n useSources?: string[]\n height?: string\n datasetId?: string\n}\n\nconst ClassDistributionCard: React.FC = ({\n title = 'Class Distribution',\n showButtons = true,\n useSources,\n height = '600px',\n datasetId,\n}) => {\n const selectedProjectId = useAppSelector(selectSelectedProjectId)\n const datasetSources = useAppSelector(selectDatasetSources)\n const [viewMode, setViewMode] = useState<'bar' | 'doughnut' | 'radar'>('bar')\n\n const { data: projectsData } = useFetchProjectsQuery({}, { skip: !selectedProjectId })\n const project = projectsData?.projects?.find((p) => p.id === selectedProjectId)\n\n const effectiveDatasetId = datasetId || project?.datasetid || ''\n const effectiveSources = useSources || (datasetId ? undefined : datasetSources)\n\n const classDistribution = useClassDistribution(\n selectedProjectId || '',\n effectiveDatasetId,\n // !!datasetId,\n effectiveSources\n )\n\n // Early return with loading state if we don't have required data\n if (!selectedProjectId || (!datasetId && !project?.datasetid)) {\n return (\n \n \n

{title}
\n \n \n \n Loading...\n \n \n \n )\n }\n\n // Only calculate these if we have data\n const maxValue = classDistribution.length > 0 ? Math.max(...classDistribution.map((item) => item.value)) : 0\n const maxRange = Math.ceil(maxValue / 100) * 100 + 100\n\n const doughnutData = {\n labels: classDistribution.map((item) => item.name),\n datasets: [\n {\n data: classDistribution.map((item) => item.value),\n backgroundColor: classDistribution.map((item) => item.color),\n },\n ],\n }\n\n const barData = {\n labels: classDistribution.map((item) => item.name),\n datasets: [\n {\n label: '',\n data: classDistribution.map((item) => item.value),\n backgroundColor: classDistribution.map((item) => item.color),\n barThickness: 20,\n maxBarThickness: 20,\n minBarLength: 2,\n },\n ],\n }\n\n const chartOptions = {\n maintainAspectRatio: false,\n responsive: true,\n scales: {\n x: {\n beginAtZero: true,\n barPercentage: 0.9,\n categoryPercentage: 0.9,\n grid: {\n display: false,\n },\n ticks: {\n color: '#fff',\n autoSkip: false,\n maxRotation: 45,\n minRotation: 45,\n padding: 12,\n font: {\n size: 14,\n },\n },\n },\n y: {\n beginAtZero: true,\n max: maxRange,\n ticks: {\n color: '#fff',\n font: {\n size: 14,\n },\n },\n },\n },\n layout: {\n padding: {\n left: 24,\n right: 24,\n top: 24,\n bottom: 0,\n },\n },\n plugins: {\n legend: {\n display: viewMode !== 'bar',\n labels: {\n color: '#fff',\n font: {\n size: 16,\n },\n },\n },\n tooltip: {\n callbacks: {\n label: function (context: TooltipItem) {\n const label = context.label\n const value = context.raw\n return `${label}: ${value}`\n },\n },\n },\n },\n }\n\n return (\n \n \n
{title}
\n {showButtons && (\n
\n setViewMode('bar')}\n title=\"Bar Chart\"\n className=\"chart-type-btn\"\n >\n \n \n setViewMode('doughnut')}\n title=\"Doughnut Chart\"\n className=\"chart-type-btn\"\n >\n \n \n
\n )}\n
\n \n {viewMode === 'bar' && (\n
\n \n
\n )}\n {viewMode === 'doughnut' && (\n
\n \n
\n )}\n
\n
\n )\n}\n\nexport default ClassDistributionCard\n","// src/components/views/ProjectView.tsx\nimport React, { useState, useEffect } from 'react'\nimport { Card, Col, Row, Spinner, Button, Form } from 'react-bootstrap'\nimport {\n FaBoxes,\n FaTags,\n FaImages,\n FaDatabase,\n FaPencilAlt,\n FaRobot,\n FaCheck,\n FaRocket,\n FaTrash,\n FaClock,\n FaInfoCircle,\n FaChartBar,\n FaTachometerAlt,\n} from 'react-icons/fa'\nimport styled from 'styled-components'\nimport { useDeleteProjectMutation, useUpdateProjectMutation, useGetProjectQuery } from '../../services/projectsApi'\n\nimport { useAppSelector, useAnnotationStats } from '../../store/hooks'\nimport { selectSelectedProjectId } from '../../store/slices/projectSlice'\nimport { useNavigate } from 'react-router-dom'\nimport { useGetContentMetadataQuery } from '../../services/contentApi'\nimport { selectDatasetSources } from '../../store/slices/datasetSlice'\nimport ConfirmDialog from '../modals/ConfirmDialog'\nimport { useFetchModelsQuery } from '../../services/modelsApi'\nimport { Model as ImportedModel } from '../../types/model'\nimport { Bar } from 'react-chartjs-2'\nimport ClassDistributionCard from '../ClassDistributionCard'\nimport UploadWizard from '../wizards/UploadWizard'\n\nconst DashboardContainer = styled.div`\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background-color: #1a1a1a;\n display: flex;\n flex-direction: column;\n`\n\nconst HeaderSection = styled.div`\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n padding-top: 13vh;\n z-index: 100;\n background-color: #1a1a1a;\n\n @media (max-width: 768px) {\n padding-top: 152px;\n }\n`\n\nconst ScrollableContent = styled.div`\n flex: 1;\n overflow-y: auto;\n margin-top: 22vh;\n padding-top: 1rem;\n\n @media (max-width: 768px) {\n margin-top: 220px;\n padding-top: 70px;\n }\n`\n\nconst DashboardContent = styled.div`\n max-width: 1400px;\n margin: 0 auto;\n padding: 0 24px 24px;\n display: flex;\n flex-direction: column;\n gap: 24px;\n\n @media (max-width: 768px) {\n padding: 0 8px 16px;\n gap: 16px;\n }\n`\n\nconst HeaderCard = styled(Card)`\n border: none;\n background-color: #2d2d2d;\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);\n\n .card-body {\n background: linear-gradient(45deg, #402563, #2042ba);\n border-radius: 12px;\n padding: 1.5rem;\n }\n`\n\nconst ProjectHeader = styled.div`\n display: flex;\n flex-direction: column;\n gap: 8px;\n`\n\nconst ProjectTitle = styled.div`\n display: flex;\n align-items: center;\n gap: 12px;\n\n h1 {\n margin: 0;\n font-size: 24px;\n font-weight: 600;\n color: #ffffff;\n }\n`\n\nconst EditIcon = styled(FaPencilAlt)`\n cursor: pointer;\n color: rgba(255, 255, 255, 0.7);\n transition: color 0.2s;\n\n &:hover {\n color: #c787f6;\n }\n`\n\nconst ProjectMeta = styled.div`\n display: flex;\n align-items: center;\n gap: 8px;\n color: rgba(255, 255, 255, 0.7);\n font-size: 14px;\n`\n\nconst NameInput = styled(Form.Control)`\n max-width: 300px;\n font-size: 24px;\n font-weight: 600;\n background-color: #333333;\n border-color: #404040;\n color: #ffffff;\n\n &:focus {\n background-color: #404040;\n border-color: #0d6efd;\n color: #ffffff;\n box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25);\n }\n`\n\nconst DeleteButton: React.FC void }>> = ({ onClick, children }) => (\n \n {children}\n \n)\n\nconst StatsSection = styled.div`\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: column;\n`\n\nconst SectionTitle = styled.h2`\n display: flex;\n align-items: center;\n gap: 12px;\n margin-bottom: 20px;\n font-size: 20px;\n font-weight: 600;\n color: #ffffff;\n`\n\nconst StatCard = styled(Card)<{ $variant?: 'primary' | 'info' | 'success' | 'warning' | 'purple' }>`\n height: 100%;\n border: none;\n border-radius: 12px;\n background-color: #2d2d2d;\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);\n transition: transform 0.2s, box-shadow 0.2s;\n position: relative;\n\n .loading-overlay {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n background: rgba(45, 45, 45, 0.7);\n border-radius: 12px;\n z-index: 1;\n }\n\n &:hover {\n transform: translateY(-2px);\n box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);\n }\n\n .card-body {\n background: ${(props) => {\n switch (props.$variant) {\n case 'primary':\n return 'linear-gradient(45deg, #0d47a1, #1976d2)'\n case 'info':\n return 'linear-gradient(45deg, #006064, #00acc1)'\n case 'success':\n return 'linear-gradient(45deg, #1b5e20, #43a047)'\n case 'warning':\n return 'linear-gradient(45deg, #e65100, #fb8c00)'\n case 'purple':\n return 'linear-gradient(45deg, #402563, #2042ba)'\n default:\n return 'linear-gradient(45deg, #402563, #2042ba)'\n }\n }};\n border-radius: 12px;\n padding: 1.5rem;\n\n @media (max-width: 768px) {\n padding: 1rem;\n }\n }\n`\n\nconst StatContent = styled.div`\n display: flex;\n align-items: center;\n gap: 16px;\n\n @media (max-width: 576px) {\n gap: 12px;\n }\n`\n\nconst StatIcon = styled.div`\n display: flex;\n align-items: center;\n justify-content: center;\n width: 48px;\n height: 48px;\n border-radius: 12px;\n font-size: 24px;\n background: rgba(255, 255, 255, 0.1);\n\n @media (max-width: 576px) {\n width: 40px;\n height: 40px;\n font-size: 20px;\n }\n`\n\nconst StatInfo = styled.div`\n flex: 1;\n\n h3 {\n margin: 0;\n font-size: 24px;\n font-weight: 600;\n color: #ffffff;\n\n @media (max-width: 576px) {\n font-size: 20px;\n }\n }\n\n p {\n margin: 4px 0 0;\n color: rgba(255, 255, 255, 0.7);\n font-size: 14px;\n\n @media (max-width: 576px) {\n font-size: 12px;\n }\n }\n`\n\nconst DetailCard = styled(Card)`\n width: 100%;\n height: 100%;\n border: none;\n border-radius: 12px;\n background-color: #2d2d2d;\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);\n\n .card-body {\n padding: 1.5rem;\n height: 100%;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n\n @media (max-width: 768px) {\n padding: 1rem;\n }\n }\n`\n\nconst DetailHeader = styled.div`\n background: linear-gradient(45deg, #402563, #2042ba);\n padding: 16px 24px;\n border-radius: 12px 12px 0 0;\n display: flex;\n justify-content: space-between;\n align-items: center;\n\n @media (max-width: 768px) {\n padding: 12px 16px;\n }\n\n h3 {\n margin: 0;\n font-size: 18px;\n font-weight: 600;\n color: #ffffff;\n\n @media (max-width: 576px) {\n font-size: 16px;\n }\n }\n`\n\nconst DetailGrid = styled.div`\n display: grid;\n gap: 16px;\n padding: 16px;\n\n @media (max-width: 768px) {\n gap: 12px;\n padding: 12px;\n }\n`\n\nconst DetailItem = styled.div`\n display: grid;\n grid-template-columns: 140px 1fr;\n gap: 16px;\n align-items: baseline;\n\n @media (max-width: 576px) {\n grid-template-columns: 1fr;\n gap: 4px;\n }\n`\n\nconst DetailLabel = styled.span`\n color: #8c8c8c;\n font-size: 14px;\n font-weight: 500;\n\n @media (max-width: 576px) {\n font-size: 12px;\n }\n`\n\nconst DetailValue = styled.span`\n color: #ffffff;\n font-size: 14px;\n word-break: break-word;\n\n @media (max-width: 576px) {\n font-size: 13px;\n }\n`\n\nconst MainGrid = styled.div`\n display: grid;\n gap: 24px;\n grid-template-columns: 1fr 2fr;\n width: 100%;\n margin-bottom: 24px;\n\n @media (max-width: 1200px) {\n grid-template-columns: 1fr 1.5fr;\n }\n\n @media (max-width: 992px) {\n grid-template-columns: 1fr;\n }\n\n > div {\n display: flex;\n flex-direction: column;\n gap: 24px;\n\n @media (max-width: 768px) {\n gap: 16px;\n }\n }\n`\n\nconst FullWidthSection = styled.div`\n width: 100%;\n margin-bottom: 32px;\n\n &:last-child {\n margin-bottom: 0;\n padding-bottom: 32px;\n }\n\n @media (max-width: 768px) {\n margin-bottom: 24px;\n\n &:last-child {\n padding-bottom: 24px;\n }\n }\n`\n\nconst ChartContainer = styled.div`\n position: relative;\n width: 100%;\n flex: 1;\n min-height: 400px;\n margin-bottom: 16px;\n\n &.model-performance {\n height: 100%;\n min-height: unset;\n margin-bottom: 0;\n display: flex;\n align-items: center;\n }\n\n &.class-distribution {\n height: 100%;\n min-height: unset;\n margin-bottom: 0;\n }\n\n canvas {\n width: 100% !important;\n height: 100% !important;\n }\n\n .loading-overlay {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n background: rgba(45, 45, 45, 0.7);\n border-radius: 8px;\n }\n\n @media (max-width: 992px) {\n min-height: 350px;\n &.model-performance,\n &.class-distribution {\n height: 100%;\n }\n }\n\n @media (max-width: 768px) {\n min-height: 300px;\n &.model-performance,\n &.class-distribution {\n height: 100%;\n }\n }\n\n @media (max-width: 576px) {\n min-height: 250px;\n margin-bottom: 8px;\n &.model-performance,\n &.class-distribution {\n height: 100%;\n }\n }\n`\n\nconst DatasetSelect = styled(Form.Select)`\n background-color: rgba(255, 255, 255, 0.1);\n border: 1px solid rgba(255, 255, 255, 0.2);\n color: #ffffff;\n width: auto;\n min-width: 150px;\n margin-left: 16px;\n\n &:focus {\n background-color: rgba(255, 255, 255, 0.15);\n border-color: rgba(255, 255, 255, 0.3);\n color: #ffffff;\n box-shadow: 0 0 0 0.2rem rgba(255, 255, 255, 0.15);\n }\n\n option {\n background-color: #2d2d2d;\n color: #ffffff;\n }\n`\n\nconst HeaderControls = styled.div`\n display: flex;\n align-items: center;\n`\n\ninterface ModelMetrics {\n 'validation:mAP50-95': number\n 'validation:precision': number\n 'validation:recall': number\n [key: string]: number\n}\n\ninterface Model extends Omit {\n metrics?: ModelMetrics\n}\n\nconst ProjectOverview: React.FC = () => {\n const navigate = useNavigate()\n\n const selectedProjectId = useAppSelector(selectSelectedProjectId)\n const datasetSources = useAppSelector(selectDatasetSources)\n const { data: projectData } = useGetProjectQuery(selectedProjectId || '', { skip: !selectedProjectId })\n const { data: annoStats } = useAnnotationStats(selectedProjectId || '', projectData?.datasetid || '', datasetSources)\n\n const classWithoutUnknown = annoStats?.statistics?.annotations_per_class\n ? Object.keys(annoStats.statistics.annotations_per_class || {}).filter((key) => key !== 'Unknown' && key !== 'null')\n : []\n\n const { data: metadata } = useGetContentMetadataQuery(\n {\n project_id: selectedProjectId || '',\n },\n { skip: !selectedProjectId }\n )\n\n const [deleteProject] = useDeleteProjectMutation()\n const [updateProject] = useUpdateProjectMutation()\n\n const [projectName, setProjectName] = useState(projectData?.name || '')\n const [isEditingName, setIsEditingName] = useState(false)\n const [showConfirmDelete, setShowConfirmDelete] = useState(false)\n const [showUploadDataModal, setShowUploadDataModal] = useState(false)\n const [showUploadWizard, setShowUploadWizard] = useState(false)\n const [selectedDataset, setSelectedDataset] = useState('all')\n const [uploading, setUploading] = useState(false)\n const [hasUserDismissedUpload, setHasUserDismissedUpload] = useState(false)\n\n useEffect(() => {\n if (projectData?.name) {\n setProjectName(projectData.name)\n }\n // Only check stats if we have received them from the API and user hasn't dismissed\n if (annoStats?.statistics && !hasUserDismissedUpload) {\n const totalImages =\n (annoStats.statistics.total_annotated_images || 0) + (annoStats.statistics.total_unannotated_images || 0)\n if (totalImages === 0 && !uploading) {\n setShowUploadDataModal(true)\n }\n }\n }, [annoStats?.statistics, projectData, uploading, hasUserDismissedUpload])\n\n const handleUploadData = () => {\n setUploading(true)\n setShowUploadDataModal(false)\n setShowUploadWizard(true)\n }\n\n const handleDismissUpload = () => {\n setShowUploadDataModal(false)\n setHasUserDismissedUpload(true)\n }\n\n const navigateToDatasets = () => {\n setShowUploadWizard(false)\n // navigate('/datasets')\n }\n\n const handleNameChange = (e: React.ChangeEvent) => {\n setProjectName(e.target.value)\n }\n\n const handleNameBlur = async () => {\n if (selectedProjectId && projectName !== projectData?.name) {\n try {\n await updateProject({ id: selectedProjectId, data: { name: projectName } }).unwrap()\n } catch (err) {\n console.error('Failed to update project name:', err)\n }\n }\n setIsEditingName(false)\n }\n\n const handleDeleteProject = async () => {\n try {\n await deleteProject(selectedProjectId || '').unwrap()\n navigate('/projects')\n } catch (err) {\n console.error('Failed to delete project:', err)\n }\n }\n\n const { data: modelsData } = useFetchModelsQuery(\n { project_id: selectedProjectId || '' },\n { skip: !selectedProjectId }\n )\n\n const countTrainedAndDeployedModels = (models: ImportedModel[]): { trained: number; deployed: number } => {\n return models?.reduce(\n (acc, model) => {\n if (model.deployment?.status.toLowerCase() === 'in_service') {\n acc.deployed++\n acc.trained++\n } else if (model.state.toLowerCase() === 'trained') {\n acc.trained++\n }\n return acc\n },\n { trained: 0, deployed: 0 }\n )\n }\n\n const modelCounts = modelsData?.models\n ? countTrainedAndDeployedModels(modelsData.models)\n : { trained: 0, deployed: 0 }\n\n // Update the chart data section\n const datasetChartData = {\n labels: metadata?.metadata?.datasource || [],\n datasets: [\n {\n label: 'Images',\n data:\n metadata?.metadata?.datasource?.map((source: string) => {\n return annoStats?.statistics?.datasource_distributions?.[source]?.images || 0\n }) || [],\n backgroundColor: 'rgba(13, 202, 240, 0.7)',\n borderColor: 'rgba(13, 202, 240, 1)',\n borderWidth: 1,\n },\n {\n label: 'Annotations',\n data:\n metadata?.metadata?.datasource?.map((source: string) => {\n return annoStats?.statistics?.datasource_distributions?.[source]?.annotations || 0\n }) || [],\n backgroundColor: 'rgba(25, 135, 84, 0.7)',\n borderColor: 'rgba(25, 135, 84, 1)',\n borderWidth: 1,\n },\n ],\n }\n\n const chartOptions = {\n responsive: true,\n maintainAspectRatio: false,\n scales: {\n y: {\n beginAtZero: true,\n grid: {\n color: 'rgba(255, 255, 255, 0.1)',\n },\n ticks: {\n color: '#ffffff',\n },\n },\n x: {\n grid: {\n display: false,\n },\n ticks: {\n color: '#ffffff',\n },\n },\n },\n plugins: {\n legend: {\n labels: {\n color: '#ffffff',\n },\n },\n },\n }\n\n return (\n \n \n \n \n \n \n \n \n {isEditingName ? (\n \n ) : (\n \n

{projectData?.name}

\n setIsEditingName(true)} />\n
\n )}\n \n \n Created {new Date(projectData?.created_at || '').toLocaleString()}\n \n
\n \n \n setShowConfirmDelete(true)}>\n Delete Project\n \n \n
\n
\n
\n
\n
\n\n \n \n {/* Quick Stats Row */}\n \n \n \n \n {annoStats?.statistics?.datasource_distributions === undefined && (\n
\n \n
\n )}\n \n \n \n \n \n \n

\n {(Object.keys(annoStats?.statistics?.datasource_distributions || {}) || []).length || 0}\n

\n

Datasets

\n
\n
\n
\n
\n \n \n \n {annoStats?.statistics?.annotations_per_class === undefined && (\n
\n \n
\n )}\n \n \n \n \n \n \n

{classWithoutUnknown.length}

\n

Classes

\n
\n
\n
\n
\n \n \n \n {annoStats?.statistics?.total_unannotated_images === undefined &&\n !annoStats?.statistics?.total_annotated_images && (\n
\n \n
\n )}\n \n \n \n \n \n \n

\n {(annoStats?.statistics?.total_unannotated_images || 0) +\n (annoStats?.statistics?.total_annotated_images || 0)}\n

\n

Images

\n
\n
\n
\n
\n \n \n \n {annoStats?.statistics?.total_annotations === undefined && (\n
\n \n
\n )}\n \n \n \n \n \n \n

{annoStats?.statistics?.total_annotations || 0}

\n

Annotations

\n
\n
\n
\n
\n \n
\n
\n\n {/* Main Content Grid */}\n \n {/* Left Column - Project Info and Details */}\n
\n {/* Project Details */}\n \n \n Project Information\n \n \n \n

Project Details

\n
\n \n \n \n Project ID\n {projectData?.id}\n \n \n Description\n {projectData?.description || 'No description available'}\n \n \n Annotation Type\n {projectData?.annotation_type?.replace('_', ' ')}\n \n \n Total Items\n {projectData?.count}\n \n \n Last Updated\n {new Date(projectData?.updated_at || '').toLocaleString()}\n \n \n \n
\n
\n
\n\n {/* Right Column - Analytics */}\n
\n {/* Dataset Analytics */}\n \n \n Dataset Analytics\n \n \n \n

Images & Annotations by Dataset

\n
\n \n \n {metadata?.metadata === undefined || annoStats?.statistics === undefined ? (\n
\n \n
\n ) : (\n \n )}\n
\n
\n
\n
\n
\n
\n\n {/* Class Distribution */}\n \n \n Class Distribution\n \n \n \n

Distribution of Classes

\n \n setSelectedDataset(e.target.value)} size=\"sm\">\n \n {metadata?.metadata?.datasource?.map((source: string) => (\n \n ))}\n \n \n
\n \n \n {metadata?.metadata === undefined || annoStats?.statistics === undefined ? (\n
\n \n
\n ) : (\n \n )}\n
\n
\n
\n
\n\n {/* Model Statistics and Performance Section */}\n {modelsData?.models && modelsData.models.length > 0 && (\n \n {/* Model Stats Column */}\n \n \n \n Model Statistics\n \n \n \n \n \n \n \n \n \n \n

{modelsData?.models?.length || 0}

\n

Total Models

\n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n

{modelCounts.trained}

\n

Trained

\n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n

{modelCounts.deployed}

\n

Deployed

\n
\n
\n
\n
\n \n
\n
\n \n\n {/* Model Performance Column */}\n \n \n \n Model Performance Comparison\n \n \n \n

Model Metrics

\n
\n \n \n {modelsData?.models === undefined ? (\n
\n \n
\n ) : (\n model.state.toLowerCase() === 'trained')\n .map((model: ImportedModel) => model.name),\n datasets: [\n {\n label: 'mAP50-95',\n data: modelsData.models\n .filter((model: ImportedModel) => model.state.toLowerCase() === 'trained')\n .map((model: ImportedModel) => {\n const m = model as unknown as Model\n return Number(m.metrics?.['validation:mAP50-95'] || 0) * 100\n }),\n backgroundColor: 'rgba(13, 202, 240, 0.7)',\n borderColor: 'rgba(13, 202, 240, 1)',\n borderWidth: 1,\n },\n {\n label: 'Precision',\n data: modelsData.models\n .filter((model: ImportedModel) => model.state.toLowerCase() === 'trained')\n .map((model: ImportedModel) => {\n const m = model as unknown as Model\n return Number(m.metrics?.['validation:precision'] || 0) * 100\n }),\n backgroundColor: 'rgba(25, 135, 84, 0.7)',\n borderColor: 'rgba(25, 135, 84, 1)',\n borderWidth: 1,\n },\n {\n label: 'Recall',\n data: modelsData.models\n .filter((model: ImportedModel) => model.state.toLowerCase() === 'trained')\n .map((model: ImportedModel) => {\n const m = model as unknown as Model\n return Number(m.metrics?.['validation:recall'] || 0) * 100\n }),\n backgroundColor: 'rgba(220, 53, 69, 0.7)',\n borderColor: 'rgba(220, 53, 69, 1)',\n borderWidth: 1,\n },\n ],\n }}\n options={{\n responsive: true,\n maintainAspectRatio: false,\n scales: {\n y: {\n beginAtZero: true,\n max: 100,\n grid: {\n color: 'rgba(255, 255, 255, 0.1)',\n },\n ticks: {\n color: '#ffffff',\n callback: (value) => `${value}%`,\n },\n },\n x: {\n grid: {\n display: false,\n },\n ticks: {\n color: '#ffffff',\n },\n },\n },\n plugins: {\n legend: {\n labels: {\n color: '#ffffff',\n },\n },\n tooltip: {\n callbacks: {\n label: (context) => `${context.dataset.label}: ${context.parsed.y.toFixed(1)}%`,\n },\n },\n },\n }}\n />\n )}\n
\n
\n
\n
\n \n
\n )}\n\n {/* Dialogs */}\n setShowConfirmDelete(false)}\n onConfirm={handleDeleteProject}\n title=\"Delete Project\"\n message=\"Are you sure you want to delete this project? This action cannot be undone.\"\n confirmText=\"Delete\"\n cancelText=\"Cancel\"\n variant=\"danger\"\n />\n \n
\n
\n\n \n
\n )\n}\n\nexport default ProjectOverview\n","\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst InputGroupText = /*#__PURE__*/React.forwardRef(({\n className,\n bsPrefix,\n as: Component = 'span',\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'input-group-text');\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n className: classNames(className, bsPrefix),\n ...props\n });\n});\nInputGroupText.displayName = 'InputGroupText';\nexport default InputGroupText;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useMemo } from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport FormCheckInput from './FormCheckInput';\nimport InputGroupContext from './InputGroupContext';\nimport InputGroupText from './InputGroupText';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst InputGroupCheckbox = props => /*#__PURE__*/_jsx(InputGroupText, {\n children: /*#__PURE__*/_jsx(FormCheckInput, {\n type: \"checkbox\",\n ...props\n })\n});\nconst InputGroupRadio = props => /*#__PURE__*/_jsx(InputGroupText, {\n children: /*#__PURE__*/_jsx(FormCheckInput, {\n type: \"radio\",\n ...props\n })\n});\nconst InputGroup = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n size,\n hasValidation,\n className,\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = 'div',\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'input-group');\n\n // Intentionally an empty object. Used in detecting if a dropdown\n // exists under an input group.\n const contextValue = useMemo(() => ({}), []);\n return /*#__PURE__*/_jsx(InputGroupContext.Provider, {\n value: contextValue,\n children: /*#__PURE__*/_jsx(Component, {\n ref: ref,\n ...props,\n className: classNames(className, bsPrefix, size && `${bsPrefix}-${size}`, hasValidation && 'has-validation')\n })\n });\n});\nInputGroup.displayName = 'InputGroup';\nexport default Object.assign(InputGroup, {\n Text: InputGroupText,\n Radio: InputGroupRadio,\n Checkbox: InputGroupCheckbox\n});","import PropTypes from 'prop-types';\nconst alignDirection = PropTypes.oneOf(['start', 'end']);\nexport const alignPropType = PropTypes.oneOfType([alignDirection, PropTypes.shape({\n sm: alignDirection\n}), PropTypes.shape({\n md: alignDirection\n}), PropTypes.shape({\n lg: alignDirection\n}), PropTypes.shape({\n xl: alignDirection\n}), PropTypes.shape({\n xxl: alignDirection\n}), PropTypes.object]);","import * as React from 'react';\nimport PropTypes from 'prop-types';\nimport Dropdown from './Dropdown';\nimport DropdownToggle from './DropdownToggle';\nimport DropdownMenu from './DropdownMenu';\nimport { alignPropType } from './types';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst propTypes = {\n /**\n * An html id attribute for the Toggle button, necessary for assistive technologies, such as screen readers.\n * @type {string}\n */\n id: PropTypes.string,\n /** An `href` passed to the Toggle component */\n href: PropTypes.string,\n /** An `onClick` handler passed to the Toggle component */\n onClick: PropTypes.func,\n /** The content of the non-toggle Button. */\n title: PropTypes.node.isRequired,\n /** Disables both Buttons */\n disabled: PropTypes.bool,\n /**\n * Aligns the dropdown menu.\n *\n * _see [DropdownMenu](#dropdown-menu-props) for more details_\n *\n * @type {\"start\"|\"end\"|{ sm: \"start\"|\"end\" }|{ md: \"start\"|\"end\" }|{ lg: \"start\"|\"end\" }|{ xl: \"start\"|\"end\"}|{ xxl: \"start\"|\"end\"} }\n */\n align: alignPropType,\n /** An ARIA accessible role applied to the Menu component. When set to 'menu', The dropdown */\n menuRole: PropTypes.string,\n /** Whether to render the dropdown menu in the DOM before the first time it is shown */\n renderMenuOnMount: PropTypes.bool,\n /**\n * Which event when fired outside the component will cause it to be closed.\n *\n * _see [DropdownMenu](#dropdown-menu-props) for more details_\n */\n rootCloseEvent: PropTypes.string,\n /**\n * Menu color variant.\n *\n * Omitting this will use the default light color.\n */\n menuVariant: PropTypes.oneOf(['dark']),\n /**\n * Allow Dropdown to flip in case of an overlapping on the reference element. For more information refer to\n * Popper.js's flip [docs](https://popper.js.org/docs/v2/modifiers/flip/).\n *\n */\n flip: PropTypes.bool,\n /** @ignore */\n bsPrefix: PropTypes.string,\n /** @ignore */\n variant: PropTypes.string,\n /** @ignore */\n size: PropTypes.string\n};\n\n/**\n * A convenience component for simple or general use dropdowns. Renders a `Button` toggle and all `children`\n * are passed directly to the default `Dropdown.Menu`. This component accepts all of\n * [`Dropdown`'s props](#dropdown-props).\n *\n * _All unknown props are passed through to the `Dropdown` component._ Only\n * the Button `variant`, `size` and `bsPrefix` props are passed to the toggle,\n * along with menu-related props are passed to the `Dropdown.Menu`\n */\nconst DropdownButton = /*#__PURE__*/React.forwardRef(({\n title,\n children,\n bsPrefix,\n rootCloseEvent,\n variant,\n size,\n menuRole,\n renderMenuOnMount,\n disabled,\n href,\n id,\n menuVariant,\n flip,\n ...props\n}, ref) => /*#__PURE__*/_jsxs(Dropdown, {\n ref: ref,\n ...props,\n children: [/*#__PURE__*/_jsx(DropdownToggle, {\n id: id,\n href: href,\n size: size,\n variant: variant,\n disabled: disabled,\n childBsPrefix: bsPrefix,\n children: title\n }), /*#__PURE__*/_jsx(DropdownMenu, {\n role: menuRole,\n renderOnMount: renderMenuOnMount,\n rootCloseEvent: rootCloseEvent,\n variant: menuVariant,\n flip: flip,\n children: children\n })]\n}));\nDropdownButton.displayName = 'DropdownButton';\nDropdownButton.propTypes = propTypes;\nexport default DropdownButton;","/* eslint-disable react/prop-types */\nimport React, { useState, useMemo, useEffect } from 'react'\nimport {\n Card,\n Row,\n Col,\n Table,\n Dropdown,\n DropdownButton,\n Form,\n InputGroup,\n Container,\n Button,\n Spinner,\n} from 'react-bootstrap'\nimport {\n FaTags,\n FaBoxes,\n FaImages,\n FaSearch,\n FaSort,\n FaExchangeAlt,\n FaChartBar,\n FaChartPie,\n FaDatabase,\n FaCheckCircle,\n FaArrowCircleDown,\n FaArrowCircleUp,\n} from 'react-icons/fa'\nimport { Bar, Doughnut } from 'react-chartjs-2'\nimport 'chart.js/auto'\nimport { useAppSelector, useClassDistribution, useAnnotationStats } from '../../../store/hooks'\nimport { selectSelectedProjectId } from '../../../store/slices/projectSlice'\nimport { selectDatasetSources } from '../../../store/slices/datasetSlice'\nimport { useGetContentMetadataQuery } from '../../../services/contentApi'\nimport '../../../styles/_dataset-overview.scss'\nimport styled from 'styled-components'\nimport { useGetProjectQuery } from '../../../services/projectsApi'\n\nconst StatsSection = styled.div`\n width: 100%;\n min-height: 700px;\n height: 100%;\n display: flex;\n flex-direction: column;\n`\n\nconst SectionTitle = styled.h2`\n display: flex;\n align-items: center;\n gap: 12px;\n margin-bottom: 20px;\n font-size: 20px;\n font-weight: 600;\n color: #ffffff;\n`\n\nconst DetailCard = styled(Card)`\n width: 100%;\n height: 100%;\n border: none;\n border-radius: 12px;\n background-color: #2d2d2d;\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);\n display: flex;\n flex-direction: column;\n\n .card-body {\n padding: 1.5rem;\n height: 100%;\n min-height: 0;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n\n @media (max-width: 768px) {\n padding: 1rem;\n }\n }\n`\n\nconst DetailHeader = styled.div`\n background: linear-gradient(45deg, #402563, #2042ba);\n padding: 16px 24px;\n border-radius: 12px 12px 0 0;\n display: flex;\n justify-content: space-between;\n align-items: center;\n\n @media (max-width: 768px) {\n padding: 12px 16px;\n }\n\n h3 {\n margin: 0;\n font-size: 18px;\n font-weight: 600;\n color: #ffffff;\n\n @media (max-width: 576px) {\n font-size: 16px;\n }\n }\n`\n\nconst ChartContainer = styled.div`\n position: relative;\n width: 100%;\n height: 100%;\n min-height: 0;\n flex: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n\n canvas {\n width: 100% !important;\n height: 100% !important;\n max-height: 500px;\n }\n\n .loading-overlay {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n background: rgba(45, 45, 45, 0.7);\n border-radius: 8px;\n }\n`\n\nconst ViewContainer = styled.div`\n height: 100%;\n min-height: 0;\n display: flex;\n flex-direction: column;\n background: #1a1a1a;\n overflow: hidden;\n`\n\nconst ScrollableContent = styled.div`\n flex: 1;\n overflow-y: auto;\n padding: 8px 24px 24px;\n min-height: 0;\n\n @media (max-width: 768px) {\n padding: 8px 16px 16px;\n }\n\n /* Hide scrollbar for Chrome, Safari and Opera */\n ::-webkit-scrollbar {\n display: none;\n }\n\n /* Hide scrollbar for IE, Edge and Firefox */\n -ms-overflow-style: none; /* IE and Edge */\n scrollbar-width: none; /* Firefox */\n`\n\nconst PageHeader = styled(Card)`\n margin-bottom: 1.5rem;\n background: #1a1a1a !important;\n border: none !important;\n padding: 24px 24px 0;\n\n .card-header {\n border-bottom: 1px solid rgba(255, 255, 255, 0.1);\n background: transparent;\n padding: 0;\n }\n\n .subtitle {\n color: #8c8c8c;\n font-size: 0.9rem;\n margin-top: 0.25rem;\n }\n\n @media (max-width: 768px) {\n padding: 16px 16px 0;\n }\n`\n\nconst FlipCard = styled.div`\n perspective: 1000px;\n height: calc(100% - 44px); // Subtract the height of SectionTitle\n\n &.flip-card {\n .flip-card-inner {\n transform-style: preserve-3d;\n transition: transform 0.6s;\n position: relative;\n width: 100%;\n height: 100%;\n }\n\n &.flipped .flip-card-inner {\n transform: rotateY(180deg);\n }\n }\n\n .flip-card-front,\n .flip-card-back {\n position: absolute;\n width: 100%;\n height: 100%;\n -webkit-backface-visibility: hidden;\n backface-visibility: hidden;\n background-color: #2d2d2d;\n border-radius: 12px;\n transform-style: preserve-3d;\n overflow: hidden;\n\n > * {\n -webkit-backface-visibility: hidden;\n backface-visibility: hidden;\n }\n\n ${DetailCard} {\n border-radius: 12px;\n }\n }\n\n .flip-card-front {\n transform: rotateY(0deg);\n }\n\n .flip-card-back {\n transform: rotateY(180deg);\n }\n\n .class-list-container {\n height: 450px;\n overflow-y: auto;\n margin-top: 1rem;\n\n &::-webkit-scrollbar {\n width: 8px;\n }\n\n &::-webkit-scrollbar-track {\n background: rgba(255, 255, 255, 0.1);\n border-radius: 4px;\n }\n\n &::-webkit-scrollbar-thumb {\n background: rgba(255, 255, 255, 0.2);\n border-radius: 4px;\n }\n\n &::-webkit-scrollbar-thumb:hover {\n background: rgba(255, 255, 255, 0.3);\n }\n }\n\n .filters-section {\n padding: 0 0 1rem 0;\n }\n\n .class-table {\n margin: 0;\n\n th,\n td {\n border-color: rgba(255, 255, 255, 0.1);\n }\n }\n`\n\nconst StatCard = styled(Card)<{ $variant?: 'primary' | 'info' | 'success' | 'warning' | 'purple' }>`\n height: 100%;\n border: none;\n border-radius: 12px;\n background-color: #2d2d2d;\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);\n transition: transform 0.2s, box-shadow 0.2s;\n position: relative;\n overflow: hidden;\n\n &:hover {\n transform: translateY(-2px);\n box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);\n }\n\n .loading-overlay {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n background: rgba(45, 45, 45, 0.7);\n z-index: 1;\n }\n\n .card-body {\n background: ${(props) => {\n switch (props.$variant) {\n case 'primary':\n return 'linear-gradient(45deg, #0d47a1, #1976d2)'\n case 'info':\n return 'linear-gradient(45deg, #006064, #00acc1)'\n case 'success':\n return 'linear-gradient(45deg, #1b5e20, #43a047)'\n case 'warning':\n return 'linear-gradient(45deg, #e65100, #fb8c00)'\n case 'purple':\n return 'linear-gradient(45deg, #402563, #2042ba)'\n default:\n return 'linear-gradient(45deg, #402563, #2042ba)'\n }\n }};\n border-radius: 12px;\n padding: 1.5rem;\n\n @media (max-width: 768px) {\n padding: 1rem;\n }\n }\n`\n\nconst StatContent = styled.div`\n display: flex;\n align-items: center;\n gap: 16px;\n\n @media (max-width: 576px) {\n gap: 12px;\n }\n`\n\nconst StatIcon = styled.div`\n display: flex;\n align-items: center;\n justify-content: center;\n width: 48px;\n height: 48px;\n border-radius: 12px;\n font-size: 24px;\n background: rgba(255, 255, 255, 0.1);\n\n @media (max-width: 576px) {\n width: 40px;\n height: 40px;\n font-size: 20px;\n }\n`\n\nconst StatInfo = styled.div`\n flex: 1;\n\n h3 {\n margin: 0;\n font-size: 24px;\n font-weight: 600;\n color: #ffffff;\n\n @media (max-width: 576px) {\n font-size: 20px;\n }\n }\n\n p {\n margin: 4px 0 0;\n color: rgba(255, 255, 255, 0.7);\n font-size: 14px;\n\n @media (max-width: 576px) {\n font-size: 12px;\n }\n }\n`\n\nconst DatasetOverviewSubView: React.FC = () => {\n const selectedProjectId = useAppSelector(selectSelectedProjectId)\n const datasetSources = useAppSelector(selectDatasetSources)\n\n const { data: project } = useGetProjectQuery(selectedProjectId || '', { skip: !selectedProjectId })\n\n const classDistribution = useClassDistribution(\n selectedProjectId || '',\n project?.datasetid || '',\n // false,\n datasetSources\n )\n\n const { data: annoStats, refetch: refetchAnnoStats } = useAnnotationStats(\n selectedProjectId || '',\n project?.datasetid || '',\n datasetSources\n )\n\n const { data: metadata, refetch: refetchMetadata } = useGetContentMetadataQuery(\n {\n project_id: selectedProjectId || '',\n },\n { skip: !selectedProjectId }\n )\n\n useEffect(() => {\n // Only refetch if we have the necessary IDs and if the data is not already present\n if (selectedProjectId && project?.datasetid && (!annoStats || !metadata)) {\n const refetchData = async () => {\n try {\n await Promise.all([refetchAnnoStats(), refetchMetadata()])\n } catch (error) {\n console.error('Error refetching data:', error)\n }\n }\n // Add a small delay to ensure the queries are initialized\n const timeoutId = setTimeout(refetchData, 100)\n return () => clearTimeout(timeoutId)\n }\n }, [selectedProjectId, project?.datasetid, datasetSources, refetchAnnoStats, refetchMetadata, annoStats, metadata])\n\n const [filter, setFilter] = useState('all')\n const [sortBy, setSortBy] = useState('value')\n const [classNameSearch, setClassNameSearch] = useState('')\n const [isFlipped, setIsFlipped] = useState(true)\n const [chartViewMode, setChartViewMode] = useState<'bar' | 'doughnut'>('bar')\n\n const totalImages =\n (annoStats?.statistics?.total_annotated_images || 0) + (annoStats?.statistics?.total_unannotated_images || 0)\n\n const totalClassWithoutUnknown = annoStats?.statistics?.annotations_per_class\n ? Object.keys(annoStats.statistics.annotations_per_class || {}).filter((key) => key !== 'Unknown' && key !== 'null')\n : []\n\n const classWithoutUnknown = classDistribution.filter((item) => item.name !== 'Unknown' && item.name !== 'null')\n\n // Apply filters and search\n const filteredClasses = classWithoutUnknown.filter((item) => {\n const matchesSearch = item.name.toLowerCase().includes(classNameSearch.toLowerCase())\n const matchesFilter = filter === 'all' || item.balance.includes(filter)\n return matchesSearch && matchesFilter\n })\n\n const sortedClasses = [...filteredClasses].sort((a, b) => {\n if (sortBy === 'value') return b.value - a.value\n if (sortBy === 'name') return a.name.localeCompare(b.name)\n if (sortBy === 'percentage') return b.percentage - a.percentage\n return 0\n })\n\n // Pie chart data preparation\n const pieChartData = useMemo(\n () => ({\n labels: classDistribution.map((item) => item.name),\n datasets: [\n {\n data: classDistribution.map((item) => item.value),\n backgroundColor: classDistribution.map((item) => item.color),\n barThickness: 24,\n maxBarThickness: 24,\n minBarLength: 2,\n label: '',\n },\n ],\n }),\n [classDistribution]\n )\n // Bar chart data preparation\n const barChartData = useMemo(\n () => ({\n labels: ['Distribution'],\n datasets: classDistribution.map((item) => ({\n label: item.name,\n data: [item.value],\n backgroundColor: item.color,\n borderWidth: 1,\n borderColor: item.color,\n maxBarThickness: 30,\n minBarLength: 2,\n })),\n }),\n [classDistribution]\n )\n\n const barChartOptions = useMemo(\n () => ({\n responsive: true,\n maintainAspectRatio: false,\n scales: {\n y: {\n beginAtZero: true,\n grid: {\n color: 'rgba(255, 255, 255, 0.1)',\n },\n ticks: {\n color: '#ffffff',\n },\n },\n x: {\n grid: {\n display: false,\n },\n ticks: {\n color: '#ffffff',\n },\n offset: true,\n barPercentage: 1,\n categoryPercentage: 0.98,\n },\n },\n plugins: {\n legend: {\n display: true,\n position: 'top' as const,\n labels: {\n color: '#ffffff',\n padding: 20,\n usePointStyle: false,\n },\n },\n },\n layout: {\n padding: {\n left: 15,\n right: 15,\n },\n },\n }),\n []\n )\n\n const pieChartOptions = useMemo(\n () => ({\n responsive: true,\n maintainAspectRatio: false,\n scales: {\n y: {\n beginAtZero: true,\n grid: {\n color: 'rgba(255, 255, 255, 0.1)',\n },\n ticks: {\n color: '#ffffff',\n },\n },\n x: {\n grid: {\n display: false,\n },\n ticks: {\n color: '#ffffff',\n },\n },\n },\n plugins: {\n legend: {\n display: true,\n position: 'top' as const,\n labels: {\n color: '#ffffff',\n },\n },\n },\n }),\n []\n )\n\n // Dataset Analytics chart data\n const datasetChartData = useMemo(\n () => ({\n labels: metadata?.metadata?.datasource || [],\n datasets: [\n {\n label: 'Images',\n data:\n metadata?.metadata?.datasource?.map((source: string) => {\n return annoStats?.statistics?.datasource_distributions?.[source]?.images || 0\n }) || [],\n backgroundColor: 'rgba(13, 202, 240, 0.7)',\n borderColor: 'rgba(13, 202, 240, 1)',\n borderWidth: 1,\n },\n {\n label: 'Annotations',\n data:\n metadata?.metadata?.datasource?.map((source: string) => {\n return annoStats?.statistics?.datasource_distributions?.[source]?.annotations || 0\n }) || [],\n backgroundColor: 'rgba(25, 135, 84, 0.7)',\n borderColor: 'rgba(25, 135, 84, 1)',\n borderWidth: 1,\n },\n ],\n }),\n [metadata?.metadata?.datasource, annoStats?.statistics?.datasource_distributions]\n )\n\n const isLoadingStats = !annoStats || !annoStats.statistics\n\n return (\n \n \n \n \n \n

Dataset Overview

\n
Summarize key statistics, class distributions, and data quality insights.
\n \n
\n
\n
\n\n \n {/* Row 1: Overview Cards */}\n \n \n \n {metadata?.metadata === undefined && (\n
\n \n
\n )}\n \n \n \n \n \n \n

{(metadata?.metadata?.datasource as Array)?.length || 0}

\n

Datasets

\n
\n
\n
\n
\n \n \n \n {(isLoadingStats || annoStats?.statistics?.annotations_per_class === undefined) && (\n
\n \n
\n )}\n \n \n \n \n \n \n

{totalClassWithoutUnknown.length}

\n

Classes

\n
\n
\n
\n
\n \n \n \n {(isLoadingStats ||\n (annoStats?.statistics?.total_unannotated_images === undefined &&\n annoStats?.statistics?.total_annotated_images === undefined)) && (\n
\n \n
\n )}\n \n \n \n \n \n \n

{totalImages}

\n

Images

\n
\n
\n
\n
\n \n \n \n {(isLoadingStats || annoStats?.statistics?.total_annotations === undefined) && (\n
\n \n
\n )}\n \n \n \n \n \n \n

{annoStats?.statistics?.total_annotations || 0}

\n

Annotations

\n
\n
\n
\n
\n \n
\n\n {/* Row 2: Main Content */}\n \n \n {/* Left Column - Dataset Analytics */}\n \n \n \n Dataset Analytics\n \n \n \n

Images & Annotations by Dataset

\n
\n \n \n {isLoadingStats || metadata?.metadata === undefined || annoStats?.statistics === undefined ? (\n
\n \n
\n ) : (\n \n )}\n
\n
\n
\n
\n \n\n {/* Right Column - Class Distribution */}\n \n \n \n Class Distribution\n \n \n
\n
\n \n \n
\n

Distribution Chart

\n
\n
\n
\n setChartViewMode('bar')}\n title=\"Bar Chart\"\n className=\"chart-type-btn\"\n >\n \n \n setChartViewMode('doughnut')}\n title=\"Doughnut Chart\"\n className=\"chart-type-btn\"\n >\n \n \n
\n setIsFlipped(!isFlipped)}\n className=\"flip-button\"\n >\n \n Show Table\n \n
\n
\n \n \n {isLoadingStats || classDistribution === undefined ? (\n
\n \n
\n ) : (\n <>\n {chartViewMode === 'bar' && (\n \n )}\n {chartViewMode === 'doughnut' && (\n \n )}\n \n )}\n
\n
\n
\n
\n
\n \n \n
\n

Distribution Table

\n
\n setIsFlipped(!isFlipped)}\n className=\"flip-button\"\n >\n \n Show Chart\n \n
\n \n
\n \n \n \n \n \n \n setClassNameSearch(e.target.value)}\n />\n \n \n \n \n setSortBy('value')}>\n \n Count\n \n setSortBy('percentage')}>\n \n Percentage\n \n setSortBy('name')}>\n \n Name\n \n \n \n \n \n setFilter('all')}>\n All Classes\n \n setFilter('bal')}>\n Balanced\n \n setFilter('over')}>\n Overrepresented\n \n setFilter('under')}>\n Underrepresented\n \n \n \n \n
\n
\n \n \n \n \n \n \n \n \n \n {isLoadingStats || classDistribution === undefined ? (\n \n \n \n ) : (\n sortedClasses.map((item) => (\n \n \n \n \n \n ))\n )}\n \n
Class Name{sortBy === 'percentage' ? 'Percentage' : 'Count'}Balance
\n \n
\n
\n \n {item.name}\n
\n
\n {sortBy === 'percentage'\n ? `${((item.value / totalImages) * 100).toFixed(1)}%`\n : item.value.toLocaleString()}\n \n {item.balance.includes('balanced') && (\n \n \n Balanced\n \n )}\n {item.balance.includes('under') && (\n \n \n Underrepresented\n \n )}\n {item.balance.includes('over') && (\n \n \n Overrepresented\n \n )}\n
\n
\n
\n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n )\n}\n\nexport default DatasetOverviewSubView\n","/* eslint-disable react/no-multi-comp */\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport Anchor from '@restart/ui/Anchor';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst PageItem = /*#__PURE__*/React.forwardRef(({\n active = false,\n disabled = false,\n className,\n style,\n activeLabel = '(current)',\n children,\n linkStyle,\n linkClassName,\n as = Anchor,\n ...props\n}, ref) => {\n const Component = active || disabled ? 'span' : as;\n return /*#__PURE__*/_jsx(\"li\", {\n ref: ref,\n style: style,\n className: classNames(className, 'page-item', {\n active,\n disabled\n }),\n children: /*#__PURE__*/_jsxs(Component, {\n className: classNames('page-link', linkClassName),\n style: linkStyle,\n ...props,\n children: [children, active && activeLabel && /*#__PURE__*/_jsx(\"span\", {\n className: \"visually-hidden\",\n children: activeLabel\n })]\n })\n });\n});\nPageItem.displayName = 'PageItem';\nexport default PageItem;\nfunction createButton(name, defaultValue, label = name) {\n const Button = /*#__PURE__*/React.forwardRef(({\n children,\n ...props\n }, ref) => /*#__PURE__*/_jsxs(PageItem, {\n ...props,\n ref: ref,\n children: [/*#__PURE__*/_jsx(\"span\", {\n \"aria-hidden\": \"true\",\n children: children || defaultValue\n }), /*#__PURE__*/_jsx(\"span\", {\n className: \"visually-hidden\",\n children: label\n })]\n }));\n Button.displayName = name;\n return Button;\n}\nexport const First = createButton('First', '«');\nexport const Prev = createButton('Prev', '‹', 'Previous');\nexport const Ellipsis = createButton('Ellipsis', '…', 'More');\nexport const Next = createButton('Next', '›');\nexport const Last = createButton('Last', '»');","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport PageItem, { Ellipsis, First, Last, Next, Prev } from './PageItem';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst Pagination = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n className,\n size,\n ...props\n}, ref) => {\n const decoratedBsPrefix = useBootstrapPrefix(bsPrefix, 'pagination');\n return /*#__PURE__*/_jsx(\"ul\", {\n ref: ref,\n ...props,\n className: classNames(className, decoratedBsPrefix, size && `${decoratedBsPrefix}-${size}`)\n });\n});\nPagination.displayName = 'Pagination';\nexport default Object.assign(Pagination, {\n First,\n Prev,\n Ellipsis,\n Item: PageItem,\n Next,\n Last\n});","import React from 'react'\nimport { Col, Pagination, Row } from 'react-bootstrap'\nimport styled, { createGlobalStyle } from 'styled-components'\nimport { ZoomIn } from 'lucide-react'\n\ninterface ImageGalleryHeaderProps {\n currentPage: number\n totalImages: number\n itemsPerPage: number\n showCardSlider?: boolean\n cardSize: number\n stackPagination?: boolean\n onPageChange: (page: number) => void\n onCardSizeChange: (size: number) => void\n}\n\n// Global styles for overriding react-bootstrap pagination styles\nconst GlobalStyle = createGlobalStyle`\n .pagination {\n margin: 0;\n display: flex;\n gap: 0.25rem;\n }\n\n .pagination .page-item .page-link {\n background-color: #2a2a2a;\n border-color: #3a3a3a;\n color: #fff;\n padding: 0.35rem 0.6rem;\n transition: all 0.2s ease;\n font-size: 0.85rem;\n line-height: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n min-width: 32px;\n }\n\n .pagination .page-item .page-link:hover {\n background-color: #3a3a3a;\n border-color: #4a4a4a;\n }\n\n .pagination .page-item.active .page-link {\n background-color: #0d6efd;\n border-color: #0d6efd;\n color: #fff;\n }\n\n .pagination .page-item.disabled .page-link {\n background-color: #222;\n border-color: #333;\n color: #666;\n }\n`\n\n// Main container for header controls\nconst GalleryControls = styled.div`\n display: flex;\n align-items: center;\n gap: 1rem;\n flex: 1;\n justify-content: flex-end;\n`\n\n// Container for pagination elements\nconst PaginationContainer = styled.div`\n display: flex;\n align-items: center;\n gap: 1rem;\n background: #2a2a2a;\n padding: 0.5rem 0.75rem;\n border-radius: 8px;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);\n min-width: 340px;\n justify-content: space-between;\n`\n\nconst PaginationInfo = styled.div`\n color: #fff;\n font-size: 0.85rem;\n white-space: nowrap;\n padding: 0.35rem 0.75rem;\n display: flex;\n align-items: center;\n background: rgba(255, 255, 255, 0.08);\n border-radius: 6px;\n font-weight: 500;\n`\n\n// Container for the size control\nconst SizeControl = styled.div`\n display: flex;\n align-items: center;\n gap: 1rem;\n padding: 0.5rem 0.75rem;\n background: #2a2a2a;\n border-radius: 8px;\n min-width: 340px;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);\n\n label {\n color: #fff;\n margin: 0;\n font-size: 0.85rem;\n display: flex;\n align-items: center;\n gap: 0.5rem;\n white-space: nowrap;\n opacity: 0.9;\n padding: 0.35rem 0.75rem;\n background: rgba(255, 255, 255, 0.08);\n border-radius: 6px;\n }\n\n input[type='range'] {\n flex: 1;\n height: 4px;\n -webkit-appearance: none;\n background: #3a3a3a;\n border-radius: 2px;\n outline: none;\n }\n\n input[type='range']::-webkit-slider-thumb {\n -webkit-appearance: none;\n width: 14px;\n height: 14px;\n border-radius: 50%;\n background: #fff;\n cursor: pointer;\n border: 2px solid #0d6efd;\n box-shadow: 0 0 4px rgba(0, 0, 0, 0.2);\n transition: all 0.2s ease;\n }\n\n input[type='range']::-webkit-slider-thumb:hover {\n background: #0d6efd;\n transform: scale(1.1);\n }\n\n input[type='range']::-moz-range-thumb {\n width: 14px;\n height: 14px;\n border-radius: 50%;\n background: #fff;\n cursor: pointer;\n border: 2px solid #0d6efd;\n box-shadow: 0 0 4px rgba(0, 0, 0, 0.2);\n transition: all 0.2s ease;\n }\n\n input[type='range']::-moz-range-thumb:hover {\n background: #0d6efd;\n transform: scale(1.1);\n }\n`\n\n// Add this new styled component for the range input\nconst RangeInput = styled.input<{ value: number }>`\n flex: 1;\n height: 4px;\n -webkit-appearance: none;\n background: ${(props) => {\n const percentage = ((props.value - 100) / (600 - 100)) * 100\n return `linear-gradient(to right, #0d6efd 0%, #0d6efd ${percentage}%, #3a3a3a ${percentage}%, #3a3a3a 100%)`\n }};\n border-radius: 2px;\n outline: none;\n\n &::-webkit-slider-thumb {\n -webkit-appearance: none;\n width: 14px;\n height: 14px;\n border-radius: 50%;\n background: #fff;\n cursor: pointer;\n border: 2px solid #0d6efd;\n box-shadow: 0 0 4px rgba(0, 0, 0, 0.2);\n transition: all 0.2s ease;\n }\n\n &::-webkit-slider-thumb:hover {\n background: #0d6efd;\n transform: scale(1.1);\n }\n\n &::-moz-range-thumb {\n width: 14px;\n height: 14px;\n border-radius: 50%;\n background: #fff;\n cursor: pointer;\n border: 2px solid #0d6efd;\n box-shadow: 0 0 4px rgba(0, 0, 0, 0.2);\n transition: all 0.2s ease;\n }\n\n &::-moz-range-thumb:hover {\n background: #0d6efd;\n transform: scale(1.1);\n }\n`\n\nconst ImageGalleryHeader: React.FC = ({\n currentPage,\n totalImages,\n itemsPerPage,\n cardSize,\n stackPagination = false,\n showCardSlider = true,\n onPageChange,\n onCardSizeChange,\n}) => {\n const startItem = (currentPage - 1) * itemsPerPage + 1\n const endItem = Math.min(currentPage * itemsPerPage, totalImages)\n const totalPages = Math.ceil(totalImages / itemsPerPage)\n\n return (\n <>\n {/* Inject global styles for pagination */}\n \n \n \n {stackPagination ? (\n \n \n \n onPageChange(1)} disabled={currentPage === 1} />\n onPageChange(currentPage - 1)} disabled={currentPage === 1} />\n {currentPage}\n onPageChange(currentPage + 1)}\n disabled={currentPage === totalPages}\n />\n onPageChange(totalPages)} disabled={currentPage === totalPages} />\n \n \n {startItem}-{endItem} of {totalImages} images\n \n \n \n ) : (\n <>\n \n onPageChange(1)} disabled={currentPage === 1} />\n onPageChange(currentPage - 1)} disabled={currentPage === 1} />\n {currentPage}\n onPageChange(currentPage + 1)} disabled={currentPage === totalPages} />\n onPageChange(totalPages)} disabled={currentPage === totalPages} />\n \n \n {startItem}-{endItem} of {totalImages} images\n \n \n )}\n \n {showCardSlider && (\n \n \n onCardSizeChange(Number(e.target.value))}\n />\n \n )}\n \n \n )\n}\n\nexport default ImageGalleryHeader\n","import React from 'react';\nimport { STATIC_EXECUTION_CONTEXT } from '../constants';\nimport GlobalStyle from '../models/GlobalStyle';\nimport { useStyleSheetContext } from '../models/StyleSheetManager';\nimport { DefaultTheme, ThemeContext } from '../models/ThemeProvider';\nimport StyleSheet from '../sheet';\nimport { ExecutionContext, ExecutionProps, Interpolation, Stringifier, Styles } from '../types';\nimport { checkDynamicCreation } from '../utils/checkDynamicCreation';\nimport determineTheme from '../utils/determineTheme';\nimport generateComponentId from '../utils/generateComponentId';\nimport css from './css';\n\nexport default function createGlobalStyle(\n strings: Styles,\n ...interpolations: Array>\n) {\n const rules = css(strings, ...interpolations);\n const styledComponentId = `sc-global-${generateComponentId(JSON.stringify(rules))}`;\n const globalStyle = new GlobalStyle(rules, styledComponentId);\n\n if (process.env.NODE_ENV !== 'production') {\n checkDynamicCreation(styledComponentId);\n }\n\n const GlobalStyleComponent: React.ComponentType = props => {\n const ssc = useStyleSheetContext();\n const theme = React.useContext(ThemeContext);\n const instanceRef = React.useRef(ssc.styleSheet.allocateGSInstance(styledComponentId));\n\n const instance = instanceRef.current;\n\n if (process.env.NODE_ENV !== 'production' && React.Children.count(props.children)) {\n console.warn(\n `The global style component ${styledComponentId} was given child JSX. createGlobalStyle does not render children.`\n );\n }\n\n if (\n process.env.NODE_ENV !== 'production' &&\n rules.some(rule => typeof rule === 'string' && rule.indexOf('@import') !== -1)\n ) {\n console.warn(\n `Please do not use @import CSS syntax in createGlobalStyle at this time, as the CSSOM APIs we use in production do not handle it well. Instead, we recommend using a library such as react-helmet to inject a typical meta tag to the stylesheet, or simply embedding it manually in your index.html section for a simpler app.`\n );\n }\n\n if (ssc.styleSheet.server) {\n renderStyles(instance, props, ssc.styleSheet, theme, ssc.stylis);\n }\n\n if (!__SERVER__) {\n React.useLayoutEffect(() => {\n if (!ssc.styleSheet.server) {\n renderStyles(instance, props, ssc.styleSheet, theme, ssc.stylis);\n return () => globalStyle.removeStyles(instance, ssc.styleSheet);\n }\n }, [instance, props, ssc.styleSheet, theme, ssc.stylis]);\n }\n\n return null;\n };\n\n function renderStyles(\n instance: number,\n props: ExecutionProps,\n styleSheet: StyleSheet,\n theme: DefaultTheme | undefined,\n stylis: Stringifier\n ) {\n if (globalStyle.isStatic) {\n globalStyle.renderStyles(\n instance,\n STATIC_EXECUTION_CONTEXT as unknown as ExecutionContext & Props,\n styleSheet,\n stylis\n );\n } else {\n const context = {\n ...props,\n theme: determineTheme(props, theme, GlobalStyleComponent.defaultProps),\n } as ExecutionContext & Props;\n\n globalStyle.renderStyles(instance, context, styleSheet, stylis);\n }\n }\n\n return React.memo(GlobalStyleComponent);\n}\n","import { useState, useEffect, useRef } from 'react'\nimport { useGetContentImageQuery, useViewContentQuery } from '../services/contentApi'\n\nlet maxConcurrentRequests = 5\nlet currentRequests = 0\nconst maxRequestsPerSecond = 20\nlet requestsThisSecond = 0\nlet lastRequestTime = Date.now()\nconst requestQueue: (() => void)[] = []\n\nexport const resetImageLoadingQueue = (max?: number) => {\n if (max !== undefined) {\n maxConcurrentRequests = max\n }\n currentRequests = 0\n requestsThisSecond = 0\n lastRequestTime = Date.now()\n requestQueue.length = 0\n}\n\nconst processQueue = () => {\n const now = Date.now()\n // Reset counter if a second has passed\n if (now - lastRequestTime >= 1000) {\n requestsThisSecond = 0\n lastRequestTime = now\n }\n\n // Only process queue if we haven't hit the rate limit\n while (\n requestQueue.length > 0 &&\n currentRequests < maxConcurrentRequests &&\n requestsThisSecond < maxRequestsPerSecond\n ) {\n const nextRequest = requestQueue.shift()\n if (nextRequest) {\n currentRequests++\n requestsThisSecond++\n nextRequest()\n }\n }\n\n // Schedule next queue processing if there are items in queue\n if (requestQueue.length > 0) {\n setTimeout(processQueue, 50) // Check queue every 50ms\n }\n}\n\nexport const useContentImage = ({\n contentId,\n projectId,\n datasetId,\n}: {\n contentId: string\n projectId: string\n datasetId?: string\n}) => {\n const [base64Image, setBase64Image] = useState(null)\n const [isVisible, setIsVisible] = useState(false)\n const imageRef = useRef(null)\n const isMounted = useRef(true)\n\n useEffect(() => {\n isMounted.current = true\n return () => {\n isMounted.current = false\n }\n }, [])\n\n // Reset state when contentId changes or on reset event\n useEffect(() => {\n const handleReset = () => {\n if (!isMounted.current) return\n setBase64Image(null)\n setIsVisible(false)\n }\n\n handleReset()\n window.addEventListener('reset-image-loading', handleReset)\n\n return () => {\n window.removeEventListener('reset-image-loading', handleReset)\n }\n }, [contentId])\n\n // Setup intersection observer with larger root margin for earlier loading\n useEffect(() => {\n const observer = new IntersectionObserver(\n ([entry]) => {\n if (!isMounted.current) return\n setIsVisible(entry.isIntersecting)\n },\n { rootMargin: '10px', threshold: 0.3 }\n )\n\n if (imageRef.current) {\n observer.observe(imageRef.current)\n }\n\n return () => observer.disconnect()\n }, [])\n\n const {\n data: imageUrl,\n error: imageError,\n isLoading: imageLoading,\n } = useGetContentImageQuery(\n {\n ContentID: contentId,\n project_id: projectId,\n dataset_id: datasetId,\n },\n { skip: !contentId || !isVisible }\n )\n\n const { data: contentData } = useViewContentQuery(\n {\n ContentID: contentId || '',\n project_id: projectId || '',\n dataset_id: datasetId || '',\n },\n {\n skip: !contentId || !isVisible,\n }\n )\n\n // Simple direct image loading\n useEffect(() => {\n if (!imageUrl || !isVisible || !isMounted.current) return\n\n const loadImage = async () => {\n try {\n // Check visibility again before starting download\n if (!isVisible || !isMounted.current) {\n return\n }\n\n const response = await fetch(imageUrl)\n // Skip processing if image is no longer visible\n if (!isVisible || !isMounted.current) {\n return\n }\n\n const blob = await response.blob()\n if (!isVisible || !isMounted.current) {\n return\n }\n\n const reader = new FileReader()\n reader.onloadend = () => {\n if (!isVisible || !isMounted.current) return\n setBase64Image(reader.result as string)\n }\n reader.readAsDataURL(blob)\n } catch (error) {\n console.error('Error loading image:', error)\n } finally {\n currentRequests--\n processQueue()\n }\n }\n\n const queueOrExecuteRequest = () => {\n // Only queue/execute if still visible\n if (!isVisible) {\n return\n }\n\n if (currentRequests < maxConcurrentRequests) {\n currentRequests++\n loadImage()\n } else {\n requestQueue.push(loadImage)\n }\n }\n\n queueOrExecuteRequest()\n }, [imageUrl, isVisible])\n\n return { base64Image, imageError, imageLoading, imageRef, contentData }\n}\n","// src/components/TagPills/TagPills.tsx\n\nimport React from 'react'\nimport { AnnotationDataBoundingBox } from '../types/annotation'\nimport { getContrastYIQ } from '../utils'\nimport { useGetTagsQuery } from '../services/tagApi'\nimport { useAppSelector } from '../store/hooks'\nimport { selectSelectedProjectId } from '../store/slices/projectSlice'\nimport { useGetProjectQuery } from '../services/projectsApi'\n\ninterface BBoxPillsProps {\n bounding_boxes: AnnotationDataBoundingBox[]\n showTagCounts?: boolean\n maxTags?: number\n}\n\nconst PillsBBox: React.FC = ({ bounding_boxes, showTagCounts = true, maxTags = 3 }) => {\n const selectedProjectId = useAppSelector(selectSelectedProjectId)\n const { data: project } = useGetProjectQuery(selectedProjectId || '', { skip: !selectedProjectId })\n const { data: tags } = useGetTagsQuery(\n {\n project_id: selectedProjectId || '',\n dataset_id: project?.datasetid || '',\n },\n { skip: !selectedProjectId || !project?.datasetid }\n )\n\n const tagCounts = bounding_boxes?.reduce((acc, bbox) => {\n acc[bbox.name] = (acc[bbox.name] || 0) + 1\n return acc\n }, {} as Record)\n\n const uniqueTags = Array.from(new Set(bounding_boxes?.map((bbox) => bbox.name)))\n const sortedTags = uniqueTags.sort((t1, t2) => (tagCounts?.[t2] || 0) - (tagCounts?.[t1] || 0))\n const visibleTags = sortedTags.slice(0, maxTags)\n const remainingCount = sortedTags.length - maxTags\n\n const renderPlusTag = (remainingCount: number) => {\n if (remainingCount <= 0) return null\n return (\n
\n \n +{remainingCount}\n
\n \n )\n }\n\n return (\n
\n {visibleTags.map((tagId, index) => {\n const tag = tags?.tags?.find((t) => t.id === tagId || t.name === tagId)\n if (!tag) return null\n\n const backgroundColor = `#${tag.color.toString(16).padStart(6, '0').slice(0, 6)}`\n const textColor = getContrastYIQ(backgroundColor)\n\n return (\n
\n \n {tag.name}\n {showTagCounts && tagCounts?.[tagId] && (\n \n {tagCounts[tagId]}\n \n )}\n
\n
\n )\n })}\n {remainingCount > 0 && renderPlusTag(remainingCount)}\n \n )\n}\n\nexport default PillsBBox\n","import React from 'react'\nimport { useGetTagsQuery } from '../../services/tagApi'\nimport { useAppSelector } from '../../store/hooks'\nimport { selectSelectedProjectId } from '../../store/slices/projectSlice'\nimport { AnnotationDataBoundingBox } from '../../types/annotation'\nimport { useGetProjectQuery } from '../../services/projectsApi'\n\ninterface SuggestiveLabelImageCardProps {\n base64Data: string | undefined\n bounding_boxes: AnnotationDataBoundingBox[]\n cardWidth?: number\n cardHeight?: number\n contentWidth?: number\n contentHeight?: number\n}\n\nconst SuggestiveLabelImageCard: React.FC = ({\n base64Data,\n bounding_boxes,\n cardWidth = 150,\n cardHeight = 150,\n contentWidth = 1024,\n contentHeight = 1024,\n}) => {\n const selectedProjectId = useAppSelector(selectSelectedProjectId)\n const { data: project } = useGetProjectQuery(selectedProjectId || '', { skip: !selectedProjectId })\n\n const { data: tags } = useGetTagsQuery(\n {\n project_id: selectedProjectId || '',\n dataset_id: project?.datasetid || '',\n },\n { skip: !selectedProjectId || !project?.datasetid }\n )\n\n const getTagColor = (box: AnnotationDataBoundingBox) => {\n const tag = tags?.tags?.find((tag) => tag.id === box.name || tag.name === box.class_name)\n if (tag) {\n return `#${tag.color.toString(16).padStart(6, '0').slice(0, 6)}`\n } else {\n return '#800085'\n }\n }\n\n if (!base64Data) {\n return null\n }\n\n return (\n \n {/* Image Layer */}\n \n \n \n\n {/* Bounding Box Overlay Layer */}\n \n {bounding_boxes.map((box, index) => {\n // Calculate unscaled border width\n const borderWidth = 1\n\n return (\n \n )\n })}\n \n \n )\n}\n\nexport default SuggestiveLabelImageCard\n","import React, { useState } from 'react'\nimport { Card } from 'react-bootstrap'\nimport { useContentImage } from '../../hooks/useContentImage'\nimport PillsBBox from '../PillsBBox'\nimport { Content } from '../../types/content'\nimport { useAppSelector } from '../../store/hooks'\nimport { selectSelectedAnnotationIds, selectSelectedProjectId } from '../../store/slices/projectSlice'\nimport PillsClassification from '../PillsClassification'\nimport SuggestiveLabelImageCard from '../annotation/SuggestiveLabelImageCard'\nimport PillsDataset from '../PillsDataset'\nimport { useGetProjectQuery } from '../../services/projectsApi'\n\ninterface ContentImageProps {\n content: Content\n cardSize: number\n onImageClick: (image: Content) => void\n selectable: boolean\n showDatasource?: boolean\n selected?: boolean\n}\n\nconst ContentImage: React.FC = ({\n content,\n cardSize,\n onImageClick,\n selectable = false,\n showDatasource = false,\n selected = false,\n}) => {\n const selectedProjectId = useAppSelector(selectSelectedProjectId)\n const { data: project } = useGetProjectQuery(selectedProjectId || '', { skip: !selectedProjectId })\n const selectedAnnotationIds = useAppSelector(selectSelectedAnnotationIds)\n\n const { base64Image, imageRef, contentData } = useContentImage({\n contentId: content.id,\n projectId: selectedProjectId || '',\n datasetId: project?.datasetid || '',\n })\n\n const [isHovered, setIsHovered] = useState(false)\n\n return (\n setIsHovered(true)}\n onMouseLeave={() => setIsHovered(false)}\n onClick={() => onImageClick(content)}\n >\n \n {base64Image ? (\n \n ) : (\n \n Loading...\n \n )}\n {selectable && (\n \n )}\n {showDatasource && (\n
\n \n
\n )}\n {project?.annotation_type === 'bounding_box' && content?.annotation?.length && (\n
\n \n
\n )}\n {project?.annotation_type === 'classification' && content?.annotation?.length && (\n
\n \n
\n )}\n \n \n )\n}\n\nexport default ContentImage\n","// src/components/PredictionsView.tsx\n\nimport React, { useCallback } from 'react'\nimport { Col, Row, Spinner } from 'react-bootstrap'\nimport { useAppDispatch } from '../../store/hooks'\nimport { setSelectedContentId, setEditingContent, clearAllBoundingBoxes } from '../../store/slices/annotationSlice'\nimport { useNavigate } from 'react-router-dom'\nimport { Content } from '../../types/content'\nimport ContentImage from '../tools/ContentImage'\n\ninterface AnnotationsGalleryViewProps {\n content: Content[]\n isContentLoading: boolean\n cardSize: number\n}\n\nconst AnnotationsGalleryView: React.FC = ({ content, isContentLoading, cardSize }) => {\n const dispatch = useAppDispatch()\n const navigate = useNavigate()\n\n const handleImageClick = useCallback(\n (content: Content) => {\n dispatch(setSelectedContentId(content.id))\n dispatch(setEditingContent(content))\n dispatch(clearAllBoundingBoxes())\n navigate('/annotationsreview')\n },\n [dispatch, navigate]\n )\n\n return (\n
\n
\n \n \n {isContentLoading ? (\n \n ) : content?.length > 0 ? (\n
\n
\n {content.map((content: Content) => (\n \n ))}\n
\n
\n ) : (\n

No content available.

\n )}\n \n
\n
\n
\n )\n}\n\nexport default AnnotationsGalleryView\n","// src/components/views/AnnotatedTab.tsx\nimport React, { useEffect, useMemo, useState } from 'react'\nimport { Badge, Col, Row, Tab, Tabs, Card } from 'react-bootstrap'\nimport { useAppDispatch, useAppSelector } from '../../../store/hooks'\nimport { useFetchAnnotatedContentQuery } from '../../../services/contentApi'\nimport { Content } from '../../../types/content'\nimport { useGetAnnotationStatisticsQuery } from '../../../services/annotationApi'\nimport {\n clearAllBoundingBoxes,\n selectAnnotatedPage,\n selectUnannotatedPage,\n setAnnotatedPage,\n setUnannotatedPage,\n} from '../../../store/slices/annotationSlice'\n\nimport {\n clearSelectedModelTab,\n selectActiveTab,\n selectFilterTags,\n setActiveTab,\n setSelectedModelTab,\n setFilterTags,\n selectSelectedProjectId,\n} from '../../../store/slices/projectSlice'\n\nimport { selectDatasetSources } from '../../../store/slices/datasetSlice'\nimport ImageGalleryHeader from './ImageGalleryHeader'\nimport AnnotationsGalleryView from '../AnnotationsGalleryView'\nimport styled from 'styled-components'\nimport { useGetProjectQuery } from '../../../services/projectsApi'\n\n// Add this type definition near the top of the file\ntype ActiveTab = 'content' | 'annotated'\n\ninterface AnnotatedTabsProps {\n itemsPerPage: number\n selectable?: boolean\n allowAnnotate?: boolean\n}\n\nconst PageHeader = styled(Card)`\n margin-bottom: 1.5rem;\n background: #1a1a1a !important;\n border: none !important;\n padding: 24px 24px 0;\n\n .card-header {\n border-bottom: 1px solid rgba(255, 255, 255, 0.1);\n background: transparent;\n padding: 0;\n }\n\n .subtitle {\n color: #8c8c8c;\n font-size: 0.9rem;\n margin-top: 0.25rem;\n }\n\n @media (max-width: 768px) {\n padding: 16px 16px 0;\n }\n`\n\n// Add these styled components after the imports\nconst HeaderContainer = styled.div`\n margin-bottom: 1.5rem;\n background: #1a1a1a;\n border-radius: 12px;\n padding: 1rem;\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);\n display: flex;\n align-items: center;\n gap: 1.5rem;\n`\n\nconst TabsContainer = styled.div`\n .nav-tabs {\n border: none;\n gap: 0.5rem;\n margin: 0;\n display: flex;\n\n .nav-item {\n margin: 0;\n }\n\n .nav-link {\n border: none;\n background: #2a2a2a;\n color: #fff;\n border-radius: 8px;\n padding: 0.6rem 1rem;\n font-size: 0.9rem;\n transition: all 0.2s ease;\n margin: 0;\n\n &:hover {\n background: #3a3a3a;\n }\n\n &.active {\n background: #0d6efd;\n color: #fff;\n }\n\n .badge {\n background: rgba(255, 255, 255, 0.15);\n font-weight: 500;\n font-size: 0.75rem;\n padding: 0.25em 0.6em;\n }\n }\n }\n`\n\n// Add this styled component with the other styled components\nconst ViewContainer = styled.div`\n height: 100%;\n min-height: 0;\n display: flex;\n flex-direction: column;\n background: #1a1a1a;\n overflow: hidden;\n`\n\nconst AnnotationsSubView: React.FC = ({ itemsPerPage = 12 }) => {\n const selectedProjectId = useAppSelector(selectSelectedProjectId)\n const { data: project } = useGetProjectQuery(selectedProjectId || '', { skip: !selectedProjectId })\n const dispatch = useAppDispatch()\n const activeTab = useAppSelector(selectActiveTab) as ActiveTab\n const selectedFilterTags = useAppSelector(selectFilterTags)\n const annotatedPage = useAppSelector(selectAnnotatedPage)\n const unannotatedPage = useAppSelector(selectUnannotatedPage)\n\n const [cardSize, setCardSize] = useState(295)\n const datasetSources = useAppSelector(selectDatasetSources)\n\n const annotatedContentArgs = useMemo(\n () => ({\n project_id: selectedProjectId || '',\n dataset_id: project?.datasetid || '',\n limit: itemsPerPage,\n page: annotatedPage - 1,\n metadata_filter: datasetSources.length > 0 ? { datasource: datasetSources } : undefined,\n sort_key: 'updated_at',\n sort_val: -1,\n tag_id:\n activeTab === 'annotated' &&\n selectedFilterTags?.length > 0 &&\n !selectedFilterTags.some((tag) => tag.name === 'Unlabeled')\n ? selectedFilterTags.map((t) => t.id)\n : undefined,\n }),\n [selectedProjectId, project?.datasetid, itemsPerPage, annotatedPage, datasetSources, activeTab, selectedFilterTags]\n )\n\n const unannotatedContentArgs = useMemo(\n () => ({\n project_id: selectedProjectId || '',\n dataset_id: undefined,\n limit: itemsPerPage,\n page: unannotatedPage - 1,\n metadata_filter: { datasource: datasetSources },\n sort_key: 'updated_at',\n sort_val: -1,\n }),\n [selectedProjectId, itemsPerPage, unannotatedPage, datasetSources]\n )\n\n const annotatedContentQuery = useMemo(\n () => ({\n skip: activeTab !== 'annotated',\n }),\n [activeTab]\n )\n\n const unannotatedContentQuery = useMemo(\n () => ({\n skip: activeTab !== 'content',\n }),\n [activeTab]\n )\n\n const {\n data: annotatedContent,\n isLoading: isAnnotatedLoading,\n refetch: refetchAnnotated,\n } = useFetchAnnotatedContentQuery(annotatedContentArgs, {\n ...annotatedContentQuery,\n refetchOnMountOrArgChange: true,\n })\n\n const {\n data: unannotatedContent,\n isLoading: isUnannotatedLoading,\n refetch: refetchUnannotated,\n } = useFetchAnnotatedContentQuery(unannotatedContentArgs, {\n ...unannotatedContentQuery,\n refetchOnMountOrArgChange: true,\n })\n\n // Add effect to refetch when component mounts or becomes active\n useEffect(() => {\n const refetchContent = async () => {\n try {\n // Only refetch the active tab's content\n if (activeTab === 'annotated') {\n await refetchAnnotated()\n } else if (activeTab === 'content') {\n await refetchUnannotated()\n }\n } catch (error) {\n console.error('Error refetching content:', error)\n }\n }\n refetchContent()\n }, [refetchAnnotated, refetchUnannotated, activeTab])\n\n const { data: annoStats } = useGetAnnotationStatisticsQuery(\n {\n projectId: selectedProjectId || '',\n datasetId: project?.datasetid || '',\n metadata_filter: datasetSources && datasetSources.length > 0 ? { datasource: datasetSources } : undefined,\n },\n { skip: !selectedProjectId || !project?.datasetid }\n )\n\n // Memoized Values\n const filteredContent = useMemo(() => {\n const contentToProcess =\n activeTab === 'annotated' ? annotatedContent?.content || [] : unannotatedContent?.content || []\n\n // Only apply filtering for annotated content\n if (activeTab === 'annotated' && selectedFilterTags?.length > 0) {\n return contentToProcess?.filter((content: Content) => {\n // Special case for \"Unlabeled\" filter - show images that have an annotation but no tagids\n if (selectedFilterTags.some((tag) => tag.name === 'Unlabeled')) {\n return content.annotation?.[0] && (!content.annotation[0].tagids || content.annotation[0].tagids.length === 0)\n }\n // Normal tag filtering\n const contentTagIds = content.annotation?.[0]?.tagids || []\n return contentTagIds?.some((tagId: string) => selectedFilterTags?.map((t) => t.id).includes(tagId))\n })\n }\n return contentToProcess\n }, [activeTab, annotatedContent?.content, unannotatedContent?.content, selectedFilterTags])\n\n // Event Handlers\n const handlePageChange = (pageNumber: number) => {\n if (activeTab === 'annotated') {\n const numAnnotated = annotatedContent?.count || 0\n const newPage =\n pageNumber >= 0 &&\n pageNumber < Math.trunc(annoStats?.statistics?.total_annotated_images || 0 / itemsPerPage) + 1\n ? pageNumber\n : Math.trunc(numAnnotated / itemsPerPage) + 1\n\n dispatch(setAnnotatedPage(newPage))\n } else {\n const numUnannotated = unannotatedContent?.count || 0\n const newPage =\n pageNumber >= 0 &&\n pageNumber < Math.trunc(annoStats?.statistics?.total_unannotated_images || 0 / itemsPerPage) + 1\n ? pageNumber\n : Math.trunc(numUnannotated / itemsPerPage) + 1\n dispatch(setUnannotatedPage(newPage))\n }\n }\n\n useEffect(() => {\n if (unannotatedContent?.content?.length === 0) {\n dispatch(setActiveTab('annotated'))\n }\n }, [dispatch, unannotatedContent?.content?.length])\n\n const handleTabSelect = (tab: string | null) => {\n dispatch(clearAllBoundingBoxes())\n dispatch(setActiveTab(tab as ActiveTab))\n if (tab === 'content') {\n // Clear any selected filter tags when switching to unannotated tab\n dispatch(clearSelectedModelTab())\n dispatch(setFilterTags([]))\n } else if (tab === 'annotated' || tab === null) {\n dispatch(clearSelectedModelTab())\n } else {\n dispatch(setSelectedModelTab(tab))\n }\n }\n\n // Render Functions\n const renderTabTitle = (title: string, count: number | null = null) => (\n <>\n {title}\n {count !== null && (\n \n {count}\n \n )}\n \n )\n\n return (\n \n \n \n \n \n

Annotations

\n
Labbel your datasets here
\n \n
\n
\n
\n \n \n \n \n \n \n \n\n \n \n\n \n
\n )\n}\n\nexport default AnnotationsSubView\n","import React, { useMemo } from 'react'\nimport { Badge, Button } from 'react-bootstrap'\nimport styled from 'styled-components'\nimport { Content } from '../../types/content'\n\ninterface ActionButtonProps extends React.ButtonHTMLAttributes {\n variant?: string\n size?: 'sm' | 'lg'\n disabled?: boolean\n children: React.ReactNode\n}\n\nconst ActionButton = styled(({ variant, size, children, ...props }: ActionButtonProps) => (\n \n))`\n width: 100%;\n margin-bottom: 0.75rem;\n text-align: left;\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 0.6rem 1rem;\n border-radius: 8px;\n font-size: 0.9rem;\n transition: all 0.2s ease;\n\n &:last-child {\n margin-bottom: 0;\n }\n\n &:disabled {\n opacity: 0.6;\n }\n\n .badge {\n font-size: 0.75rem;\n padding: 0.35em 0.65em;\n }\n\n &:hover:not(:disabled) {\n transform: translateY(-1px);\n }\n`\n\ninterface SelectedImagesStatsProps {\n selectedImages: Content[]\n filteredContent: Content[]\n onSelectAll: () => void\n onDeselectAll: () => void\n onInvertSelection: () => void\n setShowDeleteConfirm: (show: boolean) => void\n}\n\nconst SelectedImagesStats: React.FC = ({\n selectedImages,\n filteredContent,\n onSelectAll,\n onDeselectAll,\n onInvertSelection,\n setShowDeleteConfirm,\n}) => {\n const datasourceCounts = useMemo(() => {\n return selectedImages.reduce((acc: Record, img) => {\n const source = img.metadata?.datasource || 'unknown'\n acc[source] = (acc[source] || 0) + 1\n return acc\n }, {})\n }, [selectedImages])\n\n const renderActionButtons = () => (\n
\n \n \n \n Select All Images\n \n {filteredContent.length}\n \n \n \n \n Deselect All\n \n \n \n \n \n Invert Selection\n \n \n
\n )\n\n return (\n
\n
\n

\n \n Content Management\n

\n {renderActionButtons()}\n
\n\n
\n

\n \n Selection Details\n

\n
\n
Selected Images
\n
\n \n {selectedImages.length} of {filteredContent.length}\n \n {selectedImages.length > 0 && (\n \n )}\n
\n
\n \n
\n
\n
\n\n {Object.entries(datasourceCounts).length > 0 && (\n
\n

\n \n Source Distribution\n

\n {Object.entries(datasourceCounts).map(([source, count]) => (\n
\n
{source}
\n
\n {count}\n {(((count ?? 0) / (selectedImages.length ?? 1)) * 100).toFixed(1)}%\n
\n
\n \n
\n
\n ))}\n
\n )}\n
\n )\n}\n\nexport default SelectedImagesStats\n","import React, { useMemo, useState, useEffect } from 'react'\nimport { Badge, Spinner, Tabs, Tab, Table, Form, Row, Col } from 'react-bootstrap'\nimport styled from 'styled-components'\nimport { Content } from '../../../types/content'\nimport { useAppSelector, useAppDispatch, useAnnotationStats } from '../../../store/hooks'\nimport {\n selectSelectedProjectId,\n selectActiveTab,\n selectFilterTags,\n setActiveTab,\n} from '../../../store/slices/projectSlice'\nimport type { ActiveTab } from '../../../store/slices/projectSlice'\nimport {\n selectAnnotatedPage,\n selectUnannotatedPage,\n setAnnotatedPage,\n setUnannotatedPage,\n} from '../../../store/slices/annotationSlice'\nimport { contentApi, useDeleteContentMutation, useFetchAnnotatedContentQuery } from '../../../services/contentApi'\nimport { selectDatasetSources } from '../../../store/slices/datasetSlice'\nimport ImageGalleryHeader from './ImageGalleryHeader'\nimport SelectedImagesStats from '../../cards/SelectedImagesStats'\nimport ConfirmDialog from '../../modals/ConfirmDialog'\nimport { FaSort } from 'react-icons/fa'\nimport PillsDataset from '../../../components/PillsDataset'\nimport PillsClassification from '../../../components/PillsClassification'\nimport PillsBBox from '../../../components/PillsBBox'\nimport { useGetProjectQuery } from '../../../services/projectsApi'\nimport { apiTags } from '../../../services/apiTags'\nimport { annotationsApi } from '../../../services/annotationApi'\n\n// Styled Components\nconst MainContentContainer = styled.div`\n display: flex;\n gap: 1.5rem;\n height: 75vh;\n`\n\nconst ImageGridContainer = styled.div`\n flex: 1;\n overflow: auto;\n background: #2a2a2a;\n border-radius: 12px;\n padding: 0;\n box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);\n\n ::-webkit-scrollbar {\n width: 8px;\n height: 8px;\n }\n\n ::-webkit-scrollbar-track {\n background: #1a1a1a;\n border-radius: 4px;\n }\n\n ::-webkit-scrollbar-thumb {\n background: #4a4a4a;\n border-radius: 4px;\n }\n\n ::-webkit-scrollbar-thumb:hover {\n background: #5a5a5a;\n }\n`\n\nconst StyledTable = styled(Table)`\n color: #e0e0e0;\n margin-bottom: 0;\n border-collapse: separate;\n border-spacing: 0;\n\n th {\n background: #1a1a1a;\n border: none;\n padding: 1rem 1.25rem;\n font-weight: 600;\n font-size: 0.9rem;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n color: #8c8c8c;\n cursor: pointer;\n transition: color 0.2s ease;\n white-space: nowrap;\n\n &:hover {\n color: #fff;\n }\n\n i {\n margin-left: 0.5rem;\n font-size: 0.8rem;\n }\n\n .sort-icon {\n margin-left: 0.5rem;\n font-size: 0.8rem;\n opacity: 0.7;\n }\n }\n\n td {\n background: #2a2a2a;\n padding: 1rem 1.25rem;\n border: none;\n border-bottom: 1px solid rgba(255, 255, 255, 0.05);\n vertical-align: middle;\n font-size: 0.95rem;\n color: #e0e0e0;\n\n .tag-name {\n font-weight: 500;\n color: #fff;\n }\n\n .color-preview {\n display: inline-block;\n width: 20px;\n height: 20px;\n border-radius: 4px;\n margin-right: 0.75rem;\n border: 2px solid rgba(255, 255, 255, 0.1);\n vertical-align: middle;\n }\n\n .hex-color {\n color: #8c8c8c;\n font-family: monospace;\n font-size: 0.9rem;\n }\n\n .badge {\n font-weight: 500;\n font-size: 0.85rem;\n padding: 0.4em 0.8em;\n background: rgba(255, 255, 255, 0.1);\n color: #e0e0e0;\n }\n\n .date {\n color: #8c8c8c;\n font-size: 0.9rem;\n }\n\n .form-check {\n margin: 0;\n\n .form-check-input {\n background-color: #2b3035;\n border-color: #495057;\n cursor: pointer;\n\n &:checked {\n background-color: #0d6efd;\n border-color: #0d6efd;\n }\n\n &:focus {\n box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);\n }\n }\n }\n }\n\n tbody tr {\n background: #2a2a2a;\n transition: background-color 0.2s ease;\n\n &:hover {\n background-color: #333;\n td {\n background-color: #333;\n }\n }\n\n &.selected {\n background-color: rgba(13, 110, 253, 0.1);\n td {\n background-color: rgba(13, 110, 253, 0.1);\n }\n }\n }\n\n .tiny-pills {\n font-size: 0.85rem;\n\n .class-pills > div,\n .dataset-pills > div {\n padding: 0.25rem 0.75rem;\n height: 1.5rem;\n margin-top: 0;\n }\n }\n`\n\nconst ThumbnailImage = styled.img`\n width: 128px;\n height: 128px;\n object-fit: contain;\n background: #1a1a1a;\n border-radius: 8px;\n border: 1px solid rgba(255, 255, 255, 0.1);\n padding: 0.25rem;\n`\n\nconst StatsPanel = styled.div`\n width: 300px;\n background: #1a1a1a;\n border-radius: 12px;\n padding: 1.5rem;\n height: 100%;\n overflow: auto;\n box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);\n\n h4 {\n font-size: 1.1rem;\n font-weight: 600;\n margin-bottom: 1.25rem;\n color: #e0e0e0;\n display: flex;\n align-items: center;\n gap: 0.5rem;\n\n svg {\n opacity: 0.7;\n }\n }\n\n .section {\n padding: 1.25rem 0;\n border-bottom: 1px solid rgba(255, 255, 255, 0.08);\n\n &:first-child {\n padding-top: 0;\n }\n\n &:last-child {\n border-bottom: none;\n padding-bottom: 0;\n }\n }\n\n .stats-label {\n color: #a0a0a0;\n font-size: 0.85rem;\n margin-bottom: 0.5rem;\n font-weight: 500;\n }\n\n .stats-value {\n color: white;\n font-weight: 500;\n font-size: 1rem;\n display: flex;\n align-items: center;\n justify-content: space-between;\n\n .text-muted {\n color: #6c757d !important;\n font-size: 0.9rem;\n }\n }\n\n .progress {\n height: 6px;\n background: rgba(255, 255, 255, 0.1);\n margin-top: 0.5rem;\n }\n`\n\nconst HeaderContainer = styled.div<{ $gradient: string }>`\n background: ${(props) => props.$gradient};\n padding: 1rem;\n border-radius: 8px 8px 0 0;\n color: white;\n font-weight: 600;\n font-size: 1.1rem;\n display: flex;\n align-items: center;\n gap: 0.75rem;\n flex-shrink: 0;\n`\n\nconst ContentTabsContainer = styled.div`\n .nav-tabs {\n border: none;\n gap: 0.5rem;\n margin: 0;\n display: flex;\n background: transparent;\n\n .nav-item {\n margin: 0;\n }\n\n .nav-link {\n border: 2px solid transparent;\n background: rgba(255, 255, 255, 0.1);\n color: #a0a0a0;\n border-radius: 8px;\n padding: 0.5rem 0.8rem;\n font-size: 0.9rem;\n transition: all 0.2s ease;\n margin: 0;\n\n &:hover {\n background: rgba(255, 255, 255, 0.15);\n color: #fff;\n }\n\n &.active {\n background: rgba(255, 255, 255, 0.2);\n color: #fff;\n border-color: rgba(255, 255, 255, 0.3);\n }\n\n .badge {\n background: rgba(0, 0, 0, 0.2);\n font-weight: 500;\n font-size: 0.75rem;\n padding: 0.25em 0.6em;\n margin-left: 0.5rem;\n }\n }\n }\n`\n\nconst ContentManagerContainer = styled.div`\n background: #2a2a2a;\n border: none;\n height: 100%;\n display: flex;\n flex-direction: column;\n position: relative;\n\n .table {\n color: #e0e0e0;\n margin-bottom: 0;\n border-collapse: separate;\n border-spacing: 0;\n\n th {\n background: #1a1a1a;\n border: none;\n padding: 1rem 1.25rem;\n font-weight: 600;\n font-size: 0.9rem;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n color: #8c8c8c;\n cursor: pointer;\n transition: color 0.2s ease;\n white-space: nowrap;\n\n &:hover {\n color: #fff;\n }\n\n i {\n margin-left: 0.5rem;\n font-size: 0.8rem;\n }\n }\n\n td {\n background: #2a2a2a;\n padding: 1rem 1.25rem;\n border: none;\n border-bottom: 1px solid rgba(255, 255, 255, 0.05);\n vertical-align: middle;\n font-size: 0.95rem;\n color: #e0e0e0;\n\n .tag-name {\n font-weight: 500;\n color: #fff;\n }\n\n .color-preview {\n display: inline-block;\n width: 20px;\n height: 20px;\n border-radius: 4px;\n margin-right: 0.75rem;\n border: 2px solid rgba(255, 255, 255, 0.1);\n vertical-align: middle;\n }\n\n .hex-color {\n color: #8c8c8c;\n font-family: monospace;\n font-size: 0.9rem;\n }\n\n .badge {\n font-weight: 500;\n font-size: 0.85rem;\n padding: 0.4em 0.8em;\n background: rgba(255, 255, 255, 0.1);\n color: #e0e0e0;\n }\n\n .date {\n color: #8c8c8c;\n font-size: 0.9rem;\n }\n\n .btn-outline-danger {\n padding: 0.5rem 1rem;\n min-width: 100px;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: 0.5rem;\n border: 1px solid rgba(220, 53, 69, 0.5);\n color: #dc3545;\n background: transparent;\n transition: all 0.2s ease;\n border-radius: 4px;\n\n &:hover {\n background: rgba(220, 53, 69, 0.15);\n color: #ff4757;\n border-color: #dc3545;\n }\n\n i {\n font-size: 0.9rem;\n }\n }\n }\n\n tbody tr {\n background: #2a2a2a;\n transition: background-color 0.2s ease;\n\n &:hover {\n background-color: #333;\n td {\n background-color: #333;\n }\n }\n }\n\n .form-check {\n margin: 0;\n\n .form-check-input {\n background-color: #2b3035;\n border-color: #495057;\n cursor: pointer;\n\n &:checked {\n background-color: #0d6efd;\n border-color: #0d6efd;\n }\n\n &:focus {\n box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);\n }\n }\n }\n }\n\n .header-actions {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 1.25rem;\n background: rgba(0, 0, 0, 0.2);\n border-bottom: 1px solid rgba(255, 255, 255, 0.05);\n\n .search-box {\n flex: 1;\n max-width: 300px;\n margin-right: 1rem;\n\n .form-control {\n background-color: #2b3035;\n border-color: #495057;\n color: #fff;\n padding: 0.5rem 1rem;\n font-size: 0.95rem;\n\n &:focus {\n background-color: #2b3035;\n border-color: #86b7fe;\n box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);\n }\n\n &::placeholder {\n color: #6c757d;\n }\n }\n }\n\n .btn {\n padding: 0.5rem 1rem;\n font-weight: 500;\n display: inline-flex;\n align-items: center;\n gap: 0.5rem;\n transition: all 0.2s ease;\n\n &:hover {\n transform: translateY(-1px);\n }\n\n i,\n svg {\n font-size: 0.9rem;\n }\n }\n }\n\n .bulk-actions {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 0.75rem 1.25rem;\n background: rgba(220, 53, 69, 0.15);\n border-bottom: 1px solid rgba(255, 255, 255, 0.05);\n\n span {\n font-size: 0.95rem;\n font-weight: 500;\n }\n\n .btn-danger {\n background-color: transparent;\n border-color: #dc3545;\n color: #dc3545;\n font-weight: 500;\n padding: 0.4rem 0.75rem;\n\n &:hover {\n background-color: #dc3545;\n color: #fff;\n }\n\n i {\n font-size: 0.9rem;\n }\n }\n }\n`\n\ninterface DatasetManageContentProps {\n itemsPerPage: number\n}\n\nconst DatasetManageContent: React.FC = ({ itemsPerPage }) => {\n // Local state\n const [cardSize, setCardSize] = useState(200)\n const [selectedImages, setSelectedImages] = useState([])\n const [showDeleteConfirm, setShowDeleteConfirm] = useState(false)\n const [deleteContent] = useDeleteContentMutation()\n const [sortField, setSortField] = useState('name')\n const [sortDirection, setSortDirection] = useState<'asc' | 'desc'>('asc')\n\n // Redux selectors and dispatch\n const dispatch = useAppDispatch()\n const selectedProjectId = useAppSelector(selectSelectedProjectId)\n const { data: project } = useGetProjectQuery(selectedProjectId || '', { skip: !selectedProjectId })\n const activeTab = useAppSelector(selectActiveTab)\n const selectedFilterTags = useAppSelector(selectFilterTags)\n const annotatedPage = useAppSelector(selectAnnotatedPage)\n const unannotatedPage = useAppSelector(selectUnannotatedPage)\n const datasetSources = useAppSelector(selectDatasetSources)\n\n const { data: annoStats } = useAnnotationStats(selectedProjectId || '', project?.datasetid || '', datasetSources)\n\n const annotatedContentArgs = useMemo(\n () => ({\n project_id: project?.id || '',\n dataset_id: project?.datasetid,\n tag_id:\n selectedFilterTags?.length > 0 && !selectedFilterTags.some((tag) => tag.name === 'Unlabeled')\n ? selectedFilterTags.map((t) => t.id)\n : undefined,\n metadata_filter: datasetSources && datasetSources.length > 0 ? { datasource: datasetSources } : undefined,\n limit: itemsPerPage,\n page: annotatedPage - 1,\n operator: 'and' as const,\n sort_key: sortField,\n sort_val: sortDirection === 'asc' ? 1 : -1,\n }),\n [\n project?.id,\n project?.datasetid,\n selectedFilterTags,\n datasetSources,\n itemsPerPage,\n annotatedPage,\n sortField,\n sortDirection,\n ]\n )\n\n const unannotatedContentArgs = useMemo(\n () => ({\n project_id: project?.id || '',\n dataset_id: undefined,\n metadata_filter: datasetSources && datasetSources.length > 0 ? { datasource: datasetSources } : undefined,\n tag_id:\n selectedFilterTags?.length > 0 && !selectedFilterTags.some((tag) => tag.name === 'Unlabeled')\n ? selectedFilterTags.map((t) => t.id)\n : undefined,\n limit: itemsPerPage,\n page: unannotatedPage - 1,\n operator: 'and' as const,\n sort_key: sortField,\n sort_val: sortDirection === 'asc' ? 1 : -1,\n }),\n [project?.id, datasetSources, selectedFilterTags, itemsPerPage, unannotatedPage, sortField, sortDirection]\n )\n\n const annotatedContentQuery = useMemo(\n () => ({\n skip: activeTab !== 'annotated',\n }),\n [activeTab]\n )\n\n const unannotatedContentQuery = useMemo(\n () => ({\n skip: activeTab !== 'content',\n }),\n [activeTab]\n )\n\n const { data: annotatedContent /* , refetch: refetchAnnotated */ } = useFetchAnnotatedContentQuery(\n annotatedContentArgs,\n {\n ...annotatedContentQuery,\n refetchOnMountOrArgChange: true,\n }\n )\n\n const { data: unannotatedContent /* , refetch: refetchUnannotated */ } = useFetchAnnotatedContentQuery(\n unannotatedContentArgs,\n {\n ...unannotatedContentQuery,\n refetchOnMountOrArgChange: true,\n }\n )\n\n useEffect(() => {\n if (unannotatedContent?.content?.length === 0) {\n dispatch(setActiveTab('annotated'))\n }\n }, [dispatch, unannotatedContent?.content?.length])\n\n // useEffect(() => {\n // const refetchContent = async () => {\n // try {\n // if (activeTab === 'annotated') {\n // await refetchAnnotated()\n // } else if (activeTab === 'content') {\n // await refetchUnannotated()\n // }\n // } catch (error) {\n // console.error('Error refetching content:', error)\n // }\n // }\n // refetchContent()\n // }, [refetchAnnotated, refetchUnannotated, activeTab])\n\n const filteredContent = useMemo(() => {\n const contentToProcess =\n activeTab === 'annotated' ? annotatedContent?.content || [] : unannotatedContent?.content || []\n\n if (activeTab === 'annotated' && selectedFilterTags?.length > 0) {\n return contentToProcess\n .map((content: Content) => ({\n ...content,\n annotation: content.annotation?.map((anno) => ({\n ...anno,\n tagids: anno.tagids || [],\n })) || [\n {\n id: '',\n contentid: content.id,\n created_at: content.created_at,\n datasetid: project?.datasetid,\n projectid: content.projectid,\n split: '',\n tagids: [],\n updated_at: content.updated_at,\n userid: content.userid,\n metadata: {},\n },\n ],\n }))\n .filter((content) => {\n const hasUnlabeledTag = selectedFilterTags.some((tag) => tag.name === 'Unlabeled')\n if (hasUnlabeledTag) {\n return (\n content.annotation?.[0] && (!content.annotation[0].tagids || content.annotation[0].tagids.length === 0)\n )\n }\n const contentTagIds = content.annotation?.[0]?.tagids || []\n const selectedTagIds = selectedFilterTags.map((t) => t.id)\n return contentTagIds.some((tagId) => selectedTagIds.includes(tagId))\n })\n }\n return contentToProcess.map((content: Content) => ({\n ...content,\n annotation: content.annotation?.map((anno) => ({\n ...anno,\n tagids: anno.tagids || [],\n })) || [\n {\n id: '',\n contentid: content.id,\n created_at: content.created_at,\n datasetid: undefined,\n projectid: content.projectid,\n split: '',\n tagids: [],\n updated_at: content.updated_at,\n userid: content.userid,\n metadata: {},\n },\n ],\n }))\n }, [\n activeTab,\n annotatedContent?.content,\n unannotatedContent?.content,\n selectedFilterTags,\n project?.datasetid,\n ]) as Content[]\n\n const handlePageChange = (pageNumber: number) => {\n if (activeTab === 'annotated') {\n const numAnnotated = annotatedContent?.count || 0\n const newPage =\n pageNumber >= 0 && pageNumber < Math.trunc(annoStats?.statistics.total_annotated_images || 0 / itemsPerPage) + 1\n ? pageNumber\n : Math.trunc(numAnnotated / itemsPerPage) + 1\n dispatch(setAnnotatedPage(newPage))\n } else {\n const numUnannotated = unannotatedContent?.count || 0\n const newPage =\n pageNumber >= 0 &&\n pageNumber < Math.trunc(annoStats?.statistics.total_unannotated_images || 0 / itemsPerPage) + 1\n ? pageNumber\n : Math.trunc(numUnannotated / itemsPerPage) + 1\n dispatch(setUnannotatedPage(newPage))\n }\n }\n\n // Add tab handling functions\n const handleTabSelect = (key: string | null) => {\n if (key === 'content') {\n dispatch(setActiveTab('content' as ActiveTab))\n } else if (key === 'annotated') {\n dispatch(setActiveTab('annotated' as ActiveTab))\n }\n }\n\n const renderTabTitle = (title: string, count: number | null = null) => (\n
\n {title}\n {count !== null && {count}}\n
\n )\n\n // Selection handlers\n const handleImageClick = (content: Content) => {\n setSelectedImages((prev) => {\n const isSelected = prev.some((img) => img.id === content.id)\n if (isSelected) {\n return prev.filter((img) => img.id !== content.id)\n } else {\n return [...prev, content]\n }\n })\n }\n\n const handleSelectAll = () => {\n setSelectedImages(filteredContent || [])\n }\n\n const handleDeselectAll = () => {\n setSelectedImages([])\n }\n\n const handleInvertSelection = () => {\n if (!filteredContent) return\n const newSelection = filteredContent.filter(\n (content) => !selectedImages.some((selected) => selected.id === content.id)\n )\n setSelectedImages(newSelection)\n }\n\n const handleDelete = async () => {\n if (selectedImages.length > 0) {\n try {\n await deleteContent({\n project_id: selectedProjectId || '',\n dataset_id: project?.datasetid || '',\n content_ids: selectedImages.map((img) => img.id),\n })\n setSelectedImages([])\n dispatch(annotationsApi.util.invalidateTags([apiTags.Annotation, apiTags.AnnotationStats]))\n dispatch(contentApi.util.invalidateTags([apiTags.Content]))\n } catch (error) {\n console.error('Failed to delete content:', error)\n }\n }\n setShowDeleteConfirm(false)\n }\n\n // Add sort handler\n const handleSort = (field: string) => {\n if (sortField === field) {\n setSortDirection(sortDirection === 'asc' ? 'desc' : 'asc')\n } else {\n setSortField(field)\n setSortDirection('asc')\n }\n }\n\n // Sort content\n const sortedContent = useMemo(() => {\n if (!filteredContent) return []\n\n return [...filteredContent].sort((a, b) => {\n let comparison = 0\n\n switch (sortField) {\n case 'name':\n comparison = a.name.localeCompare(b.name)\n break\n case 'size':\n // Sort by total pixels (width * height)\n comparison = a.width * a.height - b.width * b.height\n break\n case 'datasource':\n comparison = (a.metadata?.datasource || '').localeCompare(b.metadata?.datasource || '')\n break\n default:\n comparison = 0\n }\n\n return sortDirection === 'asc' ? comparison : -comparison\n })\n }, [filteredContent, sortField, sortDirection])\n\n const gradient = `linear-gradient(${Math.floor(Math.random() * 360)}deg, #402563, #114ee0)`\n return (\n \n \n \n Content Management\n \n \n \n \n \n \n \n \n \n setCardSize(size)}\n />\n \n \n\n \n \n {filteredContent?.length === 0 ? (\n
\n \n
\n ) : sortedContent?.length > 0 ? (\n \n \n \n \n (e.target.checked ? handleSelectAll() : handleDeselectAll())}\n />\n \n Image\n {/* handleSort('name')}>\n Name\n {sortField === 'name' && (\n \n )}\n */}\n handleSort('size')}>\n Image Size\n {sortField === 'size' && }\n \n handleSort('datasource')}>\n Source\n {sortField === 'datasource' && }\n \n Annotations\n \n \n \n {sortedContent.map((content: Content) => (\n img.id === content.id) ? 'selected' : ''}\n onClick={() => handleImageClick(content)}\n >\n \n img.id === content.id)}\n onChange={(e) => e.stopPropagation()}\n onClick={(e) => {\n e.stopPropagation()\n handleImageClick(content)\n }}\n />\n \n \n \n \n {/* {content.name} */}\n {`${content.width}×${content.height}`}\n \n {content.metadata?.datasource && (\n \n )}\n \n \n {project?.annotation_type === 'classification' && content.annotation?.[0] && (\n \n )}\n {project?.annotation_type === 'bounding_box' && content.annotation?.[0] && (\n \n )}\n \n \n ))}\n \n \n ) : (\n
\n

No content available.

\n
\n )}\n
\n\n {selectedImages.length > 0 && (\n \n \n \n )}\n
\n\n setShowDeleteConfirm(false)}\n onConfirm={handleDelete}\n title=\"Delete Content\"\n message={`Are you sure you want to delete ${selectedImages.length} selected image${\n selectedImages.length !== 1 ? 's' : ''\n }? This action cannot be undone.`}\n confirmText=\"Delete\"\n cancelText=\"Cancel\"\n variant=\"danger\"\n />\n
\n )\n}\n\nexport default DatasetManageContent\n","/*!\n * Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com\n * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)\n * Copyright 2024 Fonticons, Inc.\n */\nfunction _defineProperty(e, r, t) {\n return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[r] = t, e;\n}\nfunction _inherits(t, e) {\n if (\"function\" != typeof e && null !== e) throw new TypeError(\"Super expression must either be null or a function\");\n t.prototype = Object.create(e && e.prototype, {\n constructor: {\n value: t,\n writable: !0,\n configurable: !0\n }\n }), Object.defineProperty(t, \"prototype\", {\n writable: !1\n }), e && _setPrototypeOf(t, e);\n}\nfunction ownKeys(e, r) {\n var t = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r && (o = o.filter(function (r) {\n return Object.getOwnPropertyDescriptor(e, r).enumerable;\n })), t.push.apply(t, o);\n }\n return t;\n}\nfunction _objectSpread2(e) {\n for (var r = 1; r < arguments.length; r++) {\n var t = null != arguments[r] ? arguments[r] : {};\n r % 2 ? ownKeys(Object(t), !0).forEach(function (r) {\n _defineProperty(e, r, t[r]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {\n Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));\n });\n }\n return e;\n}\nfunction _setPrototypeOf(t, e) {\n return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) {\n return t.__proto__ = e, t;\n }, _setPrototypeOf(t, e);\n}\nfunction _toPrimitive(t, r) {\n if (\"object\" != typeof t || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nfunction _toPropertyKey(t) {\n var i = _toPrimitive(t, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n}\nfunction _wrapRegExp() {\n _wrapRegExp = function (e, r) {\n return new BabelRegExp(e, void 0, r);\n };\n var e = RegExp.prototype,\n r = new WeakMap();\n function BabelRegExp(e, t, p) {\n var o = RegExp(e, t);\n return r.set(o, p || r.get(e)), _setPrototypeOf(o, BabelRegExp.prototype);\n }\n function buildGroups(e, t) {\n var p = r.get(t);\n return Object.keys(p).reduce(function (r, t) {\n var o = p[t];\n if (\"number\" == typeof o) r[t] = e[o];else {\n for (var i = 0; void 0 === e[o[i]] && i + 1 < o.length;) i++;\n r[t] = e[o[i]];\n }\n return r;\n }, Object.create(null));\n }\n return _inherits(BabelRegExp, RegExp), BabelRegExp.prototype.exec = function (r) {\n var t = e.exec.call(this, r);\n if (t) {\n t.groups = buildGroups(t, this);\n var p = t.indices;\n p && (p.groups = buildGroups(p, this));\n }\n return t;\n }, BabelRegExp.prototype[Symbol.replace] = function (t, p) {\n if (\"string\" == typeof p) {\n var o = r.get(this);\n return e[Symbol.replace].call(this, t, p.replace(/\\$<([^>]+)>/g, function (e, r) {\n var t = o[r];\n return \"$\" + (Array.isArray(t) ? t.join(\"$\") : t);\n }));\n }\n if (\"function\" == typeof p) {\n var i = this;\n return e[Symbol.replace].call(this, t, function () {\n var e = arguments;\n return \"object\" != typeof e[e.length - 1] && (e = [].slice.call(e)).push(buildGroups(e, i)), p.apply(this, e);\n });\n }\n return e[Symbol.replace].call(this, t, p);\n }, _wrapRegExp.apply(this, arguments);\n}\n\nconst noop = () => {};\nlet _WINDOW = {};\nlet _DOCUMENT = {};\nlet _MUTATION_OBSERVER = null;\nlet _PERFORMANCE = {\n mark: noop,\n measure: noop\n};\ntry {\n if (typeof window !== 'undefined') _WINDOW = window;\n if (typeof document !== 'undefined') _DOCUMENT = document;\n if (typeof MutationObserver !== 'undefined') _MUTATION_OBSERVER = MutationObserver;\n if (typeof performance !== 'undefined') _PERFORMANCE = performance;\n} catch (e) {}\nconst {\n userAgent = ''\n} = _WINDOW.navigator || {};\nconst WINDOW = _WINDOW;\nconst DOCUMENT = _DOCUMENT;\nconst MUTATION_OBSERVER = _MUTATION_OBSERVER;\nconst PERFORMANCE = _PERFORMANCE;\nconst IS_BROWSER = !!WINDOW.document;\nconst IS_DOM = !!DOCUMENT.documentElement && !!DOCUMENT.head && typeof DOCUMENT.addEventListener === 'function' && typeof DOCUMENT.createElement === 'function';\nconst IS_IE = ~userAgent.indexOf('MSIE') || ~userAgent.indexOf('Trident/');\n\nvar p = /fa(s|r|l|t|d|dr|dl|dt|b|k|kd|ss|sr|sl|st|sds|sdr|sdl|sdt)?[\\-\\ ]/,\n g = /Font ?Awesome ?([56 ]*)(Solid|Regular|Light|Thin|Duotone|Brands|Free|Pro|Sharp Duotone|Sharp|Kit)?.*/i;\nvar S = {\n classic: {\n fa: \"solid\",\n fas: \"solid\",\n \"fa-solid\": \"solid\",\n far: \"regular\",\n \"fa-regular\": \"regular\",\n fal: \"light\",\n \"fa-light\": \"light\",\n fat: \"thin\",\n \"fa-thin\": \"thin\",\n fab: \"brands\",\n \"fa-brands\": \"brands\"\n },\n duotone: {\n fa: \"solid\",\n fad: \"solid\",\n \"fa-solid\": \"solid\",\n \"fa-duotone\": \"solid\",\n fadr: \"regular\",\n \"fa-regular\": \"regular\",\n fadl: \"light\",\n \"fa-light\": \"light\",\n fadt: \"thin\",\n \"fa-thin\": \"thin\"\n },\n sharp: {\n fa: \"solid\",\n fass: \"solid\",\n \"fa-solid\": \"solid\",\n fasr: \"regular\",\n \"fa-regular\": \"regular\",\n fasl: \"light\",\n \"fa-light\": \"light\",\n fast: \"thin\",\n \"fa-thin\": \"thin\"\n },\n \"sharp-duotone\": {\n fa: \"solid\",\n fasds: \"solid\",\n \"fa-solid\": \"solid\",\n fasdr: \"regular\",\n \"fa-regular\": \"regular\",\n fasdl: \"light\",\n \"fa-light\": \"light\",\n fasdt: \"thin\",\n \"fa-thin\": \"thin\"\n }\n },\n A = {\n GROUP: \"duotone-group\",\n SWAP_OPACITY: \"swap-opacity\",\n PRIMARY: \"primary\",\n SECONDARY: \"secondary\"\n },\n P = [\"fa-classic\", \"fa-duotone\", \"fa-sharp\", \"fa-sharp-duotone\"];\nvar s = \"classic\",\n t = \"duotone\",\n r = \"sharp\",\n o = \"sharp-duotone\",\n L = [s, t, r, o];\nvar G = {\n classic: {\n 900: \"fas\",\n 400: \"far\",\n normal: \"far\",\n 300: \"fal\",\n 100: \"fat\"\n },\n duotone: {\n 900: \"fad\",\n 400: \"fadr\",\n 300: \"fadl\",\n 100: \"fadt\"\n },\n sharp: {\n 900: \"fass\",\n 400: \"fasr\",\n 300: \"fasl\",\n 100: \"fast\"\n },\n \"sharp-duotone\": {\n 900: \"fasds\",\n 400: \"fasdr\",\n 300: \"fasdl\",\n 100: \"fasdt\"\n }\n };\nvar lt = {\n \"Font Awesome 6 Free\": {\n 900: \"fas\",\n 400: \"far\"\n },\n \"Font Awesome 6 Pro\": {\n 900: \"fas\",\n 400: \"far\",\n normal: \"far\",\n 300: \"fal\",\n 100: \"fat\"\n },\n \"Font Awesome 6 Brands\": {\n 400: \"fab\",\n normal: \"fab\"\n },\n \"Font Awesome 6 Duotone\": {\n 900: \"fad\",\n 400: \"fadr\",\n normal: \"fadr\",\n 300: \"fadl\",\n 100: \"fadt\"\n },\n \"Font Awesome 6 Sharp\": {\n 900: \"fass\",\n 400: \"fasr\",\n normal: \"fasr\",\n 300: \"fasl\",\n 100: \"fast\"\n },\n \"Font Awesome 6 Sharp Duotone\": {\n 900: \"fasds\",\n 400: \"fasdr\",\n normal: \"fasdr\",\n 300: \"fasdl\",\n 100: \"fasdt\"\n }\n };\nvar pt = new Map([[\"classic\", {\n defaultShortPrefixId: \"fas\",\n defaultStyleId: \"solid\",\n styleIds: [\"solid\", \"regular\", \"light\", \"thin\", \"brands\"],\n futureStyleIds: [],\n defaultFontWeight: 900\n }], [\"sharp\", {\n defaultShortPrefixId: \"fass\",\n defaultStyleId: \"solid\",\n styleIds: [\"solid\", \"regular\", \"light\", \"thin\"],\n futureStyleIds: [],\n defaultFontWeight: 900\n }], [\"duotone\", {\n defaultShortPrefixId: \"fad\",\n defaultStyleId: \"solid\",\n styleIds: [\"solid\", \"regular\", \"light\", \"thin\"],\n futureStyleIds: [],\n defaultFontWeight: 900\n }], [\"sharp-duotone\", {\n defaultShortPrefixId: \"fasds\",\n defaultStyleId: \"solid\",\n styleIds: [\"solid\", \"regular\", \"light\", \"thin\"],\n futureStyleIds: [],\n defaultFontWeight: 900\n }]]),\n xt = {\n classic: {\n solid: \"fas\",\n regular: \"far\",\n light: \"fal\",\n thin: \"fat\",\n brands: \"fab\"\n },\n duotone: {\n solid: \"fad\",\n regular: \"fadr\",\n light: \"fadl\",\n thin: \"fadt\"\n },\n sharp: {\n solid: \"fass\",\n regular: \"fasr\",\n light: \"fasl\",\n thin: \"fast\"\n },\n \"sharp-duotone\": {\n solid: \"fasds\",\n regular: \"fasdr\",\n light: \"fasdl\",\n thin: \"fasdt\"\n }\n };\nvar Ft = [\"fak\", \"fa-kit\", \"fakd\", \"fa-kit-duotone\"],\n St = {\n kit: {\n fak: \"kit\",\n \"fa-kit\": \"kit\"\n },\n \"kit-duotone\": {\n fakd: \"kit-duotone\",\n \"fa-kit-duotone\": \"kit-duotone\"\n }\n },\n At = [\"kit\"];\nvar Ct = {\n kit: {\n \"fa-kit\": \"fak\"\n },\n \"kit-duotone\": {\n \"fa-kit-duotone\": \"fakd\"\n }\n};\nvar Lt = [\"fak\", \"fakd\"],\n Wt = {\n kit: {\n fak: \"fa-kit\"\n },\n \"kit-duotone\": {\n fakd: \"fa-kit-duotone\"\n }\n };\nvar Et = {\n kit: {\n kit: \"fak\"\n },\n \"kit-duotone\": {\n \"kit-duotone\": \"fakd\"\n }\n };\n\nvar t$1 = {\n GROUP: \"duotone-group\",\n SWAP_OPACITY: \"swap-opacity\",\n PRIMARY: \"primary\",\n SECONDARY: \"secondary\"\n },\n r$1 = [\"fa-classic\", \"fa-duotone\", \"fa-sharp\", \"fa-sharp-duotone\"];\nvar bt$1 = [\"fak\", \"fa-kit\", \"fakd\", \"fa-kit-duotone\"];\nvar Yt = {\n \"Font Awesome Kit\": {\n 400: \"fak\",\n normal: \"fak\"\n },\n \"Font Awesome Kit Duotone\": {\n 400: \"fakd\",\n normal: \"fakd\"\n }\n };\nvar ua = {\n classic: {\n \"fa-brands\": \"fab\",\n \"fa-duotone\": \"fad\",\n \"fa-light\": \"fal\",\n \"fa-regular\": \"far\",\n \"fa-solid\": \"fas\",\n \"fa-thin\": \"fat\"\n },\n duotone: {\n \"fa-regular\": \"fadr\",\n \"fa-light\": \"fadl\",\n \"fa-thin\": \"fadt\"\n },\n sharp: {\n \"fa-solid\": \"fass\",\n \"fa-regular\": \"fasr\",\n \"fa-light\": \"fasl\",\n \"fa-thin\": \"fast\"\n },\n \"sharp-duotone\": {\n \"fa-solid\": \"fasds\",\n \"fa-regular\": \"fasdr\",\n \"fa-light\": \"fasdl\",\n \"fa-thin\": \"fasdt\"\n }\n },\n I$1 = {\n classic: [\"fas\", \"far\", \"fal\", \"fat\", \"fad\"],\n duotone: [\"fadr\", \"fadl\", \"fadt\"],\n sharp: [\"fass\", \"fasr\", \"fasl\", \"fast\"],\n \"sharp-duotone\": [\"fasds\", \"fasdr\", \"fasdl\", \"fasdt\"]\n },\n ga = {\n classic: {\n fab: \"fa-brands\",\n fad: \"fa-duotone\",\n fal: \"fa-light\",\n far: \"fa-regular\",\n fas: \"fa-solid\",\n fat: \"fa-thin\"\n },\n duotone: {\n fadr: \"fa-regular\",\n fadl: \"fa-light\",\n fadt: \"fa-thin\"\n },\n sharp: {\n fass: \"fa-solid\",\n fasr: \"fa-regular\",\n fasl: \"fa-light\",\n fast: \"fa-thin\"\n },\n \"sharp-duotone\": {\n fasds: \"fa-solid\",\n fasdr: \"fa-regular\",\n fasdl: \"fa-light\",\n fasdt: \"fa-thin\"\n }\n },\n x = [\"fa-solid\", \"fa-regular\", \"fa-light\", \"fa-thin\", \"fa-duotone\", \"fa-brands\"],\n Ia = [\"fa\", \"fas\", \"far\", \"fal\", \"fat\", \"fad\", \"fadr\", \"fadl\", \"fadt\", \"fab\", \"fass\", \"fasr\", \"fasl\", \"fast\", \"fasds\", \"fasdr\", \"fasdl\", \"fasdt\", ...r$1, ...x],\n m$1 = [\"solid\", \"regular\", \"light\", \"thin\", \"duotone\", \"brands\"],\n c$1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],\n F$1 = c$1.concat([11, 12, 13, 14, 15, 16, 17, 18, 19, 20]),\n ma = [...Object.keys(I$1), ...m$1, \"2xs\", \"xs\", \"sm\", \"lg\", \"xl\", \"2xl\", \"beat\", \"border\", \"fade\", \"beat-fade\", \"bounce\", \"flip-both\", \"flip-horizontal\", \"flip-vertical\", \"flip\", \"fw\", \"inverse\", \"layers-counter\", \"layers-text\", \"layers\", \"li\", \"pull-left\", \"pull-right\", \"pulse\", \"rotate-180\", \"rotate-270\", \"rotate-90\", \"rotate-by\", \"shake\", \"spin-pulse\", \"spin-reverse\", \"spin\", \"stack-1x\", \"stack-2x\", \"stack\", \"ul\", t$1.GROUP, t$1.SWAP_OPACITY, t$1.PRIMARY, t$1.SECONDARY].concat(c$1.map(a => \"\".concat(a, \"x\"))).concat(F$1.map(a => \"w-\".concat(a)));\nvar wa = {\n \"Font Awesome 5 Free\": {\n 900: \"fas\",\n 400: \"far\"\n },\n \"Font Awesome 5 Pro\": {\n 900: \"fas\",\n 400: \"far\",\n normal: \"far\",\n 300: \"fal\"\n },\n \"Font Awesome 5 Brands\": {\n 400: \"fab\",\n normal: \"fab\"\n },\n \"Font Awesome 5 Duotone\": {\n 900: \"fad\"\n }\n };\n\nconst NAMESPACE_IDENTIFIER = '___FONT_AWESOME___';\nconst UNITS_IN_GRID = 16;\nconst DEFAULT_CSS_PREFIX = 'fa';\nconst DEFAULT_REPLACEMENT_CLASS = 'svg-inline--fa';\nconst DATA_FA_I2SVG = 'data-fa-i2svg';\nconst DATA_FA_PSEUDO_ELEMENT = 'data-fa-pseudo-element';\nconst DATA_FA_PSEUDO_ELEMENT_PENDING = 'data-fa-pseudo-element-pending';\nconst DATA_PREFIX = 'data-prefix';\nconst DATA_ICON = 'data-icon';\nconst HTML_CLASS_I2SVG_BASE_CLASS = 'fontawesome-i2svg';\nconst MUTATION_APPROACH_ASYNC = 'async';\nconst TAGNAMES_TO_SKIP_FOR_PSEUDOELEMENTS = ['HTML', 'HEAD', 'STYLE', 'SCRIPT'];\nconst PRODUCTION = (() => {\n try {\n return process.env.NODE_ENV === 'production';\n } catch (e$$1) {\n return false;\n }\n})();\nfunction familyProxy(obj) {\n // Defaults to the classic family if family is not available\n return new Proxy(obj, {\n get(target, prop) {\n return prop in target ? target[prop] : target[s];\n }\n });\n}\nconst _PREFIX_TO_STYLE = _objectSpread2({}, S);\n\n// We changed FACSSClassesToStyleId in the icons repo to be canonical and as such, \"classic\" family does not have any\n// duotone styles. But we do still need duotone in _PREFIX_TO_STYLE below, so we are manually adding\n// {'fa-duotone': 'duotone'}\n_PREFIX_TO_STYLE[s] = _objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2({}, {\n 'fa-duotone': 'duotone'\n}), S[s]), St['kit']), St['kit-duotone']);\nconst PREFIX_TO_STYLE = familyProxy(_PREFIX_TO_STYLE);\nconst _STYLE_TO_PREFIX = _objectSpread2({}, xt);\n\n// We changed FAStyleIdToShortPrefixId in the icons repo to be canonical and as such, \"classic\" family does not have any\n// duotone styles. But we do still need duotone in _STYLE_TO_PREFIX below, so we are manually adding {duotone: 'fad'}\n_STYLE_TO_PREFIX[s] = _objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2({}, {\n duotone: 'fad'\n}), _STYLE_TO_PREFIX[s]), Et['kit']), Et['kit-duotone']);\nconst STYLE_TO_PREFIX = familyProxy(_STYLE_TO_PREFIX);\nconst _PREFIX_TO_LONG_STYLE = _objectSpread2({}, ga);\n_PREFIX_TO_LONG_STYLE[s] = _objectSpread2(_objectSpread2({}, _PREFIX_TO_LONG_STYLE[s]), Wt['kit']);\nconst PREFIX_TO_LONG_STYLE = familyProxy(_PREFIX_TO_LONG_STYLE);\nconst _LONG_STYLE_TO_PREFIX = _objectSpread2({}, ua);\n_LONG_STYLE_TO_PREFIX[s] = _objectSpread2(_objectSpread2({}, _LONG_STYLE_TO_PREFIX[s]), Ct['kit']);\nconst LONG_STYLE_TO_PREFIX = familyProxy(_LONG_STYLE_TO_PREFIX);\nconst ICON_SELECTION_SYNTAX_PATTERN = p; // eslint-disable-line no-useless-escape\n\nconst LAYERS_TEXT_CLASSNAME = 'fa-layers-text';\nconst FONT_FAMILY_PATTERN = g;\nconst _FONT_WEIGHT_TO_PREFIX = _objectSpread2({}, G);\nconst FONT_WEIGHT_TO_PREFIX = familyProxy(_FONT_WEIGHT_TO_PREFIX);\nconst ATTRIBUTES_WATCHED_FOR_MUTATION = ['class', 'data-prefix', 'data-icon', 'data-fa-transform', 'data-fa-mask'];\nconst DUOTONE_CLASSES = A;\nconst RESERVED_CLASSES = [...At, ...ma];\n\nconst initial = WINDOW.FontAwesomeConfig || {};\nfunction getAttrConfig(attr) {\n var element = DOCUMENT.querySelector('script[' + attr + ']');\n if (element) {\n return element.getAttribute(attr);\n }\n}\nfunction coerce(val) {\n // Getting an empty string will occur if the attribute is set on the HTML tag but without a value\n // We'll assume that this is an indication that it should be toggled to true\n if (val === '') return true;\n if (val === 'false') return false;\n if (val === 'true') return true;\n return val;\n}\nif (DOCUMENT && typeof DOCUMENT.querySelector === 'function') {\n const attrs = [['data-family-prefix', 'familyPrefix'], ['data-css-prefix', 'cssPrefix'], ['data-family-default', 'familyDefault'], ['data-style-default', 'styleDefault'], ['data-replacement-class', 'replacementClass'], ['data-auto-replace-svg', 'autoReplaceSvg'], ['data-auto-add-css', 'autoAddCss'], ['data-auto-a11y', 'autoA11y'], ['data-search-pseudo-elements', 'searchPseudoElements'], ['data-observe-mutations', 'observeMutations'], ['data-mutate-approach', 'mutateApproach'], ['data-keep-original-source', 'keepOriginalSource'], ['data-measure-performance', 'measurePerformance'], ['data-show-missing-icons', 'showMissingIcons']];\n attrs.forEach(_ref => {\n let [attr, key] = _ref;\n const val = coerce(getAttrConfig(attr));\n if (val !== undefined && val !== null) {\n initial[key] = val;\n }\n });\n}\nconst _default = {\n styleDefault: 'solid',\n familyDefault: s,\n cssPrefix: DEFAULT_CSS_PREFIX,\n replacementClass: DEFAULT_REPLACEMENT_CLASS,\n autoReplaceSvg: true,\n autoAddCss: true,\n autoA11y: true,\n searchPseudoElements: false,\n observeMutations: true,\n mutateApproach: 'async',\n keepOriginalSource: true,\n measurePerformance: false,\n showMissingIcons: true\n};\n\n// familyPrefix is deprecated but we must still support it if present\nif (initial.familyPrefix) {\n initial.cssPrefix = initial.familyPrefix;\n}\nconst _config = _objectSpread2(_objectSpread2({}, _default), initial);\nif (!_config.autoReplaceSvg) _config.observeMutations = false;\nconst config = {};\nObject.keys(_default).forEach(key => {\n Object.defineProperty(config, key, {\n enumerable: true,\n set: function (val) {\n _config[key] = val;\n _onChangeCb.forEach(cb => cb(config));\n },\n get: function () {\n return _config[key];\n }\n });\n});\n\n// familyPrefix is deprecated as of 6.2.0 and should be removed in 7.0.0\nObject.defineProperty(config, 'familyPrefix', {\n enumerable: true,\n set: function (val) {\n _config.cssPrefix = val;\n _onChangeCb.forEach(cb => cb(config));\n },\n get: function () {\n return _config.cssPrefix;\n }\n});\nWINDOW.FontAwesomeConfig = config;\nconst _onChangeCb = [];\nfunction onChange(cb) {\n _onChangeCb.push(cb);\n return () => {\n _onChangeCb.splice(_onChangeCb.indexOf(cb), 1);\n };\n}\n\nconst d$2 = UNITS_IN_GRID;\nconst meaninglessTransform = {\n size: 16,\n x: 0,\n y: 0,\n rotate: 0,\n flipX: false,\n flipY: false\n};\nfunction insertCss(css) {\n if (!css || !IS_DOM) {\n return;\n }\n const style = DOCUMENT.createElement('style');\n style.setAttribute('type', 'text/css');\n style.innerHTML = css;\n const headChildren = DOCUMENT.head.childNodes;\n let beforeChild = null;\n for (let i = headChildren.length - 1; i > -1; i--) {\n const child = headChildren[i];\n const tagName = (child.tagName || '').toUpperCase();\n if (['STYLE', 'LINK'].indexOf(tagName) > -1) {\n beforeChild = child;\n }\n }\n DOCUMENT.head.insertBefore(style, beforeChild);\n return css;\n}\nconst idPool = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';\nfunction nextUniqueId() {\n let size = 12;\n let id = '';\n while (size-- > 0) {\n id += idPool[Math.random() * 62 | 0];\n }\n return id;\n}\nfunction toArray(obj) {\n const array = [];\n for (let i = (obj || []).length >>> 0; i--;) {\n array[i] = obj[i];\n }\n return array;\n}\nfunction classArray(node) {\n if (node.classList) {\n return toArray(node.classList);\n } else {\n return (node.getAttribute('class') || '').split(' ').filter(i => i);\n }\n}\nfunction htmlEscape(str) {\n return \"\".concat(str).replace(/&/g, '&').replace(/\"/g, '"').replace(/'/g, ''').replace(//g, '>');\n}\nfunction joinAttributes(attributes) {\n return Object.keys(attributes || {}).reduce((acc, attributeName) => {\n return acc + \"\".concat(attributeName, \"=\\\"\").concat(htmlEscape(attributes[attributeName]), \"\\\" \");\n }, '').trim();\n}\nfunction joinStyles(styles) {\n return Object.keys(styles || {}).reduce((acc, styleName) => {\n return acc + \"\".concat(styleName, \": \").concat(styles[styleName].trim(), \";\");\n }, '');\n}\nfunction transformIsMeaningful(transform) {\n return transform.size !== meaninglessTransform.size || transform.x !== meaninglessTransform.x || transform.y !== meaninglessTransform.y || transform.rotate !== meaninglessTransform.rotate || transform.flipX || transform.flipY;\n}\nfunction transformForSvg(_ref) {\n let {\n transform,\n containerWidth,\n iconWidth\n } = _ref;\n const outer = {\n transform: \"translate(\".concat(containerWidth / 2, \" 256)\")\n };\n const innerTranslate = \"translate(\".concat(transform.x * 32, \", \").concat(transform.y * 32, \") \");\n const innerScale = \"scale(\".concat(transform.size / 16 * (transform.flipX ? -1 : 1), \", \").concat(transform.size / 16 * (transform.flipY ? -1 : 1), \") \");\n const innerRotate = \"rotate(\".concat(transform.rotate, \" 0 0)\");\n const inner = {\n transform: \"\".concat(innerTranslate, \" \").concat(innerScale, \" \").concat(innerRotate)\n };\n const path = {\n transform: \"translate(\".concat(iconWidth / 2 * -1, \" -256)\")\n };\n return {\n outer,\n inner,\n path\n };\n}\nfunction transformForCss(_ref2) {\n let {\n transform,\n width = UNITS_IN_GRID,\n height = UNITS_IN_GRID,\n startCentered = false\n } = _ref2;\n let val = '';\n if (startCentered && IS_IE) {\n val += \"translate(\".concat(transform.x / d$2 - width / 2, \"em, \").concat(transform.y / d$2 - height / 2, \"em) \");\n } else if (startCentered) {\n val += \"translate(calc(-50% + \".concat(transform.x / d$2, \"em), calc(-50% + \").concat(transform.y / d$2, \"em)) \");\n } else {\n val += \"translate(\".concat(transform.x / d$2, \"em, \").concat(transform.y / d$2, \"em) \");\n }\n val += \"scale(\".concat(transform.size / d$2 * (transform.flipX ? -1 : 1), \", \").concat(transform.size / d$2 * (transform.flipY ? -1 : 1), \") \");\n val += \"rotate(\".concat(transform.rotate, \"deg) \");\n return val;\n}\n\nvar baseStyles = \":root, :host {\\n --fa-font-solid: normal 900 1em/1 \\\"Font Awesome 6 Free\\\";\\n --fa-font-regular: normal 400 1em/1 \\\"Font Awesome 6 Free\\\";\\n --fa-font-light: normal 300 1em/1 \\\"Font Awesome 6 Pro\\\";\\n --fa-font-thin: normal 100 1em/1 \\\"Font Awesome 6 Pro\\\";\\n --fa-font-duotone: normal 900 1em/1 \\\"Font Awesome 6 Duotone\\\";\\n --fa-font-duotone-regular: normal 400 1em/1 \\\"Font Awesome 6 Duotone\\\";\\n --fa-font-duotone-light: normal 300 1em/1 \\\"Font Awesome 6 Duotone\\\";\\n --fa-font-duotone-thin: normal 100 1em/1 \\\"Font Awesome 6 Duotone\\\";\\n --fa-font-brands: normal 400 1em/1 \\\"Font Awesome 6 Brands\\\";\\n --fa-font-sharp-solid: normal 900 1em/1 \\\"Font Awesome 6 Sharp\\\";\\n --fa-font-sharp-regular: normal 400 1em/1 \\\"Font Awesome 6 Sharp\\\";\\n --fa-font-sharp-light: normal 300 1em/1 \\\"Font Awesome 6 Sharp\\\";\\n --fa-font-sharp-thin: normal 100 1em/1 \\\"Font Awesome 6 Sharp\\\";\\n --fa-font-sharp-duotone-solid: normal 900 1em/1 \\\"Font Awesome 6 Sharp Duotone\\\";\\n --fa-font-sharp-duotone-regular: normal 400 1em/1 \\\"Font Awesome 6 Sharp Duotone\\\";\\n --fa-font-sharp-duotone-light: normal 300 1em/1 \\\"Font Awesome 6 Sharp Duotone\\\";\\n --fa-font-sharp-duotone-thin: normal 100 1em/1 \\\"Font Awesome 6 Sharp Duotone\\\";\\n}\\n\\nsvg:not(:root).svg-inline--fa, svg:not(:host).svg-inline--fa {\\n overflow: visible;\\n box-sizing: content-box;\\n}\\n\\n.svg-inline--fa {\\n display: var(--fa-display, inline-block);\\n height: 1em;\\n overflow: visible;\\n vertical-align: -0.125em;\\n}\\n.svg-inline--fa.fa-2xs {\\n vertical-align: 0.1em;\\n}\\n.svg-inline--fa.fa-xs {\\n vertical-align: 0em;\\n}\\n.svg-inline--fa.fa-sm {\\n vertical-align: -0.0714285705em;\\n}\\n.svg-inline--fa.fa-lg {\\n vertical-align: -0.2em;\\n}\\n.svg-inline--fa.fa-xl {\\n vertical-align: -0.25em;\\n}\\n.svg-inline--fa.fa-2xl {\\n vertical-align: -0.3125em;\\n}\\n.svg-inline--fa.fa-pull-left {\\n margin-right: var(--fa-pull-margin, 0.3em);\\n width: auto;\\n}\\n.svg-inline--fa.fa-pull-right {\\n margin-left: var(--fa-pull-margin, 0.3em);\\n width: auto;\\n}\\n.svg-inline--fa.fa-li {\\n width: var(--fa-li-width, 2em);\\n top: 0.25em;\\n}\\n.svg-inline--fa.fa-fw {\\n width: var(--fa-fw-width, 1.25em);\\n}\\n\\n.fa-layers svg.svg-inline--fa {\\n bottom: 0;\\n left: 0;\\n margin: auto;\\n position: absolute;\\n right: 0;\\n top: 0;\\n}\\n\\n.fa-layers-counter, .fa-layers-text {\\n display: inline-block;\\n position: absolute;\\n text-align: center;\\n}\\n\\n.fa-layers {\\n display: inline-block;\\n height: 1em;\\n position: relative;\\n text-align: center;\\n vertical-align: -0.125em;\\n width: 1em;\\n}\\n.fa-layers svg.svg-inline--fa {\\n transform-origin: center center;\\n}\\n\\n.fa-layers-text {\\n left: 50%;\\n top: 50%;\\n transform: translate(-50%, -50%);\\n transform-origin: center center;\\n}\\n\\n.fa-layers-counter {\\n background-color: var(--fa-counter-background-color, #ff253a);\\n border-radius: var(--fa-counter-border-radius, 1em);\\n box-sizing: border-box;\\n color: var(--fa-inverse, #fff);\\n line-height: var(--fa-counter-line-height, 1);\\n max-width: var(--fa-counter-max-width, 5em);\\n min-width: var(--fa-counter-min-width, 1.5em);\\n overflow: hidden;\\n padding: var(--fa-counter-padding, 0.25em 0.5em);\\n right: var(--fa-right, 0);\\n text-overflow: ellipsis;\\n top: var(--fa-top, 0);\\n transform: scale(var(--fa-counter-scale, 0.25));\\n transform-origin: top right;\\n}\\n\\n.fa-layers-bottom-right {\\n bottom: var(--fa-bottom, 0);\\n right: var(--fa-right, 0);\\n top: auto;\\n transform: scale(var(--fa-layers-scale, 0.25));\\n transform-origin: bottom right;\\n}\\n\\n.fa-layers-bottom-left {\\n bottom: var(--fa-bottom, 0);\\n left: var(--fa-left, 0);\\n right: auto;\\n top: auto;\\n transform: scale(var(--fa-layers-scale, 0.25));\\n transform-origin: bottom left;\\n}\\n\\n.fa-layers-top-right {\\n top: var(--fa-top, 0);\\n right: var(--fa-right, 0);\\n transform: scale(var(--fa-layers-scale, 0.25));\\n transform-origin: top right;\\n}\\n\\n.fa-layers-top-left {\\n left: var(--fa-left, 0);\\n right: auto;\\n top: var(--fa-top, 0);\\n transform: scale(var(--fa-layers-scale, 0.25));\\n transform-origin: top left;\\n}\\n\\n.fa-1x {\\n font-size: 1em;\\n}\\n\\n.fa-2x {\\n font-size: 2em;\\n}\\n\\n.fa-3x {\\n font-size: 3em;\\n}\\n\\n.fa-4x {\\n font-size: 4em;\\n}\\n\\n.fa-5x {\\n font-size: 5em;\\n}\\n\\n.fa-6x {\\n font-size: 6em;\\n}\\n\\n.fa-7x {\\n font-size: 7em;\\n}\\n\\n.fa-8x {\\n font-size: 8em;\\n}\\n\\n.fa-9x {\\n font-size: 9em;\\n}\\n\\n.fa-10x {\\n font-size: 10em;\\n}\\n\\n.fa-2xs {\\n font-size: 0.625em;\\n line-height: 0.1em;\\n vertical-align: 0.225em;\\n}\\n\\n.fa-xs {\\n font-size: 0.75em;\\n line-height: 0.0833333337em;\\n vertical-align: 0.125em;\\n}\\n\\n.fa-sm {\\n font-size: 0.875em;\\n line-height: 0.0714285718em;\\n vertical-align: 0.0535714295em;\\n}\\n\\n.fa-lg {\\n font-size: 1.25em;\\n line-height: 0.05em;\\n vertical-align: -0.075em;\\n}\\n\\n.fa-xl {\\n font-size: 1.5em;\\n line-height: 0.0416666682em;\\n vertical-align: -0.125em;\\n}\\n\\n.fa-2xl {\\n font-size: 2em;\\n line-height: 0.03125em;\\n vertical-align: -0.1875em;\\n}\\n\\n.fa-fw {\\n text-align: center;\\n width: 1.25em;\\n}\\n\\n.fa-ul {\\n list-style-type: none;\\n margin-left: var(--fa-li-margin, 2.5em);\\n padding-left: 0;\\n}\\n.fa-ul > li {\\n position: relative;\\n}\\n\\n.fa-li {\\n left: calc(-1 * var(--fa-li-width, 2em));\\n position: absolute;\\n text-align: center;\\n width: var(--fa-li-width, 2em);\\n line-height: inherit;\\n}\\n\\n.fa-border {\\n border-color: var(--fa-border-color, #eee);\\n border-radius: var(--fa-border-radius, 0.1em);\\n border-style: var(--fa-border-style, solid);\\n border-width: var(--fa-border-width, 0.08em);\\n padding: var(--fa-border-padding, 0.2em 0.25em 0.15em);\\n}\\n\\n.fa-pull-left {\\n float: left;\\n margin-right: var(--fa-pull-margin, 0.3em);\\n}\\n\\n.fa-pull-right {\\n float: right;\\n margin-left: var(--fa-pull-margin, 0.3em);\\n}\\n\\n.fa-beat {\\n animation-name: fa-beat;\\n animation-delay: var(--fa-animation-delay, 0s);\\n animation-direction: var(--fa-animation-direction, normal);\\n animation-duration: var(--fa-animation-duration, 1s);\\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n animation-timing-function: var(--fa-animation-timing, ease-in-out);\\n}\\n\\n.fa-bounce {\\n animation-name: fa-bounce;\\n animation-delay: var(--fa-animation-delay, 0s);\\n animation-direction: var(--fa-animation-direction, normal);\\n animation-duration: var(--fa-animation-duration, 1s);\\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1));\\n}\\n\\n.fa-fade {\\n animation-name: fa-fade;\\n animation-delay: var(--fa-animation-delay, 0s);\\n animation-direction: var(--fa-animation-direction, normal);\\n animation-duration: var(--fa-animation-duration, 1s);\\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));\\n}\\n\\n.fa-beat-fade {\\n animation-name: fa-beat-fade;\\n animation-delay: var(--fa-animation-delay, 0s);\\n animation-direction: var(--fa-animation-direction, normal);\\n animation-duration: var(--fa-animation-duration, 1s);\\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));\\n}\\n\\n.fa-flip {\\n animation-name: fa-flip;\\n animation-delay: var(--fa-animation-delay, 0s);\\n animation-direction: var(--fa-animation-direction, normal);\\n animation-duration: var(--fa-animation-duration, 1s);\\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n animation-timing-function: var(--fa-animation-timing, ease-in-out);\\n}\\n\\n.fa-shake {\\n animation-name: fa-shake;\\n animation-delay: var(--fa-animation-delay, 0s);\\n animation-direction: var(--fa-animation-direction, normal);\\n animation-duration: var(--fa-animation-duration, 1s);\\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n animation-timing-function: var(--fa-animation-timing, linear);\\n}\\n\\n.fa-spin {\\n animation-name: fa-spin;\\n animation-delay: var(--fa-animation-delay, 0s);\\n animation-direction: var(--fa-animation-direction, normal);\\n animation-duration: var(--fa-animation-duration, 2s);\\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n animation-timing-function: var(--fa-animation-timing, linear);\\n}\\n\\n.fa-spin-reverse {\\n --fa-animation-direction: reverse;\\n}\\n\\n.fa-pulse,\\n.fa-spin-pulse {\\n animation-name: fa-spin;\\n animation-direction: var(--fa-animation-direction, normal);\\n animation-duration: var(--fa-animation-duration, 1s);\\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n animation-timing-function: var(--fa-animation-timing, steps(8));\\n}\\n\\n@media (prefers-reduced-motion: reduce) {\\n .fa-beat,\\n.fa-bounce,\\n.fa-fade,\\n.fa-beat-fade,\\n.fa-flip,\\n.fa-pulse,\\n.fa-shake,\\n.fa-spin,\\n.fa-spin-pulse {\\n animation-delay: -1ms;\\n animation-duration: 1ms;\\n animation-iteration-count: 1;\\n transition-delay: 0s;\\n transition-duration: 0s;\\n }\\n}\\n@keyframes fa-beat {\\n 0%, 90% {\\n transform: scale(1);\\n }\\n 45% {\\n transform: scale(var(--fa-beat-scale, 1.25));\\n }\\n}\\n@keyframes fa-bounce {\\n 0% {\\n transform: scale(1, 1) translateY(0);\\n }\\n 10% {\\n transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0);\\n }\\n 30% {\\n transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em));\\n }\\n 50% {\\n transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0);\\n }\\n 57% {\\n transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em));\\n }\\n 64% {\\n transform: scale(1, 1) translateY(0);\\n }\\n 100% {\\n transform: scale(1, 1) translateY(0);\\n }\\n}\\n@keyframes fa-fade {\\n 50% {\\n opacity: var(--fa-fade-opacity, 0.4);\\n }\\n}\\n@keyframes fa-beat-fade {\\n 0%, 100% {\\n opacity: var(--fa-beat-fade-opacity, 0.4);\\n transform: scale(1);\\n }\\n 50% {\\n opacity: 1;\\n transform: scale(var(--fa-beat-fade-scale, 1.125));\\n }\\n}\\n@keyframes fa-flip {\\n 50% {\\n transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg));\\n }\\n}\\n@keyframes fa-shake {\\n 0% {\\n transform: rotate(-15deg);\\n }\\n 4% {\\n transform: rotate(15deg);\\n }\\n 8%, 24% {\\n transform: rotate(-18deg);\\n }\\n 12%, 28% {\\n transform: rotate(18deg);\\n }\\n 16% {\\n transform: rotate(-22deg);\\n }\\n 20% {\\n transform: rotate(22deg);\\n }\\n 32% {\\n transform: rotate(-12deg);\\n }\\n 36% {\\n transform: rotate(12deg);\\n }\\n 40%, 100% {\\n transform: rotate(0deg);\\n }\\n}\\n@keyframes fa-spin {\\n 0% {\\n transform: rotate(0deg);\\n }\\n 100% {\\n transform: rotate(360deg);\\n }\\n}\\n.fa-rotate-90 {\\n transform: rotate(90deg);\\n}\\n\\n.fa-rotate-180 {\\n transform: rotate(180deg);\\n}\\n\\n.fa-rotate-270 {\\n transform: rotate(270deg);\\n}\\n\\n.fa-flip-horizontal {\\n transform: scale(-1, 1);\\n}\\n\\n.fa-flip-vertical {\\n transform: scale(1, -1);\\n}\\n\\n.fa-flip-both,\\n.fa-flip-horizontal.fa-flip-vertical {\\n transform: scale(-1, -1);\\n}\\n\\n.fa-rotate-by {\\n transform: rotate(var(--fa-rotate-angle, 0));\\n}\\n\\n.fa-stack {\\n display: inline-block;\\n vertical-align: middle;\\n height: 2em;\\n position: relative;\\n width: 2.5em;\\n}\\n\\n.fa-stack-1x,\\n.fa-stack-2x {\\n bottom: 0;\\n left: 0;\\n margin: auto;\\n position: absolute;\\n right: 0;\\n top: 0;\\n z-index: var(--fa-stack-z-index, auto);\\n}\\n\\n.svg-inline--fa.fa-stack-1x {\\n height: 1em;\\n width: 1.25em;\\n}\\n.svg-inline--fa.fa-stack-2x {\\n height: 2em;\\n width: 2.5em;\\n}\\n\\n.fa-inverse {\\n color: var(--fa-inverse, #fff);\\n}\\n\\n.sr-only,\\n.fa-sr-only {\\n position: absolute;\\n width: 1px;\\n height: 1px;\\n padding: 0;\\n margin: -1px;\\n overflow: hidden;\\n clip: rect(0, 0, 0, 0);\\n white-space: nowrap;\\n border-width: 0;\\n}\\n\\n.sr-only-focusable:not(:focus),\\n.fa-sr-only-focusable:not(:focus) {\\n position: absolute;\\n width: 1px;\\n height: 1px;\\n padding: 0;\\n margin: -1px;\\n overflow: hidden;\\n clip: rect(0, 0, 0, 0);\\n white-space: nowrap;\\n border-width: 0;\\n}\\n\\n.svg-inline--fa .fa-primary {\\n fill: var(--fa-primary-color, currentColor);\\n opacity: var(--fa-primary-opacity, 1);\\n}\\n\\n.svg-inline--fa .fa-secondary {\\n fill: var(--fa-secondary-color, currentColor);\\n opacity: var(--fa-secondary-opacity, 0.4);\\n}\\n\\n.svg-inline--fa.fa-swap-opacity .fa-primary {\\n opacity: var(--fa-secondary-opacity, 0.4);\\n}\\n\\n.svg-inline--fa.fa-swap-opacity .fa-secondary {\\n opacity: var(--fa-primary-opacity, 1);\\n}\\n\\n.svg-inline--fa mask .fa-primary,\\n.svg-inline--fa mask .fa-secondary {\\n fill: black;\\n}\";\n\nfunction css() {\n const dcp = DEFAULT_CSS_PREFIX;\n const drc = DEFAULT_REPLACEMENT_CLASS;\n const fp = config.cssPrefix;\n const rc = config.replacementClass;\n let s = baseStyles;\n if (fp !== dcp || rc !== drc) {\n const dPatt = new RegExp(\"\\\\.\".concat(dcp, \"\\\\-\"), 'g');\n const customPropPatt = new RegExp(\"\\\\--\".concat(dcp, \"\\\\-\"), 'g');\n const rPatt = new RegExp(\"\\\\.\".concat(drc), 'g');\n s = s.replace(dPatt, \".\".concat(fp, \"-\")).replace(customPropPatt, \"--\".concat(fp, \"-\")).replace(rPatt, \".\".concat(rc));\n }\n return s;\n}\nlet _cssInserted = false;\nfunction ensureCss() {\n if (config.autoAddCss && !_cssInserted) {\n insertCss(css());\n _cssInserted = true;\n }\n}\nvar InjectCSS = {\n mixout() {\n return {\n dom: {\n css,\n insertCss: ensureCss\n }\n };\n },\n hooks() {\n return {\n beforeDOMElementCreation() {\n ensureCss();\n },\n beforeI2svg() {\n ensureCss();\n }\n };\n }\n};\n\nconst w = WINDOW || {};\nif (!w[NAMESPACE_IDENTIFIER]) w[NAMESPACE_IDENTIFIER] = {};\nif (!w[NAMESPACE_IDENTIFIER].styles) w[NAMESPACE_IDENTIFIER].styles = {};\nif (!w[NAMESPACE_IDENTIFIER].hooks) w[NAMESPACE_IDENTIFIER].hooks = {};\nif (!w[NAMESPACE_IDENTIFIER].shims) w[NAMESPACE_IDENTIFIER].shims = [];\nvar namespace = w[NAMESPACE_IDENTIFIER];\n\nconst functions = [];\nconst listener = function () {\n DOCUMENT.removeEventListener('DOMContentLoaded', listener);\n loaded = 1;\n functions.map(fn => fn());\n};\nlet loaded = false;\nif (IS_DOM) {\n loaded = (DOCUMENT.documentElement.doScroll ? /^loaded|^c/ : /^loaded|^i|^c/).test(DOCUMENT.readyState);\n if (!loaded) DOCUMENT.addEventListener('DOMContentLoaded', listener);\n}\nfunction domready (fn) {\n if (!IS_DOM) return;\n loaded ? setTimeout(fn, 0) : functions.push(fn);\n}\n\nfunction toHtml(abstractNodes) {\n const {\n tag,\n attributes = {},\n children = []\n } = abstractNodes;\n if (typeof abstractNodes === 'string') {\n return htmlEscape(abstractNodes);\n } else {\n return \"<\".concat(tag, \" \").concat(joinAttributes(attributes), \">\").concat(children.map(toHtml).join(''), \"\");\n }\n}\n\nfunction iconFromMapping(mapping, prefix, iconName) {\n if (mapping && mapping[prefix] && mapping[prefix][iconName]) {\n return {\n prefix,\n iconName,\n icon: mapping[prefix][iconName]\n };\n }\n}\n\n/**\n * Internal helper to bind a function known to have 4 arguments\n * to a given context.\n */\nvar bindInternal4 = function bindInternal4(func, thisContext) {\n return function (a, b, c, d) {\n return func.call(thisContext, a, b, c, d);\n };\n};\n\n/**\n * # Reduce\n *\n * A fast object `.reduce()` implementation.\n *\n * @param {Object} subject The object to reduce over.\n * @param {Function} fn The reducer function.\n * @param {mixed} initialValue The initial value for the reducer, defaults to subject[0].\n * @param {Object} thisContext The context for the reducer.\n * @return {mixed} The final result.\n */\nvar reduce = function fastReduceObject(subject, fn, initialValue, thisContext) {\n var keys = Object.keys(subject),\n length = keys.length,\n iterator = thisContext !== undefined ? bindInternal4(fn, thisContext) : fn,\n i,\n key,\n result;\n if (initialValue === undefined) {\n i = 1;\n result = subject[keys[0]];\n } else {\n i = 0;\n result = initialValue;\n }\n for (; i < length; i++) {\n key = keys[i];\n result = iterator(result, subject[key], key, subject);\n }\n return result;\n};\n\n/**\n * ucs2decode() and codePointAt() are both works of Mathias Bynens and licensed under MIT\n *\n * Copyright Mathias Bynens \n\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\nfunction ucs2decode(string) {\n const output = [];\n let counter = 0;\n const length = string.length;\n while (counter < length) {\n const value = string.charCodeAt(counter++);\n if (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n const extra = string.charCodeAt(counter++);\n if ((extra & 0xFC00) == 0xDC00) {\n // eslint-disable-line eqeqeq\n output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n } else {\n output.push(value);\n counter--;\n }\n } else {\n output.push(value);\n }\n }\n return output;\n}\nfunction toHex(unicode) {\n const decoded = ucs2decode(unicode);\n return decoded.length === 1 ? decoded[0].toString(16) : null;\n}\nfunction codePointAt(string, index) {\n const size = string.length;\n let first = string.charCodeAt(index);\n let second;\n if (first >= 0xD800 && first <= 0xDBFF && size > index + 1) {\n second = string.charCodeAt(index + 1);\n if (second >= 0xDC00 && second <= 0xDFFF) {\n return (first - 0xD800) * 0x400 + second - 0xDC00 + 0x10000;\n }\n }\n return first;\n}\n\nfunction normalizeIcons(icons) {\n return Object.keys(icons).reduce((acc, iconName) => {\n const icon = icons[iconName];\n const expanded = !!icon.icon;\n if (expanded) {\n acc[icon.iconName] = icon.icon;\n } else {\n acc[iconName] = icon;\n }\n return acc;\n }, {});\n}\nfunction defineIcons(prefix, icons) {\n let params = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n const {\n skipHooks = false\n } = params;\n const normalized = normalizeIcons(icons);\n if (typeof namespace.hooks.addPack === 'function' && !skipHooks) {\n namespace.hooks.addPack(prefix, normalizeIcons(icons));\n } else {\n namespace.styles[prefix] = _objectSpread2(_objectSpread2({}, namespace.styles[prefix] || {}), normalized);\n }\n\n /**\n * Font Awesome 4 used the prefix of `fa` for all icons. With the introduction\n * of new styles we needed to differentiate between them. Prefix `fa` is now an alias\n * for `fas` so we'll ease the upgrade process for our users by automatically defining\n * this as well.\n */\n if (prefix === 'fas') {\n defineIcons('fa', icons);\n }\n}\n\nconst duotonePathRe = [/*#__PURE__*/_wrapRegExp(/path d=\"([^\"]+)\".*path d=\"([^\"]+)\"/, {\n d1: 1,\n d2: 2\n}), /*#__PURE__*/_wrapRegExp(/path class=\"([^\"]+)\".*d=\"([^\"]+)\".*path class=\"([^\"]+)\".*d=\"([^\"]+)\"/, {\n cls1: 1,\n d1: 2,\n cls2: 3,\n d2: 4\n}), /*#__PURE__*/_wrapRegExp(/path class=\"([^\"]+)\".*d=\"([^\"]+)\"/, {\n cls1: 1,\n d1: 2\n})];\n\nconst {\n styles,\n shims\n} = namespace;\nconst FAMILY_NAMES = Object.keys(PREFIX_TO_LONG_STYLE);\nconst PREFIXES_FOR_FAMILY = FAMILY_NAMES.reduce((acc, familyId) => {\n acc[familyId] = Object.keys(PREFIX_TO_LONG_STYLE[familyId]);\n return acc;\n}, {});\nlet _defaultUsablePrefix = null;\nlet _byUnicode = {};\nlet _byLigature = {};\nlet _byOldName = {};\nlet _byOldUnicode = {};\nlet _byAlias = {};\nfunction isReserved(name) {\n return ~RESERVED_CLASSES.indexOf(name);\n}\nfunction getIconName(cssPrefix, cls) {\n const parts = cls.split('-');\n const prefix = parts[0];\n const iconName = parts.slice(1).join('-');\n if (prefix === cssPrefix && iconName !== '' && !isReserved(iconName)) {\n return iconName;\n } else {\n return null;\n }\n}\nconst build = () => {\n const lookup = reducer => {\n return reduce(styles, (o$$1, style, prefix) => {\n o$$1[prefix] = reduce(style, reducer, {});\n return o$$1;\n }, {});\n };\n _byUnicode = lookup((acc, icon, iconName) => {\n if (icon[3]) {\n acc[icon[3]] = iconName;\n }\n if (icon[2]) {\n const aliases = icon[2].filter(a$$1 => {\n return typeof a$$1 === 'number';\n });\n aliases.forEach(alias => {\n acc[alias.toString(16)] = iconName;\n });\n }\n return acc;\n });\n _byLigature = lookup((acc, icon, iconName) => {\n acc[iconName] = iconName;\n if (icon[2]) {\n const aliases = icon[2].filter(a$$1 => {\n return typeof a$$1 === 'string';\n });\n aliases.forEach(alias => {\n acc[alias] = iconName;\n });\n }\n return acc;\n });\n _byAlias = lookup((acc, icon, iconName) => {\n const aliases = icon[2];\n acc[iconName] = iconName;\n aliases.forEach(alias => {\n acc[alias] = iconName;\n });\n return acc;\n });\n\n // If we have a Kit, we can't determine if regular is available since we\n // could be auto-fetching it. We'll have to assume that it is available.\n const hasRegular = 'far' in styles || config.autoFetchSvg;\n const shimLookups = reduce(shims, (acc, shim) => {\n const maybeNameMaybeUnicode = shim[0];\n let prefix = shim[1];\n const iconName = shim[2];\n if (prefix === 'far' && !hasRegular) {\n prefix = 'fas';\n }\n if (typeof maybeNameMaybeUnicode === 'string') {\n acc.names[maybeNameMaybeUnicode] = {\n prefix,\n iconName\n };\n }\n if (typeof maybeNameMaybeUnicode === 'number') {\n acc.unicodes[maybeNameMaybeUnicode.toString(16)] = {\n prefix,\n iconName\n };\n }\n return acc;\n }, {\n names: {},\n unicodes: {}\n });\n _byOldName = shimLookups.names;\n _byOldUnicode = shimLookups.unicodes;\n _defaultUsablePrefix = getCanonicalPrefix(config.styleDefault, {\n family: config.familyDefault\n });\n};\nonChange(c$$1 => {\n _defaultUsablePrefix = getCanonicalPrefix(c$$1.styleDefault, {\n family: config.familyDefault\n });\n});\nbuild();\nfunction byUnicode(prefix, unicode) {\n return (_byUnicode[prefix] || {})[unicode];\n}\nfunction byLigature(prefix, ligature) {\n return (_byLigature[prefix] || {})[ligature];\n}\nfunction byAlias(prefix, alias) {\n return (_byAlias[prefix] || {})[alias];\n}\nfunction byOldName(name) {\n return _byOldName[name] || {\n prefix: null,\n iconName: null\n };\n}\nfunction byOldUnicode(unicode) {\n const oldUnicode = _byOldUnicode[unicode];\n const newUnicode = byUnicode('fas', unicode);\n return oldUnicode || (newUnicode ? {\n prefix: 'fas',\n iconName: newUnicode\n } : null) || {\n prefix: null,\n iconName: null\n };\n}\nfunction getDefaultUsablePrefix() {\n return _defaultUsablePrefix;\n}\nconst emptyCanonicalIcon = () => {\n return {\n prefix: null,\n iconName: null,\n rest: []\n };\n};\nfunction getFamilyId(values) {\n let family = s;\n const famProps = FAMILY_NAMES.reduce((acc, familyId) => {\n acc[familyId] = \"\".concat(config.cssPrefix, \"-\").concat(familyId);\n return acc;\n }, {});\n L.forEach(familyId => {\n if (values.includes(famProps[familyId]) || values.some(v$$1 => PREFIXES_FOR_FAMILY[familyId].includes(v$$1))) {\n family = familyId;\n }\n });\n return family;\n}\nfunction getCanonicalPrefix(styleOrPrefix) {\n let params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const {\n family = s\n } = params;\n const style = PREFIX_TO_STYLE[family][styleOrPrefix];\n\n // handles the exception of passing in only a family of 'duotone' with no style\n if (family === t && !styleOrPrefix) {\n return 'fad';\n }\n const prefix = STYLE_TO_PREFIX[family][styleOrPrefix] || STYLE_TO_PREFIX[family][style];\n const defined = styleOrPrefix in namespace.styles ? styleOrPrefix : null;\n const result = prefix || defined || null;\n return result;\n}\nfunction moveNonFaClassesToRest(classNames) {\n let rest = [];\n let iconName = null;\n classNames.forEach(cls => {\n const result = getIconName(config.cssPrefix, cls);\n if (result) {\n iconName = result;\n } else if (cls) {\n rest.push(cls);\n }\n });\n return {\n iconName,\n rest\n };\n}\nfunction sortedUniqueValues(arr) {\n return arr.sort().filter((value, index, arr) => {\n return arr.indexOf(value) === index;\n });\n}\nfunction getCanonicalIcon(values) {\n let params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const {\n skipLookups = false\n } = params;\n let givenPrefix = null;\n const faCombinedClasses = Ia.concat(bt$1);\n const faStyleOrFamilyClasses = sortedUniqueValues(values.filter(cls => faCombinedClasses.includes(cls)));\n const nonStyleOrFamilyClasses = sortedUniqueValues(values.filter(cls => !Ia.includes(cls)));\n const faStyles = faStyleOrFamilyClasses.filter(cls => {\n givenPrefix = cls;\n return !P.includes(cls);\n });\n const [styleFromValues = null] = faStyles;\n const family = getFamilyId(faStyleOrFamilyClasses);\n const canonical = _objectSpread2(_objectSpread2({}, moveNonFaClassesToRest(nonStyleOrFamilyClasses)), {}, {\n prefix: getCanonicalPrefix(styleFromValues, {\n family\n })\n });\n return _objectSpread2(_objectSpread2(_objectSpread2({}, canonical), getDefaultCanonicalPrefix({\n values,\n family,\n styles,\n config,\n canonical,\n givenPrefix\n })), applyShimAndAlias(skipLookups, givenPrefix, canonical));\n}\nfunction applyShimAndAlias(skipLookups, givenPrefix, canonical) {\n let {\n prefix,\n iconName\n } = canonical;\n if (skipLookups || !prefix || !iconName) {\n return {\n prefix,\n iconName\n };\n }\n const shim = givenPrefix === 'fa' ? byOldName(iconName) : {};\n const aliasIconName = byAlias(prefix, iconName);\n iconName = shim.iconName || aliasIconName || iconName;\n prefix = shim.prefix || prefix;\n if (prefix === 'far' && !styles['far'] && styles['fas'] && !config.autoFetchSvg) {\n // Allow a fallback from the regular style to solid if regular is not available\n // but only if we aren't auto-fetching SVGs\n prefix = 'fas';\n }\n return {\n prefix,\n iconName\n };\n}\nconst newCanonicalFamilies = L.filter(familyId => {\n return familyId !== s || familyId !== t;\n});\nconst newCanonicalStyles = Object.keys(ga).filter(key => key !== s).map(key => Object.keys(ga[key])).flat();\nfunction getDefaultCanonicalPrefix(prefixOptions) {\n const {\n values,\n family,\n canonical,\n givenPrefix = '',\n styles = {},\n config: config$$1 = {}\n } = prefixOptions;\n const isDuotoneFamily = family === t;\n const valuesHasDuotone = values.includes('fa-duotone') || values.includes('fad');\n const defaultFamilyIsDuotone = config$$1.familyDefault === 'duotone';\n const canonicalPrefixIsDuotone = canonical.prefix === 'fad' || canonical.prefix === 'fa-duotone';\n if (!isDuotoneFamily && (valuesHasDuotone || defaultFamilyIsDuotone || canonicalPrefixIsDuotone)) {\n canonical.prefix = 'fad';\n }\n if (values.includes('fa-brands') || values.includes('fab')) {\n canonical.prefix = 'fab';\n }\n if (!canonical.prefix && newCanonicalFamilies.includes(family)) {\n const validPrefix = Object.keys(styles).find(key => newCanonicalStyles.includes(key));\n if (validPrefix || config$$1.autoFetchSvg) {\n const defaultPrefix = pt.get(family).defaultShortPrefixId;\n canonical.prefix = defaultPrefix;\n canonical.iconName = byAlias(canonical.prefix, canonical.iconName) || canonical.iconName;\n }\n }\n if (canonical.prefix === 'fa' || givenPrefix === 'fa') {\n // The fa prefix is not canonical. So if it has made it through until this point\n // we will shift it to the correct prefix.\n canonical.prefix = getDefaultUsablePrefix() || 'fas';\n }\n return canonical;\n}\n\nclass Library {\n constructor() {\n this.definitions = {};\n }\n add() {\n for (var _len = arguments.length, definitions = new Array(_len), _key = 0; _key < _len; _key++) {\n definitions[_key] = arguments[_key];\n }\n const additions = definitions.reduce(this._pullDefinitions, {});\n Object.keys(additions).forEach(key => {\n this.definitions[key] = _objectSpread2(_objectSpread2({}, this.definitions[key] || {}), additions[key]);\n defineIcons(key, additions[key]);\n\n // TODO can we stop doing this? We can't get the icons by 'fa-solid' any longer so this probably needs to change\n const longPrefix = PREFIX_TO_LONG_STYLE[s][key];\n if (longPrefix) defineIcons(longPrefix, additions[key]);\n build();\n });\n }\n reset() {\n this.definitions = {};\n }\n _pullDefinitions(additions, definition) {\n const normalized = definition.prefix && definition.iconName && definition.icon ? {\n 0: definition\n } : definition;\n Object.keys(normalized).map(key => {\n const {\n prefix,\n iconName,\n icon\n } = normalized[key];\n const aliases = icon[2];\n if (!additions[prefix]) additions[prefix] = {};\n if (aliases.length > 0) {\n aliases.forEach(alias => {\n if (typeof alias === 'string') {\n additions[prefix][alias] = icon;\n }\n });\n }\n additions[prefix][iconName] = icon;\n });\n return additions;\n }\n}\n\nlet _plugins = [];\nlet _hooks = {};\nconst providers = {};\nconst defaultProviderKeys = Object.keys(providers);\nfunction registerPlugins(nextPlugins, _ref) {\n let {\n mixoutsTo: obj\n } = _ref;\n _plugins = nextPlugins;\n _hooks = {};\n Object.keys(providers).forEach(k => {\n if (defaultProviderKeys.indexOf(k) === -1) {\n delete providers[k];\n }\n });\n _plugins.forEach(plugin => {\n const mixout = plugin.mixout ? plugin.mixout() : {};\n Object.keys(mixout).forEach(tk => {\n if (typeof mixout[tk] === 'function') {\n obj[tk] = mixout[tk];\n }\n if (typeof mixout[tk] === 'object') {\n Object.keys(mixout[tk]).forEach(sk => {\n if (!obj[tk]) {\n obj[tk] = {};\n }\n obj[tk][sk] = mixout[tk][sk];\n });\n }\n });\n if (plugin.hooks) {\n const hooks = plugin.hooks();\n Object.keys(hooks).forEach(hook => {\n if (!_hooks[hook]) {\n _hooks[hook] = [];\n }\n _hooks[hook].push(hooks[hook]);\n });\n }\n if (plugin.provides) {\n plugin.provides(providers);\n }\n });\n return obj;\n}\nfunction chainHooks(hook, accumulator) {\n for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n args[_key - 2] = arguments[_key];\n }\n const hookFns = _hooks[hook] || [];\n hookFns.forEach(hookFn => {\n accumulator = hookFn.apply(null, [accumulator, ...args]); // eslint-disable-line no-useless-call\n });\n return accumulator;\n}\nfunction callHooks(hook) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n const hookFns = _hooks[hook] || [];\n hookFns.forEach(hookFn => {\n hookFn.apply(null, args);\n });\n return undefined;\n}\nfunction callProvided() {\n const hook = arguments[0];\n const args = Array.prototype.slice.call(arguments, 1);\n return providers[hook] ? providers[hook].apply(null, args) : undefined;\n}\n\nfunction findIconDefinition(iconLookup) {\n if (iconLookup.prefix === 'fa') {\n iconLookup.prefix = 'fas';\n }\n let {\n iconName\n } = iconLookup;\n const prefix = iconLookup.prefix || getDefaultUsablePrefix();\n if (!iconName) return;\n iconName = byAlias(prefix, iconName) || iconName;\n return iconFromMapping(library.definitions, prefix, iconName) || iconFromMapping(namespace.styles, prefix, iconName);\n}\nconst library = new Library();\nconst noAuto = () => {\n config.autoReplaceSvg = false;\n config.observeMutations = false;\n callHooks('noAuto');\n};\nconst dom = {\n i2svg: function () {\n let params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n if (IS_DOM) {\n callHooks('beforeI2svg', params);\n callProvided('pseudoElements2svg', params);\n return callProvided('i2svg', params);\n } else {\n return Promise.reject(new Error('Operation requires a DOM of some kind.'));\n }\n },\n watch: function () {\n let params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n const {\n autoReplaceSvgRoot\n } = params;\n if (config.autoReplaceSvg === false) {\n config.autoReplaceSvg = true;\n }\n config.observeMutations = true;\n domready(() => {\n autoReplace({\n autoReplaceSvgRoot\n });\n callHooks('watch', params);\n });\n }\n};\nconst parse = {\n icon: icon => {\n if (icon === null) {\n return null;\n }\n if (typeof icon === 'object' && icon.prefix && icon.iconName) {\n return {\n prefix: icon.prefix,\n iconName: byAlias(icon.prefix, icon.iconName) || icon.iconName\n };\n }\n if (Array.isArray(icon) && icon.length === 2) {\n const iconName = icon[1].indexOf('fa-') === 0 ? icon[1].slice(3) : icon[1];\n const prefix = getCanonicalPrefix(icon[0]);\n return {\n prefix,\n iconName: byAlias(prefix, iconName) || iconName\n };\n }\n if (typeof icon === 'string' && (icon.indexOf(\"\".concat(config.cssPrefix, \"-\")) > -1 || icon.match(ICON_SELECTION_SYNTAX_PATTERN))) {\n const canonicalIcon = getCanonicalIcon(icon.split(' '), {\n skipLookups: true\n });\n return {\n prefix: canonicalIcon.prefix || getDefaultUsablePrefix(),\n iconName: byAlias(canonicalIcon.prefix, canonicalIcon.iconName) || canonicalIcon.iconName\n };\n }\n if (typeof icon === 'string') {\n const prefix = getDefaultUsablePrefix();\n return {\n prefix,\n iconName: byAlias(prefix, icon) || icon\n };\n }\n }\n};\nconst api = {\n noAuto,\n config,\n dom,\n parse,\n library,\n findIconDefinition,\n toHtml\n};\nconst autoReplace = function () {\n let params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n const {\n autoReplaceSvgRoot = DOCUMENT\n } = params;\n if ((Object.keys(namespace.styles).length > 0 || config.autoFetchSvg) && IS_DOM && config.autoReplaceSvg) api.dom.i2svg({\n node: autoReplaceSvgRoot\n });\n};\n\nfunction domVariants(val, abstractCreator) {\n Object.defineProperty(val, 'abstract', {\n get: abstractCreator\n });\n Object.defineProperty(val, 'html', {\n get: function () {\n return val.abstract.map(a => toHtml(a));\n }\n });\n Object.defineProperty(val, 'node', {\n get: function () {\n if (!IS_DOM) return;\n const container = DOCUMENT.createElement('div');\n container.innerHTML = val.html;\n return container.children;\n }\n });\n return val;\n}\n\nfunction asIcon (_ref) {\n let {\n children,\n main,\n mask,\n attributes,\n styles,\n transform\n } = _ref;\n if (transformIsMeaningful(transform) && main.found && !mask.found) {\n const {\n width,\n height\n } = main;\n const offset = {\n x: width / height / 2,\n y: 0.5\n };\n attributes['style'] = joinStyles(_objectSpread2(_objectSpread2({}, styles), {}, {\n 'transform-origin': \"\".concat(offset.x + transform.x / 16, \"em \").concat(offset.y + transform.y / 16, \"em\")\n }));\n }\n return [{\n tag: 'svg',\n attributes,\n children\n }];\n}\n\nfunction asSymbol (_ref) {\n let {\n prefix,\n iconName,\n children,\n attributes,\n symbol\n } = _ref;\n const id = symbol === true ? \"\".concat(prefix, \"-\").concat(config.cssPrefix, \"-\").concat(iconName) : symbol;\n return [{\n tag: 'svg',\n attributes: {\n style: 'display: none;'\n },\n children: [{\n tag: 'symbol',\n attributes: _objectSpread2(_objectSpread2({}, attributes), {}, {\n id\n }),\n children\n }]\n }];\n}\n\nfunction makeInlineSvgAbstract(params) {\n const {\n icons: {\n main,\n mask\n },\n prefix,\n iconName,\n transform,\n symbol,\n title,\n maskId,\n titleId,\n extra,\n watchable = false\n } = params;\n const {\n width,\n height\n } = mask.found ? mask : main;\n const isUploadedIcon = Lt.includes(prefix);\n const attrClass = [config.replacementClass, iconName ? \"\".concat(config.cssPrefix, \"-\").concat(iconName) : ''].filter(c$$1 => extra.classes.indexOf(c$$1) === -1).filter(c$$1 => c$$1 !== '' || !!c$$1).concat(extra.classes).join(' ');\n let content = {\n children: [],\n attributes: _objectSpread2(_objectSpread2({}, extra.attributes), {}, {\n 'data-prefix': prefix,\n 'data-icon': iconName,\n 'class': attrClass,\n 'role': extra.attributes.role || 'img',\n 'xmlns': 'http://www.w3.org/2000/svg',\n 'viewBox': \"0 0 \".concat(width, \" \").concat(height)\n })\n };\n const uploadedIconWidthStyle = isUploadedIcon && !~extra.classes.indexOf('fa-fw') ? {\n width: \"\".concat(width / height * 16 * 0.0625, \"em\")\n } : {};\n if (watchable) {\n content.attributes[DATA_FA_I2SVG] = '';\n }\n if (title) {\n content.children.push({\n tag: 'title',\n attributes: {\n id: content.attributes['aria-labelledby'] || \"title-\".concat(titleId || nextUniqueId())\n },\n children: [title]\n });\n delete content.attributes.title;\n }\n const args = _objectSpread2(_objectSpread2({}, content), {}, {\n prefix,\n iconName,\n main,\n mask,\n maskId,\n transform,\n symbol,\n styles: _objectSpread2(_objectSpread2({}, uploadedIconWidthStyle), extra.styles)\n });\n const {\n children,\n attributes\n } = mask.found && main.found ? callProvided('generateAbstractMask', args) || {\n children: [],\n attributes: {}\n } : callProvided('generateAbstractIcon', args) || {\n children: [],\n attributes: {}\n };\n args.children = children;\n args.attributes = attributes;\n if (symbol) {\n return asSymbol(args);\n } else {\n return asIcon(args);\n }\n}\nfunction makeLayersTextAbstract(params) {\n const {\n content,\n width,\n height,\n transform,\n title,\n extra,\n watchable = false\n } = params;\n const attributes = _objectSpread2(_objectSpread2(_objectSpread2({}, extra.attributes), title ? {\n 'title': title\n } : {}), {}, {\n 'class': extra.classes.join(' ')\n });\n if (watchable) {\n attributes[DATA_FA_I2SVG] = '';\n }\n const styles = _objectSpread2({}, extra.styles);\n if (transformIsMeaningful(transform)) {\n styles['transform'] = transformForCss({\n transform,\n startCentered: true,\n width,\n height\n });\n styles['-webkit-transform'] = styles['transform'];\n }\n const styleString = joinStyles(styles);\n if (styleString.length > 0) {\n attributes['style'] = styleString;\n }\n const val = [];\n val.push({\n tag: 'span',\n attributes,\n children: [content]\n });\n if (title) {\n val.push({\n tag: 'span',\n attributes: {\n class: 'sr-only'\n },\n children: [title]\n });\n }\n return val;\n}\nfunction makeLayersCounterAbstract(params) {\n const {\n content,\n title,\n extra\n } = params;\n const attributes = _objectSpread2(_objectSpread2(_objectSpread2({}, extra.attributes), title ? {\n 'title': title\n } : {}), {}, {\n 'class': extra.classes.join(' ')\n });\n const styleString = joinStyles(extra.styles);\n if (styleString.length > 0) {\n attributes['style'] = styleString;\n }\n const val = [];\n val.push({\n tag: 'span',\n attributes,\n children: [content]\n });\n if (title) {\n val.push({\n tag: 'span',\n attributes: {\n class: 'sr-only'\n },\n children: [title]\n });\n }\n return val;\n}\n\nconst {\n styles: styles$1\n} = namespace;\nfunction asFoundIcon(icon) {\n const width = icon[0];\n const height = icon[1];\n const [vectorData] = icon.slice(4);\n let element = null;\n if (Array.isArray(vectorData)) {\n element = {\n tag: 'g',\n attributes: {\n class: \"\".concat(config.cssPrefix, \"-\").concat(DUOTONE_CLASSES.GROUP)\n },\n children: [{\n tag: 'path',\n attributes: {\n class: \"\".concat(config.cssPrefix, \"-\").concat(DUOTONE_CLASSES.SECONDARY),\n fill: 'currentColor',\n d: vectorData[0]\n }\n }, {\n tag: 'path',\n attributes: {\n class: \"\".concat(config.cssPrefix, \"-\").concat(DUOTONE_CLASSES.PRIMARY),\n fill: 'currentColor',\n d: vectorData[1]\n }\n }]\n };\n } else {\n element = {\n tag: 'path',\n attributes: {\n fill: 'currentColor',\n d: vectorData\n }\n };\n }\n return {\n found: true,\n width,\n height,\n icon: element\n };\n}\nconst missingIconResolutionMixin = {\n found: false,\n width: 512,\n height: 512\n};\nfunction maybeNotifyMissing(iconName, prefix) {\n if (!PRODUCTION && !config.showMissingIcons && iconName) {\n console.error(\"Icon with name \\\"\".concat(iconName, \"\\\" and prefix \\\"\").concat(prefix, \"\\\" is missing.\"));\n }\n}\nfunction findIcon(iconName, prefix) {\n let givenPrefix = prefix;\n if (prefix === 'fa' && config.styleDefault !== null) {\n prefix = getDefaultUsablePrefix();\n }\n return new Promise((resolve, reject) => {\n if (givenPrefix === 'fa') {\n const shim = byOldName(iconName) || {};\n iconName = shim.iconName || iconName;\n prefix = shim.prefix || prefix;\n }\n if (iconName && prefix && styles$1[prefix] && styles$1[prefix][iconName]) {\n const icon = styles$1[prefix][iconName];\n return resolve(asFoundIcon(icon));\n }\n maybeNotifyMissing(iconName, prefix);\n resolve(_objectSpread2(_objectSpread2({}, missingIconResolutionMixin), {}, {\n icon: config.showMissingIcons && iconName ? callProvided('missingIconAbstract') || {} : {}\n }));\n });\n}\n\nconst noop$1 = () => {};\nconst p$2 = config.measurePerformance && PERFORMANCE && PERFORMANCE.mark && PERFORMANCE.measure ? PERFORMANCE : {\n mark: noop$1,\n measure: noop$1\n};\nconst preamble = \"FA \\\"6.7.2\\\"\";\nconst begin = name => {\n p$2.mark(\"\".concat(preamble, \" \").concat(name, \" begins\"));\n return () => end(name);\n};\nconst end = name => {\n p$2.mark(\"\".concat(preamble, \" \").concat(name, \" ends\"));\n p$2.measure(\"\".concat(preamble, \" \").concat(name), \"\".concat(preamble, \" \").concat(name, \" begins\"), \"\".concat(preamble, \" \").concat(name, \" ends\"));\n};\nvar perf = {\n begin,\n end\n};\n\nconst noop$2 = () => {};\nfunction isWatched(node) {\n const i2svg = node.getAttribute ? node.getAttribute(DATA_FA_I2SVG) : null;\n return typeof i2svg === 'string';\n}\nfunction hasPrefixAndIcon(node) {\n const prefix = node.getAttribute ? node.getAttribute(DATA_PREFIX) : null;\n const icon = node.getAttribute ? node.getAttribute(DATA_ICON) : null;\n return prefix && icon;\n}\nfunction hasBeenReplaced(node) {\n return node && node.classList && node.classList.contains && node.classList.contains(config.replacementClass);\n}\nfunction getMutator() {\n if (config.autoReplaceSvg === true) {\n return mutators.replace;\n }\n const mutator = mutators[config.autoReplaceSvg];\n return mutator || mutators.replace;\n}\nfunction createElementNS(tag) {\n return DOCUMENT.createElementNS('http://www.w3.org/2000/svg', tag);\n}\nfunction createElement(tag) {\n return DOCUMENT.createElement(tag);\n}\nfunction convertSVG(abstractObj) {\n let params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const {\n ceFn = abstractObj.tag === 'svg' ? createElementNS : createElement\n } = params;\n if (typeof abstractObj === 'string') {\n return DOCUMENT.createTextNode(abstractObj);\n }\n const tag = ceFn(abstractObj.tag);\n Object.keys(abstractObj.attributes || []).forEach(function (key) {\n tag.setAttribute(key, abstractObj.attributes[key]);\n });\n const children = abstractObj.children || [];\n children.forEach(function (child) {\n tag.appendChild(convertSVG(child, {\n ceFn\n }));\n });\n return tag;\n}\nfunction nodeAsComment(node) {\n let comment = \" \".concat(node.outerHTML, \" \");\n /* BEGIN.ATTRIBUTION */\n comment = \"\".concat(comment, \"Font Awesome fontawesome.com \");\n /* END.ATTRIBUTION */\n return comment;\n}\nconst mutators = {\n replace: function (mutation) {\n const node = mutation[0];\n if (node.parentNode) {\n mutation[1].forEach(abstract => {\n node.parentNode.insertBefore(convertSVG(abstract), node);\n });\n if (node.getAttribute(DATA_FA_I2SVG) === null && config.keepOriginalSource) {\n let comment = DOCUMENT.createComment(nodeAsComment(node));\n node.parentNode.replaceChild(comment, node);\n } else {\n node.remove();\n }\n }\n },\n nest: function (mutation) {\n const node = mutation[0];\n const abstract = mutation[1];\n\n // If we already have a replaced node we do not want to continue nesting within it.\n // Short-circuit to the standard replacement\n if (~classArray(node).indexOf(config.replacementClass)) {\n return mutators.replace(mutation);\n }\n const forSvg = new RegExp(\"\".concat(config.cssPrefix, \"-.*\"));\n delete abstract[0].attributes.id;\n if (abstract[0].attributes.class) {\n const splitClasses = abstract[0].attributes.class.split(' ').reduce((acc, cls) => {\n if (cls === config.replacementClass || cls.match(forSvg)) {\n acc.toSvg.push(cls);\n } else {\n acc.toNode.push(cls);\n }\n return acc;\n }, {\n toNode: [],\n toSvg: []\n });\n abstract[0].attributes.class = splitClasses.toSvg.join(' ');\n if (splitClasses.toNode.length === 0) {\n node.removeAttribute('class');\n } else {\n node.setAttribute('class', splitClasses.toNode.join(' '));\n }\n }\n const newInnerHTML = abstract.map(a => toHtml(a)).join('\\n');\n node.setAttribute(DATA_FA_I2SVG, '');\n node.innerHTML = newInnerHTML;\n }\n};\nfunction performOperationSync(op) {\n op();\n}\nfunction perform(mutations, callback) {\n const callbackFunction = typeof callback === 'function' ? callback : noop$2;\n if (mutations.length === 0) {\n callbackFunction();\n } else {\n let frame = performOperationSync;\n if (config.mutateApproach === MUTATION_APPROACH_ASYNC) {\n frame = WINDOW.requestAnimationFrame || performOperationSync;\n }\n frame(() => {\n const mutator = getMutator();\n const mark = perf.begin('mutate');\n mutations.map(mutator);\n mark();\n callbackFunction();\n });\n }\n}\nlet disabled = false;\nfunction disableObservation() {\n disabled = true;\n}\nfunction enableObservation() {\n disabled = false;\n}\nlet mo = null;\nfunction observe(options) {\n if (!MUTATION_OBSERVER) {\n return;\n }\n if (!config.observeMutations) {\n return;\n }\n const {\n treeCallback = noop$2,\n nodeCallback = noop$2,\n pseudoElementsCallback = noop$2,\n observeMutationsRoot = DOCUMENT\n } = options;\n mo = new MUTATION_OBSERVER(objects => {\n if (disabled) return;\n const defaultPrefix = getDefaultUsablePrefix();\n toArray(objects).forEach(mutationRecord => {\n if (mutationRecord.type === 'childList' && mutationRecord.addedNodes.length > 0 && !isWatched(mutationRecord.addedNodes[0])) {\n if (config.searchPseudoElements) {\n pseudoElementsCallback(mutationRecord.target);\n }\n treeCallback(mutationRecord.target);\n }\n if (mutationRecord.type === 'attributes' && mutationRecord.target.parentNode && config.searchPseudoElements) {\n pseudoElementsCallback(mutationRecord.target.parentNode);\n }\n if (mutationRecord.type === 'attributes' && isWatched(mutationRecord.target) && ~ATTRIBUTES_WATCHED_FOR_MUTATION.indexOf(mutationRecord.attributeName)) {\n if (mutationRecord.attributeName === 'class' && hasPrefixAndIcon(mutationRecord.target)) {\n const {\n prefix,\n iconName\n } = getCanonicalIcon(classArray(mutationRecord.target));\n mutationRecord.target.setAttribute(DATA_PREFIX, prefix || defaultPrefix);\n if (iconName) mutationRecord.target.setAttribute(DATA_ICON, iconName);\n } else if (hasBeenReplaced(mutationRecord.target)) {\n nodeCallback(mutationRecord.target);\n }\n }\n });\n });\n if (!IS_DOM) return;\n mo.observe(observeMutationsRoot, {\n childList: true,\n attributes: true,\n characterData: true,\n subtree: true\n });\n}\nfunction disconnect() {\n if (!mo) return;\n mo.disconnect();\n}\n\nfunction styleParser (node) {\n const style = node.getAttribute('style');\n let val = [];\n if (style) {\n val = style.split(';').reduce((acc, style) => {\n const styles = style.split(':');\n const prop = styles[0];\n const value = styles.slice(1);\n if (prop && value.length > 0) {\n acc[prop] = value.join(':').trim();\n }\n return acc;\n }, {});\n }\n return val;\n}\n\nfunction classParser (node) {\n const existingPrefix = node.getAttribute('data-prefix');\n const existingIconName = node.getAttribute('data-icon');\n const innerText = node.innerText !== undefined ? node.innerText.trim() : '';\n let val = getCanonicalIcon(classArray(node));\n if (!val.prefix) {\n val.prefix = getDefaultUsablePrefix();\n }\n if (existingPrefix && existingIconName) {\n val.prefix = existingPrefix;\n val.iconName = existingIconName;\n }\n if (val.iconName && val.prefix) {\n return val;\n }\n if (val.prefix && innerText.length > 0) {\n val.iconName = byLigature(val.prefix, node.innerText) || byUnicode(val.prefix, toHex(node.innerText));\n }\n if (!val.iconName && config.autoFetchSvg && node.firstChild && node.firstChild.nodeType === Node.TEXT_NODE) {\n val.iconName = node.firstChild.data;\n }\n return val;\n}\n\nfunction attributesParser (node) {\n const extraAttributes = toArray(node.attributes).reduce((acc, attr) => {\n if (acc.name !== 'class' && acc.name !== 'style') {\n acc[attr.name] = attr.value;\n }\n return acc;\n }, {});\n const title = node.getAttribute('title');\n const titleId = node.getAttribute('data-fa-title-id');\n if (config.autoA11y) {\n if (title) {\n extraAttributes['aria-labelledby'] = \"\".concat(config.replacementClass, \"-title-\").concat(titleId || nextUniqueId());\n } else {\n extraAttributes['aria-hidden'] = 'true';\n extraAttributes['focusable'] = 'false';\n }\n }\n return extraAttributes;\n}\n\nfunction blankMeta() {\n return {\n iconName: null,\n title: null,\n titleId: null,\n prefix: null,\n transform: meaninglessTransform,\n symbol: false,\n mask: {\n iconName: null,\n prefix: null,\n rest: []\n },\n maskId: null,\n extra: {\n classes: [],\n styles: {},\n attributes: {}\n }\n };\n}\nfunction parseMeta(node) {\n let parser = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n styleParser: true\n };\n const {\n iconName,\n prefix,\n rest: extraClasses\n } = classParser(node);\n const extraAttributes = attributesParser(node);\n const pluginMeta = chainHooks('parseNodeAttributes', {}, node);\n let extraStyles = parser.styleParser ? styleParser(node) : [];\n return _objectSpread2({\n iconName,\n title: node.getAttribute('title'),\n titleId: node.getAttribute('data-fa-title-id'),\n prefix,\n transform: meaninglessTransform,\n mask: {\n iconName: null,\n prefix: null,\n rest: []\n },\n maskId: null,\n symbol: false,\n extra: {\n classes: extraClasses,\n styles: extraStyles,\n attributes: extraAttributes\n }\n }, pluginMeta);\n}\n\nconst {\n styles: styles$2\n} = namespace;\nfunction generateMutation(node) {\n const nodeMeta = config.autoReplaceSvg === 'nest' ? parseMeta(node, {\n styleParser: false\n }) : parseMeta(node);\n if (~nodeMeta.extra.classes.indexOf(LAYERS_TEXT_CLASSNAME)) {\n return callProvided('generateLayersText', node, nodeMeta);\n } else {\n return callProvided('generateSvgReplacementMutation', node, nodeMeta);\n }\n}\nfunction getKnownPrefixes() {\n return [...Ft, ...Ia];\n}\nfunction onTree(root) {\n let callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n if (!IS_DOM) return Promise.resolve();\n const htmlClassList = DOCUMENT.documentElement.classList;\n const hclAdd = suffix => htmlClassList.add(\"\".concat(HTML_CLASS_I2SVG_BASE_CLASS, \"-\").concat(suffix));\n const hclRemove = suffix => htmlClassList.remove(\"\".concat(HTML_CLASS_I2SVG_BASE_CLASS, \"-\").concat(suffix));\n const prefixes = config.autoFetchSvg ? getKnownPrefixes() : P.concat(Object.keys(styles$2));\n if (!prefixes.includes('fa')) {\n prefixes.push('fa');\n }\n const prefixesDomQuery = [\".\".concat(LAYERS_TEXT_CLASSNAME, \":not([\").concat(DATA_FA_I2SVG, \"])\")].concat(prefixes.map(p$$1 => \".\".concat(p$$1, \":not([\").concat(DATA_FA_I2SVG, \"])\"))).join(', ');\n if (prefixesDomQuery.length === 0) {\n return Promise.resolve();\n }\n let candidates = [];\n try {\n candidates = toArray(root.querySelectorAll(prefixesDomQuery));\n } catch (e$$1) {\n // noop\n }\n if (candidates.length > 0) {\n hclAdd('pending');\n hclRemove('complete');\n } else {\n return Promise.resolve();\n }\n const mark = perf.begin('onTree');\n const mutations = candidates.reduce((acc, node) => {\n try {\n const mutation = generateMutation(node);\n if (mutation) {\n acc.push(mutation);\n }\n } catch (e$$1) {\n if (!PRODUCTION) {\n if (e$$1.name === 'MissingIcon') {\n console.error(e$$1);\n }\n }\n }\n return acc;\n }, []);\n return new Promise((resolve, reject) => {\n Promise.all(mutations).then(resolvedMutations => {\n perform(resolvedMutations, () => {\n hclAdd('active');\n hclAdd('complete');\n hclRemove('pending');\n if (typeof callback === 'function') callback();\n mark();\n resolve();\n });\n }).catch(e$$1 => {\n mark();\n reject(e$$1);\n });\n });\n}\nfunction onNode(node) {\n let callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n generateMutation(node).then(mutation => {\n if (mutation) {\n perform([mutation], callback);\n }\n });\n}\nfunction resolveIcons(next) {\n return function (maybeIconDefinition) {\n let params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const iconDefinition = (maybeIconDefinition || {}).icon ? maybeIconDefinition : findIconDefinition(maybeIconDefinition || {});\n let {\n mask\n } = params;\n if (mask) {\n mask = (mask || {}).icon ? mask : findIconDefinition(mask || {});\n }\n return next(iconDefinition, _objectSpread2(_objectSpread2({}, params), {}, {\n mask\n }));\n };\n}\nconst render = function (iconDefinition) {\n let params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const {\n transform = meaninglessTransform,\n symbol = false,\n mask = null,\n maskId = null,\n title = null,\n titleId = null,\n classes = [],\n attributes = {},\n styles = {}\n } = params;\n if (!iconDefinition) return;\n const {\n prefix,\n iconName,\n icon\n } = iconDefinition;\n return domVariants(_objectSpread2({\n type: 'icon'\n }, iconDefinition), () => {\n callHooks('beforeDOMElementCreation', {\n iconDefinition,\n params\n });\n if (config.autoA11y) {\n if (title) {\n attributes['aria-labelledby'] = \"\".concat(config.replacementClass, \"-title-\").concat(titleId || nextUniqueId());\n } else {\n attributes['aria-hidden'] = 'true';\n attributes['focusable'] = 'false';\n }\n }\n return makeInlineSvgAbstract({\n icons: {\n main: asFoundIcon(icon),\n mask: mask ? asFoundIcon(mask.icon) : {\n found: false,\n width: null,\n height: null,\n icon: {}\n }\n },\n prefix,\n iconName,\n transform: _objectSpread2(_objectSpread2({}, meaninglessTransform), transform),\n symbol,\n title,\n maskId,\n titleId,\n extra: {\n attributes,\n styles,\n classes\n }\n });\n });\n};\nvar ReplaceElements = {\n mixout() {\n return {\n icon: resolveIcons(render)\n };\n },\n hooks() {\n return {\n mutationObserverCallbacks(accumulator) {\n accumulator.treeCallback = onTree;\n accumulator.nodeCallback = onNode;\n return accumulator;\n }\n };\n },\n provides(providers$$1) {\n providers$$1.i2svg = function (params) {\n const {\n node = DOCUMENT,\n callback = () => {}\n } = params;\n return onTree(node, callback);\n };\n providers$$1.generateSvgReplacementMutation = function (node, nodeMeta) {\n const {\n iconName,\n title,\n titleId,\n prefix,\n transform,\n symbol,\n mask,\n maskId,\n extra\n } = nodeMeta;\n return new Promise((resolve, reject) => {\n Promise.all([findIcon(iconName, prefix), mask.iconName ? findIcon(mask.iconName, mask.prefix) : Promise.resolve({\n found: false,\n width: 512,\n height: 512,\n icon: {}\n })]).then(_ref => {\n let [main, mask] = _ref;\n resolve([node, makeInlineSvgAbstract({\n icons: {\n main,\n mask\n },\n prefix,\n iconName,\n transform,\n symbol,\n maskId,\n title,\n titleId,\n extra,\n watchable: true\n })]);\n }).catch(reject);\n });\n };\n providers$$1.generateAbstractIcon = function (_ref2) {\n let {\n children,\n attributes,\n main,\n transform,\n styles\n } = _ref2;\n const styleString = joinStyles(styles);\n if (styleString.length > 0) {\n attributes['style'] = styleString;\n }\n let nextChild;\n if (transformIsMeaningful(transform)) {\n nextChild = callProvided('generateAbstractTransformGrouping', {\n main,\n transform,\n containerWidth: main.width,\n iconWidth: main.width\n });\n }\n children.push(nextChild || main.icon);\n return {\n children,\n attributes\n };\n };\n }\n};\n\nvar Layers = {\n mixout() {\n return {\n layer(assembler) {\n let params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const {\n classes = []\n } = params;\n return domVariants({\n type: 'layer'\n }, () => {\n callHooks('beforeDOMElementCreation', {\n assembler,\n params\n });\n let children = [];\n assembler(args => {\n Array.isArray(args) ? args.map(a => {\n children = children.concat(a.abstract);\n }) : children = children.concat(args.abstract);\n });\n return [{\n tag: 'span',\n attributes: {\n class: [\"\".concat(config.cssPrefix, \"-layers\"), ...classes].join(' ')\n },\n children\n }];\n });\n }\n };\n }\n};\n\nvar LayersCounter = {\n mixout() {\n return {\n counter(content) {\n let params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const {\n title = null,\n classes = [],\n attributes = {},\n styles = {}\n } = params;\n return domVariants({\n type: 'counter',\n content\n }, () => {\n callHooks('beforeDOMElementCreation', {\n content,\n params\n });\n return makeLayersCounterAbstract({\n content: content.toString(),\n title,\n extra: {\n attributes,\n styles,\n classes: [\"\".concat(config.cssPrefix, \"-layers-counter\"), ...classes]\n }\n });\n });\n }\n };\n }\n};\n\nvar LayersText = {\n mixout() {\n return {\n text(content) {\n let params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const {\n transform = meaninglessTransform,\n title = null,\n classes = [],\n attributes = {},\n styles = {}\n } = params;\n return domVariants({\n type: 'text',\n content\n }, () => {\n callHooks('beforeDOMElementCreation', {\n content,\n params\n });\n return makeLayersTextAbstract({\n content,\n transform: _objectSpread2(_objectSpread2({}, meaninglessTransform), transform),\n title,\n extra: {\n attributes,\n styles,\n classes: [\"\".concat(config.cssPrefix, \"-layers-text\"), ...classes]\n }\n });\n });\n }\n };\n },\n provides(providers$$1) {\n providers$$1.generateLayersText = function (node, nodeMeta) {\n const {\n title,\n transform,\n extra\n } = nodeMeta;\n let width = null;\n let height = null;\n if (IS_IE) {\n const computedFontSize = parseInt(getComputedStyle(node).fontSize, 10);\n const boundingClientRect = node.getBoundingClientRect();\n width = boundingClientRect.width / computedFontSize;\n height = boundingClientRect.height / computedFontSize;\n }\n if (config.autoA11y && !title) {\n extra.attributes['aria-hidden'] = 'true';\n }\n return Promise.resolve([node, makeLayersTextAbstract({\n content: node.innerHTML,\n width,\n height,\n transform,\n title,\n extra,\n watchable: true\n })]);\n };\n }\n};\n\nconst CLEAN_CONTENT_PATTERN = new RegExp('\\u{22}', 'ug');\nconst SECONDARY_UNICODE_RANGE = [1105920, 1112319];\nconst _FONT_FAMILY_WEIGHT_TO_PREFIX = _objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2({}, {\n FontAwesome: {\n normal: 'fas',\n 400: 'fas'\n }\n}), lt), wa), Yt);\nconst FONT_FAMILY_WEIGHT_TO_PREFIX = Object.keys(_FONT_FAMILY_WEIGHT_TO_PREFIX).reduce((acc, key) => {\n acc[key.toLowerCase()] = _FONT_FAMILY_WEIGHT_TO_PREFIX[key];\n return acc;\n}, {});\nconst FONT_FAMILY_WEIGHT_FALLBACK = Object.keys(FONT_FAMILY_WEIGHT_TO_PREFIX).reduce((acc, fontFamily) => {\n const weights = FONT_FAMILY_WEIGHT_TO_PREFIX[fontFamily];\n acc[fontFamily] = weights[900] || [...Object.entries(weights)][0][1];\n return acc;\n}, {});\nfunction hexValueFromContent(content) {\n const cleaned = content.replace(CLEAN_CONTENT_PATTERN, '');\n const codePoint = codePointAt(cleaned, 0);\n const isPrependTen = codePoint >= SECONDARY_UNICODE_RANGE[0] && codePoint <= SECONDARY_UNICODE_RANGE[1];\n const isDoubled = cleaned.length === 2 ? cleaned[0] === cleaned[1] : false;\n return {\n value: isDoubled ? toHex(cleaned[0]) : toHex(cleaned),\n isSecondary: isPrependTen || isDoubled\n };\n}\nfunction getPrefix(fontFamily, fontWeight) {\n const fontFamilySanitized = fontFamily.replace(/^['\"]|['\"]$/g, '').toLowerCase();\n const fontWeightInteger = parseInt(fontWeight);\n const fontWeightSanitized = isNaN(fontWeightInteger) ? 'normal' : fontWeightInteger;\n return (FONT_FAMILY_WEIGHT_TO_PREFIX[fontFamilySanitized] || {})[fontWeightSanitized] || FONT_FAMILY_WEIGHT_FALLBACK[fontFamilySanitized];\n}\nfunction replaceForPosition(node, position) {\n const pendingAttribute = \"\".concat(DATA_FA_PSEUDO_ELEMENT_PENDING).concat(position.replace(':', '-'));\n return new Promise((resolve, reject) => {\n if (node.getAttribute(pendingAttribute) !== null) {\n // This node is already being processed\n return resolve();\n }\n const children = toArray(node.children);\n const alreadyProcessedPseudoElement = children.filter(c$$1 => c$$1.getAttribute(DATA_FA_PSEUDO_ELEMENT) === position)[0];\n const styles = WINDOW.getComputedStyle(node, position);\n const fontFamily = styles.getPropertyValue('font-family');\n const fontFamilyMatch = fontFamily.match(FONT_FAMILY_PATTERN);\n const fontWeight = styles.getPropertyValue('font-weight');\n const content = styles.getPropertyValue('content');\n if (alreadyProcessedPseudoElement && !fontFamilyMatch) {\n // If we've already processed it but the current computed style does not result in a font-family,\n // that probably means that a class name that was previously present to make the icon has been\n // removed. So we now should delete the icon.\n node.removeChild(alreadyProcessedPseudoElement);\n return resolve();\n } else if (fontFamilyMatch && content !== 'none' && content !== '') {\n const content = styles.getPropertyValue('content');\n let prefix = getPrefix(fontFamily, fontWeight);\n const {\n value: hexValue,\n isSecondary\n } = hexValueFromContent(content);\n const isV4 = fontFamilyMatch[0].startsWith('FontAwesome');\n let iconName = byUnicode(prefix, hexValue);\n let iconIdentifier = iconName;\n if (isV4) {\n const iconName4 = byOldUnicode(hexValue);\n if (iconName4.iconName && iconName4.prefix) {\n iconName = iconName4.iconName;\n prefix = iconName4.prefix;\n }\n }\n\n // Only convert the pseudo element in this ::before/::after position into an icon if we haven't\n // already done so with the same prefix and iconName\n if (iconName && !isSecondary && (!alreadyProcessedPseudoElement || alreadyProcessedPseudoElement.getAttribute(DATA_PREFIX) !== prefix || alreadyProcessedPseudoElement.getAttribute(DATA_ICON) !== iconIdentifier)) {\n node.setAttribute(pendingAttribute, iconIdentifier);\n if (alreadyProcessedPseudoElement) {\n // Delete the old one, since we're replacing it with a new one\n node.removeChild(alreadyProcessedPseudoElement);\n }\n const meta = blankMeta();\n const {\n extra\n } = meta;\n extra.attributes[DATA_FA_PSEUDO_ELEMENT] = position;\n findIcon(iconName, prefix).then(main => {\n const abstract = makeInlineSvgAbstract(_objectSpread2(_objectSpread2({}, meta), {}, {\n icons: {\n main,\n mask: emptyCanonicalIcon()\n },\n prefix,\n iconName: iconIdentifier,\n extra,\n watchable: true\n }));\n const element = DOCUMENT.createElementNS('http://www.w3.org/2000/svg', 'svg');\n if (position === '::before') {\n node.insertBefore(element, node.firstChild);\n } else {\n node.appendChild(element);\n }\n element.outerHTML = abstract.map(a$$1 => toHtml(a$$1)).join('\\n');\n node.removeAttribute(pendingAttribute);\n resolve();\n }).catch(reject);\n } else {\n resolve();\n }\n } else {\n resolve();\n }\n });\n}\nfunction replace(node) {\n return Promise.all([replaceForPosition(node, '::before'), replaceForPosition(node, '::after')]);\n}\nfunction processable(node) {\n return node.parentNode !== document.head && !~TAGNAMES_TO_SKIP_FOR_PSEUDOELEMENTS.indexOf(node.tagName.toUpperCase()) && !node.getAttribute(DATA_FA_PSEUDO_ELEMENT) && (!node.parentNode || node.parentNode.tagName !== 'svg');\n}\nfunction searchPseudoElements(root) {\n if (!IS_DOM) return;\n return new Promise((resolve, reject) => {\n const operations = toArray(root.querySelectorAll('*')).filter(processable).map(replace);\n const end = perf.begin('searchPseudoElements');\n disableObservation();\n Promise.all(operations).then(() => {\n end();\n enableObservation();\n resolve();\n }).catch(() => {\n end();\n enableObservation();\n reject();\n });\n });\n}\nvar PseudoElements = {\n hooks() {\n return {\n mutationObserverCallbacks(accumulator) {\n accumulator.pseudoElementsCallback = searchPseudoElements;\n return accumulator;\n }\n };\n },\n provides(providers) {\n providers.pseudoElements2svg = function (params) {\n const {\n node = DOCUMENT\n } = params;\n if (config.searchPseudoElements) {\n searchPseudoElements(node);\n }\n };\n }\n};\n\nlet _unwatched = false;\nvar MutationObserver$1 = {\n mixout() {\n return {\n dom: {\n unwatch() {\n disableObservation();\n _unwatched = true;\n }\n }\n };\n },\n hooks() {\n return {\n bootstrap() {\n observe(chainHooks('mutationObserverCallbacks', {}));\n },\n noAuto() {\n disconnect();\n },\n watch(params) {\n const {\n observeMutationsRoot\n } = params;\n if (_unwatched) {\n enableObservation();\n } else {\n observe(chainHooks('mutationObserverCallbacks', {\n observeMutationsRoot\n }));\n }\n }\n };\n }\n};\n\nconst parseTransformString = transformString => {\n let transform = {\n size: 16,\n x: 0,\n y: 0,\n flipX: false,\n flipY: false,\n rotate: 0\n };\n return transformString.toLowerCase().split(' ').reduce((acc, n) => {\n const parts = n.toLowerCase().split('-');\n const first = parts[0];\n let rest = parts.slice(1).join('-');\n if (first && rest === 'h') {\n acc.flipX = true;\n return acc;\n }\n if (first && rest === 'v') {\n acc.flipY = true;\n return acc;\n }\n rest = parseFloat(rest);\n if (isNaN(rest)) {\n return acc;\n }\n switch (first) {\n case 'grow':\n acc.size = acc.size + rest;\n break;\n case 'shrink':\n acc.size = acc.size - rest;\n break;\n case 'left':\n acc.x = acc.x - rest;\n break;\n case 'right':\n acc.x = acc.x + rest;\n break;\n case 'up':\n acc.y = acc.y - rest;\n break;\n case 'down':\n acc.y = acc.y + rest;\n break;\n case 'rotate':\n acc.rotate = acc.rotate + rest;\n break;\n }\n return acc;\n }, transform);\n};\nvar PowerTransforms = {\n mixout() {\n return {\n parse: {\n transform: transformString => {\n return parseTransformString(transformString);\n }\n }\n };\n },\n hooks() {\n return {\n parseNodeAttributes(accumulator, node) {\n const transformString = node.getAttribute('data-fa-transform');\n if (transformString) {\n accumulator.transform = parseTransformString(transformString);\n }\n return accumulator;\n }\n };\n },\n provides(providers) {\n providers.generateAbstractTransformGrouping = function (_ref) {\n let {\n main,\n transform,\n containerWidth,\n iconWidth\n } = _ref;\n const outer = {\n transform: \"translate(\".concat(containerWidth / 2, \" 256)\")\n };\n const innerTranslate = \"translate(\".concat(transform.x * 32, \", \").concat(transform.y * 32, \") \");\n const innerScale = \"scale(\".concat(transform.size / 16 * (transform.flipX ? -1 : 1), \", \").concat(transform.size / 16 * (transform.flipY ? -1 : 1), \") \");\n const innerRotate = \"rotate(\".concat(transform.rotate, \" 0 0)\");\n const inner = {\n transform: \"\".concat(innerTranslate, \" \").concat(innerScale, \" \").concat(innerRotate)\n };\n const path = {\n transform: \"translate(\".concat(iconWidth / 2 * -1, \" -256)\")\n };\n const operations = {\n outer,\n inner,\n path\n };\n return {\n tag: 'g',\n attributes: _objectSpread2({}, operations.outer),\n children: [{\n tag: 'g',\n attributes: _objectSpread2({}, operations.inner),\n children: [{\n tag: main.icon.tag,\n children: main.icon.children,\n attributes: _objectSpread2(_objectSpread2({}, main.icon.attributes), operations.path)\n }]\n }]\n };\n };\n }\n};\n\nconst ALL_SPACE = {\n x: 0,\n y: 0,\n width: '100%',\n height: '100%'\n};\nfunction fillBlack(abstract) {\n let force = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n if (abstract.attributes && (abstract.attributes.fill || force)) {\n abstract.attributes.fill = 'black';\n }\n return abstract;\n}\nfunction deGroup(abstract) {\n if (abstract.tag === 'g') {\n return abstract.children;\n } else {\n return [abstract];\n }\n}\nvar Masks = {\n hooks() {\n return {\n parseNodeAttributes(accumulator, node) {\n const maskData = node.getAttribute('data-fa-mask');\n const mask = !maskData ? emptyCanonicalIcon() : getCanonicalIcon(maskData.split(' ').map(i => i.trim()));\n if (!mask.prefix) {\n mask.prefix = getDefaultUsablePrefix();\n }\n accumulator.mask = mask;\n accumulator.maskId = node.getAttribute('data-fa-mask-id');\n return accumulator;\n }\n };\n },\n provides(providers) {\n providers.generateAbstractMask = function (_ref) {\n let {\n children,\n attributes,\n main,\n mask,\n maskId: explicitMaskId,\n transform\n } = _ref;\n const {\n width: mainWidth,\n icon: mainPath\n } = main;\n const {\n width: maskWidth,\n icon: maskPath\n } = mask;\n const trans = transformForSvg({\n transform,\n containerWidth: maskWidth,\n iconWidth: mainWidth\n });\n const maskRect = {\n tag: 'rect',\n attributes: _objectSpread2(_objectSpread2({}, ALL_SPACE), {}, {\n fill: 'white'\n })\n };\n const maskInnerGroupChildrenMixin = mainPath.children ? {\n children: mainPath.children.map(fillBlack)\n } : {};\n const maskInnerGroup = {\n tag: 'g',\n attributes: _objectSpread2({}, trans.inner),\n children: [fillBlack(_objectSpread2({\n tag: mainPath.tag,\n attributes: _objectSpread2(_objectSpread2({}, mainPath.attributes), trans.path)\n }, maskInnerGroupChildrenMixin))]\n };\n const maskOuterGroup = {\n tag: 'g',\n attributes: _objectSpread2({}, trans.outer),\n children: [maskInnerGroup]\n };\n const maskId = \"mask-\".concat(explicitMaskId || nextUniqueId());\n const clipId = \"clip-\".concat(explicitMaskId || nextUniqueId());\n const maskTag = {\n tag: 'mask',\n attributes: _objectSpread2(_objectSpread2({}, ALL_SPACE), {}, {\n id: maskId,\n maskUnits: 'userSpaceOnUse',\n maskContentUnits: 'userSpaceOnUse'\n }),\n children: [maskRect, maskOuterGroup]\n };\n const defs = {\n tag: 'defs',\n children: [{\n tag: 'clipPath',\n attributes: {\n id: clipId\n },\n children: deGroup(maskPath)\n }, maskTag]\n };\n children.push(defs, {\n tag: 'rect',\n attributes: _objectSpread2({\n fill: 'currentColor',\n 'clip-path': \"url(#\".concat(clipId, \")\"),\n mask: \"url(#\".concat(maskId, \")\")\n }, ALL_SPACE)\n });\n return {\n children,\n attributes\n };\n };\n }\n};\n\nvar MissingIconIndicator = {\n provides(providers) {\n let reduceMotion = false;\n if (WINDOW.matchMedia) {\n reduceMotion = WINDOW.matchMedia('(prefers-reduced-motion: reduce)').matches;\n }\n providers.missingIconAbstract = function () {\n const gChildren = [];\n const FILL = {\n fill: 'currentColor'\n };\n const ANIMATION_BASE = {\n attributeType: 'XML',\n repeatCount: 'indefinite',\n dur: '2s'\n };\n\n // Ring\n gChildren.push({\n tag: 'path',\n attributes: _objectSpread2(_objectSpread2({}, FILL), {}, {\n d: 'M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z'\n })\n });\n const OPACITY_ANIMATE = _objectSpread2(_objectSpread2({}, ANIMATION_BASE), {}, {\n attributeName: 'opacity'\n });\n const dot = {\n tag: 'circle',\n attributes: _objectSpread2(_objectSpread2({}, FILL), {}, {\n cx: '256',\n cy: '364',\n r: '28'\n }),\n children: []\n };\n if (!reduceMotion) {\n dot.children.push({\n tag: 'animate',\n attributes: _objectSpread2(_objectSpread2({}, ANIMATION_BASE), {}, {\n attributeName: 'r',\n values: '28;14;28;28;14;28;'\n })\n }, {\n tag: 'animate',\n attributes: _objectSpread2(_objectSpread2({}, OPACITY_ANIMATE), {}, {\n values: '1;0;1;1;0;1;'\n })\n });\n }\n gChildren.push(dot);\n gChildren.push({\n tag: 'path',\n attributes: _objectSpread2(_objectSpread2({}, FILL), {}, {\n opacity: '1',\n d: 'M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z'\n }),\n children: reduceMotion ? [] : [{\n tag: 'animate',\n attributes: _objectSpread2(_objectSpread2({}, OPACITY_ANIMATE), {}, {\n values: '1;0;0;0;0;1;'\n })\n }]\n });\n if (!reduceMotion) {\n // Exclamation\n gChildren.push({\n tag: 'path',\n attributes: _objectSpread2(_objectSpread2({}, FILL), {}, {\n opacity: '0',\n d: 'M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z'\n }),\n children: [{\n tag: 'animate',\n attributes: _objectSpread2(_objectSpread2({}, OPACITY_ANIMATE), {}, {\n values: '0;0;1;1;0;0;'\n })\n }]\n });\n }\n return {\n tag: 'g',\n attributes: {\n 'class': 'missing'\n },\n children: gChildren\n };\n };\n }\n};\n\nvar SvgSymbols = {\n hooks() {\n return {\n parseNodeAttributes(accumulator, node) {\n const symbolData = node.getAttribute('data-fa-symbol');\n const symbol = symbolData === null ? false : symbolData === '' ? true : symbolData;\n accumulator['symbol'] = symbol;\n return accumulator;\n }\n };\n }\n};\n\nvar plugins = [InjectCSS, ReplaceElements, Layers, LayersCounter, LayersText, PseudoElements, MutationObserver$1, PowerTransforms, Masks, MissingIconIndicator, SvgSymbols];\n\nregisterPlugins(plugins, {\n mixoutsTo: api\n});\nconst noAuto$1 = api.noAuto;\nconst config$1 = api.config;\nconst library$1 = api.library;\nconst dom$1 = api.dom;\nconst parse$1 = api.parse;\nconst findIconDefinition$1 = api.findIconDefinition;\nconst toHtml$1 = api.toHtml;\nconst icon = api.icon;\nconst layer = api.layer;\nconst text = api.text;\nconst counter = api.counter;\n\nexport { noAuto$1 as noAuto, config$1 as config, library$1 as library, dom$1 as dom, parse$1 as parse, findIconDefinition$1 as findIconDefinition, toHtml$1 as toHtml, icon, layer, text, counter, api };\n","import { parse, icon } from '@fortawesome/fontawesome-svg-core';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n\n return target;\n}\n\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return _arrayLikeToArray(arr);\n}\n\nfunction _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\n\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n\n return arr2;\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\n// Get CSS class list from a props object\nfunction classList(props) {\n var _classes;\n\n var beat = props.beat,\n fade = props.fade,\n beatFade = props.beatFade,\n bounce = props.bounce,\n shake = props.shake,\n flash = props.flash,\n spin = props.spin,\n spinPulse = props.spinPulse,\n spinReverse = props.spinReverse,\n pulse = props.pulse,\n fixedWidth = props.fixedWidth,\n inverse = props.inverse,\n border = props.border,\n listItem = props.listItem,\n flip = props.flip,\n size = props.size,\n rotation = props.rotation,\n pull = props.pull; // map of CSS class names to properties\n\n var classes = (_classes = {\n 'fa-beat': beat,\n 'fa-fade': fade,\n 'fa-beat-fade': beatFade,\n 'fa-bounce': bounce,\n 'fa-shake': shake,\n 'fa-flash': flash,\n 'fa-spin': spin,\n 'fa-spin-reverse': spinReverse,\n 'fa-spin-pulse': spinPulse,\n 'fa-pulse': pulse,\n 'fa-fw': fixedWidth,\n 'fa-inverse': inverse,\n 'fa-border': border,\n 'fa-li': listItem,\n 'fa-flip': flip === true,\n 'fa-flip-horizontal': flip === 'horizontal' || flip === 'both',\n 'fa-flip-vertical': flip === 'vertical' || flip === 'both'\n }, _defineProperty(_classes, \"fa-\".concat(size), typeof size !== 'undefined' && size !== null), _defineProperty(_classes, \"fa-rotate-\".concat(rotation), typeof rotation !== 'undefined' && rotation !== null && rotation !== 0), _defineProperty(_classes, \"fa-pull-\".concat(pull), typeof pull !== 'undefined' && pull !== null), _defineProperty(_classes, 'fa-swap-opacity', props.swapOpacity), _classes); // map over all the keys in the classes object\n // return an array of the keys where the value for the key is not null\n\n return Object.keys(classes).map(function (key) {\n return classes[key] ? key : null;\n }).filter(function (key) {\n return key;\n });\n}\n\n// Camelize taken from humps\n// humps is copyright © 2012+ Dom Christie\n// Released under the MIT license.\n// Performant way to determine if object coerces to a number\nfunction _isNumerical(obj) {\n obj = obj - 0; // eslint-disable-next-line no-self-compare\n\n return obj === obj;\n}\n\nfunction camelize(string) {\n if (_isNumerical(string)) {\n return string;\n } // eslint-disable-next-line no-useless-escape\n\n\n string = string.replace(/[\\-_\\s]+(.)?/g, function (match, chr) {\n return chr ? chr.toUpperCase() : '';\n }); // Ensure 1st char is always lowercase\n\n return string.substr(0, 1).toLowerCase() + string.substr(1);\n}\n\nvar _excluded = [\"style\"];\n\nfunction capitalize(val) {\n return val.charAt(0).toUpperCase() + val.slice(1);\n}\n\nfunction styleToObject(style) {\n return style.split(';').map(function (s) {\n return s.trim();\n }).filter(function (s) {\n return s;\n }).reduce(function (acc, pair) {\n var i = pair.indexOf(':');\n var prop = camelize(pair.slice(0, i));\n var value = pair.slice(i + 1).trim();\n prop.startsWith('webkit') ? acc[capitalize(prop)] = value : acc[prop] = value;\n return acc;\n }, {});\n}\n\nfunction convert(createElement, element) {\n var extraProps = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n if (typeof element === 'string') {\n return element;\n }\n\n var children = (element.children || []).map(function (child) {\n return convert(createElement, child);\n });\n /* eslint-disable dot-notation */\n\n var mixins = Object.keys(element.attributes || {}).reduce(function (acc, key) {\n var val = element.attributes[key];\n\n switch (key) {\n case 'class':\n acc.attrs['className'] = val;\n delete element.attributes['class'];\n break;\n\n case 'style':\n acc.attrs['style'] = styleToObject(val);\n break;\n\n default:\n if (key.indexOf('aria-') === 0 || key.indexOf('data-') === 0) {\n acc.attrs[key.toLowerCase()] = val;\n } else {\n acc.attrs[camelize(key)] = val;\n }\n\n }\n\n return acc;\n }, {\n attrs: {}\n });\n\n var _extraProps$style = extraProps.style,\n existingStyle = _extraProps$style === void 0 ? {} : _extraProps$style,\n remaining = _objectWithoutProperties(extraProps, _excluded);\n\n mixins.attrs['style'] = _objectSpread2(_objectSpread2({}, mixins.attrs['style']), existingStyle);\n /* eslint-enable */\n\n return createElement.apply(void 0, [element.tag, _objectSpread2(_objectSpread2({}, mixins.attrs), remaining)].concat(_toConsumableArray(children)));\n}\n\nvar PRODUCTION = false;\n\ntry {\n PRODUCTION = process.env.NODE_ENV === 'production';\n} catch (e) {}\n\nfunction log () {\n if (!PRODUCTION && console && typeof console.error === 'function') {\n var _console;\n\n (_console = console).error.apply(_console, arguments);\n }\n}\n\nfunction normalizeIconArgs(icon) {\n // this has everything that it needs to be rendered which means it was probably imported\n // directly from an icon svg package\n if (icon && _typeof(icon) === 'object' && icon.prefix && icon.iconName && icon.icon) {\n return icon;\n }\n\n if (parse.icon) {\n return parse.icon(icon);\n } // if the icon is null, there's nothing to do\n\n\n if (icon === null) {\n return null;\n } // if the icon is an object and has a prefix and an icon name, return it\n\n\n if (icon && _typeof(icon) === 'object' && icon.prefix && icon.iconName) {\n return icon;\n } // if it's an array with length of two\n\n\n if (Array.isArray(icon) && icon.length === 2) {\n // use the first item as prefix, second as icon name\n return {\n prefix: icon[0],\n iconName: icon[1]\n };\n } // if it's a string, use it as the icon name\n\n\n if (typeof icon === 'string') {\n return {\n prefix: 'fas',\n iconName: icon\n };\n }\n}\n\n// creates an object with a key of key\n// and a value of value\n// if certain conditions are met\nfunction objectWithKey(key, value) {\n // if the value is a non-empty array\n // or it's not an array but it is truthy\n // then create the object with the key and the value\n // if not, return an empty array\n return Array.isArray(value) && value.length > 0 || !Array.isArray(value) && value ? _defineProperty({}, key, value) : {};\n}\n\nvar defaultProps = {\n border: false,\n className: '',\n mask: null,\n maskId: null,\n fixedWidth: false,\n inverse: false,\n flip: false,\n icon: null,\n listItem: false,\n pull: null,\n pulse: false,\n rotation: null,\n size: null,\n spin: false,\n spinPulse: false,\n spinReverse: false,\n beat: false,\n fade: false,\n beatFade: false,\n bounce: false,\n shake: false,\n symbol: false,\n title: '',\n titleId: null,\n transform: null,\n swapOpacity: false\n};\nvar FontAwesomeIcon = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var allProps = _objectSpread2(_objectSpread2({}, defaultProps), props);\n\n var iconArgs = allProps.icon,\n maskArgs = allProps.mask,\n symbol = allProps.symbol,\n className = allProps.className,\n title = allProps.title,\n titleId = allProps.titleId,\n maskId = allProps.maskId;\n var iconLookup = normalizeIconArgs(iconArgs);\n var classes = objectWithKey('classes', [].concat(_toConsumableArray(classList(allProps)), _toConsumableArray((className || '').split(' '))));\n var transform = objectWithKey('transform', typeof allProps.transform === 'string' ? parse.transform(allProps.transform) : allProps.transform);\n var mask = objectWithKey('mask', normalizeIconArgs(maskArgs));\n var renderedIcon = icon(iconLookup, _objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2({}, classes), transform), mask), {}, {\n symbol: symbol,\n title: title,\n titleId: titleId,\n maskId: maskId\n }));\n\n if (!renderedIcon) {\n log('Could not find icon', iconLookup);\n return null;\n }\n\n var abstract = renderedIcon.abstract;\n var extraProps = {\n ref: ref\n };\n Object.keys(allProps).forEach(function (key) {\n // eslint-disable-next-line no-prototype-builtins\n if (!defaultProps.hasOwnProperty(key)) {\n extraProps[key] = allProps[key];\n }\n });\n return convertCurry(abstract[0], extraProps);\n});\nFontAwesomeIcon.displayName = 'FontAwesomeIcon';\nFontAwesomeIcon.propTypes = {\n beat: PropTypes.bool,\n border: PropTypes.bool,\n beatFade: PropTypes.bool,\n bounce: PropTypes.bool,\n className: PropTypes.string,\n fade: PropTypes.bool,\n flash: PropTypes.bool,\n mask: PropTypes.oneOfType([PropTypes.object, PropTypes.array, PropTypes.string]),\n maskId: PropTypes.string,\n fixedWidth: PropTypes.bool,\n inverse: PropTypes.bool,\n flip: PropTypes.oneOf([true, false, 'horizontal', 'vertical', 'both']),\n icon: PropTypes.oneOfType([PropTypes.object, PropTypes.array, PropTypes.string]),\n listItem: PropTypes.bool,\n pull: PropTypes.oneOf(['right', 'left']),\n pulse: PropTypes.bool,\n rotation: PropTypes.oneOf([0, 90, 180, 270]),\n shake: PropTypes.bool,\n size: PropTypes.oneOf(['2xs', 'xs', 'sm', 'lg', 'xl', '2xl', '1x', '2x', '3x', '4x', '5x', '6x', '7x', '8x', '9x', '10x']),\n spin: PropTypes.bool,\n spinPulse: PropTypes.bool,\n spinReverse: PropTypes.bool,\n symbol: PropTypes.oneOfType([PropTypes.bool, PropTypes.string]),\n title: PropTypes.string,\n titleId: PropTypes.string,\n transform: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n swapOpacity: PropTypes.bool\n};\nvar convertCurry = convert.bind(null, React.createElement);\n\nexport { FontAwesomeIcon };\n","/*!\n * Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com\n * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)\n * Copyright 2024 Fonticons, Inc.\n */\nconst prefix = \"fas\";\nconst fa0 = {\n prefix: 'fas',\n iconName: '0',\n icon: [320, 512, [], \"30\", \"M0 192C0 103.6 71.6 32 160 32s160 71.6 160 160l0 128c0 88.4-71.6 160-160 160S0 408.4 0 320L0 192zM160 96c-53 0-96 43-96 96l0 128c0 53 43 96 96 96s96-43 96-96l0-128c0-53-43-96-96-96z\"]\n};\nconst fa1 = {\n prefix: 'fas',\n iconName: '1',\n icon: [256, 512, [], \"31\", \"M160 64c0-11.8-6.5-22.6-16.9-28.2s-23-5-32.8 1.6l-96 64C-.5 111.2-4.4 131 5.4 145.8s29.7 18.7 44.4 8.9L96 123.8 96 416l-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l96 0 96 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-64 0 0-352z\"]\n};\nconst fa2 = {\n prefix: 'fas',\n iconName: '2',\n icon: [320, 512, [], \"32\", \"M142.9 96c-21.5 0-42.2 8.5-57.4 23.8L54.6 150.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L40.2 74.5C67.5 47.3 104.4 32 142.9 32C223 32 288 97 288 177.1c0 38.5-15.3 75.4-42.5 102.6L109.3 416 288 416c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 480c-12.9 0-24.6-7.8-29.6-19.8s-2.2-25.7 6.9-34.9L200.2 234.5c15.2-15.2 23.8-35.9 23.8-57.4c0-44.8-36.3-81.1-81.1-81.1z\"]\n};\nconst fa3 = {\n prefix: 'fas',\n iconName: '3',\n icon: [320, 512, [], \"33\", \"M0 64C0 46.3 14.3 32 32 32l240 0c13.2 0 25 8.1 29.8 20.4s1.5 26.3-8.2 35.2L162.3 208l21.7 0c75.1 0 136 60.9 136 136s-60.9 136-136 136l-78.6 0C63 480 24.2 456 5.3 418.1l-1.9-3.8c-7.9-15.8-1.5-35 14.3-42.9s35-1.5 42.9 14.3l1.9 3.8c8.1 16.3 24.8 26.5 42.9 26.5l78.6 0c39.8 0 72-32.2 72-72s-32.2-72-72-72L80 272c-13.2 0-25-8.1-29.8-20.4s-1.5-26.3 8.2-35.2L189.7 96 32 96C14.3 96 0 81.7 0 64z\"]\n};\nconst fa4 = {\n prefix: 'fas',\n iconName: '4',\n icon: [384, 512, [], \"34\", \"M189 77.6c7.5-16 .7-35.1-15.3-42.6s-35.1-.7-42.6 15.3L3 322.4c-4.7 9.9-3.9 21.5 1.9 30.8S21 368 32 368l224 0 0 80c0 17.7 14.3 32 32 32s32-14.3 32-32l0-80 32 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-32 0 0-144c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 144L82.4 304 189 77.6z\"]\n};\nconst fa5 = {\n prefix: 'fas',\n iconName: '5',\n icon: [320, 512, [], \"35\", \"M32.5 58.3C35.3 43.1 48.5 32 64 32l192 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L90.7 96 70.3 208 184 208c75.1 0 136 60.9 136 136s-60.9 136-136 136l-83.5 0c-39.4 0-75.4-22.3-93-57.5l-4.1-8.2c-7.9-15.8-1.5-35 14.3-42.9s35-1.5 42.9 14.3l4.1 8.2c6.8 13.6 20.6 22.1 35.8 22.1l83.5 0c39.8 0 72-32.2 72-72s-32.2-72-72-72L32 272c-9.5 0-18.5-4.2-24.6-11.5s-8.6-16.9-6.9-26.2l32-176z\"]\n};\nconst fa6 = {\n prefix: 'fas',\n iconName: '6',\n icon: [320, 512, [], \"36\", \"M232.4 84.7c11.4-13.5 9.7-33.7-3.8-45.1s-33.7-9.7-45.1 3.8L38.6 214.7C14.7 242.9 1.1 278.4 .1 315.2c0 1.4-.1 2.9-.1 4.3l0 .5c0 88.4 71.6 160 160 160s160-71.6 160-160c0-85.5-67.1-155.4-151.5-159.8l63.9-75.6zM256 320A96 96 0 1 1 64 320a96 96 0 1 1 192 0z\"]\n};\nconst fa7 = {\n prefix: 'fas',\n iconName: '7',\n icon: [320, 512, [], \"37\", \"M0 64C0 46.3 14.3 32 32 32l256 0c11.5 0 22 6.1 27.7 16.1s5.7 22.2-.1 32.1l-224 384c-8.9 15.3-28.5 20.4-43.8 11.5s-20.4-28.5-11.5-43.8L232.3 96 32 96C14.3 96 0 81.7 0 64z\"]\n};\nconst fa8 = {\n prefix: 'fas',\n iconName: '8',\n icon: [320, 512, [], \"38\", \"M304 160c0-70.7-57.3-128-128-128l-32 0C73.3 32 16 89.3 16 160c0 34.6 13.7 66 36 89C20.5 272.3 0 309.8 0 352c0 70.7 57.3 128 128 128l64 0c70.7 0 128-57.3 128-128c0-42.2-20.5-79.7-52-103c22.3-23 36-54.4 36-89zM176.1 288l15.9 0c35.3 0 64 28.7 64 64s-28.7 64-64 64l-64 0c-35.3 0-64-28.7-64-64s28.7-64 64-64l15.9 0c0 0 .1 0 .1 0l32 0c0 0 .1 0 .1 0zm0-64c0 0 0 0 0 0l-32 0c0 0 0 0 0 0c-35.3 0-64-28.7-64-64c0-35.3 28.7-64 64-64l32 0c35.3 0 64 28.7 64 64c0 35.3-28.6 64-64 64z\"]\n};\nconst fa9 = {\n prefix: 'fas',\n iconName: '9',\n icon: [320, 512, [], \"39\", \"M64 192a96 96 0 1 0 192 0A96 96 0 1 0 64 192zm87.5 159.8C67.1 347.4 0 277.5 0 192C0 103.6 71.6 32 160 32s160 71.6 160 160c0 2.6-.1 5.3-.2 7.9c-1.7 35.7-15.2 70-38.4 97.4l-145 171.4c-11.4 13.5-31.6 15.2-45.1 3.8s-15.2-31.6-3.8-45.1l63.9-75.6z\"]\n};\nconst faFillDrip = {\n prefix: 'fas',\n iconName: 'fill-drip',\n icon: [576, 512, [], \"f576\", \"M41.4 9.4C53.9-3.1 74.1-3.1 86.6 9.4L168 90.7l53.1-53.1c28.1-28.1 73.7-28.1 101.8 0L474.3 189.1c28.1 28.1 28.1 73.7 0 101.8L283.9 481.4c-37.5 37.5-98.3 37.5-135.8 0L30.6 363.9c-37.5-37.5-37.5-98.3 0-135.8L122.7 136 41.4 54.6c-12.5-12.5-12.5-32.8 0-45.3zm176 221.3L168 181.3 75.9 273.4c-4.2 4.2-7 9.3-8.4 14.6l319.2 0 42.3-42.3c3.1-3.1 3.1-8.2 0-11.3L277.7 82.9c-3.1-3.1-8.2-3.1-11.3 0L213.3 136l49.4 49.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0zM512 512c-35.3 0-64-28.7-64-64c0-25.2 32.6-79.6 51.2-108.7c6-9.4 19.5-9.4 25.5 0C543.4 368.4 576 422.8 576 448c0 35.3-28.7 64-64 64z\"]\n};\nconst faArrowsToCircle = {\n prefix: 'fas',\n iconName: 'arrows-to-circle',\n icon: [640, 512, [], \"e4bd\", \"M9.4 9.4C21.9-3.1 42.1-3.1 54.6 9.4L160 114.7 160 96c0-17.7 14.3-32 32-32s32 14.3 32 32l0 96c0 4.3-.9 8.5-2.4 12.2c-1.6 3.7-3.8 7.3-6.9 10.3l-.1 .1c-3.1 3-6.6 5.3-10.3 6.9c-3.8 1.6-7.9 2.4-12.2 2.4l-96 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l18.7 0L9.4 54.6C-3.1 42.1-3.1 21.9 9.4 9.4zM256 256a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zM114.7 352L96 352c-17.7 0-32-14.3-32-32s14.3-32 32-32l96 0s0 0 0 0l.1 0c8.8 0 16.7 3.6 22.5 9.3l.1 .1c3 3.1 5.3 6.6 6.9 10.3c1.6 3.8 2.4 7.9 2.4 12.2l0 96c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-18.7L54.6 502.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L114.7 352zM416 96c0-17.7 14.3-32 32-32s32 14.3 32 32l0 18.7L585.4 9.4c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3L525.3 160l18.7 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-96 0c-8.8 0-16.8-3.6-22.6-9.3l-.1-.1c-3-3.1-5.3-6.6-6.9-10.3s-2.4-7.8-2.4-12.2l0-.1s0 0 0 0l0-96zM525.3 352L630.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L480 397.3l0 18.7c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-96s0 0 0 0l0-.1c0-4.3 .9-8.4 2.4-12.2c1.6-3.8 3.9-7.3 6.9-10.4c5.8-5.8 13.7-9.3 22.5-9.4l.1 0s0 0 0 0l96 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-18.7 0z\"]\n};\nconst faCircleChevronRight = {\n prefix: 'fas',\n iconName: 'circle-chevron-right',\n icon: [512, 512, [\"chevron-circle-right\"], \"f138\", \"M0 256a256 256 0 1 0 512 0A256 256 0 1 0 0 256zM241 377c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l87-87-87-87c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0L345 239c9.4 9.4 9.4 24.6 0 33.9L241 377z\"]\n};\nconst faChevronCircleRight = faCircleChevronRight;\nconst faAt = {\n prefix: 'fas',\n iconName: 'at',\n icon: [512, 512, [61946], \"40\", \"M256 64C150 64 64 150 64 256s86 192 192 192c17.7 0 32 14.3 32 32s-14.3 32-32 32C114.6 512 0 397.4 0 256S114.6 0 256 0S512 114.6 512 256l0 32c0 53-43 96-96 96c-29.3 0-55.6-13.2-73.2-33.9C320 371.1 289.5 384 256 384c-70.7 0-128-57.3-128-128s57.3-128 128-128c27.9 0 53.7 8.9 74.7 24.1c5.7-5 13.1-8.1 21.3-8.1c17.7 0 32 14.3 32 32l0 80 0 32c0 17.7 14.3 32 32 32s32-14.3 32-32l0-32c0-106-86-192-192-192zm64 192a64 64 0 1 0 -128 0 64 64 0 1 0 128 0z\"]\n};\nconst faTrashCan = {\n prefix: 'fas',\n iconName: 'trash-can',\n icon: [448, 512, [61460, \"trash-alt\"], \"f2ed\", \"M135.2 17.7C140.6 6.8 151.7 0 163.8 0L284.2 0c12.1 0 23.2 6.8 28.6 17.7L320 32l96 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 96C14.3 96 0 81.7 0 64S14.3 32 32 32l96 0 7.2-14.3zM32 128l384 0 0 320c0 35.3-28.7 64-64 64L96 512c-35.3 0-64-28.7-64-64l0-320zm96 64c-8.8 0-16 7.2-16 16l0 224c0 8.8 7.2 16 16 16s16-7.2 16-16l0-224c0-8.8-7.2-16-16-16zm96 0c-8.8 0-16 7.2-16 16l0 224c0 8.8 7.2 16 16 16s16-7.2 16-16l0-224c0-8.8-7.2-16-16-16zm96 0c-8.8 0-16 7.2-16 16l0 224c0 8.8 7.2 16 16 16s16-7.2 16-16l0-224c0-8.8-7.2-16-16-16z\"]\n};\nconst faTrashAlt = faTrashCan;\nconst faTextHeight = {\n prefix: 'fas',\n iconName: 'text-height',\n icon: [576, 512, [], \"f034\", \"M64 128l0-32 64 0 0 320-32 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l128 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-32 0 0-320 64 0 0 32c0 17.7 14.3 32 32 32s32-14.3 32-32l0-48c0-26.5-21.5-48-48-48L160 32 48 32C21.5 32 0 53.5 0 80l0 48c0 17.7 14.3 32 32 32s32-14.3 32-32zM502.6 41.4c-12.5-12.5-32.8-12.5-45.3 0l-64 64c-9.2 9.2-11.9 22.9-6.9 34.9s16.6 19.8 29.6 19.8l32 0 0 192-32 0c-12.9 0-24.6 7.8-29.6 19.8s-2.2 25.7 6.9 34.9l64 64c12.5 12.5 32.8 12.5 45.3 0l64-64c9.2-9.2 11.9-22.9 6.9-34.9s-16.6-19.8-29.6-19.8l-32 0 0-192 32 0c12.9 0 24.6-7.8 29.6-19.8s2.2-25.7-6.9-34.9l-64-64z\"]\n};\nconst faUserXmark = {\n prefix: 'fas',\n iconName: 'user-xmark',\n icon: [640, 512, [\"user-times\"], \"f235\", \"M96 128a128 128 0 1 1 256 0A128 128 0 1 1 96 128zM0 482.3C0 383.8 79.8 304 178.3 304l91.4 0C368.2 304 448 383.8 448 482.3c0 16.4-13.3 29.7-29.7 29.7L29.7 512C13.3 512 0 498.7 0 482.3zM471 143c9.4-9.4 24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9z\"]\n};\nconst faUserTimes = faUserXmark;\nconst faStethoscope = {\n prefix: 'fas',\n iconName: 'stethoscope',\n icon: [576, 512, [129658], \"f0f1\", \"M142.4 21.9c5.6 16.8-3.5 34.9-20.2 40.5L96 71.1 96 192c0 53 43 96 96 96s96-43 96-96l0-120.9-26.1-8.7c-16.8-5.6-25.8-23.7-20.2-40.5s23.7-25.8 40.5-20.2l26.1 8.7C334.4 19.1 352 43.5 352 71.1L352 192c0 77.2-54.6 141.6-127.3 156.7C231 404.6 278.4 448 336 448c61.9 0 112-50.1 112-112l0-70.7c-28.3-12.3-48-40.5-48-73.3c0-44.2 35.8-80 80-80s80 35.8 80 80c0 32.8-19.7 61-48 73.3l0 70.7c0 97.2-78.8 176-176 176c-92.9 0-168.9-71.9-175.5-163.1C87.2 334.2 32 269.6 32 192L32 71.1c0-27.5 17.6-52 43.8-60.7l26.1-8.7c16.8-5.6 34.9 3.5 40.5 20.2zM480 224a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nconst faMessage = {\n prefix: 'fas',\n iconName: 'message',\n icon: [512, 512, [\"comment-alt\"], \"f27a\", \"M64 0C28.7 0 0 28.7 0 64L0 352c0 35.3 28.7 64 64 64l96 0 0 80c0 6.1 3.4 11.6 8.8 14.3s11.9 2.1 16.8-1.5L309.3 416 448 416c35.3 0 64-28.7 64-64l0-288c0-35.3-28.7-64-64-64L64 0z\"]\n};\nconst faCommentAlt = faMessage;\nconst faInfo = {\n prefix: 'fas',\n iconName: 'info',\n icon: [192, 512, [], \"f129\", \"M48 80a48 48 0 1 1 96 0A48 48 0 1 1 48 80zM0 224c0-17.7 14.3-32 32-32l64 0c17.7 0 32 14.3 32 32l0 224 32 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 512c-17.7 0-32-14.3-32-32s14.3-32 32-32l32 0 0-192-32 0c-17.7 0-32-14.3-32-32z\"]\n};\nconst faDownLeftAndUpRightToCenter = {\n prefix: 'fas',\n iconName: 'down-left-and-up-right-to-center',\n icon: [512, 512, [\"compress-alt\"], \"f422\", \"M439 7c9.4-9.4 24.6-9.4 33.9 0l32 32c9.4 9.4 9.4 24.6 0 33.9l-87 87 39 39c6.9 6.9 8.9 17.2 5.2 26.2s-12.5 14.8-22.2 14.8l-144 0c-13.3 0-24-10.7-24-24l0-144c0-9.7 5.8-18.5 14.8-22.2s19.3-1.7 26.2 5.2l39 39L439 7zM72 272l144 0c13.3 0 24 10.7 24 24l0 144c0 9.7-5.8 18.5-14.8 22.2s-19.3 1.7-26.2-5.2l-39-39L73 505c-9.4 9.4-24.6 9.4-33.9 0L7 473c-9.4-9.4-9.4-24.6 0-33.9l87-87L55 313c-6.9-6.9-8.9-17.2-5.2-26.2s12.5-14.8 22.2-14.8z\"]\n};\nconst faCompressAlt = faDownLeftAndUpRightToCenter;\nconst faExplosion = {\n prefix: 'fas',\n iconName: 'explosion',\n icon: [576, 512, [], \"e4e9\", \"M499.6 11.3c6.7-10.7 20.5-14.5 31.7-8.5s15.8 19.5 10.6 31L404.8 338.6c2.2 2.3 4.3 4.7 6.3 7.1l97.2-54.7c10.5-5.9 23.6-3.1 30.9 6.4s6.3 23-2.2 31.5l-87 87-71.4 0c-13.2-37.3-48.7-64-90.5-64s-77.4 26.7-90.5 64l-79.6 0L42.3 363.7c-9.7-6.7-13.1-19.6-7.9-30.3s17.4-15.9 28.7-12.4l97.2 30.4c3-3.9 6.1-7.7 9.4-11.3L107.4 236.3c-6.1-10.1-3.9-23.1 5.1-30.7s22.2-7.5 31.1 .1L246 293.6c1.5-.4 3-.8 4.5-1.1l13.6-142.7c1.2-12.3 11.5-21.7 23.9-21.7s22.7 9.4 23.9 21.7l13.5 141.9L499.6 11.3zM64 448s0 0 0 0l448 0s0 0 0 0l32 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 512c-17.7 0-32-14.3-32-32s14.3-32 32-32l32 0zM288 0c13.3 0 24 10.7 24 24l0 48c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-48c0-13.3 10.7-24 24-24z\"]\n};\nconst faFileLines = {\n prefix: 'fas',\n iconName: 'file-lines',\n icon: [384, 512, [128441, 128462, 61686, \"file-alt\", \"file-text\"], \"f15c\", \"M64 0C28.7 0 0 28.7 0 64L0 448c0 35.3 28.7 64 64 64l256 0c35.3 0 64-28.7 64-64l0-288-128 0c-17.7 0-32-14.3-32-32L224 0 64 0zM256 0l0 128 128 0L256 0zM112 256l160 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-160 0c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 64l160 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-160 0c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 64l160 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-160 0c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nconst faFileAlt = faFileLines;\nconst faFileText = faFileLines;\nconst faWaveSquare = {\n prefix: 'fas',\n iconName: 'wave-square',\n icon: [640, 512, [], \"f83e\", \"M128 64c0-17.7 14.3-32 32-32l160 0c17.7 0 32 14.3 32 32l0 352 96 0 0-160c0-17.7 14.3-32 32-32l128 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-96 0 0 160c0 17.7-14.3 32-32 32l-160 0c-17.7 0-32-14.3-32-32l0-352-96 0 0 160c0 17.7-14.3 32-32 32L32 288c-17.7 0-32-14.3-32-32s14.3-32 32-32l96 0 0-160z\"]\n};\nconst faRing = {\n prefix: 'fas',\n iconName: 'ring',\n icon: [512, 512, [], \"f70b\", \"M64 208c0 7.8 4.4 18.7 17.1 30.3C126.5 214.1 188.9 200 256 200s129.5 14.1 174.9 38.3C443.6 226.7 448 215.8 448 208c0-12.3-10.8-32-47.9-50.6C364.9 139.8 314 128 256 128s-108.9 11.8-144.1 29.4C74.8 176 64 195.7 64 208zm192 40c-47 0-89.3 7.6-122.9 19.7C166.3 280.2 208.8 288 256 288s89.7-7.8 122.9-20.3C345.3 255.6 303 248 256 248zM0 208c0-49.6 39.4-85.8 83.3-107.8C129.1 77.3 190.3 64 256 64s126.9 13.3 172.7 36.2c43.9 22 83.3 58.2 83.3 107.8l0 96c0 49.6-39.4 85.8-83.3 107.8C382.9 434.7 321.7 448 256 448s-126.9-13.3-172.7-36.2C39.4 389.8 0 353.6 0 304l0-96z\"]\n};\nconst faBuildingUn = {\n prefix: 'fas',\n iconName: 'building-un',\n icon: [384, 512, [], \"e4d9\", \"M48 0C21.5 0 0 21.5 0 48L0 464c0 26.5 21.5 48 48 48l96 0 0-80c0-26.5 21.5-48 48-48s48 21.5 48 48l0 80 96 0c26.5 0 48-21.5 48-48l0-416c0-26.5-21.5-48-48-48L48 0zM64 240c0-8.8 7.2-16 16-16l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32zm112-16l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32zM237.3 71.1l34.7 52L272 80c0-8.8 7.2-16 16-16s16 7.2 16 16l0 96c0 7.1-4.6 13.3-11.4 15.3s-14-.6-17.9-6.4l-34.7-52 0 43.2c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-96c0-7.1 4.6-13.3 11.4-15.3s14 .6 17.9 6.4zM112 80l0 64c0 8.8 7.2 16 16 16s16-7.2 16-16l0-64c0-8.8 7.2-16 16-16s16 7.2 16 16l0 64c0 26.5-21.5 48-48 48s-48-21.5-48-48l0-64c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nconst faDiceThree = {\n prefix: 'fas',\n iconName: 'dice-three',\n icon: [448, 512, [9858], \"f527\", \"M64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32zm64 96a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm64 128a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm128 64a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nconst faCalendarDays = {\n prefix: 'fas',\n iconName: 'calendar-days',\n icon: [448, 512, [\"calendar-alt\"], \"f073\", \"M128 0c17.7 0 32 14.3 32 32l0 32 128 0 0-32c0-17.7 14.3-32 32-32s32 14.3 32 32l0 32 48 0c26.5 0 48 21.5 48 48l0 48L0 160l0-48C0 85.5 21.5 64 48 64l48 0 0-32c0-17.7 14.3-32 32-32zM0 192l448 0 0 272c0 26.5-21.5 48-48 48L48 512c-26.5 0-48-21.5-48-48L0 192zm64 80l0 32c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16l-32 0c-8.8 0-16 7.2-16 16zm128 0l0 32c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16l-32 0c-8.8 0-16 7.2-16 16zm144-16c-8.8 0-16 7.2-16 16l0 32c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16l-32 0zM64 400l0 32c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16l-32 0c-8.8 0-16 7.2-16 16zm144-16c-8.8 0-16 7.2-16 16l0 32c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16l-32 0zm112 16l0 32c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16l-32 0c-8.8 0-16 7.2-16 16z\"]\n};\nconst faCalendarAlt = faCalendarDays;\nconst faAnchorCircleCheck = {\n prefix: 'fas',\n iconName: 'anchor-circle-check',\n icon: [640, 512, [], \"e4aa\", \"M320 96a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zm21.1 80C367 158.8 384 129.4 384 96c0-53-43-96-96-96s-96 43-96 96c0 33.4 17 62.8 42.9 80L224 176c-17.7 0-32 14.3-32 32s14.3 32 32 32l32 0 0 208-48 0c-53 0-96-43-96-96l0-6.1 7 7c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L97 263c-9.4-9.4-24.6-9.4-33.9 0L7 319c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l7-7 0 6.1c0 88.4 71.6 160 160 160l80 0 80 0c8.2 0 16.3-.6 24.2-1.8c-22.2-16.2-40.4-37.5-53-62.2L320 448l0-80 0-128 32 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-10.9 0zM640 368a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zm-76.7-43.3c6.2 6.2 6.2 16.4 0 22.6l-72 72c-6.2 6.2-16.4 6.2-22.6 0l-40-40c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L480 385.4l60.7-60.7c6.2-6.2 16.4-6.2 22.6 0z\"]\n};\nconst faBuildingCircleArrowRight = {\n prefix: 'fas',\n iconName: 'building-circle-arrow-right',\n icon: [640, 512, [], \"e4d1\", \"M0 48C0 21.5 21.5 0 48 0L336 0c26.5 0 48 21.5 48 48l0 184.2c-39.1 32.3-64 81.1-64 135.8c0 49.5 20.4 94.2 53.3 126.2C364.5 505.1 351.1 512 336 512l-96 0 0-80c0-26.5-21.5-48-48-48s-48 21.5-48 48l0 80-96 0c-26.5 0-48-21.5-48-48L0 48zM80 224c-8.8 0-16 7.2-16 16l0 32c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16l-32 0zm80 16l0 32c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16l-32 0c-8.8 0-16 7.2-16 16zm112-16c-8.8 0-16 7.2-16 16l0 32c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16l-32 0zM64 112l0 32c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16L80 96c-8.8 0-16 7.2-16 16zM176 96c-8.8 0-16 7.2-16 16l0 32c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16l-32 0zm80 16l0 32c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16l-32 0c-8.8 0-16 7.2-16 16zm96 256a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm140.7-67.3c-6.2 6.2-6.2 16.4 0 22.6L521.4 352 432 352c-8.8 0-16 7.2-16 16s7.2 16 16 16l89.4 0-28.7 28.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l56-56c6.2-6.2 6.2-16.4 0-22.6l-56-56c-6.2-6.2-16.4-6.2-22.6 0z\"]\n};\nconst faVolleyball = {\n prefix: 'fas',\n iconName: 'volleyball',\n icon: [512, 512, [127952, \"volleyball-ball\"], \"f45f\", \"M511.8 267.4c-26.1 8.7-53.4 13.8-81 15.1c9.2-105.3-31.5-204.2-103.2-272.4C434.1 41.1 512 139.5 512 256c0 3.8-.1 7.6-.2 11.4zm-3.9 34.7c-5.8 32-17.6 62-34.2 88.7c-97.5 48.5-217.7 42.6-311.9-24.5c23.7-36.2 55.4-67.7 94.5-91.8c79.9 43.2 170.1 50.8 251.6 27.6zm-236-55.5c-2.5-90.9-41.1-172.7-101.9-231.7C196.8 5.2 225.8 0 256 0c2.7 0 5.3 0 7.9 .1c90.8 60.2 145.7 167.2 134.7 282.3c-43.1-2.4-86.4-14.1-126.8-35.9zM138 28.8c20.6 18.3 38.7 39.4 53.7 62.6C95.9 136.1 30.6 220.8 7.3 316.9C2.5 297.4 0 277 0 256C0 157.2 56 71.5 138 28.8zm69.6 90.5c19.5 38.6 31 81.9 32.3 127.7C162.5 294.6 110.9 368.9 90.2 451C66 430.4 45.6 405.4 30.4 377.2c6.7-108.7 71.9-209.9 177.1-257.9zM256 512c-50.7 0-98-14.7-137.8-40.2c5.6-27 14.8-53.1 27.4-77.7C232.2 454.6 338.1 468.8 433 441c-46 44-108.3 71-177 71z\"]\n};\nconst faVolleyballBall = faVolleyball;\nconst faArrowsUpToLine = {\n prefix: 'fas',\n iconName: 'arrows-up-to-line',\n icon: [576, 512, [], \"e4c2\", \"M32 96l512 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L32 32C14.3 32 0 46.3 0 64S14.3 96 32 96zM9.4 233.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L96 237.3 96 448c0 17.7 14.3 32 32 32s32-14.3 32-32l0-210.7 41.4 41.4c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-96-96c-12.5-12.5-32.8-12.5-45.3 0l-96 96zm320 45.3c12.5 12.5 32.8 12.5 45.3 0L416 237.3 416 448c0 17.7 14.3 32 32 32s32-14.3 32-32l0-210.7 41.4 41.4c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-96-96c-12.5-12.5-32.8-12.5-45.3 0l-96 96c-12.5 12.5-12.5 32.8 0 45.3z\"]\n};\nconst faSortDown = {\n prefix: 'fas',\n iconName: 'sort-down',\n icon: [320, 512, [\"sort-desc\"], \"f0dd\", \"M182.6 470.6c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-9.2-9.2-11.9-22.9-6.9-34.9s16.6-19.8 29.6-19.8l256 0c12.9 0 24.6 7.8 29.6 19.8s2.2 25.7-6.9 34.9l-128 128z\"]\n};\nconst faSortDesc = faSortDown;\nconst faCircleMinus = {\n prefix: 'fas',\n iconName: 'circle-minus',\n icon: [512, 512, [\"minus-circle\"], \"f056\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM184 232l144 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-144 0c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nconst faMinusCircle = faCircleMinus;\nconst faDoorOpen = {\n prefix: 'fas',\n iconName: 'door-open',\n icon: [576, 512, [], \"f52b\", \"M320 32c0-9.9-4.5-19.2-12.3-25.2S289.8-1.4 280.2 1l-179.9 45C79 51.3 64 70.5 64 92.5L64 448l-32 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l64 0 192 0 32 0 0-32 0-448zM256 256c0 17.7-10.7 32-24 32s-24-14.3-24-32s10.7-32 24-32s24 14.3 24 32zm96-128l96 0 0 352c0 17.7 14.3 32 32 32l64 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-32 0 0-320c0-35.3-28.7-64-64-64l-96 0 0 64z\"]\n};\nconst faRightFromBracket = {\n prefix: 'fas',\n iconName: 'right-from-bracket',\n icon: [512, 512, [\"sign-out-alt\"], \"f2f5\", \"M377.9 105.9L500.7 228.7c7.2 7.2 11.3 17.1 11.3 27.3s-4.1 20.1-11.3 27.3L377.9 406.1c-6.4 6.4-15 9.9-24 9.9c-18.7 0-33.9-15.2-33.9-33.9l0-62.1-128 0c-17.7 0-32-14.3-32-32l0-64c0-17.7 14.3-32 32-32l128 0 0-62.1c0-18.7 15.2-33.9 33.9-33.9c9 0 17.6 3.6 24 9.9zM160 96L96 96c-17.7 0-32 14.3-32 32l0 256c0 17.7 14.3 32 32 32l64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0c-53 0-96-43-96-96L0 128C0 75 43 32 96 32l64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32z\"]\n};\nconst faSignOutAlt = faRightFromBracket;\nconst faAtom = {\n prefix: 'fas',\n iconName: 'atom',\n icon: [512, 512, [9883], \"f5d2\", \"M256 398.8c-11.8 5.1-23.4 9.7-34.9 13.5c16.7 33.8 31 35.7 34.9 35.7s18.1-1.9 34.9-35.7c-11.4-3.9-23.1-8.4-34.9-13.5zM446 256c33 45.2 44.3 90.9 23.6 128c-20.2 36.3-62.5 49.3-115.2 43.2c-22 52.1-55.6 84.8-98.4 84.8s-76.4-32.7-98.4-84.8c-52.7 6.1-95-6.8-115.2-43.2C21.7 346.9 33 301.2 66 256c-33-45.2-44.3-90.9-23.6-128c20.2-36.3 62.5-49.3 115.2-43.2C179.6 32.7 213.2 0 256 0s76.4 32.7 98.4 84.8c52.7-6.1 95 6.8 115.2 43.2c20.7 37.1 9.4 82.8-23.6 128zm-65.8 67.4c-1.7 14.2-3.9 28-6.7 41.2c31.8 1.4 38.6-8.7 40.2-11.7c2.3-4.2 7-17.9-11.9-48.1c-6.8 6.3-14 12.5-21.6 18.6zm-6.7-175.9c2.8 13.1 5 26.9 6.7 41.2c7.6 6.1 14.8 12.3 21.6 18.6c18.9-30.2 14.2-44 11.9-48.1c-1.6-2.9-8.4-13-40.2-11.7zM290.9 99.7C274.1 65.9 259.9 64 256 64s-18.1 1.9-34.9 35.7c11.4 3.9 23.1 8.4 34.9 13.5c11.8-5.1 23.4-9.7 34.9-13.5zm-159 88.9c1.7-14.3 3.9-28 6.7-41.2c-31.8-1.4-38.6 8.7-40.2 11.7c-2.3 4.2-7 17.9 11.9 48.1c6.8-6.3 14-12.5 21.6-18.6zM110.2 304.8C91.4 335 96 348.7 98.3 352.9c1.6 2.9 8.4 13 40.2 11.7c-2.8-13.1-5-26.9-6.7-41.2c-7.6-6.1-14.8-12.3-21.6-18.6zM336 256a80 80 0 1 0 -160 0 80 80 0 1 0 160 0zm-80-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nconst faSoap = {\n prefix: 'fas',\n iconName: 'soap',\n icon: [512, 512, [129532], \"e06e\", \"M208 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM320 256a64 64 0 1 0 0-128 64 64 0 1 0 0 128zM416 32a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm0 160c0 27.6-11.7 52.5-30.4 70.1C422.1 275.7 448 310.8 448 352c0 53-43 96-96 96l-192 0c-53 0-96-43-96-96s43-96 96-96l88.4 0c-15.2-17-24.4-39.4-24.4-64L96 192c-53 0-96 43-96 96L0 416c0 53 43 96 96 96l320 0c53 0 96-43 96-96l0-128c0-53-43-96-96-96zM160 288c-35.3 0-64 28.7-64 64s28.7 64 64 64l192 0c35.3 0 64-28.7 64-64s-28.7-64-64-64l-32 0-160 0z\"]\n};\nconst faIcons = {\n prefix: 'fas',\n iconName: 'icons',\n icon: [512, 512, [\"heart-music-camera-bolt\"], \"f86d\", \"M500.3 7.3C507.7 13.3 512 22.4 512 32l0 144c0 26.5-28.7 48-64 48s-64-21.5-64-48s28.7-48 64-48l0-57L352 90.2 352 208c0 26.5-28.7 48-64 48s-64-21.5-64-48s28.7-48 64-48l0-96c0-15.3 10.8-28.4 25.7-31.4l160-32c9.4-1.9 19.1 .6 26.6 6.6zM74.7 304l11.8-17.8c5.9-8.9 15.9-14.2 26.6-14.2l61.7 0c10.7 0 20.7 5.3 26.6 14.2L213.3 304l26.7 0c26.5 0 48 21.5 48 48l0 112c0 26.5-21.5 48-48 48L48 512c-26.5 0-48-21.5-48-48L0 352c0-26.5 21.5-48 48-48l26.7 0zM192 408a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM478.7 278.3L440.3 368l55.7 0c6.7 0 12.6 4.1 15 10.4s.6 13.3-4.4 17.7l-128 112c-5.6 4.9-13.9 5.3-19.9 .9s-8.2-12.4-5.3-19.2L391.7 400 336 400c-6.7 0-12.6-4.1-15-10.4s-.6-13.3 4.4-17.7l128-112c5.6-4.9 13.9-5.3 19.9-.9s8.2 12.4 5.3 19.2zm-339-59.2c-6.5 6.5-17 6.5-23 0L19.9 119.2c-28-29-26.5-76.9 5-103.9c27-23.5 68.4-19 93.4 6.5l10 10.5 9.5-10.5c25-25.5 65.9-30 93.9-6.5c31 27 32.5 74.9 4.5 103.9l-96.4 99.9z\"]\n};\nconst faHeartMusicCameraBolt = faIcons;\nconst faMicrophoneLinesSlash = {\n prefix: 'fas',\n iconName: 'microphone-lines-slash',\n icon: [640, 512, [\"microphone-alt-slash\"], \"f539\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L472.1 344.7c15.2-26 23.9-56.3 23.9-88.7l0-40c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 24 0 16c0 21.2-5.1 41.1-14.2 58.7L416 300.8l0-44.8-57.1 0-34.5-27c2.9-3.1 7-5 11.6-5l80 0 0-32-80 0c-8.8 0-16-7.2-16-16s7.2-16 16-16l80 0 0-32-80 0c-8.8 0-16-7.2-16-16s7.2-16 16-16l80 0c0-53-43-96-96-96s-96 43-96 96l0 54.3L38.8 5.1zm362.5 407l-43.1-33.9C346.1 382 333.3 384 320 384c-70.7 0-128-57.3-128-128l0-8.7L144.7 210c-.5 1.9-.7 3.9-.7 6l0 40c0 89.1 66.2 162.7 152 174.4l0 33.6-48 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l72 0 72 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-48 0 0-33.6c20.4-2.8 39.7-9.1 57.3-18.2z\"]\n};\nconst faMicrophoneAltSlash = faMicrophoneLinesSlash;\nconst faBridgeCircleCheck = {\n prefix: 'fas',\n iconName: 'bridge-circle-check',\n icon: [640, 512, [], \"e4c9\", \"M64 32C46.3 32 32 46.3 32 64s14.3 32 32 32l40 0 0 64-72 0 0 128c53 0 96 43 96 96l0 64c0 17.7 14.3 32 32 32l32 0c17.7 0 32-14.3 32-32l0-64c0-53 43-96 96-96c6.3 0 12.4 .6 18.3 1.7C367.1 231.8 426.9 192 496 192c42.5 0 81.6 15.1 112 40.2l0-72.2-72 0 0-64 40 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L64 32zM488 96l0 64-80 0 0-64 80 0zM360 96l0 64-80 0 0-64 80 0zM232 96l0 64-80 0 0-64 80 0zM640 368a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zm-76.7-43.3c6.2 6.2 6.2 16.4 0 22.6l-72 72c-6.2 6.2-16.4 6.2-22.6 0l-40-40c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L480 385.4l60.7-60.7c6.2-6.2 16.4-6.2 22.6 0z\"]\n};\nconst faPumpMedical = {\n prefix: 'fas',\n iconName: 'pump-medical',\n icon: [448, 512, [], \"e06a\", \"M128 32l0 96 128 0 0-32 60.1 0c4.2 0 8.3 1.7 11.3 4.7l33.9 33.9c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L372.7 55.4c-15-15-35.4-23.4-56.6-23.4L256 32c0-17.7-14.3-32-32-32L160 0c-17.7 0-32 14.3-32 32zM117.4 160c-33.3 0-61 25.5-63.8 58.7L35 442.7C31.9 480 61.3 512 98.8 512l186.4 0c37.4 0 66.9-32 63.8-69.3l-18.7-224c-2.8-33.2-30.5-58.7-63.8-58.7l-149.1 0zM216 280l0 32 32 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-32 0 0 32c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-32-32 0c-13.3 0-24-10.7-24-24s10.7-24 24-24l32 0 0-32c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nconst faFingerprint = {\n prefix: 'fas',\n iconName: 'fingerprint',\n icon: [512, 512, [], \"f577\", \"M48 256C48 141.1 141.1 48 256 48c63.1 0 119.6 28.1 157.8 72.5c8.6 10.1 23.8 11.2 33.8 2.6s11.2-23.8 2.6-33.8C403.3 34.6 333.7 0 256 0C114.6 0 0 114.6 0 256l0 40c0 13.3 10.7 24 24 24s24-10.7 24-24l0-40zm458.5-52.9c-2.7-13-15.5-21.3-28.4-18.5s-21.3 15.5-18.5 28.4c2.9 13.9 4.5 28.3 4.5 43.1l0 40c0 13.3 10.7 24 24 24s24-10.7 24-24l0-40c0-18.1-1.9-35.8-5.5-52.9zM256 80c-19 0-37.4 3-54.5 8.6c-15.2 5-18.7 23.7-8.3 35.9c7.1 8.3 18.8 10.8 29.4 7.9c10.6-2.9 21.8-4.4 33.4-4.4c70.7 0 128 57.3 128 128l0 24.9c0 25.2-1.5 50.3-4.4 75.3c-1.7 14.6 9.4 27.8 24.2 27.8c11.8 0 21.9-8.6 23.3-20.3c3.3-27.4 5-55 5-82.7l0-24.9c0-97.2-78.8-176-176-176zM150.7 148.7c-9.1-10.6-25.3-11.4-33.9-.4C93.7 178 80 215.4 80 256l0 24.9c0 24.2-2.6 48.4-7.8 71.9C68.8 368.4 80.1 384 96.1 384c10.5 0 19.9-7 22.2-17.3c6.4-28.1 9.7-56.8 9.7-85.8l0-24.9c0-27.2 8.5-52.4 22.9-73.1c7.2-10.4 8-24.6-.2-34.2zM256 160c-53 0-96 43-96 96l0 24.9c0 35.9-4.6 71.5-13.8 106.1c-3.8 14.3 6.7 29 21.5 29c9.5 0 17.9-6.2 20.4-15.4c10.5-39 15.9-79.2 15.9-119.7l0-24.9c0-28.7 23.3-52 52-52s52 23.3 52 52l0 24.9c0 36.3-3.5 72.4-10.4 107.9c-2.7 13.9 7.7 27.2 21.8 27.2c10.2 0 19-7 21-17c7.7-38.8 11.6-78.3 11.6-118.1l0-24.9c0-53-43-96-96-96zm24 96c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 24.9c0 59.9-11 119.3-32.5 175.2l-5.9 15.3c-4.8 12.4 1.4 26.3 13.8 31s26.3-1.4 31-13.8l5.9-15.3C267.9 411.9 280 346.7 280 280.9l0-24.9z\"]\n};\nconst faHandPointRight = {\n prefix: 'fas',\n iconName: 'hand-point-right',\n icon: [512, 512, [], \"f0a4\", \"M480 96c17.7 0 32 14.3 32 32s-14.3 32-32 32l-208 0 0-64 208 0zM320 288c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l64 0zm64-64c0 17.7-14.3 32-32 32l-48 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l48 0c17.7 0 32 14.3 32 32zM288 384c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l64 0zm-88-96l.6 0c-5.4 9.4-8.6 20.3-8.6 32c0 13.2 4 25.4 10.8 35.6C177.9 364.3 160 388.1 160 416c0 11.7 3.1 22.6 8.6 32l-8.6 0C71.6 448 0 376.4 0 288l0-61.7c0-42.4 16.9-83.1 46.9-113.1l11.6-11.6C82.5 77.5 115.1 64 149 64l27 0c35.3 0 64 28.7 64 64l0 88c0 22.1-17.9 40-40 40s-40-17.9-40-40l0-56c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 56c0 39.8 32.2 72 72 72z\"]\n};\nconst faMagnifyingGlassLocation = {\n prefix: 'fas',\n iconName: 'magnifying-glass-location',\n icon: [512, 512, [\"search-location\"], \"f689\", \"M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376c-34.4 25.2-76.8 40-122.7 40C93.1 416 0 322.9 0 208S93.1 0 208 0S416 93.1 416 208zM288 176c0-44.2-35.8-80-80-80s-80 35.8-80 80c0 48.8 46.5 111.6 68.6 138.6c6 7.3 16.8 7.3 22.7 0c22.1-27 68.6-89.8 68.6-138.6zm-112 0a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nconst faSearchLocation = faMagnifyingGlassLocation;\nconst faForwardStep = {\n prefix: 'fas',\n iconName: 'forward-step',\n icon: [320, 512, [\"step-forward\"], \"f051\", \"M52.5 440.6c-9.5 7.9-22.8 9.7-34.1 4.4S0 428.4 0 416L0 96C0 83.6 7.2 72.3 18.4 67s24.5-3.6 34.1 4.4l192 160L256 241l0-145c0-17.7 14.3-32 32-32s32 14.3 32 32l0 320c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-145-11.5 9.6-192 160z\"]\n};\nconst faStepForward = faForwardStep;\nconst faFaceSmileBeam = {\n prefix: 'fas',\n iconName: 'face-smile-beam',\n icon: [512, 512, [128522, \"smile-beam\"], \"f5b8\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM164.1 325.5C182 346.2 212.6 368 256 368s74-21.8 91.9-42.5c5.8-6.7 15.9-7.4 22.6-1.6s7.4 15.9 1.6 22.6C349.8 372.1 311.1 400 256 400s-93.8-27.9-116.1-53.5c-5.8-6.7-5.1-16.8 1.6-22.6s16.8-5.1 22.6 1.6zm53.5-96.7s0 0 0 0c0 0 0 0 0 0l-.2-.2c-.2-.2-.4-.5-.7-.9c-.6-.8-1.6-2-2.8-3.4c-2.5-2.8-6-6.6-10.2-10.3c-8.8-7.8-18.8-14-27.7-14s-18.9 6.2-27.7 14c-4.2 3.7-7.7 7.5-10.2 10.3c-1.2 1.4-2.2 2.6-2.8 3.4c-.3 .4-.6 .7-.7 .9l-.2 .2c0 0 0 0 0 0c0 0 0 0 0 0s0 0 0 0c-2.1 2.8-5.7 3.9-8.9 2.8s-5.5-4.1-5.5-7.6c0-17.9 6.7-35.6 16.6-48.8c9.8-13 23.9-23.2 39.4-23.2s29.6 10.2 39.4 23.2c9.9 13.2 16.6 30.9 16.6 48.8c0 3.4-2.2 6.5-5.5 7.6s-6.9 0-8.9-2.8c0 0 0 0 0 0s0 0 0 0zm160 0c0 0 0 0 0 0l-.2-.2c-.2-.2-.4-.5-.7-.9c-.6-.8-1.6-2-2.8-3.4c-2.5-2.8-6-6.6-10.2-10.3c-8.8-7.8-18.8-14-27.7-14s-18.9 6.2-27.7 14c-4.2 3.7-7.7 7.5-10.2 10.3c-1.2 1.4-2.2 2.6-2.8 3.4c-.3 .4-.6 .7-.7 .9l-.2 .2c0 0 0 0 0 0c0 0 0 0 0 0s0 0 0 0c-2.1 2.8-5.7 3.9-8.9 2.8s-5.5-4.1-5.5-7.6c0-17.9 6.7-35.6 16.6-48.8c9.8-13 23.9-23.2 39.4-23.2s29.6 10.2 39.4 23.2c9.9 13.2 16.6 30.9 16.6 48.8c0 3.4-2.2 6.5-5.5 7.6s-6.9 0-8.9-2.8c0 0 0 0 0 0s0 0 0 0s0 0 0 0z\"]\n};\nconst faSmileBeam = faFaceSmileBeam;\nconst faFlagCheckered = {\n prefix: 'fas',\n iconName: 'flag-checkered',\n icon: [448, 512, [127937], \"f11e\", \"M32 0C49.7 0 64 14.3 64 32l0 16 69-17.2c38.1-9.5 78.3-5.1 113.5 12.5c46.3 23.2 100.8 23.2 147.1 0l9.6-4.8C423.8 28.1 448 43.1 448 66.1l0 279.7c0 13.3-8.3 25.3-20.8 30l-34.7 13c-46.2 17.3-97.6 14.6-141.7-7.4c-37.9-19-81.3-23.7-122.5-13.4L64 384l0 96c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-80 0-66L0 64 0 32C0 14.3 14.3 0 32 0zM64 187.1l64-13.9 0 65.5L64 252.6 64 318l48.8-12.2c5.1-1.3 10.1-2.4 15.2-3.3l0-63.9 38.9-8.4c8.3-1.8 16.7-2.5 25.1-2.1l0-64c13.6 .4 27.2 2.6 40.4 6.4l23.6 6.9 0 66.7-41.7-12.3c-7.3-2.1-14.8-3.4-22.3-3.8l0 71.4c21.8 1.9 43.3 6.7 64 14.4l0-69.8 22.7 6.7c13.5 4 27.3 6.4 41.3 7.4l0-64.2c-7.8-.8-15.6-2.3-23.2-4.5l-40.8-12 0-62c-13-3.8-25.8-8.8-38.2-15c-8.2-4.1-16.9-7-25.8-8.8l0 72.4c-13-.4-26 .8-38.7 3.6L128 173.2 128 98 64 114l0 73.1zM320 335.7c16.8 1.5 33.9-.7 50-6.8l14-5.2 0-71.7-7.9 1.8c-18.4 4.3-37.3 5.7-56.1 4.5l0 77.4zm64-149.4l0-70.8c-20.9 6.1-42.4 9.1-64 9.1l0 69.4c13.9 1.4 28 .5 41.7-2.6l22.3-5.2z\"]\n};\nconst faFootball = {\n prefix: 'fas',\n iconName: 'football',\n icon: [512, 512, [127944, \"football-ball\"], \"f44e\", \"M247.5 25.4c-13.5 3.3-26.4 7.2-38.6 11.7C142.9 61.6 96.7 103.6 66 153.6C47.8 183.4 35.1 215.9 26.9 249L264.5 486.6c13.5-3.3 26.4-7.2 38.6-11.7c66-24.5 112.2-66.5 142.9-116.5c18.3-29.8 30.9-62.3 39.1-95.3L247.5 25.4zM495.2 205.3c6.1-56.8 1.4-112.2-7.7-156.4c-2.7-12.9-13-22.9-26.1-25.1c-58.2-9.7-109.9-12-155.6-7.9L495.2 205.3zM206.1 496L16.8 306.7c-6.1 56.8-1.4 112.2 7.7 156.4c2.7 12.9 13 22.9 26.1 25.1c58.2 9.7 109.9 12 155.6 7.9zm54.6-331.3c6.2-6.2 16.4-6.2 22.6 0l64 64c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-64-64c-6.2-6.2-6.2-16.4 0-22.6zm-48 48c6.2-6.2 16.4-6.2 22.6 0l64 64c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-64-64c-6.2-6.2-6.2-16.4 0-22.6zm-48 48c6.2-6.2 16.4-6.2 22.6 0l64 64c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-64-64c-6.2-6.2-6.2-16.4 0-22.6z\"]\n};\nconst faFootballBall = faFootball;\nconst faSchoolCircleExclamation = {\n prefix: 'fas',\n iconName: 'school-circle-exclamation',\n icon: [640, 512, [], \"e56c\", \"M337.8 5.4C327-1.8 313-1.8 302.2 5.4L166.3 96 48 96C21.5 96 0 117.5 0 144L0 464c0 26.5 21.5 48 48 48l272 0s0 0 0 0l-64 0 0-96c0-35.3 28.7-64 64-64l.3 0 .5 0c3.4-37.7 18.7-72.1 42.2-99.1C350.2 260 335.6 264 320 264c-48.6 0-88-39.4-88-88s39.4-88 88-88s88 39.4 88 88c0 18.3-5.6 35.3-15.1 49.4c29-21 64.6-33.4 103.1-33.4c59.5 0 112.1 29.6 144 74.8L640 144c0-26.5-21.5-48-48-48L473.7 96 337.8 5.4zM96 192l32 0c8.8 0 16 7.2 16 16l0 64c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-64c0-8.8 7.2-16 16-16zm0 128l32 0c8.8 0 16 7.2 16 16l0 64c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-64c0-8.8 7.2-16 16-16zM320 128c-8.8 0-16 7.2-16 16l0 32c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16s-7.2-16-16-16l-16 0 0-16c0-8.8-7.2-16-16-16zM496 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm0-96a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0-144c8.8 0 16 7.2 16 16l0 80c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-80c0-8.8 7.2-16 16-16z\"]\n};\nconst faCrop = {\n prefix: 'fas',\n iconName: 'crop',\n icon: [512, 512, [], \"f125\", \"M448 109.3l54.6-54.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L402.7 64 160 64l0 64 178.7 0L128 338.7 128 32c0-17.7-14.3-32-32-32S64 14.3 64 32l0 32L32 64C14.3 64 0 78.3 0 96s14.3 32 32 32l32 0 0 256c0 35.3 28.7 64 64 64l224 0 0-64-178.7 0L384 173.3 384 480c0 17.7 14.3 32 32 32s32-14.3 32-32l0-32 32 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-32 0 0-274.7z\"]\n};\nconst faAnglesDown = {\n prefix: 'fas',\n iconName: 'angles-down',\n icon: [448, 512, [\"angle-double-down\"], \"f103\", \"M246.6 470.6c-12.5 12.5-32.8 12.5-45.3 0l-160-160c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L224 402.7 361.4 265.4c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3l-160 160zm160-352l-160 160c-12.5 12.5-32.8 12.5-45.3 0l-160-160c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L224 210.7 361.4 73.4c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3z\"]\n};\nconst faAngleDoubleDown = faAnglesDown;\nconst faUsersRectangle = {\n prefix: 'fas',\n iconName: 'users-rectangle',\n icon: [640, 512, [], \"e594\", \"M96 0C43 0 0 43 0 96L0 416c0 53 43 96 96 96l448 0c53 0 96-43 96-96l0-320c0-53-43-96-96-96L96 0zM64 96c0-17.7 14.3-32 32-32l448 0c17.7 0 32 14.3 32 32l0 320c0 17.7-14.3 32-32 32L96 448c-17.7 0-32-14.3-32-32L64 96zm159.8 80a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM96 309.3c0 14.7 11.9 26.7 26.7 26.7l56.1 0c8-34.1 32.8-61.7 65.2-73.6c-7.5-4.1-16.2-6.4-25.3-6.4l-69.3 0C119.9 256 96 279.9 96 309.3zM461.2 336l56.1 0c14.7 0 26.7-11.9 26.7-26.7c0-29.5-23.9-53.3-53.3-53.3l-69.3 0c-9.2 0-17.8 2.3-25.3 6.4c32.4 11.9 57.2 39.5 65.2 73.6zM372 289c-3.9-.7-7.9-1-12-1l-80 0c-4.1 0-8.1 .3-12 1c-26 4.4-47.3 22.7-55.9 47c-2.7 7.5-4.1 15.6-4.1 24c0 13.3 10.7 24 24 24l176 0c13.3 0 24-10.7 24-24c0-8.4-1.4-16.5-4.1-24c-8.6-24.3-29.9-42.6-55.9-47zM512 176a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM320 256a64 64 0 1 0 0-128 64 64 0 1 0 0 128z\"]\n};\nconst faPeopleRoof = {\n prefix: 'fas',\n iconName: 'people-roof',\n icon: [640, 512, [], \"e537\", \"M335.5 4l288 160c15.4 8.6 21 28.1 12.4 43.5s-28.1 21-43.5 12.4L320 68.6 47.5 220c-15.4 8.6-34.9 3-43.5-12.4s-3-34.9 12.4-43.5L304.5 4c9.7-5.4 21.4-5.4 31.1 0zM320 160a40 40 0 1 1 0 80 40 40 0 1 1 0-80zM144 256a40 40 0 1 1 0 80 40 40 0 1 1 0-80zm312 40a40 40 0 1 1 80 0 40 40 0 1 1 -80 0zM226.9 491.4L200 441.5l0 38.5c0 17.7-14.3 32-32 32l-48 0c-17.7 0-32-14.3-32-32l0-38.5L61.1 491.4c-6.3 11.7-20.8 16-32.5 9.8s-16-20.8-9.8-32.5l37.9-70.3c15.3-28.5 45.1-46.3 77.5-46.3l19.5 0c16.3 0 31.9 4.5 45.4 12.6l33.6-62.3c15.3-28.5 45.1-46.3 77.5-46.3l19.5 0c32.4 0 62.1 17.8 77.5 46.3l33.6 62.3c13.5-8.1 29.1-12.6 45.4-12.6l19.5 0c32.4 0 62.1 17.8 77.5 46.3l37.9 70.3c6.3 11.7 1.9 26.2-9.8 32.5s-26.2 1.9-32.5-9.8L552 441.5l0 38.5c0 17.7-14.3 32-32 32l-48 0c-17.7 0-32-14.3-32-32l0-38.5-26.9 49.9c-6.3 11.7-20.8 16-32.5 9.8s-16-20.8-9.8-32.5l36.3-67.5c-1.7-1.7-3.2-3.6-4.3-5.8L376 345.5l0 54.5c0 17.7-14.3 32-32 32l-48 0c-17.7 0-32-14.3-32-32l0-54.5-26.9 49.9c-1.2 2.2-2.6 4.1-4.3 5.8l36.3 67.5c6.3 11.7 1.9 26.2-9.8 32.5s-26.2 1.9-32.5-9.8z\"]\n};\nconst faPeopleLine = {\n prefix: 'fas',\n iconName: 'people-line',\n icon: [640, 512, [], \"e534\", \"M360 72a40 40 0 1 0 -80 0 40 40 0 1 0 80 0zM144 208a40 40 0 1 0 0-80 40 40 0 1 0 0 80zM32 416c-17.7 0-32 14.3-32 32s14.3 32 32 32l576 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L32 416zM496 208a40 40 0 1 0 0-80 40 40 0 1 0 0 80zM200 313.5l26.9 49.9c6.3 11.7 20.8 16 32.5 9.8s16-20.8 9.8-32.5l-36.3-67.5c1.7-1.7 3.2-3.6 4.3-5.8L264 217.5l0 54.5c0 17.7 14.3 32 32 32l48 0c17.7 0 32-14.3 32-32l0-54.5 26.9 49.9c1.2 2.2 2.6 4.1 4.3 5.8l-36.3 67.5c-6.3 11.7-1.9 26.2 9.8 32.5s26.2 1.9 32.5-9.8L440 313.5l0 38.5c0 17.7 14.3 32 32 32l48 0c17.7 0 32-14.3 32-32l0-38.5 26.9 49.9c6.3 11.7 20.8 16 32.5 9.8s16-20.8 9.8-32.5l-37.9-70.3c-15.3-28.5-45.1-46.3-77.5-46.3l-19.5 0c-16.3 0-31.9 4.5-45.4 12.6l-33.6-62.3c-15.3-28.5-45.1-46.3-77.5-46.3l-19.5 0c-32.4 0-62.1 17.8-77.5 46.3l-33.6 62.3c-13.5-8.1-29.1-12.6-45.4-12.6l-19.5 0c-32.4 0-62.1 17.8-77.5 46.3L18.9 340.6c-6.3 11.7-1.9 26.2 9.8 32.5s26.2 1.9 32.5-9.8L88 313.5 88 352c0 17.7 14.3 32 32 32l48 0c17.7 0 32-14.3 32-32l0-38.5z\"]\n};\nconst faBeerMugEmpty = {\n prefix: 'fas',\n iconName: 'beer-mug-empty',\n icon: [512, 512, [\"beer\"], \"f0fc\", \"M32 64c0-17.7 14.3-32 32-32l288 0c17.7 0 32 14.3 32 32l0 32 51.2 0c42.4 0 76.8 34.4 76.8 76.8l0 102.1c0 30.4-17.9 57.9-45.6 70.2L384 381.7l0 34.3c0 35.3-28.7 64-64 64L96 480c-35.3 0-64-28.7-64-64L32 64zM384 311.6l56.4-25.1c4.6-2.1 7.6-6.6 7.6-11.7l0-102.1c0-7.1-5.7-12.8-12.8-12.8L384 160l0 151.6zM160 144c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 224c0 8.8 7.2 16 16 16s16-7.2 16-16l0-224zm64 0c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 224c0 8.8 7.2 16 16 16s16-7.2 16-16l0-224zm64 0c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 224c0 8.8 7.2 16 16 16s16-7.2 16-16l0-224z\"]\n};\nconst faBeer = faBeerMugEmpty;\nconst faDiagramPredecessor = {\n prefix: 'fas',\n iconName: 'diagram-predecessor',\n icon: [512, 512, [], \"e477\", \"M448 416l0-64L64 352l0 64 384 0zm0 64L64 480c-35.3 0-64-28.7-64-64l0-64c0-35.3 28.7-64 64-64l384 0c35.3 0 64 28.7 64 64l0 64c0 35.3-28.7 64-64 64zM288 160c0 35.3-28.7 64-64 64L64 224c-35.3 0-64-28.7-64-64L0 96C0 60.7 28.7 32 64 32l144 0 16 0 144 0c44.2 0 80 35.8 80 80l0 16 38.1 0c21.4 0 32.1 25.9 17 41L433 239c-9.4 9.4-24.6 9.4-33.9 0L329 169c-15.1-15.1-4.4-41 17-41l38.1 0 0-16c0-8.8-7.2-16-16-16l-80 0 0 64z\"]\n};\nconst faArrowUpLong = {\n prefix: 'fas',\n iconName: 'arrow-up-long',\n icon: [384, 512, [\"long-arrow-up\"], \"f176\", \"M214.6 9.4c-12.5-12.5-32.8-12.5-45.3 0l-128 128c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L160 109.3 160 480c0 17.7 14.3 32 32 32s32-14.3 32-32l0-370.7 73.4 73.4c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-128-128z\"]\n};\nconst faLongArrowUp = faArrowUpLong;\nconst faFireFlameSimple = {\n prefix: 'fas',\n iconName: 'fire-flame-simple',\n icon: [384, 512, [\"burn\"], \"f46a\", \"M372.5 256.5l-.7-1.9C337.8 160.8 282 76.5 209.1 8.5l-3.3-3C202.1 2 197.1 0 192 0s-10.1 2-13.8 5.5l-3.3 3C102 76.5 46.2 160.8 12.2 254.6l-.7 1.9C3.9 277.3 0 299.4 0 321.6C0 426.7 86.8 512 192 512s192-85.3 192-190.4c0-22.2-3.9-44.2-11.5-65.1zm-90.8 49.5c4.1 9.3 6.2 19.4 6.2 29.5c0 53-43 96.5-96 96.5s-96-43.5-96-96.5c0-10.1 2.1-20.3 6.2-29.5l1.9-4.3c15.8-35.4 37.9-67.7 65.3-95.1l8.9-8.9c3.6-3.6 8.5-5.6 13.6-5.6s10 2 13.6 5.6l8.9 8.9c27.4 27.4 49.6 59.7 65.3 95.1l1.9 4.3z\"]\n};\nconst faBurn = faFireFlameSimple;\nconst faPerson = {\n prefix: 'fas',\n iconName: 'person',\n icon: [320, 512, [129485, \"male\"], \"f183\", \"M112 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm40 304l0 128c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-223.1L59.4 304.5c-9.1 15.1-28.8 20-43.9 10.9s-20-28.8-10.9-43.9l58.3-97c17.4-28.9 48.6-46.6 82.3-46.6l29.7 0c33.7 0 64.9 17.7 82.3 46.6l58.3 97c9.1 15.1 4.2 34.8-10.9 43.9s-34.8 4.2-43.9-10.9L232 256.9 232 480c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-128-16 0z\"]\n};\nconst faMale = faPerson;\nconst faLaptop = {\n prefix: 'fas',\n iconName: 'laptop',\n icon: [640, 512, [128187], \"f109\", \"M128 32C92.7 32 64 60.7 64 96l0 256 64 0 0-256 384 0 0 256 64 0 0-256c0-35.3-28.7-64-64-64L128 32zM19.2 384C8.6 384 0 392.6 0 403.2C0 445.6 34.4 480 76.8 480l486.4 0c42.4 0 76.8-34.4 76.8-76.8c0-10.6-8.6-19.2-19.2-19.2L19.2 384z\"]\n};\nconst faFileCsv = {\n prefix: 'fas',\n iconName: 'file-csv',\n icon: [512, 512, [], \"f6dd\", \"M0 64C0 28.7 28.7 0 64 0L224 0l0 128c0 17.7 14.3 32 32 32l128 0 0 144-208 0c-35.3 0-64 28.7-64 64l0 144-48 0c-35.3 0-64-28.7-64-64L0 64zm384 64l-128 0L256 0 384 128zM200 352l16 0c22.1 0 40 17.9 40 40l0 8c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-8c0-4.4-3.6-8-8-8l-16 0c-4.4 0-8 3.6-8 8l0 80c0 4.4 3.6 8 8 8l16 0c4.4 0 8-3.6 8-8l0-8c0-8.8 7.2-16 16-16s16 7.2 16 16l0 8c0 22.1-17.9 40-40 40l-16 0c-22.1 0-40-17.9-40-40l0-80c0-22.1 17.9-40 40-40zm133.1 0l34.9 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-34.9 0c-7.2 0-13.1 5.9-13.1 13.1c0 5.2 3 9.9 7.8 12l37.4 16.6c16.3 7.2 26.8 23.4 26.8 41.2c0 24.9-20.2 45.1-45.1 45.1L304 512c-8.8 0-16-7.2-16-16s7.2-16 16-16l42.9 0c7.2 0 13.1-5.9 13.1-13.1c0-5.2-3-9.9-7.8-12l-37.4-16.6c-16.3-7.2-26.8-23.4-26.8-41.2c0-24.9 20.2-45.1 45.1-45.1zm98.9 0c8.8 0 16 7.2 16 16l0 31.6c0 23 5.5 45.6 16 66c10.5-20.3 16-42.9 16-66l0-31.6c0-8.8 7.2-16 16-16s16 7.2 16 16l0 31.6c0 34.7-10.3 68.7-29.6 97.6l-5.1 7.7c-3 4.5-8 7.1-13.3 7.1s-10.3-2.7-13.3-7.1l-5.1-7.7c-19.3-28.9-29.6-62.9-29.6-97.6l0-31.6c0-8.8 7.2-16 16-16z\"]\n};\nconst faMenorah = {\n prefix: 'fas',\n iconName: 'menorah',\n icon: [640, 512, [], \"f676\", \"M20.8 7.4C22.8 2.9 27.1 0 32 0s9.2 2.9 11.2 7.4L61.3 49.7c1.8 4.1 2.7 8.6 2.7 13.1L64 64c0 17.7-14.3 32-32 32S0 81.7 0 64l0-1.2c0-4.5 .9-8.9 2.7-13.1L20.8 7.4zm96 0C118.8 2.9 123.1 0 128 0s9.2 2.9 11.2 7.4l18.2 42.4c1.8 4.1 2.7 8.6 2.7 13.1l0 1.2c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-1.2c0-4.5 .9-8.9 2.7-13.1L116.8 7.4zm77.8 42.4L212.8 7.4C214.8 2.9 219.1 0 224 0s9.2 2.9 11.2 7.4l18.2 42.4c1.8 4.1 2.7 8.6 2.7 13.1l0 1.2c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-1.2c0-4.5 .9-8.9 2.7-13.1zM308.8 7.4C310.8 2.9 315.1 0 320 0s9.2 2.9 11.2 7.4l18.2 42.4c1.8 4.1 2.7 8.6 2.7 13.1l0 1.2c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-1.2c0-4.5 .9-8.9 2.7-13.1L308.8 7.4zm77.8 42.4L404.8 7.4C406.8 2.9 411.1 0 416 0s9.2 2.9 11.2 7.4l18.2 42.4c1.8 4.1 2.7 8.6 2.7 13.1l0 1.2c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-1.2c0-4.5 .9-8.9 2.7-13.1zM500.8 7.4C502.8 2.9 507.1 0 512 0s9.2 2.9 11.2 7.4l18.2 42.4c1.8 4.1 2.7 8.6 2.7 13.1l0 1.2c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-1.2c0-4.5 .9-8.9 2.7-13.1L500.8 7.4zm77.8 42.4L596.8 7.4C598.8 2.9 603.1 0 608 0s9.2 2.9 11.2 7.4l18.2 42.4c1.8 4.1 2.7 8.6 2.7 13.1l0 1.2c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-1.2c0-4.5 .9-8.9 2.7-13.1zM32 128c17.7 0 32 14.3 32 32l0 128c0 17.7 14.3 32 32 32l192 0 0-160c0-17.7 14.3-32 32-32s32 14.3 32 32l0 160 192 0c17.7 0 32-14.3 32-32l0-128c0-17.7 14.3-32 32-32s32 14.3 32 32l0 128c0 53-43 96-96 96l-192 0 0 64 128 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-160 0-160 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l128 0 0-64L96 384c-53 0-96-43-96-96L0 160c0-17.7 14.3-32 32-32zm96 0c17.7 0 32 14.3 32 32l0 96 0 32-64 0 0-32 0-96c0-17.7 14.3-32 32-32zm96 0c17.7 0 32 14.3 32 32l0 96 0 32-64 0 0-32 0-96c0-17.7 14.3-32 32-32zm192 0c17.7 0 32 14.3 32 32l0 96 0 32-64 0 0-32 0-96c0-17.7 14.3-32 32-32zm96 0c17.7 0 32 14.3 32 32l0 96 0 32-64 0 0-32 0-96c0-17.7 14.3-32 32-32z\"]\n};\nconst faTruckPlane = {\n prefix: 'fas',\n iconName: 'truck-plane',\n icon: [640, 512, [], \"e58f\", \"M200 0c-30.6 0-56 54.7-56 86.1l0 106.5L7.8 274.3C2.9 277.2 0 282.4 0 288l0 64c0 5.1 2.4 9.8 6.4 12.8s9.3 3.9 14.1 2.5l123.4-37 0 81.2-50 40c-3.8 3-6 7.6-6 12.5l0 32c0 5.1 2.5 10 6.6 13s9.5 3.8 14.4 2.2L200 480.9 290.4 511c-1.6-4.7-2.4-9.8-2.4-15l0-32.6c-18.2-10.5-30.7-29.7-31.9-51.8l-.1-.1 0-3.5 0-82.5L256 184l0-1.1s0 0 0 0l0-96.9C256 54.7 231.5 0 200 0zm88 176l0 224c0 20.9 13.4 38.7 32 45.3l0 42.7c0 13.3 10.7 24 24 24l16 0c13.3 0 24-10.7 24-24l0-40 160 0 0 40c0 13.3 10.7 24 24 24l16 0c13.3 0 24-10.7 24-24l0-42.7c18.6-6.6 32-24.4 32-45.3l0-224c0-26.5-21.5-48-48-48l-256 0c-26.5 0-48 21.5-48 48zm79.8 78.7c3.3-8.7 11.2-14.7 20.5-14.7l151.4 0c9.2 0 17.2 6 20.5 14.7L576 304l-224 0 15.8-49.3zM568 352a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM336 376a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"]\n};\nconst faRecordVinyl = {\n prefix: 'fas',\n iconName: 'record-vinyl',\n icon: [512, 512, [], \"f8d9\", \"M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm256-96a96 96 0 1 1 0 192 96 96 0 1 1 0-192zm0 224a128 128 0 1 0 0-256 128 128 0 1 0 0 256zm0-96a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nconst faFaceGrinStars = {\n prefix: 'fas',\n iconName: 'face-grin-stars',\n icon: [512, 512, [129321, \"grin-stars\"], \"f587\", \"M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm407.4 75.5c5-11.8-7-22.5-19.3-18.7c-39.7 12.2-84.5 19-131.8 19s-92.1-6.8-131.8-19c-12.3-3.8-24.3 6.9-19.3 18.7c25 59.1 83.2 100.5 151.1 100.5s126.2-41.4 151.1-100.5zM160 120c-3.1 0-5.9 1.8-7.2 4.6l-16.6 34.7-38.1 5c-3.1 .4-5.6 2.5-6.6 5.5s-.1 6.2 2.1 8.3l27.9 26.5-7 37.8c-.6 3 .7 6.1 3.2 7.9s5.8 2 8.5 .6L160 232.5l33.8 18.3c2.7 1.5 6 1.3 8.5-.6s3.7-4.9 3.2-7.9l-7-37.8L226.4 178c2.2-2.1 3.1-5.3 2.1-8.3s-3.5-5.1-6.6-5.5l-38.1-5-16.6-34.7c-1.3-2.8-4.1-4.6-7.2-4.6zm192 0c-3.1 0-5.9 1.8-7.2 4.6l-16.6 34.7-38.1 5c-3.1 .4-5.6 2.5-6.6 5.5s-.1 6.2 2.1 8.3l27.9 26.5-7 37.8c-.6 3 .7 6.1 3.2 7.9s5.8 2 8.5 .6L352 232.5l33.8 18.3c2.7 1.5 6 1.3 8.5-.6s3.7-4.9 3.2-7.9l-7-37.8L418.4 178c2.2-2.1 3.1-5.3 2.1-8.3s-3.5-5.1-6.6-5.5l-38.1-5-16.6-34.7c-1.3-2.8-4.1-4.6-7.2-4.6z\"]\n};\nconst faGrinStars = faFaceGrinStars;\nconst faBong = {\n prefix: 'fas',\n iconName: 'bong',\n icon: [448, 512, [], \"f55c\", \"M160 208.5c0 29.1-15.6 53.9-37.2 67.8c-17.2 11.1-31.5 26.1-41.7 43.7l221.8 0c-10.2-17.6-24.5-32.6-41.7-43.7c-21.6-13.9-37.2-38.7-37.2-67.8L224 64l-64 0 0 144.5zM288 64l0 144.5c0 5.7 3.1 10.9 7.9 14c11.2 7.2 21.5 15.5 30.9 24.8L366.1 208l-7-7c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l24 24 24 24c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-7-7-43.3 43.3C374 314.1 384 347.9 384 384c0 39.4-11.9 76.1-32.2 106.5c-9.6 14.4-26.5 21.5-43.8 21.5L76.1 512c-17.3 0-34.2-7.1-43.8-21.5C11.9 460.1 0 423.4 0 384c0-67.8 35.1-127.3 88.1-161.5c4.8-3.1 7.9-8.3 7.9-14L96 64C78.3 64 64 49.7 64 32S78.3 0 96 0l16 0L272 0l16 0c17.7 0 32 14.3 32 32s-14.3 32-32 32z\"]\n};\nconst faSpaghettiMonsterFlying = {\n prefix: 'fas',\n iconName: 'spaghetti-monster-flying',\n icon: [640, 512, [\"pastafarianism\"], \"f67b\", \"M208 64a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm48 0c0 16.2-6 31.1-16 42.3l15.6 31.2c18.7-6 39.9-9.5 64.4-9.5s45.8 3.5 64.4 9.5L400 106.3C390 95.1 384 80.2 384 64c0-35.3 28.7-64 64-64s64 28.7 64 64s-28.7 64-64 64c-1.7 0-3.4-.1-5.1-.2L427.8 158c21.1 13.6 37.7 30.2 51.4 46.4c7.1 8.3 13.5 16.6 19.3 24l1.4 1.8c6.3 8.1 11.6 14.8 16.7 20.4C527.3 262.3 532.7 264 536 264c2.5 0 4.3-.6 7.1-3.3c3.7-3.5 7.1-8.8 12.5-17.4l.6-.9c4.6-7.4 11-17.6 19.4-25.7c9.7-9.3 22.9-16.7 40.4-16.7c13.3 0 24 10.7 24 24s-10.7 24-24 24c-2.5 0-4.3 .6-7.1 3.3c-3.7 3.5-7.1 8.8-12.5 17.4l-.6 .9c-4.6 7.4-11 17.6-19.4 25.7c-9.7 9.3-22.9 16.7-40.4 16.7c-18.5 0-32.9-8.5-44.3-18.6c-3.1 4-6.6 8.3-10.5 12.7c1.4 4.3 2.8 8.5 4 12.5c.9 3 1.8 5.8 2.6 8.6c3 9.8 5.5 18.2 8.6 25.9c3.9 9.8 7.4 15.4 10.8 18.5c2.6 2.4 5.9 4.3 12.8 4.3c8.7 0 16.9-4.2 33.7-13.2c15-8 35.7-18.8 62.3-18.8c13.3 0 24 10.7 24 24s-10.7 24-24 24c-13.4 0-24.7 5.2-39.7 13.2c-1 .6-2.1 1.1-3.2 1.7C559.9 414 541.4 424 520 424c-18.4 0-33.6-6.1-45.5-17.2c-11.1-10.3-17.9-23.7-22.7-36c-3.6-9-6.7-19.1-9.5-28.5c-16.4 12.3-36.1 23.6-58.9 31.3c3.6 10.8 8.4 23.5 14.4 36.2c7.5 15.9 16.2 30.4 25.8 40.5C433 460.5 441.2 464 448 464c13.3 0 24 10.7 24 24s-10.7 24-24 24c-25.2 0-45-13.5-59.5-28.8c-14.5-15.4-25.7-34.9-34.2-53c-8-17-14.1-33.8-18.3-46.9c-5.2 .4-10.6 .6-16 .6s-10.8-.2-16-.6c-4.2 13-10.3 29.9-18.3 46.9c-8.5 18.1-19.8 37.6-34.2 53C237 498.5 217.2 512 192 512c-13.3 0-24-10.7-24-24s10.7-24 24-24c6.8 0 15-3.5 24.5-13.7c9.5-10.1 18.3-24.6 25.8-40.5c5.9-12.6 10.7-25.4 14.4-36.2c-22.8-7.7-42.5-19-58.9-31.3c-2.9 9.4-6 19.5-9.5 28.5c-4.8 12.2-11.6 25.6-22.7 36C153.6 417.9 138.4 424 120 424c-21.4 0-39.9-10-53.1-17.1c0 0 0 0 0 0c-1.1-.6-2.2-1.2-3.2-1.7c-15-8-26.3-13.2-39.7-13.2c-13.3 0-24-10.7-24-24s10.7-24 24-24c26.6 0 47.3 10.8 62.3 18.8c16.8 9 25 13.2 33.7 13.2c6.8 0 10.2-1.9 12.8-4.3c3.4-3.2 7-8.8 10.8-18.5c3-7.7 5.6-16.1 8.6-25.9c.8-2.7 1.7-5.6 2.6-8.6c1.2-4 2.6-8.2 4-12.5c-3.9-4.5-7.4-8.8-10.5-12.7C136.9 303.5 122.5 312 104 312c-17.5 0-30.7-7.4-40.4-16.7c-8.4-8.1-14.8-18.3-19.4-25.7l-.6-.9c-5.4-8.6-8.8-13.9-12.5-17.4c-2.8-2.7-4.6-3.3-7.1-3.3c-13.3 0-24-10.7-24-24s10.7-24 24-24c17.5 0 30.7 7.4 40.4 16.7c8.4 8.1 14.8 18.3 19.4 25.7l.6 .9c5.4 8.6 8.8 13.9 12.5 17.4c2.8 2.7 4.6 3.3 7.1 3.3c3.3 0 8.7-1.7 19.4-13.4c5.1-5.6 10.4-12.3 16.7-20.4l1.4-1.8c5.8-7.4 12.2-15.7 19.3-24c13.8-16.2 30.3-32.8 51.4-46.4l-15.1-30.2c-1.7 .1-3.4 .2-5.1 .2c-35.3 0-64-28.7-64-64s28.7-64 64-64s64 28.7 64 64zm208 0a16 16 0 1 0 -32 0 16 16 0 1 0 32 0z\"]\n};\nconst faPastafarianism = faSpaghettiMonsterFlying;\nconst faArrowDownUpAcrossLine = {\n prefix: 'fas',\n iconName: 'arrow-down-up-across-line',\n icon: [576, 512, [], \"e4af\", \"M137.4 502.6c12.5 12.5 32.8 12.5 45.3 0l96-96c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192 402.7 192 288l352 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-96 0 0-114.7 41.4 41.4c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-96-96c-12.5-12.5-32.8-12.5-45.3 0l-96 96c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L384 109.3 384 224l-192 0-64 0-96 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l96 0 0 114.7L86.6 361.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l96 96zM128 192l64 0 0-128c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 128zM448 320l-64 0 0 128c0 17.7 14.3 32 32 32s32-14.3 32-32l0-128z\"]\n};\nconst faSpoon = {\n prefix: 'fas',\n iconName: 'spoon',\n icon: [512, 512, [129348, 61873, \"utensil-spoon\"], \"f2e5\", \"M245.8 220.9c-14.5-17.6-21.8-39.2-21.8-60.8C224 80 320 0 416 0c53 0 96 43 96 96c0 96-80 192-160.2 192c-21.6 0-43.2-7.3-60.8-21.8L54.6 502.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L245.8 220.9z\"]\n};\nconst faUtensilSpoon = faSpoon;\nconst faJarWheat = {\n prefix: 'fas',\n iconName: 'jar-wheat',\n icon: [320, 512, [], \"e517\", \"M32 32C32 14.3 46.3 0 64 0L256 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L64 64C46.3 64 32 49.7 32 32zM0 160c0-35.3 28.7-64 64-64l192 0c35.3 0 64 28.7 64 64l0 288c0 35.3-28.7 64-64 64L64 512c-35.3 0-64-28.7-64-64L0 160zm112 0l-42.2 0c-3.2 0-5.8 2.6-5.8 5.8C64 198 90 224 122.2 224l21.8 0 32 0 21.8 0c32.1 0 58.2-26 58.2-58.2c0-3.2-2.6-5.8-5.8-5.8L208 160c-19.1 0-36.3 8.4-48 21.7c-11.7-13.3-28.9-21.7-48-21.7zm48 117.7c-11.7-13.3-28.9-21.7-48-21.7l-42.2 0c-3.2 0-5.8 2.6-5.8 5.8C64 294 90 320 122.2 320l21.8 0 32 0 21.8 0c32.1 0 58.2-26 58.2-58.2c0-3.2-2.6-5.8-5.8-5.8L208 256c-19.1 0-36.3 8.4-48 21.7zM112 352l-42.2 0c-3.2 0-5.8 2.6-5.8 5.8C64 390 90 416 122.2 416l21.8 0 0 32c0 8.8 7.2 16 16 16s16-7.2 16-16l0-32 21.8 0c32.1 0 58.2-26 58.2-58.2c0-3.2-2.6-5.8-5.8-5.8L208 352c-19.1 0-36.3 8.4-48 21.7c-11.7-13.3-28.9-21.7-48-21.7z\"]\n};\nconst faEnvelopesBulk = {\n prefix: 'fas',\n iconName: 'envelopes-bulk',\n icon: [640, 512, [\"mail-bulk\"], \"f674\", \"M128 0C110.3 0 96 14.3 96 32l0 192 96 0 0-32c0-35.3 28.7-64 64-64l224 0 0-96c0-17.7-14.3-32-32-32L128 0zM256 160c-17.7 0-32 14.3-32 32l0 32 96 0c35.3 0 64 28.7 64 64l0 128 192 0c17.7 0 32-14.3 32-32l0-192c0-17.7-14.3-32-32-32l-320 0zm240 64l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32c0-8.8 7.2-16 16-16zM64 256c-17.7 0-32 14.3-32 32l0 13L187.1 415.9c1.4 1 3.1 1.6 4.9 1.6s3.5-.6 4.9-1.6L352 301l0-13c0-17.7-14.3-32-32-32L64 256zm288 84.8L216 441.6c-6.9 5.1-15.3 7.9-24 7.9s-17-2.8-24-7.9L32 340.8 32 480c0 17.7 14.3 32 32 32l256 0c17.7 0 32-14.3 32-32l0-139.2z\"]\n};\nconst faMailBulk = faEnvelopesBulk;\nconst faFileCircleExclamation = {\n prefix: 'fas',\n iconName: 'file-circle-exclamation',\n icon: [576, 512, [], \"e4eb\", \"M0 64C0 28.7 28.7 0 64 0L224 0l0 128c0 17.7 14.3 32 32 32l128 0 0 38.6C310.1 219.5 256 287.4 256 368c0 59.1 29.1 111.3 73.7 143.3c-3.2 .5-6.4 .7-9.7 .7L64 512c-35.3 0-64-28.7-64-64L0 64zm384 64l-128 0L256 0 384 128zm48 96a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm0 240a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm0-192c-8.8 0-16 7.2-16 16l0 80c0 8.8 7.2 16 16 16s16-7.2 16-16l0-80c0-8.8-7.2-16-16-16z\"]\n};\nconst faCircleH = {\n prefix: 'fas',\n iconName: 'circle-h',\n icon: [512, 512, [9405, \"hospital-symbol\"], \"f47e\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM368 152l0 104 0 104c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-80-128 0 0 80c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-208c0-13.3 10.7-24 24-24s24 10.7 24 24l0 80 128 0 0-80c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nconst faHospitalSymbol = faCircleH;\nconst faPager = {\n prefix: 'fas',\n iconName: 'pager',\n icon: [512, 512, [128223], \"f815\", \"M0 128C0 92.7 28.7 64 64 64l384 0c35.3 0 64 28.7 64 64l0 256c0 35.3-28.7 64-64 64L64 448c-35.3 0-64-28.7-64-64L0 128zm64 32l0 64c0 17.7 14.3 32 32 32l320 0c17.7 0 32-14.3 32-32l0-64c0-17.7-14.3-32-32-32L96 128c-17.7 0-32 14.3-32 32zM80 320c-13.3 0-24 10.7-24 24s10.7 24 24 24l56 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-56 0zm136 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l48 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-48 0z\"]\n};\nconst faAddressBook = {\n prefix: 'fas',\n iconName: 'address-book',\n icon: [512, 512, [62138, \"contact-book\"], \"f2b9\", \"M96 0C60.7 0 32 28.7 32 64l0 384c0 35.3 28.7 64 64 64l288 0c35.3 0 64-28.7 64-64l0-384c0-35.3-28.7-64-64-64L96 0zM208 288l64 0c44.2 0 80 35.8 80 80c0 8.8-7.2 16-16 16l-192 0c-8.8 0-16-7.2-16-16c0-44.2 35.8-80 80-80zm-32-96a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zM512 80c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 64c0 8.8 7.2 16 16 16s16-7.2 16-16l0-64zM496 192c-8.8 0-16 7.2-16 16l0 64c0 8.8 7.2 16 16 16s16-7.2 16-16l0-64c0-8.8-7.2-16-16-16zm16 144c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 64c0 8.8 7.2 16 16 16s16-7.2 16-16l0-64z\"]\n};\nconst faContactBook = faAddressBook;\nconst faStrikethrough = {\n prefix: 'fas',\n iconName: 'strikethrough',\n icon: [512, 512, [], \"f0cc\", \"M161.3 144c3.2-17.2 14-30.1 33.7-38.6c21.1-9 51.8-12.3 88.6-6.5c11.9 1.9 48.8 9.1 60.1 12c17.1 4.5 34.6-5.6 39.2-22.7s-5.6-34.6-22.7-39.2c-14.3-3.8-53.6-11.4-66.6-13.4c-44.7-7-88.3-4.2-123.7 10.9c-36.5 15.6-64.4 44.8-71.8 87.3c-.1 .6-.2 1.1-.2 1.7c-2.8 23.9 .5 45.6 10.1 64.6c4.5 9 10.2 16.9 16.7 23.9L32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l448 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-209.9 0-.4-.1-1.1-.3c-36-10.8-65.2-19.6-85.2-33.1c-9.3-6.3-15-12.6-18.2-19.1c-3.1-6.1-5.2-14.6-3.8-27.4zM348.9 337.2c2.7 6.5 4.4 15.8 1.9 30.1c-3 17.6-13.8 30.8-33.9 39.4c-21.1 9-51.7 12.3-88.5 6.5c-18-2.9-49.1-13.5-74.4-22.1c-5.6-1.9-11-3.7-15.9-5.4c-16.8-5.6-34.9 3.5-40.5 20.3s3.5 34.9 20.3 40.5c3.6 1.2 7.9 2.7 12.7 4.3c0 0 0 0 0 0s0 0 0 0c24.9 8.5 63.6 21.7 87.6 25.6c0 0 0 0 0 0l.2 0c44.7 7 88.3 4.2 123.7-10.9c36.5-15.6 64.4-44.8 71.8-87.3c3.6-21 2.7-40.4-3.1-58.1l-75.7 0c7 5.6 11.4 11.2 13.9 17.2z\"]\n};\nconst faK = {\n prefix: 'fas',\n iconName: 'k',\n icon: [320, 512, [107], \"4b\", \"M311 86.3c12.3-12.7 12-32.9-.7-45.2s-32.9-12-45.2 .7l-155.2 160L64 249 64 64c0-17.7-14.3-32-32-32S0 46.3 0 64L0 328 0 448c0 17.7 14.3 32 32 32s32-14.3 32-32l0-107 64.7-66.7 133 192c10.1 14.5 30 18.1 44.5 8.1s18.1-30 8.1-44.5L174.1 227.4 311 86.3z\"]\n};\nconst faLandmarkFlag = {\n prefix: 'fas',\n iconName: 'landmark-flag',\n icon: [512, 512, [], \"e51c\", \"M272 0l80 0c8.8 0 16 7.2 16 16l0 64c0 8.8-7.2 16-16 16l-80 0 0 32 192 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L48 192c-17.7 0-32-14.3-32-32s14.3-32 32-32l192 0 0-112c0-8.8 7.2-16 16-16l16 0zM64 224l64 0 0 192 40 0 0-192 64 0 0 192 48 0 0-192 64 0 0 192 40 0 0-192 64 0 0 196.3c.6 .3 1.2 .7 1.8 1.1l48 32c11.7 7.8 17 22.4 12.9 35.9S494.1 512 480 512L32 512c-14.1 0-26.5-9.2-30.6-22.7s1.1-28.1 12.9-35.9l48-32c.6-.4 1.2-.7 1.8-1.1L64 224z\"]\n};\nconst faPencil = {\n prefix: 'fas',\n iconName: 'pencil',\n icon: [512, 512, [9999, 61504, \"pencil-alt\"], \"f303\", \"M410.3 231l11.3-11.3-33.9-33.9-62.1-62.1L291.7 89.8l-11.3 11.3-22.6 22.6L58.6 322.9c-10.4 10.4-18 23.3-22.2 37.4L1 480.7c-2.5 8.4-.2 17.5 6.1 23.7s15.3 8.5 23.7 6.1l120.3-35.4c14.1-4.2 27-11.8 37.4-22.2L387.7 253.7 410.3 231zM160 399.4l-9.1 22.7c-4 3.1-8.5 5.4-13.3 6.9L59.4 452l23-78.1c1.4-4.9 3.8-9.4 6.9-13.3l22.7-9.1 0 32c0 8.8 7.2 16 16 16l32 0zM362.7 18.7L348.3 33.2 325.7 55.8 314.3 67.1l33.9 33.9 62.1 62.1 33.9 33.9 11.3-11.3 22.6-22.6 14.5-14.5c25-25 25-65.5 0-90.5L453.3 18.7c-25-25-65.5-25-90.5 0zm-47.4 168l-144 144c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l144-144c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z\"]\n};\nconst faPencilAlt = faPencil;\nconst faBackward = {\n prefix: 'fas',\n iconName: 'backward',\n icon: [512, 512, [9194], \"f04a\", \"M459.5 440.6c9.5 7.9 22.8 9.7 34.1 4.4s18.4-16.6 18.4-29l0-320c0-12.4-7.2-23.7-18.4-29s-24.5-3.6-34.1 4.4L288 214.3l0 41.7 0 41.7L459.5 440.6zM256 352l0-96 0-128 0-32c0-12.4-7.2-23.7-18.4-29s-24.5-3.6-34.1 4.4l-192 160C4.2 237.5 0 246.5 0 256s4.2 18.5 11.5 24.6l192 160c9.5 7.9 22.8 9.7 34.1 4.4s18.4-16.6 18.4-29l0-64z\"]\n};\nconst faCaretRight = {\n prefix: 'fas',\n iconName: 'caret-right',\n icon: [256, 512, [], \"f0da\", \"M246.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-128-128c-9.2-9.2-22.9-11.9-34.9-6.9s-19.8 16.6-19.8 29.6l0 256c0 12.9 7.8 24.6 19.8 29.6s25.7 2.2 34.9-6.9l128-128z\"]\n};\nconst faComments = {\n prefix: 'fas',\n iconName: 'comments',\n icon: [640, 512, [128490, 61670], \"f086\", \"M208 352c114.9 0 208-78.8 208-176S322.9 0 208 0S0 78.8 0 176c0 38.6 14.7 74.3 39.6 103.4c-3.5 9.4-8.7 17.7-14.2 24.7c-4.8 6.2-9.7 11-13.3 14.3c-1.8 1.6-3.3 2.9-4.3 3.7c-.5 .4-.9 .7-1.1 .8l-.2 .2s0 0 0 0s0 0 0 0C1 327.2-1.4 334.4 .8 340.9S9.1 352 16 352c21.8 0 43.8-5.6 62.1-12.5c9.2-3.5 17.8-7.4 25.2-11.4C134.1 343.3 169.8 352 208 352zM448 176c0 112.3-99.1 196.9-216.5 207C255.8 457.4 336.4 512 432 512c38.2 0 73.9-8.7 104.7-23.9c7.5 4 16 7.9 25.2 11.4c18.3 6.9 40.3 12.5 62.1 12.5c6.9 0 13.1-4.5 15.2-11.1c2.1-6.6-.2-13.8-5.8-17.9c0 0 0 0 0 0s0 0 0 0l-.2-.2c-.2-.2-.6-.4-1.1-.8c-1-.8-2.5-2-4.3-3.7c-3.6-3.3-8.5-8.1-13.3-14.3c-5.5-7-10.7-15.4-14.2-24.7c24.9-29 39.6-64.7 39.6-103.4c0-92.8-84.9-168.9-192.6-175.5c.4 5.1 .6 10.3 .6 15.5z\"]\n};\nconst faPaste = {\n prefix: 'fas',\n iconName: 'paste',\n icon: [512, 512, [\"file-clipboard\"], \"f0ea\", \"M160 0c-23.7 0-44.4 12.9-55.4 32L48 32C21.5 32 0 53.5 0 80L0 400c0 26.5 21.5 48 48 48l144 0 0-272c0-44.2 35.8-80 80-80l48 0 0-16c0-26.5-21.5-48-48-48l-56.6 0C204.4 12.9 183.7 0 160 0zM272 128c-26.5 0-48 21.5-48 48l0 272 0 16c0 26.5 21.5 48 48 48l192 0c26.5 0 48-21.5 48-48l0-220.1c0-12.7-5.1-24.9-14.1-33.9l-67.9-67.9c-9-9-21.2-14.1-33.9-14.1L320 128l-48 0zM160 40a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nconst faFileClipboard = faPaste;\nconst faCodePullRequest = {\n prefix: 'fas',\n iconName: 'code-pull-request',\n icon: [512, 512, [], \"e13c\", \"M305.8 2.1C314.4 5.9 320 14.5 320 24l0 40 16 0c70.7 0 128 57.3 128 128l0 166.7c28.3 12.3 48 40.5 48 73.3c0 44.2-35.8 80-80 80s-80-35.8-80-80c0-32.8 19.7-61 48-73.3L400 192c0-35.3-28.7-64-64-64l-16 0 0 40c0 9.5-5.6 18.1-14.2 21.9s-18.8 2.3-25.8-4.1l-80-72c-5.1-4.6-7.9-11-7.9-17.8s2.9-13.3 7.9-17.8l80-72c7-6.3 17.2-7.9 25.8-4.1zM104 80A24 24 0 1 0 56 80a24 24 0 1 0 48 0zm8 73.3l0 205.3c28.3 12.3 48 40.5 48 73.3c0 44.2-35.8 80-80 80s-80-35.8-80-80c0-32.8 19.7-61 48-73.3l0-205.3C19.7 141 0 112.8 0 80C0 35.8 35.8 0 80 0s80 35.8 80 80c0 32.8-19.7 61-48 73.3zM104 432a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm328 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nconst faClipboardList = {\n prefix: 'fas',\n iconName: 'clipboard-list',\n icon: [384, 512, [], \"f46d\", \"M192 0c-41.8 0-77.4 26.7-90.5 64L64 64C28.7 64 0 92.7 0 128L0 448c0 35.3 28.7 64 64 64l256 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64l-37.5 0C269.4 26.7 233.8 0 192 0zm0 64a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM72 272a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm104-16l128 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-128 0c-8.8 0-16-7.2-16-16s7.2-16 16-16zM72 368a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm88 0c0-8.8 7.2-16 16-16l128 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-128 0c-8.8 0-16-7.2-16-16z\"]\n};\nconst faTruckRampBox = {\n prefix: 'fas',\n iconName: 'truck-ramp-box',\n icon: [640, 512, [\"truck-loading\"], \"f4de\", \"M640 0l0 400c0 61.9-50.1 112-112 112c-61 0-110.5-48.7-112-109.3L48.4 502.9c-17.1 4.6-34.6-5.4-39.3-22.5s5.4-34.6 22.5-39.3L352 353.8 352 64c0-35.3 28.7-64 64-64L640 0zM576 400a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM23.1 207.7c-4.6-17.1 5.6-34.6 22.6-39.2l46.4-12.4 20.7 77.3c2.3 8.5 11.1 13.6 19.6 11.3l30.9-8.3c8.5-2.3 13.6-11.1 11.3-19.6l-20.7-77.3 46.4-12.4c17.1-4.6 34.6 5.6 39.2 22.6l41.4 154.5c4.6 17.1-5.6 34.6-22.6 39.2L103.7 384.9c-17.1 4.6-34.6-5.6-39.2-22.6L23.1 207.7z\"]\n};\nconst faTruckLoading = faTruckRampBox;\nconst faUserCheck = {\n prefix: 'fas',\n iconName: 'user-check',\n icon: [640, 512, [], \"f4fc\", \"M96 128a128 128 0 1 1 256 0A128 128 0 1 1 96 128zM0 482.3C0 383.8 79.8 304 178.3 304l91.4 0C368.2 304 448 383.8 448 482.3c0 16.4-13.3 29.7-29.7 29.7L29.7 512C13.3 512 0 498.7 0 482.3zM625 177L497 305c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L591 143c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z\"]\n};\nconst faVialVirus = {\n prefix: 'fas',\n iconName: 'vial-virus',\n icon: [512, 512, [], \"e597\", \"M32 32C14.3 32 0 46.3 0 64S14.3 96 32 96l0 288c0 53 43 96 96 96c28.6 0 54.2-12.5 71.8-32.3c.1-14.2 5.6-28.3 16.4-39.1c.2-.2 .1-.6-.2-.6c-30.9 0-56-25.1-56-56s25.1-56 56-56c.3 0 .4-.4 .2-.6c-21.9-21.9-21.9-57.3 0-79.2c2.4-2.4 5-4.6 7.8-6.5L224 96c17.7 0 32-14.3 32-32s-14.3-32-32-32l-64 0L96 32 32 32zM96 192l0-96 64 0 0 96-64 0zM216 376c28.8 0 43.2 34.8 22.9 55.2c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0c20.4-20.4 55.2-5.9 55.2 22.9c0 13.3 10.7 24 24 24s24-10.7 24-24c0-28.8 34.8-43.2 55.2-22.9c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9C444.8 410.8 459.2 376 488 376c13.3 0 24-10.7 24-24s-10.7-24-24-24c-28.8 0-43.2-34.8-22.9-55.2c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0C410.8 259.2 376 244.8 376 216c0-13.3-10.7-24-24-24s-24 10.7-24 24c0 28.8-34.8 43.2-55.2 22.9c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9c20.4 20.4 5.9 55.2-22.9 55.2c-13.3 0-24 10.7-24 24s10.7 24 24 24zm104-88a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm40 96a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"]\n};\nconst faSheetPlastic = {\n prefix: 'fas',\n iconName: 'sheet-plastic',\n icon: [384, 512, [], \"e571\", \"M0 448c0 35.3 28.7 64 64 64l160 0 0-128c0-17.7 14.3-32 32-32l128 0 0-288c0-35.3-28.7-64-64-64L64 0C28.7 0 0 28.7 0 64L0 448zM171.3 75.3l-96 96c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l96-96c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6zm96 32l-160 160c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l160-160c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6zM384 384l-128 0 0 128L384 384z\"]\n};\nconst faBlog = {\n prefix: 'fas',\n iconName: 'blog',\n icon: [512, 512, [], \"f781\", \"M192 32c0 17.7 14.3 32 32 32c123.7 0 224 100.3 224 224c0 17.7 14.3 32 32 32s32-14.3 32-32C512 128.9 383.1 0 224 0c-17.7 0-32 14.3-32 32zm0 96c0 17.7 14.3 32 32 32c70.7 0 128 57.3 128 128c0 17.7 14.3 32 32 32s32-14.3 32-32c0-106-86-192-192-192c-17.7 0-32 14.3-32 32zM96 144c0-26.5-21.5-48-48-48S0 117.5 0 144L0 368c0 79.5 64.5 144 144 144s144-64.5 144-144s-64.5-144-144-144l-16 0 0 96 16 0c26.5 0 48 21.5 48 48s-21.5 48-48 48s-48-21.5-48-48l0-224z\"]\n};\nconst faUserNinja = {\n prefix: 'fas',\n iconName: 'user-ninja',\n icon: [448, 512, [129399], \"f504\", \"M224 256c-57.2 0-105.6-37.5-122-89.3c-1.1 1.3-2.2 2.6-3.5 3.8c-15.8 15.8-38.8 20.7-53.6 22.1c-8.1 .8-14.6-5.7-13.8-13.8c1.4-14.7 6.3-37.8 22.1-53.6c5.8-5.8 12.6-10.1 19.6-13.4c-7-3.2-13.8-7.6-19.6-13.4C37.4 82.7 32.6 59.7 31.1 44.9c-.8-8.1 5.7-14.6 13.8-13.8c14.7 1.4 37.8 6.3 53.6 22.1c4.8 4.8 8.7 10.4 11.7 16.1C131.4 28.2 174.4 0 224 0c70.7 0 128 57.3 128 128s-57.3 128-128 128zM0 482.3C0 399.5 56.4 330 132.8 309.9c6-1.6 12.2 .9 15.9 5.8l62.5 83.3c6.4 8.5 19.2 8.5 25.6 0l62.5-83.3c3.7-4.9 9.9-7.4 15.9-5.8C391.6 330 448 399.5 448 482.3c0 16.4-13.3 29.7-29.7 29.7L29.7 512C13.3 512 0 498.7 0 482.3zM160 96c-8.8 0-16 7.2-16 16s7.2 16 16 16l128 0c8.8 0 16-7.2 16-16s-7.2-16-16-16L160 96z\"]\n};\nconst faPersonArrowUpFromLine = {\n prefix: 'fas',\n iconName: 'person-arrow-up-from-line',\n icon: [640, 512, [], \"e539\", \"M192 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm-8 352l0-96 16 0 0 96-16 0zm-64 0l-88 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l120 0 80 0 376 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-344 0 0-191.1 28.6 47.5c9.1 15.1 28.8 20 43.9 10.9s20-28.8 10.9-43.9l-58.3-97c-17.4-28.9-48.6-46.6-82.3-46.6l-29.7 0c-33.7 0-64.9 17.7-82.3 46.6l-58.3 97c-9.1 15.1-4.2 34.8 10.9 43.9s34.8 4.2 43.9-10.9L120 256.9 120 448zM598.6 121.4l-80-80c-12.5-12.5-32.8-12.5-45.3 0l-80 80c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L464 141.3 464 384c0 17.7 14.3 32 32 32s32-14.3 32-32l0-242.7 25.4 25.4c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3z\"]\n};\nconst faScrollTorah = {\n prefix: 'fas',\n iconName: 'scroll-torah',\n icon: [640, 512, [\"torah\"], \"f6a0\", \"M96 480L96 32C96 14.3 74.5 0 48 0S0 14.3 0 32L0 480c0 17.7 21.5 32 48 32s48-14.3 48-32zM512 32L128 32l0 448 384 0 0-448zM592 0c-26.5 0-48 14.3-48 32l0 448c0 17.7 21.5 32 48 32s48-14.3 48-32l0-448c0-17.7-21.5-32-48-32zM196 313.7c0-3.2 .9-6.4 2.5-9.2L226.7 256l-28.3-48.5c-1.6-2.8-2.5-6-2.5-9.2c0-10.1 8.2-18.3 18.3-18.3l56.7 0 31.4-53.9c3.6-6.3 10.3-10.1 17.6-10.1s13.9 3.8 17.6 10.1L369 180l56.7 0c10.1 0 18.3 8.2 18.3 18.3c0 3.2-.9 6.4-2.5 9.2L413.3 256l28.3 48.5c1.6 2.8 2.5 6 2.5 9.2c0 10.1-8.2 18.3-18.3 18.3L369 332l-31.4 53.9c-3.6 6.3-10.3 10.1-17.6 10.1s-13.9-3.8-17.6-10.1L271 332l-56.7 0c-10.1 0-18.3-8.2-18.3-18.3zm124 54.7L341.2 332l-42.4 0L320 368.4zM254.5 256l30.3 52 70.4 0 30.3-52-30.3-52-70.4 0-30.3 52zm144.9 23.8L383 308l32.8 0-16.4-28.2zM415.8 204L383 204l16.4 28.2L415.8 204zM320 143.6L298.8 180l42.4 0L320 143.6zM224.2 204l16.4 28.2L257 204l-32.8 0zM257 308l-16.4-28.2L224.2 308l32.8 0z\"]\n};\nconst faTorah = faScrollTorah;\nconst faBroomBall = {\n prefix: 'fas',\n iconName: 'broom-ball',\n icon: [576, 512, [\"quidditch\", \"quidditch-broom-ball\"], \"f458\", \"M566.6 9.4c12.5 12.5 12.5 32.8 0 45.3l-192 192 34.7 34.7c4.2 4.2 6.6 10 6.6 16c0 12.5-10.1 22.6-22.6 22.6l-29.1 0L256 211.7l0-29.1c0-12.5 10.1-22.6 22.6-22.6c6 0 11.8 2.4 16 6.6l34.7 34.7 192-192c12.5-12.5 32.8-12.5 45.3 0zm-344 225.5L341.1 353.4c3.7 42.7-11.7 85.2-42.3 115.8C271.4 496.6 234.2 512 195.5 512L22.1 512C9.9 512 0 502.1 0 489.9c0-6.3 2.7-12.3 7.3-16.5L133.7 359.7c4.2-3.7-.4-10.4-5.4-7.9L77.2 377.4c-6.1 3-13.2-1.4-13.2-8.2c0-31.5 12.5-61.7 34.8-84l8-8c30.6-30.6 73.1-45.9 115.8-42.3zM464 352a80 80 0 1 1 0 160 80 80 0 1 1 0-160z\"]\n};\nconst faQuidditch = faBroomBall;\nconst faQuidditchBroomBall = faBroomBall;\nconst faToggleOff = {\n prefix: 'fas',\n iconName: 'toggle-off',\n icon: [576, 512, [], \"f204\", \"M384 128c70.7 0 128 57.3 128 128s-57.3 128-128 128l-192 0c-70.7 0-128-57.3-128-128s57.3-128 128-128l192 0zM576 256c0-106-86-192-192-192L192 64C86 64 0 150 0 256S86 448 192 448l192 0c106 0 192-86 192-192zM192 352a96 96 0 1 0 0-192 96 96 0 1 0 0 192z\"]\n};\nconst faBoxArchive = {\n prefix: 'fas',\n iconName: 'box-archive',\n icon: [512, 512, [\"archive\"], \"f187\", \"M32 32l448 0c17.7 0 32 14.3 32 32l0 32c0 17.7-14.3 32-32 32L32 128C14.3 128 0 113.7 0 96L0 64C0 46.3 14.3 32 32 32zm0 128l448 0 0 256c0 35.3-28.7 64-64 64L96 480c-35.3 0-64-28.7-64-64l0-256zm128 80c0 8.8 7.2 16 16 16l160 0c8.8 0 16-7.2 16-16s-7.2-16-16-16l-160 0c-8.8 0-16 7.2-16 16z\"]\n};\nconst faArchive = faBoxArchive;\nconst faPersonDrowning = {\n prefix: 'fas',\n iconName: 'person-drowning',\n icon: [576, 512, [], \"e545\", \"M192 64c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 32.2c0 54.1 23.5 104 62.2 138.3l-21 146.7c7.8 2.1 15.5 3.3 22.8 3.3c21.1 0 42-8.5 59.2-20.3c22.1-15.5 51.6-15.5 73.7 0c12.4 8.5 26.1 14.8 39.7 18l17.7-97.6c10.7-1.2 21.3-3.1 31.9-5.5l105-23.9c17.2-3.9 28-21.1 24.1-38.3s-21.1-28-38.3-24.1L400 216.6c-41 9.3-83.7 7.5-123.7-5.2c-50.2-16-84.3-62.6-84.3-115.3L192 64zM320 192a64 64 0 1 0 0-128 64 64 0 1 0 0 128zM306.5 389.9c-11.1-7.9-25.9-7.9-37 0C247 405.4 219.5 416 192 416c-26.9 0-55.3-10.8-77.4-26.1c0 0 0 0 0 0c-11.9-8.5-28.1-7.8-39.2 1.7c-14.4 11.9-32.5 21-50.6 25.2c-17.2 4-27.9 21.2-23.9 38.4s21.2 27.9 38.4 23.9c24.5-5.7 44.9-16.5 58.2-25C126.5 469.7 159 480 192 480c31.9 0 60.6-9.9 80.4-18.9c5.8-2.7 11.1-5.3 15.6-7.7c4.5 2.4 9.7 5.1 15.6 7.7c19.8 9 48.5 18.9 80.4 18.9c33 0 65.5-10.3 94.5-25.8c13.4 8.4 33.7 19.3 58.2 25c17.2 4 34.4-6.7 38.4-23.9s-6.7-34.4-23.9-38.4c-18.1-4.2-36.2-13.3-50.6-25.2c-11.1-9.4-27.3-10.1-39.2-1.7c0 0 0 0 0 0C439.4 405.2 410.9 416 384 416c-27.5 0-55-10.6-77.5-26.1z\"]\n};\nconst faArrowDown91 = {\n prefix: 'fas',\n iconName: 'arrow-down-9-1',\n icon: [576, 512, [\"sort-numeric-desc\", \"sort-numeric-down-alt\"], \"f886\", \"M160 480c9 0 17.5-3.8 23.6-10.4l88-96c11.9-13 11.1-33.3-2-45.2s-33.3-11.1-45.2 2L192 365.7 192 64c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 301.7L95.6 330.4c-11.9-13-32.2-13.9-45.2-2s-13.9 32.2-2 45.2l88 96C142.5 476.2 151 480 160 480zM450.7 294c-8.3-6-19.1-7.7-28.8-4.4l-48 16c-16.8 5.6-25.8 23.7-20.2 40.5s23.7 25.8 40.5 20.2l5.9-2 0 51.6-16 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l48 0 48 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-16 0 0-96c0-10.3-4.9-19.9-13.3-26zM418.3 91a32 32 0 1 1 27.4 57.9A32 32 0 1 1 418.3 91zM405.1 203.8l-6.8 9.2c-10.5 14.2-7.5 34.2 6.7 44.8s34.2 7.5 44.8-6.7l48.8-65.8c14-18.9 21.5-41.7 21.5-65.2c0-48.6-39.4-88-88-88s-88 39.4-88 88c0 39.2 25.6 72.4 61.1 83.8z\"]\n};\nconst faSortNumericDesc = faArrowDown91;\nconst faSortNumericDownAlt = faArrowDown91;\nconst faFaceGrinTongueSquint = {\n prefix: 'fas',\n iconName: 'face-grin-tongue-squint',\n icon: [512, 512, [128541, \"grin-tongue-squint\"], \"f58a\", \"M0 256C0 368.9 73.1 464.7 174.5 498.8C165.3 484 160 466.6 160 448l0-47.3c-24-17.5-43.1-41.4-54.8-69.2c-5-11.8 7-22.5 19.3-18.7c39.7 12.2 84.5 19 131.8 19s92.1-6.8 131.8-19c12.3-3.8 24.3 6.9 19.3 18.7c-11.8 28-31.1 52-55.4 69.6l0 46.9c0 18.6-5.3 36-14.5 50.8C438.9 464.7 512 368.9 512 256C512 114.6 397.4 0 256 0S0 114.6 0 256zM116 141.1c0-9 9.6-14.7 17.5-10.5l89.9 47.9c10.7 5.7 10.7 21.1 0 26.8l-89.9 47.9c-7.9 4.2-17.5-1.5-17.5-10.5c0-2.8 1-5.5 2.8-7.6l36-43.2-36-43.2c-1.8-2.1-2.8-4.8-2.8-7.6zm262.5-10.5c7.9-4.2 17.5 1.5 17.5 10.5c0 2.8-1 5.5-2.8 7.6l-36 43.2 36 43.2c1.8 2.1 2.8 4.8 2.8 7.6c0 9-9.6 14.7-17.5 10.5l-89.9-47.9c-10.7-5.7-10.7-21.1 0-26.8l89.9-47.9zM320 448l0-45.4c0-14.7-11.9-26.6-26.6-26.6l-2 0c-11.3 0-21.1 7.9-23.6 18.9c-2.8 12.6-20.8 12.6-23.6 0c-2.5-11.1-12.3-18.9-23.6-18.9l-2 0c-14.7 0-26.6 11.9-26.6 26.6l0 45.4c0 35.3 28.7 64 64 64s64-28.7 64-64z\"]\n};\nconst faGrinTongueSquint = faFaceGrinTongueSquint;\nconst faSprayCan = {\n prefix: 'fas',\n iconName: 'spray-can',\n icon: [512, 512, [], \"f5bd\", \"M128 0l64 0c17.7 0 32 14.3 32 32l0 96L96 128l0-96c0-17.7 14.3-32 32-32zM0 256c0-53 43-96 96-96l128 0c53 0 96 43 96 96l0 208c0 26.5-21.5 48-48 48L48 512c-26.5 0-48-21.5-48-48L0 256zm240 80A80 80 0 1 0 80 336a80 80 0 1 0 160 0zM256 64a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM384 32a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm64 32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm32 64a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM448 256a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM384 128a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nconst faTruckMonster = {\n prefix: 'fas',\n iconName: 'truck-monster',\n icon: [640, 512, [], \"f63b\", \"M288 64l0 64 128 0L368 64l-80 0zM419.2 25.6L496 128l80 0c17.7 0 32 14.3 32 32l0 64c17.7 0 32 14.3 32 32s-14.3 32-32 32c-29.2-38.9-75.7-64-128-64s-98.8 25.1-128 64l-64 0c-29.2-38.9-75.7-64-128-64s-98.8 25.1-128 64c-17.7 0-32-14.3-32-32s14.3-32 32-32l0-64c0-17.7 14.3-32 32-32l160 0 0-80c0-26.5 21.5-48 48-48l96 0c20.1 0 39.1 9.5 51.2 25.6zM152 256l16 0c12.1 0 22.1 8.9 23.8 20.6c7.6 2.2 14.9 5.3 21.7 9c9.4-7 22.8-6.3 31.3 2.3l11.3 11.3c8.6 8.6 9.3 21.9 2.3 31.3c3.7 6.8 6.8 14.1 9 21.7c11.6 1.7 20.6 11.7 20.6 23.8l0 16c0 12.1-8.9 22.1-20.6 23.8c-2.2 7.6-5.3 14.9-9 21.7c7 9.4 6.3 22.8-2.3 31.3l-11.3 11.3c-8.6 8.6-21.9 9.3-31.3 2.2c-6.8 3.7-14.1 6.8-21.7 9C190.1 503.1 180.1 512 168 512l-16 0c-12.1 0-22.1-8.9-23.8-20.6c-7.6-2.2-14.9-5.3-21.7-9c-9.4 7.1-22.8 6.3-31.3-2.2L63.8 468.9c-8.6-8.6-9.3-21.9-2.3-31.3c-3.7-6.9-6.8-14.1-9-21.8C40.9 414.1 32 404.1 32 392l0-16c0-12.1 8.9-22.1 20.6-23.8c2.2-7.6 5.3-14.9 9-21.8c-7-9.4-6.3-22.8 2.3-31.3l11.3-11.3c8.6-8.6 21.9-9.3 31.3-2.3c6.8-3.7 14.1-6.8 21.7-9c1.7-11.6 11.7-20.6 23.8-20.6zm8 176a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM448.2 276.6c1.7-11.6 11.7-20.6 23.8-20.6l16 0c12.1 0 22.1 8.9 23.8 20.6c7.6 2.2 14.9 5.3 21.8 9c9.4-7 22.8-6.3 31.3 2.3l11.3 11.3c8.6 8.6 9.3 21.9 2.2 31.3c3.7 6.8 6.8 14.1 9 21.7c11.6 1.7 20.6 11.7 20.6 23.8l0 16c0 12.1-8.9 22.1-20.6 23.8c-2.2 7.6-5.3 14.9-9 21.7c7 9.4 6.3 22.8-2.2 31.3l-11.3 11.3c-8.6 8.6-21.9 9.3-31.3 2.2c-6.9 3.7-14.1 6.8-21.8 9C510.1 503.1 500.1 512 488 512l-16 0c-12.1 0-22.1-8.9-23.8-20.6c-7.6-2.2-14.9-5.3-21.7-9c-9.4 7.1-22.8 6.3-31.3-2.2l-11.3-11.3c-8.6-8.6-9.3-21.9-2.2-31.3c-3.7-6.9-6.8-14.1-9-21.8C360.9 414.1 352 404.1 352 392l0-16c0-12.1 8.9-22.1 20.6-23.8c2.2-7.6 5.3-14.9 9-21.8c-7-9.4-6.3-22.8 2.2-31.3l11.3-11.3c8.6-8.6 21.9-9.3 31.3-2.3c6.8-3.7 14.1-6.8 21.7-9zM528 384a48 48 0 1 0 -96 0 48 48 0 1 0 96 0z\"]\n};\nconst faW = {\n prefix: 'fas',\n iconName: 'w',\n icon: [576, 512, [119], \"57\", \"M20.8 34c16.5-6.2 35 2.2 41.2 18.7l110.2 294L257.3 55c4-13.7 16.5-23 30.7-23s26.7 9.4 30.7 23l85.1 291.7L514 52.8c6.2-16.5 24.6-24.9 41.2-18.7s24.9 24.7 18.7 41.2l-144 384c-4.8 12.9-17.4 21.3-31.2 20.7s-25.7-9.8-29.5-23L288 178.3 206.7 457c-3.9 13.2-15.8 22.5-29.5 23s-26.3-7.8-31.2-20.7L2 75.2C-4.2 58.7 4.2 40.2 20.8 34z\"]\n};\nconst faEarthAfrica = {\n prefix: 'fas',\n iconName: 'earth-africa',\n icon: [512, 512, [127757, \"globe-africa\"], \"f57c\", \"M177.8 63.2l10 17.4c2.8 4.8 4.2 10.3 4.2 15.9l0 41.4c0 3.9 1.6 7.7 4.3 10.4c6.2 6.2 16.5 5.7 22-1.2l13.6-17c4.7-5.9 12.9-7.7 19.6-4.3l15.2 7.6c3.4 1.7 7.2 2.6 11 2.6c6.5 0 12.8-2.6 17.4-7.2l3.9-3.9c2.9-2.9 7.3-3.6 11-1.8l29.2 14.6c7.8 3.9 12.6 11.8 12.6 20.5c0 10.5-7.1 19.6-17.3 22.2l-35.4 8.8c-7.4 1.8-15.1 1.5-22.4-.9l-32-10.7c-3.3-1.1-6.7-1.7-10.2-1.7c-7 0-13.8 2.3-19.4 6.5L176 212c-10.1 7.6-16 19.4-16 32l0 28c0 26.5 21.5 48 48 48l32 0c8.8 0 16 7.2 16 16l0 48c0 17.7 14.3 32 32 32c10.1 0 19.6-4.7 25.6-12.8l25.6-34.1c8.3-11.1 12.8-24.6 12.8-38.4l0-12.1c0-3.9 2.6-7.3 6.4-8.2l5.3-1.3c11.9-3 20.3-13.7 20.3-26c0-7.1-2.8-13.9-7.8-18.9l-33.5-33.5c-3.7-3.7-3.7-9.7 0-13.4c5.7-5.7 14.1-7.7 21.8-5.1l14.1 4.7c12.3 4.1 25.7-1.5 31.5-13c3.5-7 11.2-10.8 18.9-9.2l27.4 5.5C432 112.4 351.5 48 256 48c-27.7 0-54 5.4-78.2 15.2zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256z\"]\n};\nconst faGlobeAfrica = faEarthAfrica;\nconst faRainbow = {\n prefix: 'fas',\n iconName: 'rainbow',\n icon: [640, 512, [127752], \"f75b\", \"M320 96C178.6 96 64 210.6 64 352l0 96c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-96C0 175.3 143.3 32 320 32s320 143.3 320 320l0 96c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-96C576 210.6 461.4 96 320 96zm0 192c-35.3 0-64 28.7-64 64l0 96c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-96c0-70.7 57.3-128 128-128s128 57.3 128 128l0 96c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-96c0-35.3-28.7-64-64-64zM160 352l0 96c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-96c0-123.7 100.3-224 224-224s224 100.3 224 224l0 96c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-96c0-88.4-71.6-160-160-160s-160 71.6-160 160z\"]\n};\nconst faCircleNotch = {\n prefix: 'fas',\n iconName: 'circle-notch',\n icon: [512, 512, [], \"f1ce\", \"M222.7 32.1c5 16.9-4.6 34.8-21.5 39.8C121.8 95.6 64 169.1 64 256c0 106 86 192 192 192s192-86 192-192c0-86.9-57.8-160.4-137.1-184.1c-16.9-5-26.6-22.9-21.5-39.8s22.9-26.6 39.8-21.5C434.9 42.1 512 140 512 256c0 141.4-114.6 256-256 256S0 397.4 0 256C0 140 77.1 42.1 182.9 10.6c16.9-5 34.8 4.6 39.8 21.5z\"]\n};\nconst faTabletScreenButton = {\n prefix: 'fas',\n iconName: 'tablet-screen-button',\n icon: [448, 512, [\"tablet-alt\"], \"f3fa\", \"M0 64C0 28.7 28.7 0 64 0L384 0c35.3 0 64 28.7 64 64l0 384c0 35.3-28.7 64-64 64L64 512c-35.3 0-64-28.7-64-64L0 64zM256 448a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM384 64L64 64l0 320 320 0 0-320z\"]\n};\nconst faTabletAlt = faTabletScreenButton;\nconst faPaw = {\n prefix: 'fas',\n iconName: 'paw',\n icon: [512, 512, [], \"f1b0\", \"M226.5 92.9c14.3 42.9-.3 86.2-32.6 96.8s-70.1-15.6-84.4-58.5s.3-86.2 32.6-96.8s70.1 15.6 84.4 58.5zM100.4 198.6c18.9 32.4 14.3 70.1-10.2 84.1s-59.7-.9-78.5-33.3S-2.7 179.3 21.8 165.3s59.7 .9 78.5 33.3zM69.2 401.2C121.6 259.9 214.7 224 256 224s134.4 35.9 186.8 177.2c3.6 9.7 5.2 20.1 5.2 30.5l0 1.6c0 25.8-20.9 46.7-46.7 46.7c-11.5 0-22.9-1.4-34-4.2l-88-22c-15.3-3.8-31.3-3.8-46.6 0l-88 22c-11.1 2.8-22.5 4.2-34 4.2C84.9 480 64 459.1 64 433.3l0-1.6c0-10.4 1.6-20.8 5.2-30.5zM421.8 282.7c-24.5-14-29.1-51.7-10.2-84.1s54-47.3 78.5-33.3s29.1 51.7 10.2 84.1s-54 47.3-78.5 33.3zM310.1 189.7c-32.3-10.6-46.9-53.9-32.6-96.8s52.1-69.1 84.4-58.5s46.9 53.9 32.6 96.8s-52.1 69.1-84.4 58.5z\"]\n};\nconst faCloud = {\n prefix: 'fas',\n iconName: 'cloud',\n icon: [640, 512, [9729], \"f0c2\", \"M0 336c0 79.5 64.5 144 144 144l368 0c70.7 0 128-57.3 128-128c0-61.9-44-113.6-102.4-125.4c4.1-10.7 6.4-22.4 6.4-34.6c0-53-43-96-96-96c-19.7 0-38.1 6-53.3 16.2C367 64.2 315.3 32 256 32C167.6 32 96 103.6 96 192c0 2.7 .1 5.4 .2 8.1C40.2 219.8 0 273.2 0 336z\"]\n};\nconst faTrowelBricks = {\n prefix: 'fas',\n iconName: 'trowel-bricks',\n icon: [512, 512, [], \"e58a\", \"M240.8 4.8C250.3 10.6 256 20.9 256 32l0 72 89 0c3.6-13.8 16.1-24 31-24l88 0c26.5 0 48 21.5 48 48s-21.5 48-48 48l-88 0c-14.9 0-27.4-10.2-31-24l-89 0 0 72c0 11.1-5.7 21.4-15.2 27.2s-21.2 6.4-31.1 1.4l-192-96C6.8 151.2 0 140.1 0 128s6.8-23.2 17.7-28.6l192-96c9.9-5 21.7-4.4 31.1 1.4zM288 256c0-17.7 14.3-32 32-32l160 0c17.7 0 32 14.3 32 32l0 64c0 17.7-14.3 32-32 32l-160 0c-17.7 0-32-14.3-32-32l0-64zM32 384l96 0c17.7 0 32 14.3 32 32l0 64c0 17.7-14.3 32-32 32l-96 0c-17.7 0-32-14.3-32-32l0-64c0-17.7 14.3-32 32-32zm192 0l256 0c17.7 0 32 14.3 32 32l0 64c0 17.7-14.3 32-32 32l-256 0c-17.7 0-32-14.3-32-32l0-64c0-17.7 14.3-32 32-32z\"]\n};\nconst faFaceFlushed = {\n prefix: 'fas',\n iconName: 'face-flushed',\n icon: [512, 512, [128563, \"flushed\"], \"f579\", \"M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM176 384c0 8.8 7.2 16 16 16l128 0c8.8 0 16-7.2 16-16s-7.2-16-16-16l-128 0c-8.8 0-16 7.2-16 16zm-16-88a72 72 0 1 0 0-144 72 72 0 1 0 0 144zm264-72a72 72 0 1 0 -144 0 72 72 0 1 0 144 0zm-288 0a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm192 0a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"]\n};\nconst faFlushed = faFaceFlushed;\nconst faHospitalUser = {\n prefix: 'fas',\n iconName: 'hospital-user',\n icon: [576, 512, [], \"f80d\", \"M48 0C21.5 0 0 21.5 0 48L0 256l144 0c8.8 0 16 7.2 16 16s-7.2 16-16 16L0 288l0 64 144 0c8.8 0 16 7.2 16 16s-7.2 16-16 16L0 384l0 80c0 26.5 21.5 48 48 48l217.9 0c-6.3-10.2-9.9-22.2-9.9-35.1c0-46.9 25.8-87.8 64-109.2l0-95.9L320 48c0-26.5-21.5-48-48-48L48 0zM152 64l16 0c8.8 0 16 7.2 16 16l0 24 24 0c8.8 0 16 7.2 16 16l0 16c0 8.8-7.2 16-16 16l-24 0 0 24c0 8.8-7.2 16-16 16l-16 0c-8.8 0-16-7.2-16-16l0-24-24 0c-8.8 0-16-7.2-16-16l0-16c0-8.8 7.2-16 16-16l24 0 0-24c0-8.8 7.2-16 16-16zM512 272a80 80 0 1 0 -160 0 80 80 0 1 0 160 0zM288 477.1c0 19.3 15.6 34.9 34.9 34.9l218.2 0c19.3 0 34.9-15.6 34.9-34.9c0-51.4-41.7-93.1-93.1-93.1l-101.8 0c-51.4 0-93.1 41.7-93.1 93.1z\"]\n};\nconst faTentArrowLeftRight = {\n prefix: 'fas',\n iconName: 'tent-arrow-left-right',\n icon: [576, 512, [], \"e57f\", \"M488.1 6.2c-9.9-8.9-25-8.1-33.9 1.8s-8.1 25 1.8 33.9L489.5 72 86.5 72l33.5-30.2c9.9-8.9 10.7-24 1.8-33.9S97.8-2.7 87.9 6.2l-80 72C2.9 82.7 0 89.2 0 96s2.9 13.3 7.9 17.8l80 72c9.9 8.9 25 8.1 33.9-1.8s8.1-25-1.8-33.9L86.5 120l402.9 0-33.5 30.2c-9.9 8.9-10.7 24-1.8 33.9s24 10.7 33.9 1.8l80-72c5.1-4.6 7.9-11 7.9-17.8s-2.9-13.3-7.9-17.8l-80-72zM307.4 166.5c-11.5-8.7-27.3-8.7-38.8 0l-168 128c-6.6 5-11 12.5-12.3 20.7l-24 160c-1.4 9.2 1.3 18.6 7.4 25.6S86.7 512 96 512l144 0 16 0c17.7 0 32-14.3 32-32l0-118.1c0-5.5 4.4-9.9 9.9-9.9c3.7 0 7.2 2.1 8.8 5.5l68.4 136.8c5.4 10.8 16.5 17.7 28.6 17.7l60.2 0 16 0c9.3 0 18.2-4.1 24.2-11.1s8.8-16.4 7.4-25.6l-24-160c-1.2-8.2-5.6-15.7-12.3-20.7l-168-128z\"]\n};\nconst faGavel = {\n prefix: 'fas',\n iconName: 'gavel',\n icon: [512, 512, [\"legal\"], \"f0e3\", \"M318.6 9.4c-12.5-12.5-32.8-12.5-45.3 0l-120 120c-12.5 12.5-12.5 32.8 0 45.3l16 16c12.5 12.5 32.8 12.5 45.3 0l4-4L325.4 293.4l-4 4c-12.5 12.5-12.5 32.8 0 45.3l16 16c12.5 12.5 32.8 12.5 45.3 0l120-120c12.5-12.5 12.5-32.8 0-45.3l-16-16c-12.5-12.5-32.8-12.5-45.3 0l-4 4L330.6 74.6l4-4c12.5-12.5 12.5-32.8 0-45.3l-16-16zm-152 288c-12.5-12.5-32.8-12.5-45.3 0l-112 112c-12.5 12.5-12.5 32.8 0 45.3l48 48c12.5 12.5 32.8 12.5 45.3 0l112-112c12.5-12.5 12.5-32.8 0-45.3l-1.4-1.4L272 285.3 226.7 240 168 298.7l-1.4-1.4z\"]\n};\nconst faLegal = faGavel;\nconst faBinoculars = {\n prefix: 'fas',\n iconName: 'binoculars',\n icon: [512, 512, [], \"f1e5\", \"M128 32l32 0c17.7 0 32 14.3 32 32l0 32L96 96l0-32c0-17.7 14.3-32 32-32zm64 96l0 320c0 17.7-14.3 32-32 32L32 480c-17.7 0-32-14.3-32-32l0-59.1c0-34.6 9.4-68.6 27.2-98.3C40.9 267.8 49.7 242.4 53 216L60.5 156c2-16 15.6-28 31.8-28l99.8 0zm227.8 0c16.1 0 29.8 12 31.8 28L459 216c3.3 26.4 12.1 51.8 25.8 74.6c17.8 29.7 27.2 63.7 27.2 98.3l0 59.1c0 17.7-14.3 32-32 32l-128 0c-17.7 0-32-14.3-32-32l0-320 99.8 0zM320 64c0-17.7 14.3-32 32-32l32 0c17.7 0 32 14.3 32 32l0 32-96 0 0-32zm-32 64l0 160-64 0 0-160 64 0z\"]\n};\nconst faMicrophoneSlash = {\n prefix: 'fas',\n iconName: 'microphone-slash',\n icon: [640, 512, [], \"f131\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L472.1 344.7c15.2-26 23.9-56.3 23.9-88.7l0-40c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 40c0 21.2-5.1 41.1-14.2 58.7L416 300.8 416 96c0-53-43-96-96-96s-96 43-96 96l0 54.3L38.8 5.1zM344 430.4c20.4-2.8 39.7-9.1 57.3-18.2l-43.1-33.9C346.1 382 333.3 384 320 384c-70.7 0-128-57.3-128-128l0-8.7L144.7 210c-.5 1.9-.7 3.9-.7 6l0 40c0 89.1 66.2 162.7 152 174.4l0 33.6-48 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l72 0 72 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-48 0 0-33.6z\"]\n};\nconst faBoxTissue = {\n prefix: 'fas',\n iconName: 'box-tissue',\n icon: [512, 512, [], \"e05b\", \"M92.5 0L208 0c40 0 52 24 64 48s24 48 64 48l85.2 0C436 96 448 108 448 122.8c0 3.4-.7 6.8-1.9 10L409.6 224 384 288l-256 0-16-64L64.9 35.4c-.6-2.3-.9-4.6-.9-6.9C64 12.8 76.8 0 92.5 0zM79 224l16 64-15 0c-8.8 0-16 7.2-16 16s7.2 16 16 16l48 0 256 0 48 0c8.8 0 16-7.2 16-16s-7.2-16-16-16l-13.5 0 25.6-64 19.9 0c26.5 0 48 21.5 48 48l0 112L0 384 0 272c0-26.5 21.5-48 48-48l31 0zM0 416l512 0 0 48c0 26.5-21.5 48-48 48L48 512c-26.5 0-48-21.5-48-48l0-48z\"]\n};\nconst faMotorcycle = {\n prefix: 'fas',\n iconName: 'motorcycle',\n icon: [640, 512, [127949], \"f21c\", \"M280 32c-13.3 0-24 10.7-24 24s10.7 24 24 24l57.7 0 16.4 30.3L256 192l-45.3-45.3c-12-12-28.3-18.7-45.3-18.7L64 128c-17.7 0-32 14.3-32 32l0 32 96 0c88.4 0 160 71.6 160 160c0 11-1.1 21.7-3.2 32l70.4 0c-2.1-10.3-3.2-21-3.2-32c0-52.2 25-98.6 63.7-127.8l15.4 28.6C402.4 276.3 384 312 384 352c0 70.7 57.3 128 128 128s128-57.3 128-128s-57.3-128-128-128c-13.5 0-26.5 2.1-38.7 6L418.2 128l61.8 0c17.7 0 32-14.3 32-32l0-32c0-17.7-14.3-32-32-32l-20.4 0c-7.5 0-14.7 2.6-20.5 7.4L391.7 78.9l-14-26c-7-12.9-20.5-21-35.2-21L280 32zM462.7 311.2l28.2 52.2c6.3 11.7 20.9 16 32.5 9.7s16-20.9 9.7-32.5l-28.2-52.2c2.3-.3 4.7-.4 7.1-.4c35.3 0 64 28.7 64 64s-28.7 64-64 64s-64-28.7-64-64c0-15.5 5.5-29.7 14.7-40.8zM187.3 376c-9.5 23.5-32.5 40-59.3 40c-35.3 0-64-28.7-64-64s28.7-64 64-64c26.9 0 49.9 16.5 59.3 40l66.4 0C242.5 268.8 190.5 224 128 224C57.3 224 0 281.3 0 352s57.3 128 128 128c62.5 0 114.5-44.8 125.8-104l-66.4 0zM128 384a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nconst faBellConcierge = {\n prefix: 'fas',\n iconName: 'bell-concierge',\n icon: [512, 512, [128718, \"concierge-bell\"], \"f562\", \"M216 64c-13.3 0-24 10.7-24 24s10.7 24 24 24l16 0 0 33.3C119.6 157.2 32 252.4 32 368l448 0c0-115.6-87.6-210.8-200-222.7l0-33.3 16 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-40 0-40 0zM24 400c-13.3 0-24 10.7-24 24s10.7 24 24 24l464 0c13.3 0 24-10.7 24-24s-10.7-24-24-24L24 400z\"]\n};\nconst faConciergeBell = faBellConcierge;\nconst faPenRuler = {\n prefix: 'fas',\n iconName: 'pen-ruler',\n icon: [512, 512, [\"pencil-ruler\"], \"f5ae\", \"M469.3 19.3l23.4 23.4c25 25 25 65.5 0 90.5l-56.4 56.4L322.3 75.7l56.4-56.4c25-25 65.5-25 90.5 0zM44.9 353.2L299.7 98.3 413.7 212.3 158.8 467.1c-6.7 6.7-15.1 11.6-24.2 14.2l-104 29.7c-8.4 2.4-17.4 .1-23.6-6.1s-8.5-15.2-6.1-23.6l29.7-104c2.6-9.2 7.5-17.5 14.2-24.2zM249.4 103.4L103.4 249.4 16 161.9c-18.7-18.7-18.7-49.1 0-67.9L94.1 16c18.7-18.7 49.1-18.7 67.9 0l19.8 19.8c-.3 .3-.7 .6-1 .9l-64 64c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l64-64c.3-.3 .6-.7 .9-1l45.1 45.1zM408.6 262.6l45.1 45.1c-.3 .3-.7 .6-1 .9l-64 64c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l64-64c.3-.3 .6-.7 .9-1L496 350.1c18.7 18.7 18.7 49.1 0 67.9L417.9 496c-18.7 18.7-49.1 18.7-67.9 0l-87.4-87.4L408.6 262.6z\"]\n};\nconst faPencilRuler = faPenRuler;\nconst faPeopleArrows = {\n prefix: 'fas',\n iconName: 'people-arrows',\n icon: [640, 512, [\"people-arrows-left-right\"], \"e068\", \"M64 64a64 64 0 1 1 128 0A64 64 0 1 1 64 64zM25.9 233.4C29.3 191.9 64 160 105.6 160l44.8 0c27 0 51 13.4 65.5 34.1c-2.7 1.9-5.2 4-7.5 6.3l-64 64c-21.9 21.9-21.9 57.3 0 79.2L192 391.2l0 72.8c0 26.5-21.5 48-48 48l-32 0c-26.5 0-48-21.5-48-48l0-115.7c-26.5-9.5-44.7-35.8-42.2-65.6l4.1-49.3zM448 64a64 64 0 1 1 128 0A64 64 0 1 1 448 64zM431.6 200.4c-2.3-2.3-4.9-4.4-7.5-6.3c14.5-20.7 38.6-34.1 65.5-34.1l44.8 0c41.6 0 76.3 31.9 79.7 73.4l4.1 49.3c2.5 29.8-15.7 56.1-42.2 65.6L576 464c0 26.5-21.5 48-48 48l-32 0c-26.5 0-48-21.5-48-48l0-72.8 47.6-47.6c21.9-21.9 21.9-57.3 0-79.2l-64-64zM272 240l0 32 96 0 0-32c0-9.7 5.8-18.5 14.8-22.2s19.3-1.7 26.2 5.2l64 64c9.4 9.4 9.4 24.6 0 33.9l-64 64c-6.9 6.9-17.2 8.9-26.2 5.2s-14.8-12.5-14.8-22.2l0-32-96 0 0 32c0 9.7-5.8 18.5-14.8 22.2s-19.3 1.7-26.2-5.2l-64-64c-9.4-9.4-9.4-24.6 0-33.9l64-64c6.9-6.9 17.2-8.9 26.2-5.2s14.8 12.5 14.8 22.2z\"]\n};\nconst faPeopleArrowsLeftRight = faPeopleArrows;\nconst faMarsAndVenusBurst = {\n prefix: 'fas',\n iconName: 'mars-and-venus-burst',\n icon: [640, 512, [], \"e523\", \"M504 0c-9.7 0-18.5 5.8-22.2 14.8s-1.7 19.3 5.2 26.2l39 39-22.2 22.2C475.9 78.4 439.6 64 400 64c-88.4 0-160 71.6-160 160c0 80.2 59.1 146.7 136.1 158.2c0 .6-.1 1.2-.1 1.8l0 .4 0 .4 0 .4 0 .4 0 .4 0 .4 0 .4 0 .4 0 .4 0 .4 0 .4 0 .4 0 .4 0 .4 0 .4 0 .4 0 .4 0 .4 0 .4 0 .4 0 .4 0 .4 0 .4 0 .4 0 .4 0 .4 0 .4 0 .4 0 .4 0 .4 0 .3 0 .4 0 .3 0 .3 0 .3 0 .3 0 .3 0 .3 0 .3 0 .3 0 .3 0 .3 0 .3 0 .3 0 .3 0 .3 0 .3 0 .3 0 .3 0 .3 0 .3 0 .3 0 .3 0 .3 0 .3 0 .3 0 .3 0 .3 0 .3 0 .3 0 .3 0 .3 0 .3 0 .3 0 .3 0 .3 0 .3 0 .3 0 .3-24 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l24 0 0 .2 0 .2 0 .2 0 .2 0 .2 0 .2 0 .2 0 .2 0 .2 0 .2 0 .2 0 .2 0 .2 0 .2 0 .2 0 .2 0 .2 0 .2 0 .2 0 .2 0 .2 0 .2 0 .2 0 .2 0 .2 0 .2 0 .2 0 .2 0 .2 0 .2 0 .2 0 .2 0 .2 0 .2 0 .2 0 .2 0 .2 0 .2 0 .2 0 .2 0 .2 0 .2 0 .2 0 .2 0 .2 0 .2 0 .2 0 .2 0 .2 0 .2 0 .2 0 .2 0 .2 0 .2 0 .2 0 .2 0 .2 0 .2 0 .2 0 .2 0 .2 0 .2 0 .2 0 .2 0 .2 0 .2 0 .2 0 .2 0 .2 0 .2 0 .2 0 .2 0 .2 0 .2 0 .2 0 .2 0 .2 0 .2 0 .2 0 .2 0 .2 0 .2 0 .2 0 .2 0 .2 0 .2 0 .2 0 .2 0 .2 0 .2 0 .2 0 .2 0 .2 0 .2 0 .2 0 .2 0 .2 0 .2 0 .2 0 .2 0 .2 0 .1 0 .1 0 .1 0 .1 0 .1 0 .1 0 .1 0 .1 0 .1 0 .1 0 .1 0 .1 0 .1 0 .1 0 .1 0 .1 0 .1 0 .1 0 .1 0 .1 0 .1 0 .1 0 .1 0 .1 0 .1 0 .1 0 .1 0 .1 0 .1 0 .1 0 .1 0 .1 0 .1 0 .1 0 .1 0 .1 0 .1 0 .1 0 .1 0 .1 0 .1 0 .1 0 .1 0 .1 0 .1 0 .1 0 .1 0 .1 0 .1 0 .1 0 .1 0 .1 0 .1 0 .1 0 .1 0 .1 0 .1 0 .1 0 .1 0 .1 0 .1 0 .1 0 .1 0 .1c0 0 0 .1 0 .1s0 .1 0 .1l0 .1c0 0 0 .1 0 .1s0 .1 0 .1s0 .1 0 .1s0 .1 0 .1s0 .1 0 .1s0 .1 0 .1s0 .1 0 .1s0 .1 0 .1s0 .1 0 .1s0 .1 0 .1s0 .1 0 .1s0 .1 0 .1s0 .1 0 .1s0 .1 0 .1s0 .1 0 .1s0 .1 0 .1s0 .1 0 .1s0 .1 0 .1s0 .1 0 .1s0 .1 0 .1s0 .1 0 .1s0 0 0 .1s0 0 0 .1s0 0 0 .1s0 0 0 .1s0 0 0 .1s0 0 0 .1s0 0 0 .1s0 0 0 .1s0 0 0 .1s0 0 0 .1s0 0 0 .1s0 0 0 .1s0 0 0 .1s0 0 0 .1s0 0 0 .1s0 0 0 .1s0 0 0 .1s0 0 0 .1s0 0 0 .1s0 0 0 .1s0 0 0 .1s0 0 0 .1s0 0 0 .1s0 0 0 .1s0 0 0 .1s0 0 0 .1s0 0 0 .1s0 0 0 .1s0 0 0 .1s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0l24 0-24 0c0 13.3 10.7 24 24 24s24-10.7 24-24l-24 0 24 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0-.1s0 0 0-.1s0 0 0-.1s0 0 0-.1s0 0 0-.1s0 0 0-.1s0 0 0-.1s0 0 0-.1s0 0 0-.1s0 0 0-.1s0 0 0-.1s0 0 0-.1s0 0 0-.1s0 0 0-.1s0 0 0-.1s0 0 0-.1s0 0 0-.1s0 0 0-.1s0 0 0-.1s0 0 0-.1s0 0 0-.1s0 0 0-.1s0 0 0-.1s0 0 0-.1s0 0 0-.1s0 0 0-.1s0 0 0-.1s0 0 0-.1s0 0 0-.1s0-.1 0-.1s0-.1 0-.1s0-.1 0-.1s0-.1 0-.1s0-.1 0-.1s0-.1 0-.1s0-.1 0-.1s0-.1 0-.1s0-.1 0-.1s0-.1 0-.1s0-.1 0-.1s0-.1 0-.1s0-.1 0-.1s0-.1 0-.1s0-.1 0-.1s0-.1 0-.1s0-.1 0-.1s0-.1 0-.1s0-.1 0-.1s0-.1 0-.1s0-.1 0-.1l0-.1c0 0 0-.1 0-.1s0-.1 0-.1l0-.1 0-.1 0-.1 0-.1 0-.1 0-.1 0-.1 0-.1 0-.1 0-.1 0-.1 0-.1 0-.1 0-.1 0-.1 0-.1 0-.1 0-.1 0-.1 0-.1 0-.1 0-.1 0-.1 0-.1 0-.1 0-.1 0-.1 0-.1 0-.1 0-.1 0-.1 0-.1 0-.1 0-.1 0-.1 0-.1 0-.1 0-.1 0-.1 0-.1 0-.1 0-.1 0-.1 0-.1 0-.1 0-.1 0-.1 0-.1 0-.1 0-.1 0-.1 0-.1 0-.1 0-.1 0-.1 0-.1 0-.1 0-.1 0-.1 0-.1 0-.1 0-.1 0-.1 0-.1 0-.2 0-.2 0-.2 0-.2 0-.2 0-.2 0-.2 0-.2 0-.2 0-.2 0-.2 0-.2 0-.2 0-.2 0-.2 0-.2 0-.2 0-.2 0-.2 0-.2 0-.2 0-.2 0-.2 0-.2 0-.2 0-.2 0-.2 0-.2 0-.2 0-.2 0-.2 0-.2 0-.2 0-.2 0-.2 0-.2 0-.2 0-.2 0-.2 0-.2 0-.2 0-.2 0-.2 0-.2 0-.2 0-.2 0-.2 0-.2 0-.2 0-.2 0-.2 0-.2 0-.2 0-.2 0-.2 0-.2 0-.2 0-.2 0-.2 0-.2 0-.2 0-.2 0-.2 0-.2 0-.2 0-.2 0-.2 0-.2 0-.2 0-.2 0-.2 0-.2 0-.2 0-.2 0-.2 0-.2 0-.2 0-.2 0-.2 0-.2 0-.2 0-.2 0-.2 0-.2 0-.2 0-.2 0-.2 0-.2 0-.2 0-.2 0-.2 0-.2 0-.2 0-.2 0-.2 0-.2 0-.2 0-.2 0-.2 0-.2 0-.2 24 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-24 0 0-.3 0-.3 0-.3 0-.3 0-.3 0-.3 0-.3 0-.3 0-.3 0-.3 0-.3 0-.3 0-.3 0-.3 0-.3 0-.3 0-.3 0-.3 0-.3 0-.3 0-.3 0-.3 0-.3 0-.3 0-.3 0-.3 0-.3 0-.3 0-.3 0-.3 0-.3 0-.3 0-.3 0-.3 0-.3 0-.3 0-.3 0-.4 0-.3 0-.4 0-.4 0-.4 0-.4 0-.4 0-.4 0-.4 0-.4 0-.4 0-.4 0-.4 0-.4 0-.4 0-.4 0-.4 0-.4 0-.4 0-.4 0-.4 0-.4 0-.4 0-.4 0-.4 0-.4 0-.4 0-.4 0-.4 0-.4 0-.4 0-.4c0-.6 0-1.2-.1-1.8c77-11.6 136.1-78 136.1-158.2c0-31.4-9-60.7-24.7-85.4L560 113.9l39 39c6.9 6.9 17.2 8.9 26.2 5.2s14.8-12.5 14.8-22.2l0-112c0-13.3-10.7-24-24-24L504 0zM400 128a96 96 0 1 1 0 192 96 96 0 1 1 0-192zM190.9 18.1C188.4 12 182.6 8 176 8s-12.4 4-14.9 10.1l-29.4 74L55.6 68.9c-6.3-1.9-13.1 .2-17.2 5.3s-4.6 12.2-1.4 17.9l39.5 69.1L10.9 206.4c-5.4 3.7-8 10.3-6.5 16.7s6.7 11.2 13.1 12.2l78.7 12.2L90.6 327c-.5 6.5 3.1 12.7 9 15.5s12.9 1.8 17.8-2.6L176 286.1l58.6 53.9c4.1 3.8 9.9 5.1 15.2 3.6C223.6 310.8 208 269.2 208 224c0-60.8 28.3-115 72.4-150.2L220.3 92.1l-29.4-74z\"]\n};\nconst faSquareCaretRight = {\n prefix: 'fas',\n iconName: 'square-caret-right',\n icon: [448, 512, [\"caret-square-right\"], \"f152\", \"M448 96c0-35.3-28.7-64-64-64L64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-320zM320 256c0 6.7-2.8 13-7.7 17.6l-112 104c-7 6.5-17.2 8.2-25.9 4.4s-14.4-12.5-14.4-22l0-208c0-9.5 5.7-18.2 14.4-22s18.9-2.1 25.9 4.4l112 104c4.9 4.5 7.7 10.9 7.7 17.6z\"]\n};\nconst faCaretSquareRight = faSquareCaretRight;\nconst faScissors = {\n prefix: 'fas',\n iconName: 'scissors',\n icon: [512, 512, [9984, 9986, 9988, \"cut\"], \"f0c4\", \"M256 192l-39.5-39.5c4.9-12.6 7.5-26.2 7.5-40.5C224 50.1 173.9 0 112 0S0 50.1 0 112s50.1 112 112 112c14.3 0 27.9-2.7 40.5-7.5L192 256l-39.5 39.5c-12.6-4.9-26.2-7.5-40.5-7.5C50.1 288 0 338.1 0 400s50.1 112 112 112s112-50.1 112-112c0-14.3-2.7-27.9-7.5-40.5L499.2 76.8c7.1-7.1 7.1-18.5 0-25.6c-28.3-28.3-74.1-28.3-102.4 0L256 192zm22.6 150.6L396.8 460.8c28.3 28.3 74.1 28.3 102.4 0c7.1-7.1 7.1-18.5 0-25.6L342.6 278.6l-64 64zM64 112a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm48 240a48 48 0 1 1 0 96 48 48 0 1 1 0-96z\"]\n};\nconst faCut = faScissors;\nconst faSunPlantWilt = {\n prefix: 'fas',\n iconName: 'sun-plant-wilt',\n icon: [640, 512, [], \"e57a\", \"M160 0c-6.3 0-12 3.7-14.6 9.5L120.6 64.9 63.9 43.2c-5.9-2.3-12.6-.8-17 3.6s-5.9 11.1-3.6 17l21.7 56.7L9.5 145.4C3.7 148 0 153.7 0 160s3.7 12 9.5 14.6l55.4 24.8L43.2 256.1c-2.3 5.9-.8 12.6 3.6 17s11.1 5.9 17 3.6l56.7-21.7 24.8 55.4c2.6 5.8 8.3 9.5 14.6 9.5s12-3.7 14.6-9.5l24.8-55.4 56.7 21.7c5.9 2.3 12.6 .8 17-3.6s5.9-11.1 3.6-17l-21.7-56.7 55.4-24.8c5.8-2.6 9.5-8.3 9.5-14.6s-3.7-12-9.5-14.6l-55.4-24.8 21.7-56.7c2.3-5.9 .8-12.6-3.6-17s-11.1-5.9-17-3.6L199.4 64.9 174.6 9.5C172 3.7 166.3 0 160 0zm0 96a64 64 0 1 1 0 128 64 64 0 1 1 0-128zm32 64a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm312 16c0-17.7 14.3-32 32-32s32 14.3 32 32l0 53.4c-14.8 7.7-24 23.1-24 44.6c0 16.8 16 44 37.4 67.2c5.8 6.2 15.5 6.2 21.2 0C624 318 640 290.7 640 274c0-21.5-9.2-37-24-44.6l0-53.4c0-44.2-35.8-80-80-80s-80 35.8-80 80l0 22.7c-9.8-4.3-20.6-6.7-32-6.7c-44.2 0-80 35.8-80 80l0 21.4c-14.8 7.7-24 23.1-24 44.6c0 16.8 16 44 37.4 67.2c5.8 6.2 15.5 6.2 21.2 0C400 382 416 354.7 416 338c0-21.5-9.2-37-24-44.6l0-21.4c0-17.7 14.3-32 32-32s32 14.3 32 32l0 8 0 168L32 448c-17.7 0-32 14.3-32 32s14.3 32 32 32l576 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-104 0 0-168 0-8 0-96z\"]\n};\nconst faToiletsPortable = {\n prefix: 'fas',\n iconName: 'toilets-portable',\n icon: [576, 512, [], \"e584\", \"M32 0L224 0c17.7 0 32 14.3 32 32l0 32L0 64 0 32C0 14.3 14.3 0 32 0zM0 96l24 0 208 0 24 0 0 24 0 368c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-8L48 480l0 8c0 13.3-10.7 24-24 24s-24-10.7-24-24L0 120 0 96zM192 224c-8.8 0-16 7.2-16 16l0 64c0 8.8 7.2 16 16 16s16-7.2 16-16l0-64c0-8.8-7.2-16-16-16zM352 0L544 0c17.7 0 32 14.3 32 32l0 32L320 64l0-32c0-17.7 14.3-32 32-32zM320 96l24 0 208 0 24 0 0 24 0 368c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-8-160 0 0 8c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-368 0-24zM512 224c-8.8 0-16 7.2-16 16l0 64c0 8.8 7.2 16 16 16s16-7.2 16-16l0-64c0-8.8-7.2-16-16-16z\"]\n};\nconst faHockeyPuck = {\n prefix: 'fas',\n iconName: 'hockey-puck',\n icon: [512, 512, [], \"f453\", \"M256 256C114.6 256 0 213 0 160s114.6-96 256-96s256 43 256 96s-114.6 96-256 96zm192.3 1.8c24.7-9.3 46.9-21 63.7-35.6L512 352c0 53-114.6 96-256 96S0 405 0 352L0 222.3c16.8 14.6 39 26.3 63.7 35.6C114.5 276.9 182.5 288 256 288s141.5-11.1 192.3-30.2z\"]\n};\nconst faTable = {\n prefix: 'fas',\n iconName: 'table',\n icon: [512, 512, [], \"f0ce\", \"M64 256l0-96 160 0 0 96L64 256zm0 64l160 0 0 96L64 416l0-96zm224 96l0-96 160 0 0 96-160 0zM448 256l-160 0 0-96 160 0 0 96zM64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32z\"]\n};\nconst faMagnifyingGlassArrowRight = {\n prefix: 'fas',\n iconName: 'magnifying-glass-arrow-right',\n icon: [512, 512, [], \"e521\", \"M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376c-34.4 25.2-76.8 40-122.7 40C93.1 416 0 322.9 0 208S93.1 0 208 0S416 93.1 416 208zM241 119c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l31 31L120 184c-13.3 0-24 10.7-24 24s10.7 24 24 24l118.1 0-31 31c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l72-72c9.4-9.4 9.4-24.6 0-33.9l-72-72z\"]\n};\nconst faTachographDigital = {\n prefix: 'fas',\n iconName: 'tachograph-digital',\n icon: [640, 512, [\"digital-tachograph\"], \"f566\", \"M64 64C28.7 64 0 92.7 0 128L0 384c0 35.3 28.7 64 64 64l512 0c35.3 0 64-28.7 64-64l0-256c0-35.3-28.7-64-64-64L64 64zm32 64l224 0c17.7 0 32 14.3 32 32l0 64c0 17.7-14.3 32-32 32L96 256c-17.7 0-32-14.3-32-32l0-64c0-17.7 14.3-32 32-32zM64 368c0-8.8 7.2-16 16-16l256 0c8.8 0 16 7.2 16 16s-7.2 16-16 16L80 384c-8.8 0-16-7.2-16-16zm320 0c0-8.8 7.2-16 16-16l160 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-160 0c-8.8 0-16-7.2-16-16zM80 288a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm48 16a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm80-16a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm48 16a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm80-16a16 16 0 1 1 0 32 16 16 0 1 1 0-32z\"]\n};\nconst faDigitalTachograph = faTachographDigital;\nconst faUsersSlash = {\n prefix: 'fas',\n iconName: 'users-slash',\n icon: [640, 512, [], \"e073\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L440.6 320l178.1 0c11.8 0 21.3-9.6 21.3-21.3C640 239.8 592.2 192 533.3 192l-42.7 0c-15.9 0-31 3.5-44.6 9.7c1.3 7.2 1.9 14.7 1.9 22.3c0 30.2-10.5 58-28 79.9l-25.2-19.7C408.1 267.7 416 246.8 416 224c0-53-43-96-96-96c-31.1 0-58.7 14.8-76.3 37.7l-40.6-31.8c13-14.2 20.9-33.1 20.9-53.9c0-44.2-35.8-80-80-80C116.3 0 91.9 14.1 77.5 35.5L38.8 5.1zM106.7 192C47.8 192 0 239.8 0 298.7C0 310.4 9.6 320 21.3 320l213.3 0c.2 0 .4 0 .7 0c-20.6-18.2-35.2-42.8-40.8-70.8L121.8 192l-15.2 0zM261.3 352C187.7 352 128 411.7 128 485.3c0 14.7 11.9 26.7 26.7 26.7l330.7 0c10.5 0 19.5-6 23.9-14.8L324.9 352l-63.6 0zM512 160A80 80 0 1 0 512 0a80 80 0 1 0 0 160z\"]\n};\nconst faClover = {\n prefix: 'fas',\n iconName: 'clover',\n icon: [448, 512, [], \"e139\", \"M216.6 49.9C205.1 38.5 189.5 32 173.3 32C139.4 32 112 59.4 112 93.3l0 4.9c0 12 3.3 23.7 9.4 34l18.8 31.3c1.1 1.8 1.2 3.1 1 4.2c-.2 1.2-.8 2.5-2 3.6s-2.4 1.8-3.6 2c-1 .2-2.4 .1-4.2-1l-31.3-18.8c-10.3-6.2-22-9.4-34-9.4l-4.9 0C27.4 144 0 171.4 0 205.3c0 16.2 6.5 31.8 17.9 43.3l1.2 1.2c3.4 3.4 3.4 9 0 12.4l-1.2 1.2C6.5 274.9 0 290.5 0 306.7C0 340.6 27.4 368 61.3 368l4.9 0c12 0 23.7-3.3 34-9.4l31.3-18.8c1.8-1.1 3.1-1.2 4.2-1c1.2 .2 2.5 .8 3.6 2s1.8 2.4 2 3.6c.2 1 .1 2.4-1 4.2l-18.8 31.3c-6.2 10.3-9.4 22-9.4 34l0 4.9c0 33.8 27.4 61.3 61.3 61.3c16.2 0 31.8-6.5 43.3-17.9l1.2-1.2c3.4-3.4 9-3.4 12.4 0l1.2 1.2c11.5 11.5 27.1 17.9 43.3 17.9c33.8 0 61.3-27.4 61.3-61.3l0-4.9c0-12-3.3-23.7-9.4-34l-18.8-31.3c-1.1-1.8-1.2-3.1-1-4.2c.2-1.2 .8-2.5 2-3.6s2.4-1.8 3.6-2c1-.2 2.4-.1 4.2 1l31.3 18.8c10.3 6.2 22 9.4 34 9.4l4.9 0c33.8 0 61.3-27.4 61.3-61.3c0-16.2-6.5-31.8-17.9-43.3l-1.2-1.2c-3.4-3.4-3.4-9 0-12.4l1.2-1.2c11.5-11.5 17.9-27.1 17.9-43.3c0-33.8-27.4-61.3-61.3-61.3l-4.9 0c-12 0-23.7 3.3-34 9.4l-31.3 18.8c-1.8 1.1-3.1 1.2-4.2 1c-1.2-.2-2.5-.8-3.6-2s-1.8-2.4-2-3.6c-.2-1-.1-2.4 1-4.2l18.8-31.3c6.2-10.3 9.4-22 9.4-34l0-4.9C336 59.4 308.6 32 274.7 32c-16.2 0-31.8 6.5-43.3 17.9l-1.2 1.2c-3.4 3.4-9 3.4-12.4 0l-1.2-1.2z\"]\n};\nconst faReply = {\n prefix: 'fas',\n iconName: 'reply',\n icon: [512, 512, [61714, \"mail-reply\"], \"f3e5\", \"M205 34.8c11.5 5.1 19 16.6 19 29.2l0 64 112 0c97.2 0 176 78.8 176 176c0 113.3-81.5 163.9-100.2 174.1c-2.5 1.4-5.3 1.9-8.1 1.9c-10.9 0-19.7-8.9-19.7-19.7c0-7.5 4.3-14.4 9.8-19.5c9.4-8.8 22.2-26.4 22.2-56.7c0-53-43-96-96-96l-96 0 0 64c0 12.6-7.4 24.1-19 29.2s-25 3-34.4-5.4l-160-144C3.9 225.7 0 217.1 0 208s3.9-17.7 10.6-23.8l160-144c9.4-8.5 22.9-10.6 34.4-5.4z\"]\n};\nconst faMailReply = faReply;\nconst faStarAndCrescent = {\n prefix: 'fas',\n iconName: 'star-and-crescent',\n icon: [512, 512, [9770], \"f699\", \"M0 256C0 114.6 114.6 0 256 0c33 0 64.6 6.3 93.6 17.7c7.4 2.9 11.5 10.7 9.8 18.4s-8.8 13-16.7 12.4c-4.8-.3-9.7-.5-14.6-.5c-114.9 0-208 93.1-208 208s93.1 208 208 208c4.9 0 9.8-.2 14.6-.5c7.9-.5 15 4.7 16.7 12.4s-2.4 15.5-9.8 18.4C320.6 505.7 289 512 256 512C114.6 512 0 397.4 0 256zM375.4 137.4c3.5-7.1 13.7-7.1 17.2 0l31.5 63.8c1.4 2.8 4.1 4.8 7.2 5.3l70.4 10.2c7.9 1.1 11 10.8 5.3 16.4l-50.9 49.6c-2.3 2.2-3.3 5.4-2.8 8.5l12 70.1c1.3 7.8-6.9 13.8-13.9 10.1l-63-33.1c-2.8-1.5-6.1-1.5-8.9 0l-63 33.1c-7 3.7-15.3-2.3-13.9-10.1l12-70.1c.5-3.1-.5-6.3-2.8-8.5L261 233.1c-5.7-5.6-2.6-15.2 5.3-16.4l70.4-10.2c3.1-.5 5.8-2.4 7.2-5.3l31.5-63.8z\"]\n};\nconst faHouseFire = {\n prefix: 'fas',\n iconName: 'house-fire',\n icon: [640, 512, [], \"e50c\", \"M288 350.1l0 1.9-32 0c-17.7 0-32 14.3-32 32l0 64 0 24c0 22.1-17.9 40-40 40l-24 0-31.9 0c-1.5 0-3-.1-4.5-.2c-1.2 .1-2.4 .2-3.6 .2l-16 0c-22.1 0-40-17.9-40-40l0-112c0-.9 0-1.9 .1-2.8l0-69.7-32 0c-18 0-32-14-32-32.1c0-9 3-17 10-24L266.4 8c7-7 15-8 22-8s15 2 21 7L447.3 128.1c-12.3-1-25 3-34.8 11.7c-35.4 31.6-65.6 67.7-87.3 102.8C304.3 276.5 288 314.9 288 350.1zM480 512c-88.4 0-160-71.6-160-160c0-76.7 62.5-144.7 107.2-179.4c5-3.9 10.9-5.8 16.8-5.8c7.9-.1 16 3.1 22 9.2l46 46 11.3-11.3c11.7-11.7 30.6-12.7 42.3-1C624.5 268 640 320.2 640 352c0 88.4-71.6 160-160 160zm64-111.8c0-36.5-37-73-54.8-88.4c-5.4-4.7-13.1-4.7-18.5 0C453 327.1 416 363.6 416 400.2c0 35.3 28.7 64 64 64s64-28.7 64-64z\"]\n};\nconst faSquareMinus = {\n prefix: 'fas',\n iconName: 'square-minus',\n icon: [448, 512, [61767, \"minus-square\"], \"f146\", \"M64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32zm88 200l144 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-144 0c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nconst faMinusSquare = faSquareMinus;\nconst faHelicopter = {\n prefix: 'fas',\n iconName: 'helicopter',\n icon: [640, 512, [128641], \"f533\", \"M128 32c0-17.7 14.3-32 32-32L544 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L384 64l0 64 32 0c88.4 0 160 71.6 160 160l0 64c0 17.7-14.3 32-32 32l-160 0-64 0c-20.1 0-39.1-9.5-51.2-25.6l-71.4-95.2c-3.5-4.7-8.3-8.3-13.7-10.5L47.2 198.1c-9.5-3.8-16.7-12-19.2-22L5 83.9C2.4 73.8 10.1 64 20.5 64L48 64c10.1 0 19.6 4.7 25.6 12.8L112 128l208 0 0-64L160 64c-17.7 0-32-14.3-32-32zM384 320l128 0 0-32c0-53-43-96-96-96l-32 0 0 128zM630.6 425.4c12.5 12.5 12.5 32.8 0 45.3l-3.9 3.9c-24 24-56.6 37.5-90.5 37.5L256 512c-17.7 0-32-14.3-32-32s14.3-32 32-32l280.2 0c17 0 33.3-6.7 45.3-18.7l3.9-3.9c12.5-12.5 32.8-12.5 45.3 0z\"]\n};\nconst faCompass = {\n prefix: 'fas',\n iconName: 'compass',\n icon: [512, 512, [129517], \"f14e\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm50.7-186.9L162.4 380.6c-19.4 7.5-38.5-11.6-31-31l55.5-144.3c3.3-8.5 9.9-15.1 18.4-18.4l144.3-55.5c19.4-7.5 38.5 11.6 31 31L325.1 306.7c-3.2 8.5-9.9 15.1-18.4 18.4zM288 256a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nconst faSquareCaretDown = {\n prefix: 'fas',\n iconName: 'square-caret-down',\n icon: [448, 512, [\"caret-square-down\"], \"f150\", \"M384 480c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l320 0zM224 352c-6.7 0-13-2.8-17.6-7.7l-104-112c-6.5-7-8.2-17.2-4.4-25.9s12.5-14.4 22-14.4l208 0c9.5 0 18.2 5.7 22 14.4s2.1 18.9-4.4 25.9l-104 112c-4.5 4.9-10.9 7.7-17.6 7.7z\"]\n};\nconst faCaretSquareDown = faSquareCaretDown;\nconst faFileCircleQuestion = {\n prefix: 'fas',\n iconName: 'file-circle-question',\n icon: [576, 512, [], \"e4ef\", \"M0 64C0 28.7 28.7 0 64 0L224 0l0 128c0 17.7 14.3 32 32 32l128 0 0 38.6C310.1 219.5 256 287.4 256 368c0 59.1 29.1 111.3 73.7 143.3c-3.2 .5-6.4 .7-9.7 .7L64 512c-35.3 0-64-28.7-64-64L0 64zm384 64l-128 0L256 0 384 128zm48 96a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm0 240a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM368 321.6l0 6.4c0 8.8 7.2 16 16 16s16-7.2 16-16l0-6.4c0-5.3 4.3-9.6 9.6-9.6l40.5 0c7.7 0 13.9 6.2 13.9 13.9c0 5.2-2.9 9.9-7.4 12.3l-32 16.8c-5.3 2.8-8.6 8.2-8.6 14.2l0 14.8c0 8.8 7.2 16 16 16s16-7.2 16-16l0-5.1 23.5-12.3c15.1-7.9 24.5-23.6 24.5-40.6c0-25.4-20.6-45.9-45.9-45.9l-40.5 0c-23 0-41.6 18.6-41.6 41.6z\"]\n};\nconst faLaptopCode = {\n prefix: 'fas',\n iconName: 'laptop-code',\n icon: [640, 512, [], \"f5fc\", \"M64 96c0-35.3 28.7-64 64-64l384 0c35.3 0 64 28.7 64 64l0 256-64 0 0-256L128 96l0 256-64 0L64 96zM0 403.2C0 392.6 8.6 384 19.2 384l601.6 0c10.6 0 19.2 8.6 19.2 19.2c0 42.4-34.4 76.8-76.8 76.8L76.8 480C34.4 480 0 445.6 0 403.2zM281 209l-31 31 31 31c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-48-48c-9.4-9.4-9.4-24.6 0-33.9l48-48c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9zM393 175l48 48c9.4 9.4 9.4 24.6 0 33.9l-48 48c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l31-31-31-31c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0z\"]\n};\nconst faSwatchbook = {\n prefix: 'fas',\n iconName: 'swatchbook',\n icon: [512, 512, [], \"f5c3\", \"M0 32C0 14.3 14.3 0 32 0L160 0c17.7 0 32 14.3 32 32l0 384c0 53-43 96-96 96s-96-43-96-96L0 32zM223.6 425.9c.3-3.3 .4-6.6 .4-9.9l0-262 75.4-75.4c12.5-12.5 32.8-12.5 45.3 0l90.5 90.5c12.5 12.5 12.5 32.8 0 45.3L223.6 425.9zM182.8 512l192-192L480 320c17.7 0 32 14.3 32 32l0 128c0 17.7-14.3 32-32 32l-297.2 0zM128 64L64 64l0 64 64 0 0-64zM64 192l0 64 64 0 0-64-64 0zM96 440a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nconst faPrescriptionBottle = {\n prefix: 'fas',\n iconName: 'prescription-bottle',\n icon: [384, 512, [], \"f485\", \"M0 32C0 14.3 14.3 0 32 0L352 0c17.7 0 32 14.3 32 32l0 32c0 17.7-14.3 32-32 32L32 96C14.3 96 0 81.7 0 64L0 32zm32 96l320 0 0 320c0 35.3-28.7 64-64 64L96 512c-35.3 0-64-28.7-64-64l0-32 112 0c8.8 0 16-7.2 16-16s-7.2-16-16-16L32 384l0-64 112 0c8.8 0 16-7.2 16-16s-7.2-16-16-16L32 288l0-64 112 0c8.8 0 16-7.2 16-16s-7.2-16-16-16L32 192l0-64z\"]\n};\nconst faBars = {\n prefix: 'fas',\n iconName: 'bars',\n icon: [448, 512, [\"navicon\"], \"f0c9\", \"M0 96C0 78.3 14.3 64 32 64l384 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 128C14.3 128 0 113.7 0 96zM0 256c0-17.7 14.3-32 32-32l384 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 288c-17.7 0-32-14.3-32-32zM448 416c0 17.7-14.3 32-32 32L32 448c-17.7 0-32-14.3-32-32s14.3-32 32-32l384 0c17.7 0 32 14.3 32 32z\"]\n};\nconst faNavicon = faBars;\nconst faPeopleGroup = {\n prefix: 'fas',\n iconName: 'people-group',\n icon: [640, 512, [], \"e533\", \"M72 88a56 56 0 1 1 112 0A56 56 0 1 1 72 88zM64 245.7C54 256.9 48 271.8 48 288s6 31.1 16 42.3l0-84.7zm144.4-49.3C178.7 222.7 160 261.2 160 304c0 34.3 12 65.8 32 90.5l0 21.5c0 17.7-14.3 32-32 32l-64 0c-17.7 0-32-14.3-32-32l0-26.8C26.2 371.2 0 332.7 0 288c0-61.9 50.1-112 112-112l32 0c24 0 46.2 7.5 64.4 20.3zM448 416l0-21.5c20-24.7 32-56.2 32-90.5c0-42.8-18.7-81.3-48.4-107.7C449.8 183.5 472 176 496 176l32 0c61.9 0 112 50.1 112 112c0 44.7-26.2 83.2-64 101.2l0 26.8c0 17.7-14.3 32-32 32l-64 0c-17.7 0-32-14.3-32-32zm8-328a56 56 0 1 1 112 0A56 56 0 1 1 456 88zM576 245.7l0 84.7c10-11.3 16-26.1 16-42.3s-6-31.1-16-42.3zM320 32a64 64 0 1 1 0 128 64 64 0 1 1 0-128zM240 304c0 16.2 6 31 16 42.3l0-84.7c-10 11.3-16 26.1-16 42.3zm144-42.3l0 84.7c10-11.3 16-26.1 16-42.3s-6-31.1-16-42.3zM448 304c0 44.7-26.2 83.2-64 101.2l0 42.8c0 17.7-14.3 32-32 32l-64 0c-17.7 0-32-14.3-32-32l0-42.8c-37.8-18-64-56.5-64-101.2c0-61.9 50.1-112 112-112l32 0c61.9 0 112 50.1 112 112z\"]\n};\nconst faHourglassEnd = {\n prefix: 'fas',\n iconName: 'hourglass-end',\n icon: [384, 512, [8987, \"hourglass-3\"], \"f253\", \"M32 0C14.3 0 0 14.3 0 32S14.3 64 32 64l0 11c0 42.4 16.9 83.1 46.9 113.1L146.7 256 78.9 323.9C48.9 353.9 32 394.6 32 437l0 11c-17.7 0-32 14.3-32 32s14.3 32 32 32l32 0 256 0 32 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l0-11c0-42.4-16.9-83.1-46.9-113.1L237.3 256l67.9-67.9c30-30 46.9-70.7 46.9-113.1l0-11c17.7 0 32-14.3 32-32s-14.3-32-32-32L320 0 64 0 32 0zM96 75l0-11 192 0 0 11c0 25.5-10.1 49.9-28.1 67.9L192 210.7l-67.9-67.9C106.1 124.9 96 100.4 96 75z\"]\n};\nconst faHourglass3 = faHourglassEnd;\nconst faHeartCrack = {\n prefix: 'fas',\n iconName: 'heart-crack',\n icon: [512, 512, [128148, \"heart-broken\"], \"f7a9\", \"M119.4 44.1c23.3-3.9 46.8-1.9 68.6 5.3l49.8 77.5-75.4 75.4c-1.5 1.5-2.4 3.6-2.3 5.8s1 4.2 2.6 5.7l112 104c2.9 2.7 7.4 2.9 10.5 .3s3.8-7 1.7-10.4l-60.4-98.1 90.7-75.6c2.6-2.1 3.5-5.7 2.4-8.8L296.8 61.8c28.5-16.7 62.4-23.2 95.7-17.6C461.5 55.6 512 115.2 512 185.1l0 5.8c0 41.5-17.2 81.2-47.6 109.5L283.7 469.1c-7.5 7-17.4 10.9-27.7 10.9s-20.2-3.9-27.7-10.9L47.6 300.4C17.2 272.1 0 232.4 0 190.9l0-5.8c0-69.9 50.5-129.5 119.4-141z\"]\n};\nconst faHeartBroken = faHeartCrack;\nconst faSquareUpRight = {\n prefix: 'fas',\n iconName: 'square-up-right',\n icon: [448, 512, [8599, \"external-link-square-alt\"], \"f360\", \"M384 32c35.3 0 64 28.7 64 64l0 320c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64L0 96C0 60.7 28.7 32 64 32l320 0zM160 160c-6.5 0-12.3 3.9-14.8 9.9s-1.1 12.9 3.5 17.4l40 40-71 71C114 302 112 306.9 112 312s2 10 5.7 13.7l36.7 36.7c3.6 3.6 8.5 5.7 13.7 5.7s10-2 13.7-5.7l71-71 40 40c4.6 4.6 11.5 5.9 17.4 3.5s9.9-8.3 9.9-14.8l0-144c0-8.8-7.2-16-16-16l-144 0z\"]\n};\nconst faExternalLinkSquareAlt = faSquareUpRight;\nconst faFaceKissBeam = {\n prefix: 'fas',\n iconName: 'face-kiss-beam',\n icon: [512, 512, [128537, \"kiss-beam\"], \"f597\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm48.7-198.3c4.3 5.1 7.3 11.4 7.3 18.3s-3.1 13.2-7.3 18.3c-4.3 5.2-10.1 9.7-16.7 13.4c-2.7 1.5-5.7 3-8.7 4.3c3.1 1.3 6 2.7 8.7 4.3c6.6 3.7 12.5 8.2 16.7 13.4c4.3 5.1 7.3 11.4 7.3 18.3s-3.1 13.2-7.3 18.3c-4.3 5.2-10.1 9.7-16.7 13.4C274.7 443.1 257.4 448 240 448c-3.6 0-6.8-2.5-7.7-6s.6-7.2 3.8-9c0 0 0 0 0 0s0 0 0 0s0 0 0 0c0 0 0 0 0 0l.2-.1c.2-.1 .5-.3 .9-.5c.8-.5 2-1.2 3.4-2.1c2.8-1.9 6.5-4.5 10.2-7.6c3.7-3.1 7.2-6.6 9.6-10.1c2.5-3.5 3.5-6.4 3.5-8.6s-1-5-3.5-8.6c-2.5-3.5-5.9-6.9-9.6-10.1c-3.7-3.1-7.4-5.7-10.2-7.6c-1.4-.9-2.6-1.6-3.4-2.1c-.4-.2-.7-.4-.9-.5l-.2-.1c0 0 0 0 0 0c0 0 0 0 0 0s0 0 0 0c-2.5-1.4-4.1-4.1-4.1-7s1.6-5.6 4.1-7c0 0 0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0c0 0 0 0 0 0l.2-.1 .3-.2 .6-.4c.8-.5 2-1.2 3.4-2.1c2.8-1.9 6.5-4.5 10.2-7.6c3.7-3.1 7.2-6.6 9.6-10.1c2.5-3.5 3.5-6.4 3.5-8.6s-1-5-3.5-8.6c-2.5-3.5-5.9-6.9-9.6-10.1c-3.7-3.1-7.4-5.7-10.2-7.6c-1.4-.9-2.6-1.6-3.4-2.1l-.4-.3-.5-.3-.2-.1c0 0 0 0 0 0c0 0 0 0 0 0s0 0 0 0c-3.2-1.8-4.7-5.5-3.8-9s4.1-6 7.7-6c17.4 0 34.7 4.9 47.9 12.3c6.6 3.7 12.5 8.2 16.7 13.4zm-87.1-84.9s0 0 0 0c0 0 0 0 0 0l-.2-.2c-.2-.2-.4-.5-.7-.9c-.6-.8-1.6-2-2.8-3.4c-2.5-2.8-6-6.6-10.2-10.3c-8.8-7.8-18.8-14-27.7-14s-18.9 6.2-27.7 14c-4.2 3.7-7.7 7.5-10.2 10.3c-1.2 1.4-2.2 2.6-2.8 3.4c-.3 .4-.6 .7-.7 .9l-.2 .2c0 0 0 0 0 0c0 0 0 0 0 0s0 0 0 0c-2.1 2.8-5.7 3.9-8.9 2.8s-5.5-4.1-5.5-7.6c0-17.9 6.7-35.6 16.6-48.8c9.8-13 23.9-23.2 39.4-23.2s29.6 10.2 39.4 23.2c9.9 13.2 16.6 30.9 16.6 48.8c0 3.4-2.2 6.5-5.5 7.6s-6.9 0-8.9-2.8c0 0 0 0 0 0s0 0 0 0zm160 0c0 0 0 0 0 0l-.2-.2c-.2-.2-.4-.5-.7-.9c-.6-.8-1.6-2-2.8-3.4c-2.5-2.8-6-6.6-10.2-10.3c-8.8-7.8-18.8-14-27.7-14s-18.9 6.2-27.7 14c-4.2 3.7-7.7 7.5-10.2 10.3c-1.2 1.4-2.2 2.6-2.8 3.4c-.3 .4-.6 .7-.7 .9l-.2 .2c0 0 0 0 0 0c0 0 0 0 0 0s0 0 0 0c-2.1 2.8-5.7 3.9-8.9 2.8s-5.5-4.1-5.5-7.6c0-17.9 6.7-35.6 16.6-48.8c9.8-13 23.9-23.2 39.4-23.2s29.6 10.2 39.4 23.2c9.9 13.2 16.6 30.9 16.6 48.8c0 3.4-2.2 6.5-5.5 7.6s-6.9 0-8.9-2.8c0 0 0 0 0 0s0 0 0 0s0 0 0 0z\"]\n};\nconst faKissBeam = faFaceKissBeam;\nconst faFilm = {\n prefix: 'fas',\n iconName: 'film',\n icon: [512, 512, [127902], \"f008\", \"M0 96C0 60.7 28.7 32 64 32l384 0c35.3 0 64 28.7 64 64l0 320c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64L0 96zM48 368l0 32c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16l-32 0c-8.8 0-16 7.2-16 16zm368-16c-8.8 0-16 7.2-16 16l0 32c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16l-32 0zM48 240l0 32c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16l-32 0c-8.8 0-16 7.2-16 16zm368-16c-8.8 0-16 7.2-16 16l0 32c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16l-32 0zM48 112l0 32c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16L64 96c-8.8 0-16 7.2-16 16zM416 96c-8.8 0-16 7.2-16 16l0 32c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16l-32 0zM160 128l0 64c0 17.7 14.3 32 32 32l128 0c17.7 0 32-14.3 32-32l0-64c0-17.7-14.3-32-32-32L192 96c-17.7 0-32 14.3-32 32zm32 160c-17.7 0-32 14.3-32 32l0 64c0 17.7 14.3 32 32 32l128 0c17.7 0 32-14.3 32-32l0-64c0-17.7-14.3-32-32-32l-128 0z\"]\n};\nconst faRulerHorizontal = {\n prefix: 'fas',\n iconName: 'ruler-horizontal',\n icon: [640, 512, [], \"f547\", \"M0 336c0 26.5 21.5 48 48 48l544 0c26.5 0 48-21.5 48-48l0-160c0-26.5-21.5-48-48-48l-64 0 0 80c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-80-64 0 0 80c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-80-64 0 0 80c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-80-64 0 0 80c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-80-64 0 0 80c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-80-64 0c-26.5 0-48 21.5-48 48L0 336z\"]\n};\nconst faPeopleRobbery = {\n prefix: 'fas',\n iconName: 'people-robbery',\n icon: [576, 512, [], \"e536\", \"M488.2 59.1C478.1 99.6 441.7 128 400 128s-78.1-28.4-88.2-68.9L303 24.2C298.8 7.1 281.4-3.3 264.2 1S236.7 22.6 241 39.8l8.7 34.9c11 44 40.2 79.6 78.3 99.6L328 480c0 17.7 14.3 32 32 32s32-14.3 32-32l0-128 16 0 0 128c0 17.7 14.3 32 32 32s32-14.3 32-32l0-305.7c38.1-20 67.3-55.6 78.3-99.6L559 39.8c4.3-17.1-6.1-34.5-23.3-38.8S501.2 7.1 497 24.2l-8.7 34.9zM400 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM80 96A48 48 0 1 0 80 0a48 48 0 1 0 0 96zm-8 32c-35.3 0-64 28.7-64 64l0 96 0 .6L8 480c0 17.7 14.3 32 32 32s32-14.3 32-32l0-128 16 0 0 128c0 17.7 14.3 32 32 32s32-14.3 32-32l0-227.3 13 20.5c5.9 9.2 16.1 14.9 27 14.9l48 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-30.4 0-37.4-58.9C157.6 142 132.1 128 104.7 128L72 128z\"]\n};\nconst faLightbulb = {\n prefix: 'fas',\n iconName: 'lightbulb',\n icon: [384, 512, [128161], \"f0eb\", \"M272 384c9.6-31.9 29.5-59.1 49.2-86.2c0 0 0 0 0 0c5.2-7.1 10.4-14.2 15.4-21.4c19.8-28.5 31.4-63 31.4-100.3C368 78.8 289.2 0 192 0S16 78.8 16 176c0 37.3 11.6 71.9 31.4 100.3c5 7.2 10.2 14.3 15.4 21.4c0 0 0 0 0 0c19.8 27.1 39.7 54.4 49.2 86.2l160 0zM192 512c44.2 0 80-35.8 80-80l0-16-160 0 0 16c0 44.2 35.8 80 80 80zM112 176c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-61.9 50.1-112 112-112c8.8 0 16 7.2 16 16s-7.2 16-16 16c-44.2 0-80 35.8-80 80z\"]\n};\nconst faCaretLeft = {\n prefix: 'fas',\n iconName: 'caret-left',\n icon: [256, 512, [], \"f0d9\", \"M9.4 278.6c-12.5-12.5-12.5-32.8 0-45.3l128-128c9.2-9.2 22.9-11.9 34.9-6.9s19.8 16.6 19.8 29.6l0 256c0 12.9-7.8 24.6-19.8 29.6s-25.7 2.2-34.9-6.9l-128-128z\"]\n};\nconst faCircleExclamation = {\n prefix: 'fas',\n iconName: 'circle-exclamation',\n icon: [512, 512, [\"exclamation-circle\"], \"f06a\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-384c13.3 0 24 10.7 24 24l0 112c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-112c0-13.3 10.7-24 24-24zM224 352a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nconst faExclamationCircle = faCircleExclamation;\nconst faSchoolCircleXmark = {\n prefix: 'fas',\n iconName: 'school-circle-xmark',\n icon: [640, 512, [], \"e56d\", \"M337.8 5.4C327-1.8 313-1.8 302.2 5.4L166.3 96 48 96C21.5 96 0 117.5 0 144L0 464c0 26.5 21.5 48 48 48l272 0s0 0 0 0l-64 0 0-96c0-35.3 28.7-64 64-64l.3 0 .5 0c3.4-37.7 18.7-72.1 42.2-99.1C350.2 260 335.6 264 320 264c-48.6 0-88-39.4-88-88s39.4-88 88-88s88 39.4 88 88c0 18.3-5.6 35.3-15.1 49.4c29-21 64.6-33.4 103.1-33.4c59.5 0 112.1 29.6 144 74.8L640 144c0-26.5-21.5-48-48-48L473.7 96 337.8 5.4zM96 192l32 0c8.8 0 16 7.2 16 16l0 64c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-64c0-8.8 7.2-16 16-16zm0 128l32 0c8.8 0 16 7.2 16 16l0 64c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-64c0-8.8 7.2-16 16-16zM320 128c-8.8 0-16 7.2-16 16l0 32c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16s-7.2-16-16-16l-16 0 0-16c0-8.8-7.2-16-16-16zM496 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm22.6-144l36.7 36.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L496 390.6l-36.7 36.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L473.4 368l-36.7-36.7c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L496 345.4l36.7-36.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6L518.6 368z\"]\n};\nconst faArrowRightFromBracket = {\n prefix: 'fas',\n iconName: 'arrow-right-from-bracket',\n icon: [512, 512, [\"sign-out\"], \"f08b\", \"M502.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-128-128c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L402.7 224 192 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l210.7 0-73.4 73.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l128-128zM160 96c17.7 0 32-14.3 32-32s-14.3-32-32-32L96 32C43 32 0 75 0 128L0 384c0 53 43 96 96 96l64 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-64 0c-17.7 0-32-14.3-32-32l0-256c0-17.7 14.3-32 32-32l64 0z\"]\n};\nconst faSignOut = faArrowRightFromBracket;\nconst faCircleChevronDown = {\n prefix: 'fas',\n iconName: 'circle-chevron-down',\n icon: [512, 512, [\"chevron-circle-down\"], \"f13a\", \"M256 0a256 256 0 1 0 0 512A256 256 0 1 0 256 0zM135 241c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l87 87 87-87c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9L273 345c-9.4 9.4-24.6 9.4-33.9 0L135 241z\"]\n};\nconst faChevronCircleDown = faCircleChevronDown;\nconst faUnlockKeyhole = {\n prefix: 'fas',\n iconName: 'unlock-keyhole',\n icon: [448, 512, [\"unlock-alt\"], \"f13e\", \"M224 64c-44.2 0-80 35.8-80 80l0 48 240 0c35.3 0 64 28.7 64 64l0 192c0 35.3-28.7 64-64 64L64 512c-35.3 0-64-28.7-64-64L0 256c0-35.3 28.7-64 64-64l16 0 0-48C80 64.5 144.5 0 224 0c57.5 0 107 33.7 130.1 82.3c7.6 16 .8 35.1-15.2 42.6s-35.1 .8-42.6-15.2C283.4 82.6 255.9 64 224 64zm32 320c17.7 0 32-14.3 32-32s-14.3-32-32-32l-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l64 0z\"]\n};\nconst faUnlockAlt = faUnlockKeyhole;\nconst faCloudShowersHeavy = {\n prefix: 'fas',\n iconName: 'cloud-showers-heavy',\n icon: [512, 512, [], \"f740\", \"M96 320c-53 0-96-43-96-96c0-42.5 27.6-78.6 65.9-91.2C64.7 126.1 64 119.1 64 112C64 50.1 114.1 0 176 0c43.1 0 80.5 24.3 99.2 60c14.7-17.1 36.5-28 60.8-28c44.2 0 80 35.8 80 80c0 5.5-.6 10.8-1.6 16c.5 0 1.1 0 1.6 0c53 0 96 43 96 96s-43 96-96 96L96 320zM81.5 353.9c12.2 5.2 17.8 19.3 12.6 31.5l-48 112c-5.2 12.2-19.3 17.8-31.5 12.6S-3.3 490.7 1.9 478.5l48-112c5.2-12.2 19.3-17.8 31.5-12.6zm120 0c12.2 5.2 17.8 19.3 12.6 31.5l-48 112c-5.2 12.2-19.3 17.8-31.5 12.6s-17.8-19.3-12.6-31.5l48-112c5.2-12.2 19.3-17.8 31.5-12.6zm244.6 31.5l-48 112c-5.2 12.2-19.3 17.8-31.5 12.6s-17.8-19.3-12.6-31.5l48-112c5.2-12.2 19.3-17.8 31.5-12.6s17.8 19.3 12.6 31.5zM313.5 353.9c12.2 5.2 17.8 19.3 12.6 31.5l-48 112c-5.2 12.2-19.3 17.8-31.5 12.6s-17.8-19.3-12.6-31.5l48-112c5.2-12.2 19.3-17.8 31.5-12.6z\"]\n};\nconst faHeadphonesSimple = {\n prefix: 'fas',\n iconName: 'headphones-simple',\n icon: [512, 512, [\"headphones-alt\"], \"f58f\", \"M256 80C141.1 80 48 173.1 48 288l0 104c0 13.3-10.7 24-24 24s-24-10.7-24-24L0 288C0 146.6 114.6 32 256 32s256 114.6 256 256l0 104c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-104c0-114.9-93.1-208-208-208zM80 352c0-35.3 28.7-64 64-64l16 0c17.7 0 32 14.3 32 32l0 128c0 17.7-14.3 32-32 32l-16 0c-35.3 0-64-28.7-64-64l0-64zm288-64c35.3 0 64 28.7 64 64l0 64c0 35.3-28.7 64-64 64l-16 0c-17.7 0-32-14.3-32-32l0-128c0-17.7 14.3-32 32-32l16 0z\"]\n};\nconst faHeadphonesAlt = faHeadphonesSimple;\nconst faSitemap = {\n prefix: 'fas',\n iconName: 'sitemap',\n icon: [576, 512, [], \"f0e8\", \"M208 80c0-26.5 21.5-48 48-48l64 0c26.5 0 48 21.5 48 48l0 64c0 26.5-21.5 48-48 48l-8 0 0 40 152 0c30.9 0 56 25.1 56 56l0 32 8 0c26.5 0 48 21.5 48 48l0 64c0 26.5-21.5 48-48 48l-64 0c-26.5 0-48-21.5-48-48l0-64c0-26.5 21.5-48 48-48l8 0 0-32c0-4.4-3.6-8-8-8l-152 0 0 40 8 0c26.5 0 48 21.5 48 48l0 64c0 26.5-21.5 48-48 48l-64 0c-26.5 0-48-21.5-48-48l0-64c0-26.5 21.5-48 48-48l8 0 0-40-152 0c-4.4 0-8 3.6-8 8l0 32 8 0c26.5 0 48 21.5 48 48l0 64c0 26.5-21.5 48-48 48l-64 0c-26.5 0-48-21.5-48-48l0-64c0-26.5 21.5-48 48-48l8 0 0-32c0-30.9 25.1-56 56-56l152 0 0-40-8 0c-26.5 0-48-21.5-48-48l0-64z\"]\n};\nconst faCircleDollarToSlot = {\n prefix: 'fas',\n iconName: 'circle-dollar-to-slot',\n icon: [512, 512, [\"donate\"], \"f4b9\", \"M326.7 403.7c-22.1 8-45.9 12.3-70.7 12.3s-48.7-4.4-70.7-12.3l-.8-.3c-30-11-56.8-28.7-78.6-51.4C70 314.6 48 263.9 48 208C48 93.1 141.1 0 256 0S464 93.1 464 208c0 55.9-22 106.6-57.9 144c-1 1-2 2.1-3 3.1c-21.4 21.4-47.4 38.1-76.3 48.6zM256 91.9c-11.1 0-20.1 9-20.1 20.1l0 6c-5.6 1.2-10.9 2.9-15.9 5.1c-15 6.8-27.9 19.4-31.1 37.7c-1.8 10.2-.8 20 3.4 29c4.2 8.8 10.7 15 17.3 19.5c11.6 7.9 26.9 12.5 38.6 16l2.2 .7c13.9 4.2 23.4 7.4 29.3 11.7c2.5 1.8 3.4 3.2 3.7 4c.3 .8 .9 2.6 .2 6.7c-.6 3.5-2.5 6.4-8 8.8c-6.1 2.6-16 3.9-28.8 1.9c-6-1-16.7-4.6-26.2-7.9c0 0 0 0 0 0s0 0 0 0s0 0 0 0c-2.2-.7-4.3-1.5-6.4-2.1c-10.5-3.5-21.8 2.2-25.3 12.7s2.2 21.8 12.7 25.3c1.2 .4 2.7 .9 4.4 1.5c7.9 2.7 20.3 6.9 29.8 9.1l0 6.4c0 11.1 9 20.1 20.1 20.1s20.1-9 20.1-20.1l0-5.5c5.3-1 10.5-2.5 15.4-4.6c15.7-6.7 28.4-19.7 31.6-38.7c1.8-10.4 1-20.3-3-29.4c-3.9-9-10.2-15.6-16.9-20.5c-12.2-8.8-28.3-13.7-40.4-17.4l-.8-.2c-14.2-4.3-23.8-7.3-29.9-11.4c-2.6-1.8-3.4-3-3.6-3.5c-.2-.3-.7-1.6-.1-5c.3-1.9 1.9-5.2 8.2-8.1c6.4-2.9 16.4-4.5 28.6-2.6c4.3 .7 17.9 3.3 21.7 4.3c10.7 2.8 21.6-3.5 24.5-14.2s-3.5-21.6-14.2-24.5c-4.4-1.2-14.4-3.2-21-4.4l0-6.3c0-11.1-9-20.1-20.1-20.1zM48 352l16 0c19.5 25.9 44 47.7 72.2 64L64 416l0 32 192 0 192 0 0-32-72.2 0c28.2-16.3 52.8-38.1 72.2-64l16 0c26.5 0 48 21.5 48 48l0 64c0 26.5-21.5 48-48 48L48 512c-26.5 0-48-21.5-48-48l0-64c0-26.5 21.5-48 48-48z\"]\n};\nconst faDonate = faCircleDollarToSlot;\nconst faMemory = {\n prefix: 'fas',\n iconName: 'memory',\n icon: [576, 512, [], \"f538\", \"M64 64C28.7 64 0 92.7 0 128l0 7.4c0 6.8 4.4 12.6 10.1 16.3C23.3 160.3 32 175.1 32 192s-8.7 31.7-21.9 40.3C4.4 236 0 241.8 0 248.6L0 320l576 0 0-71.4c0-6.8-4.4-12.6-10.1-16.3C552.7 223.7 544 208.9 544 192s8.7-31.7 21.9-40.3c5.7-3.7 10.1-9.5 10.1-16.3l0-7.4c0-35.3-28.7-64-64-64L64 64zM576 352L0 352l0 64c0 17.7 14.3 32 32 32l48 0 0-32c0-8.8 7.2-16 16-16s16 7.2 16 16l0 32 96 0 0-32c0-8.8 7.2-16 16-16s16 7.2 16 16l0 32 96 0 0-32c0-8.8 7.2-16 16-16s16 7.2 16 16l0 32 96 0 0-32c0-8.8 7.2-16 16-16s16 7.2 16 16l0 32 48 0c17.7 0 32-14.3 32-32l0-64zM192 160l0 64c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-64c0-17.7 14.3-32 32-32s32 14.3 32 32zm128 0l0 64c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-64c0-17.7 14.3-32 32-32s32 14.3 32 32zm128 0l0 64c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-64c0-17.7 14.3-32 32-32s32 14.3 32 32z\"]\n};\nconst faRoadSpikes = {\n prefix: 'fas',\n iconName: 'road-spikes',\n icon: [640, 512, [], \"e568\", \"M64 116.8c0-15.8 20.5-22 29.3-8.9L192 256l0-139.2c0-15.8 20.5-22 29.3-8.9L320 256l0-139.2c0-15.8 20.5-22 29.3-8.9L448 256l0-139.2c0-15.8 20.5-22 29.3-8.9L606.8 302.2c14.2 21.3-1.1 49.7-26.6 49.7L512 352l-64 0-64 0-64 0-64 0-64 0L64 352l0-235.2zM32 384l576 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 448c-17.7 0-32-14.3-32-32s14.3-32 32-32z\"]\n};\nconst faFireBurner = {\n prefix: 'fas',\n iconName: 'fire-burner',\n icon: [640, 512, [], \"e4f1\", \"M345.7 48.3L358 34.5c5.4-6.1 13.3-8.8 20.9-8.9c7.2 0 14.3 2.6 19.9 7.8c19.7 18.3 39.8 43.2 55 70.6C469 131.2 480 162.2 480 192.2C480 280.8 408.7 352 320 352c-89.6 0-160-71.3-160-159.8c0-37.3 16-73.4 36.8-104.5c20.9-31.3 47.5-59 70.9-80.2C273.4 2.3 280.7-.2 288 0c14.1 .3 23.8 11.4 32.7 21.6c0 0 0 0 0 0c2 2.3 4 4.6 6 6.7l19 19.9zM384 240.2c0-36.5-37-73-54.8-88.4c-5.4-4.7-13.1-4.7-18.5 0C293 167.1 256 203.6 256 240.2c0 35.3 28.7 64 64 64s64-28.7 64-64zM32 288c0-17.7 14.3-32 32-32l32 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l0 64 448 0 0-64c-17.7 0-32-14.3-32-32s14.3-32 32-32l32 0c17.7 0 32 14.3 32 32l0 96c17.7 0 32 14.3 32 32l0 64c0 17.7-14.3 32-32 32L32 512c-17.7 0-32-14.3-32-32l0-64c0-17.7 14.3-32 32-32l0-96zM320 480a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm160-32a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM192 480a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nconst faFlag = {\n prefix: 'fas',\n iconName: 'flag',\n icon: [448, 512, [127988, 61725], \"f024\", \"M64 32C64 14.3 49.7 0 32 0S0 14.3 0 32L0 64 0 368 0 480c0 17.7 14.3 32 32 32s32-14.3 32-32l0-128 64.3-16.1c41.1-10.3 84.6-5.5 122.5 13.4c44.2 22.1 95.5 24.8 141.7 7.4l34.7-13c12.5-4.7 20.8-16.6 20.8-30l0-247.7c0-23-24.2-38-44.8-27.7l-9.6 4.8c-46.3 23.2-100.8 23.2-147.1 0c-35.1-17.6-75.4-22-113.5-12.5L64 48l0-16z\"]\n};\nconst faHanukiah = {\n prefix: 'fas',\n iconName: 'hanukiah',\n icon: [640, 512, [128334], \"f6e6\", \"M314.2 3.3C309.1 12.1 296 36.6 296 56c0 13.3 10.7 24 24 24s24-10.7 24-24c0-19.4-13.1-43.9-18.2-52.7C324.6 1.2 322.4 0 320 0s-4.6 1.2-5.8 3.3zm-288 48C21.1 60.1 8 84.6 8 104c0 13.3 10.7 24 24 24s24-10.7 24-24c0-19.4-13.1-43.9-18.2-52.7C36.6 49.2 34.4 48 32 48s-4.6 1.2-5.8 3.3zM88 104c0 13.3 10.7 24 24 24s24-10.7 24-24c0-19.4-13.1-43.9-18.2-52.7c-1.2-2.1-3.4-3.3-5.8-3.3s-4.6 1.2-5.8 3.3C101.1 60.1 88 84.6 88 104zm82.2-52.7C165.1 60.1 152 84.6 152 104c0 13.3 10.7 24 24 24s24-10.7 24-24c0-19.4-13.1-43.9-18.2-52.7c-1.2-2.1-3.4-3.3-5.8-3.3s-4.6 1.2-5.8 3.3zM216 104c0 13.3 10.7 24 24 24s24-10.7 24-24c0-19.4-13.1-43.9-18.2-52.7c-1.2-2.1-3.4-3.3-5.8-3.3s-4.6 1.2-5.8 3.3C229.1 60.1 216 84.6 216 104zM394.2 51.3C389.1 60.1 376 84.6 376 104c0 13.3 10.7 24 24 24s24-10.7 24-24c0-19.4-13.1-43.9-18.2-52.7c-1.2-2.1-3.4-3.3-5.8-3.3s-4.6 1.2-5.8 3.3zM440 104c0 13.3 10.7 24 24 24s24-10.7 24-24c0-19.4-13.1-43.9-18.2-52.7c-1.2-2.1-3.4-3.3-5.8-3.3s-4.6 1.2-5.8 3.3C453.1 60.1 440 84.6 440 104zm82.2-52.7C517.1 60.1 504 84.6 504 104c0 13.3 10.7 24 24 24s24-10.7 24-24c0-19.4-13.1-43.9-18.2-52.7c-1.2-2.1-3.4-3.3-5.8-3.3s-4.6 1.2-5.8 3.3zM584 104c0 13.3 10.7 24 24 24s24-10.7 24-24c0-19.4-13.1-43.9-18.2-52.7c-1.2-2.1-3.4-3.3-5.8-3.3s-4.6 1.2-5.8 3.3C597.1 60.1 584 84.6 584 104zM112 160c-8.8 0-16 7.2-16 16l0 96 0 16 32 0 0-16 0-96c0-8.8-7.2-16-16-16zm64 0c-8.8 0-16 7.2-16 16l0 96 0 16 32 0 0-16 0-96c0-8.8-7.2-16-16-16zm64 0c-8.8 0-16 7.2-16 16l0 96 0 16 32 0 0-16 0-96c0-8.8-7.2-16-16-16zm160 0c-8.8 0-16 7.2-16 16l0 96 0 16 32 0 0-16 0-96c0-8.8-7.2-16-16-16zm64 0c-8.8 0-16 7.2-16 16l0 96 0 16 32 0 0-16 0-96c0-8.8-7.2-16-16-16zm64 0c-8.8 0-16 7.2-16 16l0 96 0 16 32 0 0-16 0-96c0-8.8-7.2-16-16-16zM352 144c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 176L96 320c-17.7 0-32-14.3-32-32l0-96c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 96c0 53 43 96 96 96l192 0 0 64-128 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l160 0 160 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-128 0 0-64 192 0c53 0 96-43 96-96l0-96c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 96c0 17.7-14.3 32-32 32l-192 0 0-176z\"]\n};\nconst faFeather = {\n prefix: 'fas',\n iconName: 'feather',\n icon: [512, 512, [129718], \"f52d\", \"M278.5 215.6L23 471c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l57-57 68 0c49.7 0 97.9-14.4 139-41c11.1-7.2 5.5-23-7.8-23c-5.1 0-9.2-4.1-9.2-9.2c0-4.1 2.7-7.6 6.5-8.8l81-24.3c2.5-.8 4.8-2.1 6.7-4l22.4-22.4c10.1-10.1 2.9-27.3-11.3-27.3l-32.2 0c-5.1 0-9.2-4.1-9.2-9.2c0-4.1 2.7-7.6 6.5-8.8l112-33.6c4-1.2 7.4-3.9 9.3-7.7C506.4 207.6 512 184.1 512 160c0-41-16.3-80.3-45.3-109.3l-5.5-5.5C432.3 16.3 393 0 352 0s-80.3 16.3-109.3 45.3L139 149C91 197 64 262.1 64 330l0 55.3L253.6 195.8c6.2-6.2 16.4-6.2 22.6 0c5.4 5.4 6.1 13.6 2.2 19.8z\"]\n};\nconst faVolumeLow = {\n prefix: 'fas',\n iconName: 'volume-low',\n icon: [448, 512, [128264, \"volume-down\"], \"f027\", \"M301.1 34.8C312.6 40 320 51.4 320 64l0 384c0 12.6-7.4 24-18.9 29.2s-25 3.1-34.4-5.3L131.8 352 64 352c-35.3 0-64-28.7-64-64l0-64c0-35.3 28.7-64 64-64l67.8 0L266.7 40.1c9.4-8.4 22.9-10.4 34.4-5.3zM412.6 181.5C434.1 199.1 448 225.9 448 256s-13.9 56.9-35.4 74.5c-10.3 8.4-25.4 6.8-33.8-3.5s-6.8-25.4 3.5-33.8C393.1 284.4 400 271 400 256s-6.9-28.4-17.7-37.3c-10.3-8.4-11.8-23.5-3.5-33.8s23.5-11.8 33.8-3.5z\"]\n};\nconst faVolumeDown = faVolumeLow;\nconst faCommentSlash = {\n prefix: 'fas',\n iconName: 'comment-slash',\n icon: [640, 512, [], \"f4b3\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L512.9 376.7C552.2 340.2 576 292.3 576 240C576 125.1 461.4 32 320 32c-67.7 0-129.3 21.4-175.1 56.3L38.8 5.1zm385.2 425L82.9 161.3C70.7 185.6 64 212.2 64 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9c-5.5 9.2-11.1 16.6-15.2 21.6c-2.1 2.5-3.7 4.4-4.9 5.7c-.6 .6-1 1.1-1.3 1.4l-.3 .3c0 0 0 0 0 0c0 0 0 0 0 0s0 0 0 0s0 0 0 0c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c28.7 0 57.6-8.9 81.6-19.3c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9c37 0 72.3-6.4 104.1-17.9z\"]\n};\nconst faCloudSunRain = {\n prefix: 'fas',\n iconName: 'cloud-sun-rain',\n icon: [640, 512, [127782], \"f743\", \"M294.2 1.2c5.1 2.1 8.7 6.7 9.6 12.1l10.4 62.4c-23.3 10.8-42.9 28.4-56 50.3c-14.6-9-31.8-14.1-50.2-14.1c-53 0-96 43-96 96c0 35.5 19.3 66.6 48 83.2c.8 31.8 13.2 60.7 33.1 82.7l-56 39.2c-4.5 3.2-10.3 3.8-15.4 1.6s-8.7-6.7-9.6-12.1L98.1 317.9 13.4 303.8c-5.4-.9-10-4.5-12.1-9.6s-1.5-10.9 1.6-15.4L52.5 208 2.9 137.2c-3.2-4.5-3.8-10.3-1.6-15.4s6.7-8.7 12.1-9.6L98.1 98.1l14.1-84.7c.9-5.4 4.5-10 9.6-12.1s10.9-1.5 15.4 1.6L208 52.5 278.8 2.9c4.5-3.2 10.3-3.8 15.4-1.6zM208 144c13.8 0 26.7 4.4 37.1 11.9c-1.2 4.1-2.2 8.3-3 12.6c-37.9 14.6-67.2 46.6-77.8 86.4C151.8 243.1 144 226.5 144 208c0-35.3 28.7-64 64-64zm69.4 276c11 7.4 14 22.3 6.7 33.3l-32 48c-7.4 11-22.3 14-33.3 6.7s-14-22.3-6.7-33.3l32-48c7.4-11 22.3-14 33.3-6.7zm96 0c11 7.4 14 22.3 6.7 33.3l-32 48c-7.4 11-22.3 14-33.3 6.7s-14-22.3-6.7-33.3l32-48c7.4-11 22.3-14 33.3-6.7zm96 0c11 7.4 14 22.3 6.7 33.3l-32 48c-7.4 11-22.3 14-33.3 6.7s-14-22.3-6.7-33.3l32-48c7.4-11 22.3-14 33.3-6.7zm96 0c11 7.4 14 22.3 6.7 33.3l-32 48c-7.4 11-22.3 14-33.3 6.7s-14-22.3-6.7-33.3l32-48c7.4-11 22.3-14 33.3-6.7zm74.5-116.1c0 44.2-35.8 80-80 80l-271.9 0c-53 0-96-43-96-96c0-47.6 34.6-87 80-94.6l0-1.3c0-53 43-96 96-96c34.9 0 65.4 18.6 82.2 46.4c13-9.1 28.8-14.4 45.8-14.4c44.2 0 80 35.8 80 80c0 5.9-.6 11.7-1.9 17.2c37.4 6.7 65.8 39.4 65.8 78.7z\"]\n};\nconst faCompress = {\n prefix: 'fas',\n iconName: 'compress',\n icon: [448, 512, [], \"f066\", \"M160 64c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 64-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l96 0c17.7 0 32-14.3 32-32l0-96zM32 320c-17.7 0-32 14.3-32 32s14.3 32 32 32l64 0 0 64c0 17.7 14.3 32 32 32s32-14.3 32-32l0-96c0-17.7-14.3-32-32-32l-96 0zM352 64c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 96c0 17.7 14.3 32 32 32l96 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-64 0 0-64zM320 320c-17.7 0-32 14.3-32 32l0 96c0 17.7 14.3 32 32 32s32-14.3 32-32l0-64 64 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-96 0z\"]\n};\nconst faWheatAwn = {\n prefix: 'fas',\n iconName: 'wheat-awn',\n icon: [512, 512, [\"wheat-alt\"], \"e2cd\", \"M505 41c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L383 95c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l88-88zM305.5 27.3c-6.2-6.2-16.4-6.2-22.6 0L271.5 38.6c-37.5 37.5-37.5 98.3 0 135.8l10.4 10.4-30.5 30.5c-3.4-27.3-15.5-53.8-36.5-74.8l-11.3-11.3c-6.2-6.2-16.4-6.2-22.6 0l-11.3 11.3c-37.5 37.5-37.5 98.3 0 135.8l10.4 10.4-30.5 30.5c-3.4-27.3-15.5-53.8-36.5-74.8L101.8 231c-6.2-6.2-16.4-6.2-22.6 0L67.9 242.3c-37.5 37.5-37.5 98.3 0 135.8l10.4 10.4L9.4 457.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l68.9-68.9 12.2 12.2c37.5 37.5 98.3 37.5 135.8 0l11.3-11.3c6.2-6.2 6.2-16.4 0-22.6l-11.3-11.3c-21.8-21.8-49.6-34.1-78.1-36.9l31.9-31.9 12.2 12.2c37.5 37.5 98.3 37.5 135.8 0l11.3-11.3c6.2-6.2 6.2-16.4 0-22.6l-11.3-11.3c-21.8-21.8-49.6-34.1-78.1-36.9l31.9-31.9 12.2 12.2c37.5 37.5 98.3 37.5 135.8 0L486.5 231c6.2-6.2 6.2-16.4 0-22.6L475.2 197c-5.2-5.2-10.6-9.8-16.4-13.9L505 137c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-59.4 59.4c-20.6-4.4-42-3.7-62.3 2.1c6.1-21.3 6.6-43.8 1.4-65.3L409 41c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L329.1 52.9c-3.7-5-7.8-9.8-12.4-14.3L305.5 27.3z\"]\n};\nconst faWheatAlt = faWheatAwn;\nconst faAnkh = {\n prefix: 'fas',\n iconName: 'ankh',\n icon: [320, 512, [9765], \"f644\", \"M96 128c0-35.3 28.7-64 64-64s64 28.7 64 64c0 41.6-20.7 76.6-46.6 104.1c-5.9 6.2-11.8 11.8-17.4 16.7c-5.6-4.9-11.5-10.5-17.4-16.7C116.7 204.6 96 169.6 96 128zM160 0C89.3 0 32 57.3 32 128c0 52.4 21.5 95.5 46.8 128L32 256c-17.7 0-32 14.3-32 32s14.3 32 32 32l96 0 0 160c0 17.7 14.3 32 32 32s32-14.3 32-32l0-160 96 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-46.8 0c25.4-32.5 46.8-75.6 46.8-128C288 57.3 230.7 0 160 0z\"]\n};\nconst faHandsHoldingChild = {\n prefix: 'fas',\n iconName: 'hands-holding-child',\n icon: [640, 512, [], \"e4fa\", \"M320 0a40 40 0 1 1 0 80 40 40 0 1 1 0-80zm44.7 164.3L375.8 253c1.6 13.2-7.7 25.1-20.8 26.8s-25.1-7.7-26.8-20.8l-4.4-35-7.6 0-4.4 35c-1.6 13.2-13.6 22.5-26.8 20.8s-22.5-13.6-20.8-26.8l11.1-88.8L255.5 181c-10.1 8.6-25.3 7.3-33.8-2.8s-7.3-25.3 2.8-33.8l27.9-23.6C271.3 104.8 295.3 96 320 96s48.7 8.8 67.6 24.7l27.9 23.6c10.1 8.6 11.4 23.7 2.8 33.8s-23.7 11.4-33.8 2.8l-19.8-16.7zM40 64c22.1 0 40 17.9 40 40l0 40 0 80 0 40.2c0 17 6.7 33.3 18.7 45.3l51.1 51.1c8.3 8.3 21.3 9.6 31 3.1c12.9-8.6 14.7-26.9 3.7-37.8l-15.2-15.2-32-32c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l32 32 15.2 15.2c0 0 0 0 0 0l25.3 25.3c21 21 32.8 49.5 32.8 79.2l0 78.9c0 26.5-21.5 48-48 48l-66.7 0c-17 0-33.3-6.7-45.3-18.7L28.1 393.4C10.1 375.4 0 351 0 325.5L0 224l0-64 0-56C0 81.9 17.9 64 40 64zm560 0c22.1 0 40 17.9 40 40l0 56 0 64 0 101.5c0 25.5-10.1 49.9-28.1 67.9L512 493.3c-12 12-28.3 18.7-45.3 18.7L400 512c-26.5 0-48-21.5-48-48l0-78.9c0-29.7 11.8-58.2 32.8-79.2l25.3-25.3c0 0 0 0 0 0l15.2-15.2 32-32c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3l-32 32-15.2 15.2c-11 11-9.2 29.2 3.7 37.8c9.7 6.5 22.7 5.2 31-3.1l51.1-51.1c12-12 18.7-28.3 18.7-45.3l0-40.2 0-80 0-40c0-22.1 17.9-40 40-40z\"]\n};\nconst faAsterisk = {\n prefix: 'fas',\n iconName: 'asterisk',\n icon: [384, 512, [10033, 61545], \"2a\", \"M192 32c17.7 0 32 14.3 32 32l0 135.5 111.5-66.9c15.2-9.1 34.8-4.2 43.9 11s4.2 34.8-11 43.9L254.2 256l114.3 68.6c15.2 9.1 20.1 28.7 11 43.9s-28.7 20.1-43.9 11L224 312.5 224 448c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-135.5L48.5 379.4c-15.2 9.1-34.8 4.2-43.9-11s-4.2-34.8 11-43.9L129.8 256 15.5 187.4c-15.2-9.1-20.1-28.7-11-43.9s28.7-20.1 43.9-11L160 199.5 160 64c0-17.7 14.3-32 32-32z\"]\n};\nconst faSquareCheck = {\n prefix: 'fas',\n iconName: 'square-check',\n icon: [448, 512, [9745, 9989, 61510, \"check-square\"], \"f14a\", \"M64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32zM337 209L209 337c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L303 175c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z\"]\n};\nconst faCheckSquare = faSquareCheck;\nconst faPesetaSign = {\n prefix: 'fas',\n iconName: 'peseta-sign',\n icon: [384, 512, [], \"e221\", \"M64 32C46.3 32 32 46.3 32 64l0 96c-17.7 0-32 14.3-32 32s14.3 32 32 32l0 96 0 128c0 17.7 14.3 32 32 32s32-14.3 32-32l0-96 96 0c77.4 0 142-55 156.8-128l3.2 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-3.2 0C334 87 269.4 32 192 32L64 32zM282.5 160L96 160l0-64 96 0c41.8 0 77.4 26.7 90.5 64zM96 224l186.5 0c-13.2 37.3-48.7 64-90.5 64l-96 0 0-64z\"]\n};\nconst faHeading = {\n prefix: 'fas',\n iconName: 'heading',\n icon: [448, 512, [\"header\"], \"f1dc\", \"M0 64C0 46.3 14.3 32 32 32l48 0 48 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-16 0 0 112 224 0 0-112-16 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l48 0 48 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-16 0 0 144 0 176 16 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-48 0-48 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l16 0 0-144-224 0 0 144 16 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-48 0-48 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l16 0 0-176L48 96 32 96C14.3 96 0 81.7 0 64z\"]\n};\nconst faHeader = faHeading;\nconst faGhost = {\n prefix: 'fas',\n iconName: 'ghost',\n icon: [384, 512, [128123], \"f6e2\", \"M40.1 467.1l-11.2 9c-3.2 2.5-7.1 3.9-11.1 3.9C8 480 0 472 0 462.2L0 192C0 86 86 0 192 0S384 86 384 192l0 270.2c0 9.8-8 17.8-17.8 17.8c-4 0-7.9-1.4-11.1-3.9l-11.2-9c-13.4-10.7-32.8-9-44.1 3.9L269.3 506c-3.3 3.8-8.2 6-13.3 6s-9.9-2.2-13.3-6l-26.6-30.5c-12.7-14.6-35.4-14.6-48.2 0L141.3 506c-3.3 3.8-8.2 6-13.3 6s-9.9-2.2-13.3-6L84.2 471c-11.3-12.9-30.7-14.6-44.1-3.9zM160 192a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm96 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nconst faList = {\n prefix: 'fas',\n iconName: 'list',\n icon: [512, 512, [\"list-squares\"], \"f03a\", \"M40 48C26.7 48 16 58.7 16 72l0 48c0 13.3 10.7 24 24 24l48 0c13.3 0 24-10.7 24-24l0-48c0-13.3-10.7-24-24-24L40 48zM192 64c-17.7 0-32 14.3-32 32s14.3 32 32 32l288 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L192 64zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32 32l288 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-288 0zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32 32l288 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-288 0zM16 232l0 48c0 13.3 10.7 24 24 24l48 0c13.3 0 24-10.7 24-24l0-48c0-13.3-10.7-24-24-24l-48 0c-13.3 0-24 10.7-24 24zM40 368c-13.3 0-24 10.7-24 24l0 48c0 13.3 10.7 24 24 24l48 0c13.3 0 24-10.7 24-24l0-48c0-13.3-10.7-24-24-24l-48 0z\"]\n};\nconst faListSquares = faList;\nconst faSquarePhoneFlip = {\n prefix: 'fas',\n iconName: 'square-phone-flip',\n icon: [448, 512, [\"phone-square-alt\"], \"f87b\", \"M384 32c35.3 0 64 28.7 64 64l0 320c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64L0 96C0 60.7 28.7 32 64 32l320 0zm-90.7 96.7c-9.7-2.6-19.9 2.3-23.7 11.6l-20 48c-3.4 8.2-1 17.6 5.8 23.2L280 231.7c-16.6 35.2-45.1 63.7-80.3 80.3l-20.2-24.7c-5.6-6.8-15-9.2-23.2-5.8l-48 20c-9.3 3.9-14.2 14-11.6 23.7l12 44C111.1 378 119 384 128 384c123.7 0 224-100.3 224-224c0-9-6-16.9-14.7-19.3l-44-12z\"]\n};\nconst faPhoneSquareAlt = faSquarePhoneFlip;\nconst faCartPlus = {\n prefix: 'fas',\n iconName: 'cart-plus',\n icon: [576, 512, [], \"f217\", \"M0 24C0 10.7 10.7 0 24 0L69.5 0c22 0 41.5 12.8 50.6 32l411 0c26.3 0 45.5 25 38.6 50.4l-41 152.3c-8.5 31.4-37 53.3-69.5 53.3l-288.5 0 5.4 28.5c2.2 11.3 12.1 19.5 23.6 19.5L488 336c13.3 0 24 10.7 24 24s-10.7 24-24 24l-288.3 0c-34.6 0-64.3-24.6-70.7-58.5L77.4 54.5c-.7-3.8-4-6.5-7.9-6.5L24 48C10.7 48 0 37.3 0 24zM128 464a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm336-48a48 48 0 1 1 0 96 48 48 0 1 1 0-96zM252 160c0 11 9 20 20 20l44 0 0 44c0 11 9 20 20 20s20-9 20-20l0-44 44 0c11 0 20-9 20-20s-9-20-20-20l-44 0 0-44c0-11-9-20-20-20s-20 9-20 20l0 44-44 0c-11 0-20 9-20 20z\"]\n};\nconst faGamepad = {\n prefix: 'fas',\n iconName: 'gamepad',\n icon: [640, 512, [], \"f11b\", \"M192 64C86 64 0 150 0 256S86 448 192 448l256 0c106 0 192-86 192-192s-86-192-192-192L192 64zM496 168a40 40 0 1 1 0 80 40 40 0 1 1 0-80zM392 304a40 40 0 1 1 80 0 40 40 0 1 1 -80 0zM168 200c0-13.3 10.7-24 24-24s24 10.7 24 24l0 32 32 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-32 0 0 32c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-32-32 0c-13.3 0-24-10.7-24-24s10.7-24 24-24l32 0 0-32z\"]\n};\nconst faCircleDot = {\n prefix: 'fas',\n iconName: 'circle-dot',\n icon: [512, 512, [128280, \"dot-circle\"], \"f192\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-352a96 96 0 1 1 0 192 96 96 0 1 1 0-192z\"]\n};\nconst faDotCircle = faCircleDot;\nconst faFaceDizzy = {\n prefix: 'fas',\n iconName: 'face-dizzy',\n icon: [512, 512, [\"dizzy\"], \"f567\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-224a64 64 0 1 1 0 128 64 64 0 1 1 0-128zM100.7 132.7c6.2-6.2 16.4-6.2 22.6 0L160 169.4l36.7-36.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6L182.6 192l36.7 36.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L160 214.6l-36.7 36.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L137.4 192l-36.7-36.7c-6.2-6.2-6.2-16.4 0-22.6zm192 0c6.2-6.2 16.4-6.2 22.6 0L352 169.4l36.7-36.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6L374.6 192l36.7 36.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L352 214.6l-36.7 36.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L329.4 192l-36.7-36.7c-6.2-6.2-6.2-16.4 0-22.6z\"]\n};\nconst faDizzy = faFaceDizzy;\nconst faEgg = {\n prefix: 'fas',\n iconName: 'egg',\n icon: [384, 512, [129370], \"f7fb\", \"M192 496C86 496 0 394 0 288C0 176 64 16 192 16s192 160 192 272c0 106-86 208-192 208zM154.8 134c6.5-6 7-16.1 1-22.6s-16.1-7-22.6-1c-23.9 21.8-41.1 52.7-52.3 84.2C69.7 226.1 64 259.7 64 288c0 8.8 7.2 16 16 16s16-7.2 16-16c0-24.5 5-54.4 15.1-82.8c10.1-28.5 25-54.1 43.7-71.2z\"]\n};\nconst faHouseMedicalCircleXmark = {\n prefix: 'fas',\n iconName: 'house-medical-circle-xmark',\n icon: [640, 512, [], \"e513\", \"M320 368c0 59.5 29.5 112.1 74.8 144l-266.7 0c-35.3 0-64-28.7-64-64l0-160.4-32 0c-18 0-32-14-32-32.1c0-9 3-17 10-24L266.4 8c7-7 15-8 22-8s15 2 21 7L522.1 193.9c-8.5-1.3-17.3-1.9-26.1-1.9c-54.7 0-103.5 24.9-135.8 64L320 256l0-48c0-8.8-7.2-16-16-16l-32 0c-8.8 0-16 7.2-16 16l0 48-48 0c-8.8 0-16 7.2-16 16l0 32c0 8.8 7.2 16 16 16l48 0 0 48c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16zM496 224a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm22.6 144l36.7-36.7c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L496 345.4l-36.7-36.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L473.4 368l-36.7 36.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L496 390.6l36.7 36.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L518.6 368z\"]\n};\nconst faCampground = {\n prefix: 'fas',\n iconName: 'campground',\n icon: [576, 512, [9978], \"f6bb\", \"M377 52c11-13.8 8.8-33.9-5-45s-33.9-8.8-45 5L288 60.8 249 12c-11-13.8-31.2-16-45-5s-16 31.2-5 45l48 60L12.3 405.4C4.3 415.4 0 427.7 0 440.4L0 464c0 26.5 21.5 48 48 48l240 0 240 0c26.5 0 48-21.5 48-48l0-23.6c0-12.7-4.3-25.1-12.3-35L329 112l48-60zM288 448l-119.5 0L288 291.7 407.5 448 288 448z\"]\n};\nconst faFolderPlus = {\n prefix: 'fas',\n iconName: 'folder-plus',\n icon: [512, 512, [], \"f65e\", \"M512 416c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64L0 96C0 60.7 28.7 32 64 32l128 0c20.1 0 39.1 9.5 51.2 25.6l19.2 25.6c6 8.1 15.5 12.8 25.6 12.8l160 0c35.3 0 64 28.7 64 64l0 256zM232 376c0 13.3 10.7 24 24 24s24-10.7 24-24l0-64 64 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-64 0 0-64c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 64-64 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l64 0 0 64z\"]\n};\nconst faFutbol = {\n prefix: 'fas',\n iconName: 'futbol',\n icon: [512, 512, [9917, \"futbol-ball\", \"soccer-ball\"], \"f1e3\", \"M417.3 360.1l-71.6-4.8c-5.2-.3-10.3 1.1-14.5 4.2s-7.2 7.4-8.4 12.5l-17.6 69.6C289.5 445.8 273 448 256 448s-33.5-2.2-49.2-6.4L189.2 372c-1.3-5-4.3-9.4-8.4-12.5s-9.3-4.5-14.5-4.2l-71.6 4.8c-17.6-27.2-28.5-59.2-30.4-93.6L125 228.3c4.4-2.8 7.6-7 9.2-11.9s1.4-10.2-.5-15l-26.7-66.6C128 109.2 155.3 89 186.7 76.9l55.2 46c4 3.3 9 5.1 14.1 5.1s10.2-1.8 14.1-5.1l55.2-46c31.3 12.1 58.7 32.3 79.6 57.9l-26.7 66.6c-1.9 4.8-2.1 10.1-.5 15s4.9 9.1 9.2 11.9l60.7 38.2c-1.9 34.4-12.8 66.4-30.4 93.6zM256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm14.1-325.7c-8.4-6.1-19.8-6.1-28.2 0L194 221c-8.4 6.1-11.9 16.9-8.7 26.8l18.3 56.3c3.2 9.9 12.4 16.6 22.8 16.6l59.2 0c10.4 0 19.6-6.7 22.8-16.6l18.3-56.3c3.2-9.9-.3-20.7-8.7-26.8l-47.9-34.8z\"]\n};\nconst faFutbolBall = faFutbol;\nconst faSoccerBall = faFutbol;\nconst faPaintbrush = {\n prefix: 'fas',\n iconName: 'paintbrush',\n icon: [576, 512, [128396, \"paint-brush\"], \"f1fc\", \"M339.3 367.1c27.3-3.9 51.9-19.4 67.2-42.9L568.2 74.1c12.6-19.5 9.4-45.3-7.6-61.2S517.7-4.4 499.1 9.6L262.4 187.2c-24 18-38.2 46.1-38.4 76.1L339.3 367.1zm-19.6 25.4l-116-104.4C143.9 290.3 96 339.6 96 400c0 3.9 .2 7.8 .6 11.6C98.4 429.1 86.4 448 68.8 448L64 448c-17.7 0-32 14.3-32 32s14.3 32 32 32l144 0c61.9 0 112-50.1 112-112c0-2.5-.1-5-.2-7.5z\"]\n};\nconst faPaintBrush = faPaintbrush;\nconst faLock = {\n prefix: 'fas',\n iconName: 'lock',\n icon: [448, 512, [128274], \"f023\", \"M144 144l0 48 160 0 0-48c0-44.2-35.8-80-80-80s-80 35.8-80 80zM80 192l0-48C80 64.5 144.5 0 224 0s144 64.5 144 144l0 48 16 0c35.3 0 64 28.7 64 64l0 192c0 35.3-28.7 64-64 64L64 512c-35.3 0-64-28.7-64-64L0 256c0-35.3 28.7-64 64-64l16 0z\"]\n};\nconst faGasPump = {\n prefix: 'fas',\n iconName: 'gas-pump',\n icon: [512, 512, [9981], \"f52f\", \"M32 64C32 28.7 60.7 0 96 0L256 0c35.3 0 64 28.7 64 64l0 192 8 0c48.6 0 88 39.4 88 88l0 32c0 13.3 10.7 24 24 24s24-10.7 24-24l0-154c-27.6-7.1-48-32.2-48-62l0-64L384 64c-8.8-8.8-8.8-23.2 0-32s23.2-8.8 32 0l77.3 77.3c12 12 18.7 28.3 18.7 45.3l0 13.5 0 24 0 32 0 152c0 39.8-32.2 72-72 72s-72-32.2-72-72l0-32c0-22.1-17.9-40-40-40l-8 0 0 144c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 512c-17.7 0-32-14.3-32-32s14.3-32 32-32L32 64zM96 80l0 96c0 8.8 7.2 16 16 16l128 0c8.8 0 16-7.2 16-16l0-96c0-8.8-7.2-16-16-16L112 64c-8.8 0-16 7.2-16 16z\"]\n};\nconst faHotTubPerson = {\n prefix: 'fas',\n iconName: 'hot-tub-person',\n icon: [512, 512, [\"hot-tub\"], \"f593\", \"M272 24c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 5.2c0 34 14.4 66.4 39.7 89.2l16.4 14.8c15.2 13.7 23.8 33.1 23.8 53.5l0 13.2c0 13.3 10.7 24 24 24s24-10.7 24-24l0-13.2c0-34-14.4-66.4-39.7-89.2L295.8 82.8C280.7 69.1 272 49.7 272 29.2l0-5.2zM0 320l0 16L0 448c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64l0-128c0-35.3-28.7-64-64-64l-170.7 0c-13.8 0-27.3-4.5-38.4-12.8l-85.3-64C137 166.7 116.8 160 96 160c-53 0-96 43-96 96l0 64zm128 16l0 96c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-96c0-8.8 7.2-16 16-16s16 7.2 16 16zm80-16c8.8 0 16 7.2 16 16l0 96c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-96c0-8.8 7.2-16 16-16zm112 16l0 96c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-96c0-8.8 7.2-16 16-16s16 7.2 16 16zm80-16c8.8 0 16 7.2 16 16l0 96c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-96c0-8.8 7.2-16 16-16zM360 0c-13.3 0-24 10.7-24 24l0 5.2c0 34 14.4 66.4 39.7 89.2l16.4 14.8c15.2 13.7 23.8 33.1 23.8 53.5l0 13.2c0 13.3 10.7 24 24 24s24-10.7 24-24l0-13.2c0-34-14.4-66.4-39.7-89.2L407.8 82.8C392.7 69.1 384 49.7 384 29.2l0-5.2c0-13.3-10.7-24-24-24zM64 128A64 64 0 1 0 64 0a64 64 0 1 0 0 128z\"]\n};\nconst faHotTub = faHotTubPerson;\nconst faMapLocation = {\n prefix: 'fas',\n iconName: 'map-location',\n icon: [576, 512, [\"map-marked\"], \"f59f\", \"M302.8 312C334.9 271.9 408 174.6 408 120C408 53.7 354.3 0 288 0S168 53.7 168 120c0 54.6 73.1 151.9 105.2 192c7.7 9.6 22 9.6 29.6 0zM416 503l144.9-58c9.1-3.6 15.1-12.5 15.1-22.3L576 152c0-17-17.1-28.6-32.9-22.3l-116 46.4c-.5 1.2-1 2.5-1.5 3.7c-2.9 6.8-6.1 13.7-9.6 20.6L416 503zM15.1 187.3C6 191 0 199.8 0 209.6L0 480.4c0 17 17.1 28.6 32.9 22.3L160 451.8l0-251.4c-3.5-6.9-6.7-13.8-9.6-20.6c-5.6-13.2-10.4-27.4-12.8-41.5l-122.6 49zM384 255c-20.5 31.3-42.3 59.6-56.2 77c-20.5 25.6-59.1 25.6-79.6 0c-13.9-17.4-35.7-45.7-56.2-77l0 194.4 192 54.9L384 255z\"]\n};\nconst faMapMarked = faMapLocation;\nconst faHouseFloodWater = {\n prefix: 'fas',\n iconName: 'house-flood-water',\n icon: [576, 512, [], \"e50e\", \"M306.8 6.1C295.6-2 280.4-2 269.2 6.1l-176 128c-11.2 8.2-15.9 22.6-11.6 35.8S98.1 192 112 192l16 0 0 73c1.7 1 3.3 2 4.9 3.1c18 12.4 40.1 20.3 59.2 20.3c21.1 0 42-8.5 59.2-20.3c22.1-15.5 51.6-15.5 73.7 0c18.4 12.7 39.6 20.3 59.2 20.3c19 0 41.2-7.9 59.2-20.3c1.5-1 3-2 4.5-2.9l-.3-73.2 16.6 0c13.9 0 26.1-8.9 30.4-22.1s-.4-27.6-11.6-35.8l-176-128zM269.5 309.9C247 325.4 219.5 336 192 336c-26.9 0-55.3-10.8-77.4-26.1c0 0 0 0 0 0c-11.9-8.5-28.1-7.8-39.2 1.7c-14.4 11.9-32.5 21-50.6 25.2c-17.2 4-27.9 21.2-23.9 38.4s21.2 27.9 38.4 23.9c24.5-5.7 44.9-16.5 58.2-25C126.5 389.7 159 400 192 400c31.9 0 60.6-9.9 80.4-18.9c5.8-2.7 11.1-5.3 15.6-7.7c4.5 2.4 9.7 5.1 15.6 7.7c19.8 9 48.5 18.9 80.4 18.9c33 0 65.5-10.3 94.5-25.8c13.4 8.4 33.7 19.3 58.2 25c17.2 4 34.4-6.7 38.4-23.9s-6.7-34.4-23.9-38.4c-18.1-4.2-36.2-13.3-50.6-25.2c-11.1-9.5-27.3-10.1-39.2-1.7c0 0 0 0 0 0C439.4 325.2 410.9 336 384 336c-27.5 0-55-10.6-77.5-26.1c-11.1-7.9-25.9-7.9-37 0zM384 448c-27.5 0-55-10.6-77.5-26.1c-11.1-7.9-25.9-7.9-37 0C247 437.4 219.5 448 192 448c-26.9 0-55.3-10.8-77.4-26.1c0 0 0 0 0 0c-11.9-8.5-28.1-7.8-39.2 1.7c-14.4 11.9-32.5 21-50.6 25.2c-17.2 4-27.9 21.2-23.9 38.4s21.2 27.9 38.4 23.9c24.5-5.7 44.9-16.5 58.2-25C126.5 501.7 159 512 192 512c31.9 0 60.6-9.9 80.4-18.9c5.8-2.7 11.1-5.3 15.6-7.7c4.5 2.4 9.7 5.1 15.6 7.7c19.8 9 48.5 18.9 80.4 18.9c33 0 65.5-10.3 94.5-25.8c13.4 8.4 33.7 19.3 58.2 25c17.2 4 34.4-6.7 38.4-23.9s-6.7-34.4-23.9-38.4c-18.1-4.2-36.2-13.3-50.6-25.2c-11.1-9.4-27.3-10.1-39.2-1.7c0 0 0 0 0 0C439.4 437.2 410.9 448 384 448z\"]\n};\nconst faTree = {\n prefix: 'fas',\n iconName: 'tree',\n icon: [448, 512, [127794], \"f1bb\", \"M210.6 5.9L62 169.4c-3.9 4.2-6 9.8-6 15.5C56 197.7 66.3 208 79.1 208l24.9 0L30.6 281.4c-4.2 4.2-6.6 10-6.6 16C24 309.9 34.1 320 46.6 320L80 320 5.4 409.5C1.9 413.7 0 419 0 424.5c0 13 10.5 23.5 23.5 23.5L192 448l0 32c0 17.7 14.3 32 32 32s32-14.3 32-32l0-32 168.5 0c13 0 23.5-10.5 23.5-23.5c0-5.5-1.9-10.8-5.4-15L368 320l33.4 0c12.5 0 22.6-10.1 22.6-22.6c0-6-2.4-11.8-6.6-16L344 208l24.9 0c12.7 0 23.1-10.3 23.1-23.1c0-5.7-2.1-11.3-6-15.5L237.4 5.9C234 2.1 229.1 0 224 0s-10 2.1-13.4 5.9z\"]\n};\nconst faBridgeLock = {\n prefix: 'fas',\n iconName: 'bridge-lock',\n icon: [640, 512, [], \"e4cc\", \"M32 64c0-17.7 14.3-32 32-32l512 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-40 0 0 64-8 0c-61.9 0-112 50.1-112 112l0 24.6c-9.9 5.8-18.2 14.1-23.8 24.1c-17.6-20-43.4-32.7-72.2-32.7c-53 0-96 43-96 96l0 64c0 17.7-14.3 32-32 32l-32 0c-17.7 0-32-14.3-32-32l0-64c0-53-43-96-96-96l0-128 72 0 0-64L64 96C46.3 96 32 81.7 32 64zM408 96l0 64 80 0 0-64-80 0zm-48 64l0-64-80 0 0 64 80 0zM152 96l0 64 80 0 0-64-80 0zM528 240c-17.7 0-32 14.3-32 32l0 48 64 0 0-48c0-17.7-14.3-32-32-32zm-80 32c0-44.2 35.8-80 80-80s80 35.8 80 80l0 48c17.7 0 32 14.3 32 32l0 128c0 17.7-14.3 32-32 32l-160 0c-17.7 0-32-14.3-32-32l0-128c0-17.7 14.3-32 32-32l0-48z\"]\n};\nconst faSackDollar = {\n prefix: 'fas',\n iconName: 'sack-dollar',\n icon: [512, 512, [128176], \"f81d\", \"M320 96L192 96 144.6 24.9C137.5 14.2 145.1 0 157.9 0L354.1 0c12.8 0 20.4 14.2 13.3 24.9L320 96zM192 128l128 0c3.8 2.5 8.1 5.3 13 8.4C389.7 172.7 512 250.9 512 416c0 53-43 96-96 96L96 512c-53 0-96-43-96-96C0 250.9 122.3 172.7 179 136.4c0 0 0 0 0 0s0 0 0 0c4.8-3.1 9.2-5.9 13-8.4zm84 88c0-11-9-20-20-20s-20 9-20 20l0 14c-7.6 1.7-15.2 4.4-22.2 8.5c-13.9 8.3-25.9 22.8-25.8 43.9c.1 20.3 12 33.1 24.7 40.7c11 6.6 24.7 10.8 35.6 14l1.7 .5c12.6 3.8 21.8 6.8 28 10.7c5.1 3.2 5.8 5.4 5.9 8.2c.1 5-1.8 8-5.9 10.5c-5 3.1-12.9 5-21.4 4.7c-11.1-.4-21.5-3.9-35.1-8.5c-2.3-.8-4.7-1.6-7.2-2.4c-10.5-3.5-21.8 2.2-25.3 12.6s2.2 21.8 12.6 25.3c1.9 .6 4 1.3 6.1 2.1c0 0 0 0 0 0s0 0 0 0c8.3 2.9 17.9 6.2 28.2 8.4l0 14.6c0 11 9 20 20 20s20-9 20-20l0-13.8c8-1.7 16-4.5 23.2-9c14.3-8.9 25.1-24.1 24.8-45c-.3-20.3-11.7-33.4-24.6-41.6c-11.5-7.2-25.9-11.6-37.1-15c0 0 0 0 0 0l-.7-.2c-12.8-3.9-21.9-6.7-28.3-10.5c-5.2-3.1-5.3-4.9-5.3-6.7c0-3.7 1.4-6.5 6.2-9.3c5.4-3.2 13.6-5.1 21.5-5c9.6 .1 20.2 2.2 31.2 5.2c10.7 2.8 21.6-3.5 24.5-14.2s-3.5-21.6-14.2-24.5c-6.5-1.7-13.7-3.4-21.1-4.7l0-13.9z\"]\n};\nconst faPenToSquare = {\n prefix: 'fas',\n iconName: 'pen-to-square',\n icon: [512, 512, [\"edit\"], \"f044\", \"M471.6 21.7c-21.9-21.9-57.3-21.9-79.2 0L362.3 51.7l97.9 97.9 30.1-30.1c21.9-21.9 21.9-57.3 0-79.2L471.6 21.7zm-299.2 220c-6.1 6.1-10.8 13.6-13.5 21.9l-29.6 88.8c-2.9 8.6-.6 18.1 5.8 24.6s15.9 8.7 24.6 5.8l88.8-29.6c8.2-2.7 15.7-7.4 21.9-13.5L437.7 172.3 339.7 74.3 172.4 241.7zM96 64C43 64 0 107 0 160L0 416c0 53 43 96 96 96l256 0c53 0 96-43 96-96l0-96c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 96c0 17.7-14.3 32-32 32L96 448c-17.7 0-32-14.3-32-32l0-256c0-17.7 14.3-32 32-32l96 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L96 64z\"]\n};\nconst faEdit = faPenToSquare;\nconst faCarSide = {\n prefix: 'fas',\n iconName: 'car-side',\n icon: [640, 512, [128663], \"f5e4\", \"M171.3 96L224 96l0 96-112.7 0 30.4-75.9C146.5 104 158.2 96 171.3 96zM272 192l0-96 81.2 0c9.7 0 18.9 4.4 25 12l67.2 84L272 192zm256.2 1L428.2 68c-18.2-22.8-45.8-36-75-36L171.3 32c-39.3 0-74.6 23.9-89.1 60.3L40.6 196.4C16.8 205.8 0 228.9 0 256L0 368c0 17.7 14.3 32 32 32l33.3 0c7.6 45.4 47.1 80 94.7 80s87.1-34.6 94.7-80l130.7 0c7.6 45.4 47.1 80 94.7 80s87.1-34.6 94.7-80l33.3 0c17.7 0 32-14.3 32-32l0-48c0-65.2-48.8-119-111.8-127zM434.7 368a48 48 0 1 1 90.5 32 48 48 0 1 1 -90.5-32zM160 336a48 48 0 1 1 0 96 48 48 0 1 1 0-96z\"]\n};\nconst faShareNodes = {\n prefix: 'fas',\n iconName: 'share-nodes',\n icon: [448, 512, [\"share-alt\"], \"f1e0\", \"M352 224c53 0 96-43 96-96s-43-96-96-96s-96 43-96 96c0 4 .2 8 .7 11.9l-94.1 47C145.4 170.2 121.9 160 96 160c-53 0-96 43-96 96s43 96 96 96c25.9 0 49.4-10.2 66.6-26.9l94.1 47c-.5 3.9-.7 7.8-.7 11.9c0 53 43 96 96 96s96-43 96-96s-43-96-96-96c-25.9 0-49.4 10.2-66.6 26.9l-94.1-47c.5-3.9 .7-7.8 .7-11.9s-.2-8-.7-11.9l94.1-47C302.6 213.8 326.1 224 352 224z\"]\n};\nconst faShareAlt = faShareNodes;\nconst faHeartCircleMinus = {\n prefix: 'fas',\n iconName: 'heart-circle-minus',\n icon: [576, 512, [], \"e4ff\", \"M47.6 300.4L228.3 469.1c7.5 7 17.4 10.9 27.7 10.9s20.2-3.9 27.7-10.9l2.6-2.4C267.2 438.6 256 404.6 256 368c0-97.2 78.8-176 176-176c28.3 0 55 6.7 78.7 18.5c.9-6.5 1.3-13 1.3-19.6l0-5.8c0-69.9-50.5-129.5-119.4-141C347 36.5 300.6 51.4 268 84L256 96 244 84c-32.6-32.6-79-47.5-124.6-39.9C50.5 55.6 0 115.2 0 185.1l0 5.8c0 41.5 17.2 81.2 47.6 109.5zM576 368a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zm-64 0c0 8.8-7.2 16-16 16l-128 0c-8.8 0-16-7.2-16-16s7.2-16 16-16l128 0c8.8 0 16 7.2 16 16z\"]\n};\nconst faHourglassHalf = {\n prefix: 'fas',\n iconName: 'hourglass-half',\n icon: [384, 512, [\"hourglass-2\"], \"f252\", \"M32 0C14.3 0 0 14.3 0 32S14.3 64 32 64l0 11c0 42.4 16.9 83.1 46.9 113.1L146.7 256 78.9 323.9C48.9 353.9 32 394.6 32 437l0 11c-17.7 0-32 14.3-32 32s14.3 32 32 32l32 0 256 0 32 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l0-11c0-42.4-16.9-83.1-46.9-113.1L237.3 256l67.9-67.9c30-30 46.9-70.7 46.9-113.1l0-11c17.7 0 32-14.3 32-32s-14.3-32-32-32L320 0 64 0 32 0zM96 75l0-11 192 0 0 11c0 19-5.6 37.4-16 53L112 128c-10.3-15.6-16-34-16-53zm16 309c3.5-5.3 7.6-10.3 12.1-14.9L192 301.3l67.9 67.9c4.6 4.6 8.6 9.6 12.1 14.9L112 384z\"]\n};\nconst faHourglass2 = faHourglassHalf;\nconst faMicroscope = {\n prefix: 'fas',\n iconName: 'microscope',\n icon: [512, 512, [128300], \"f610\", \"M160 32c0-17.7 14.3-32 32-32l32 0c17.7 0 32 14.3 32 32c17.7 0 32 14.3 32 32l0 224c0 17.7-14.3 32-32 32c0 17.7-14.3 32-32 32l-32 0c-17.7 0-32-14.3-32-32c-17.7 0-32-14.3-32-32l0-224c0-17.7 14.3-32 32-32zM32 448l288 0c70.7 0 128-57.3 128-128s-57.3-128-128-128l0-64c106 0 192 86 192 192c0 49.2-18.5 94-48.9 128l16.9 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-160 0L32 512c-17.7 0-32-14.3-32-32s14.3-32 32-32zm80-64l192 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-192 0c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nconst faSink = {\n prefix: 'fas',\n iconName: 'sink',\n icon: [512, 512, [], \"e06d\", \"M288 96c0-17.7 14.3-32 32-32s32 14.3 32 32s14.3 32 32 32s32-14.3 32-32c0-53-43-96-96-96s-96 43-96 96l0 192-64 0 0-24c0-30.9-25.1-56-56-56l-48 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l48 0c4.4 0 8 3.6 8 8l0 24-80 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l224 0 224 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-80 0 0-24c0-4.4 3.6-8 8-8l56 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-56 0c-30.9 0-56 25.1-56 56l0 24-64 0 0-192zM480 416l0-32L32 384l0 32c0 53 43 96 96 96l256 0c53 0 96-43 96-96z\"]\n};\nconst faBagShopping = {\n prefix: 'fas',\n iconName: 'bag-shopping',\n icon: [448, 512, [\"shopping-bag\"], \"f290\", \"M160 112c0-35.3 28.7-64 64-64s64 28.7 64 64l0 48-128 0 0-48zm-48 48l-64 0c-26.5 0-48 21.5-48 48L0 416c0 53 43 96 96 96l256 0c53 0 96-43 96-96l0-208c0-26.5-21.5-48-48-48l-64 0 0-48C336 50.1 285.9 0 224 0S112 50.1 112 112l0 48zm24 48a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm152 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"]\n};\nconst faShoppingBag = faBagShopping;\nconst faArrowDownZA = {\n prefix: 'fas',\n iconName: 'arrow-down-z-a',\n icon: [576, 512, [\"sort-alpha-desc\", \"sort-alpha-down-alt\"], \"f881\", \"M183.6 469.6C177.5 476.2 169 480 160 480s-17.5-3.8-23.6-10.4l-88-96c-11.9-13-11.1-33.3 2-45.2s33.3-11.1 45.2 2L128 365.7 128 64c0-17.7 14.3-32 32-32s32 14.3 32 32l0 301.7 32.4-35.4c11.9-13 32.2-13.9 45.2-2s13.9 32.2 2 45.2l-88 96zM320 64c0-17.7 14.3-32 32-32l128 0c12.9 0 24.6 7.8 29.6 19.8s2.2 25.7-6.9 34.9L429.3 160l50.7 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-128 0c-12.9 0-24.6-7.8-29.6-19.8s-2.2-25.7 6.9-34.9L402.7 96 352 96c-17.7 0-32-14.3-32-32zm96 192c12.1 0 23.2 6.8 28.6 17.7l64 128 16 32c7.9 15.8 1.5 35-14.3 42.9s-35 1.5-42.9-14.3L460.2 448l-88.4 0-7.2 14.3c-7.9 15.8-27.1 22.2-42.9 14.3s-22.2-27.1-14.3-42.9l16-32 64-128c5.4-10.8 16.5-17.7 28.6-17.7zM395.8 400l40.4 0L416 359.6 395.8 400z\"]\n};\nconst faSortAlphaDesc = faArrowDownZA;\nconst faSortAlphaDownAlt = faArrowDownZA;\nconst faMitten = {\n prefix: 'fas',\n iconName: 'mitten',\n icon: [448, 512, [], \"f7b5\", \"M352 384L64 384 5.4 178.9C1.8 166.4 0 153.4 0 140.3C0 62.8 62.8 0 140.3 0l3.4 0c66 0 123.5 44.9 139.5 108.9l31.4 125.8 17.6-20.1C344.8 200.2 362.9 192 382 192l2.8 0c34.9 0 63.3 28.3 63.3 63.3c0 15.9-6 31.2-16.8 42.9L352 384zM32 448c0-17.7 14.3-32 32-32l288 0c17.7 0 32 14.3 32 32l0 32c0 17.7-14.3 32-32 32L64 512c-17.7 0-32-14.3-32-32l0-32z\"]\n};\nconst faPersonRays = {\n prefix: 'fas',\n iconName: 'person-rays',\n icon: [512, 512, [], \"e54d\", \"M208 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm40 304l0 128c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-223.1-28.6 47.5c-9.1 15.1-28.8 20-43.9 10.9s-20-28.8-10.9-43.9l58.3-97c17.4-28.9 48.6-46.6 82.3-46.6l29.7 0c33.7 0 64.9 17.7 82.3 46.6l58.3 97c9.1 15.1 4.2 34.8-10.9 43.9s-34.8 4.2-43.9-10.9L328 256.9 328 480c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-128-16 0zM7 7C16.4-2.3 31.6-2.3 41 7l80 80c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0L7 41C-2.3 31.6-2.3 16.4 7 7zM471 7c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-80 80c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9L471 7zM7 505c-9.4-9.4-9.4-24.6 0-33.9l80-80c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9L41 505c-9.4 9.4-24.6 9.4-33.9 0zm464 0l-80-80c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l80 80c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0z\"]\n};\nconst faUsers = {\n prefix: 'fas',\n iconName: 'users',\n icon: [640, 512, [], \"f0c0\", \"M144 0a80 80 0 1 1 0 160A80 80 0 1 1 144 0zM512 0a80 80 0 1 1 0 160A80 80 0 1 1 512 0zM0 298.7C0 239.8 47.8 192 106.7 192l42.7 0c15.9 0 31 3.5 44.6 9.7c-1.3 7.2-1.9 14.7-1.9 22.3c0 38.2 16.8 72.5 43.3 96c-.2 0-.4 0-.7 0L21.3 320C9.6 320 0 310.4 0 298.7zM405.3 320c-.2 0-.4 0-.7 0c26.6-23.5 43.3-57.8 43.3-96c0-7.6-.7-15-1.9-22.3c13.6-6.3 28.7-9.7 44.6-9.7l42.7 0C592.2 192 640 239.8 640 298.7c0 11.8-9.6 21.3-21.3 21.3l-213.3 0zM224 224a96 96 0 1 1 192 0 96 96 0 1 1 -192 0zM128 485.3C128 411.7 187.7 352 261.3 352l117.3 0C452.3 352 512 411.7 512 485.3c0 14.7-11.9 26.7-26.7 26.7l-330.7 0c-14.7 0-26.7-11.9-26.7-26.7z\"]\n};\nconst faEyeSlash = {\n prefix: 'fas',\n iconName: 'eye-slash',\n icon: [640, 512, [], \"f070\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L525.6 386.7c39.6-40.6 66.4-86.1 79.9-118.4c3.3-7.9 3.3-16.7 0-24.6c-14.9-35.7-46.2-87.7-93-131.1C465.5 68.8 400.8 32 320 32c-68.2 0-125 26.3-169.3 60.8L38.8 5.1zM223.1 149.5C248.6 126.2 282.7 112 320 112c79.5 0 144 64.5 144 144c0 24.9-6.3 48.3-17.4 68.7L408 294.5c8.4-19.3 10.6-41.4 4.8-63.3c-11.1-41.5-47.8-69.4-88.6-71.1c-5.8-.2-9.2 6.1-7.4 11.7c2.1 6.4 3.3 13.2 3.3 20.3c0 10.2-2.4 19.8-6.6 28.3l-90.3-70.8zM373 389.9c-16.4 6.5-34.3 10.1-53 10.1c-79.5 0-144-64.5-144-144c0-6.9 .5-13.6 1.4-20.2L83.1 161.5C60.3 191.2 44 220.8 34.5 243.7c-3.3 7.9-3.3 16.7 0 24.6c14.9 35.7 46.2 87.7 93 131.1C174.5 443.2 239.2 480 320 480c47.8 0 89.9-12.9 126.2-32.5L373 389.9z\"]\n};\nconst faFlaskVial = {\n prefix: 'fas',\n iconName: 'flask-vial',\n icon: [640, 512, [], \"e4f3\", \"M175 389.4c-9.8 16-15 34.3-15 53.1c-10 3.5-20.8 5.5-32 5.5c-53 0-96-43-96-96L32 64C14.3 64 0 49.7 0 32S14.3 0 32 0L96 0l64 0 64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l0 245.9-49 79.6zM96 64l0 96 64 0 0-96L96 64zM352 0L480 0l32 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l0 150.9L629.7 406.2c6.7 10.9 10.3 23.5 10.3 36.4c0 38.3-31.1 69.4-69.4 69.4l-309.2 0c-38.3 0-69.4-31.1-69.4-69.4c0-12.8 3.6-25.4 10.3-36.4L320 214.9 320 64c-17.7 0-32-14.3-32-32s14.3-32 32-32l32 0zm32 64l0 160c0 5.9-1.6 11.7-4.7 16.8L330.5 320l171 0-48.8-79.2c-3.1-5-4.7-10.8-4.7-16.8l0-160-64 0z\"]\n};\nconst faHand = {\n prefix: 'fas',\n iconName: 'hand',\n icon: [512, 512, [129306, 9995, \"hand-paper\"], \"f256\", \"M288 32c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 208c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-176c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 272c0 1.5 0 3.1 .1 4.6L67.6 283c-16-15.2-41.3-14.6-56.6 1.4s-14.6 41.3 1.4 56.6L124.8 448c43.1 41.1 100.4 64 160 64l19.2 0c97.2 0 176-78.8 176-176l0-208c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 112c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-176c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 176c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-208z\"]\n};\nconst faHandPaper = faHand;\nconst faOm = {\n prefix: 'fas',\n iconName: 'om',\n icon: [512, 512, [128329], \"f679\", \"M379.3 4.7c-6.2-6.2-16.4-6.2-22.6 0l-16 16c-6.2 6.2-6.2 16.4 0 22.6l16 16c6.2 6.2 16.4 6.2 22.6 0l16-16c6.2-6.2 6.2-16.4 0-22.6l-16-16zM281 66.7c-2.2-1.5-4.9-2.5-7.7-2.7c-.6 0-1.3-.1-1.9 0c-3.9 .2-7.4 1.7-10.1 4.2c-.9 .8-1.6 1.7-2.3 2.6c-1.7 2.4-2.7 5.3-2.9 8.5c0 .7 0 1.4 0 2.1c.2 2.2 .9 4.3 1.9 6.2l.3 .6c.3 .6 .8 1.4 1.4 2.4c1.2 2 2.9 4.8 5.1 8.2c4.4 6.7 11.1 15.5 20 24.4C302.4 141.1 330.3 160 368 160c31.2 0 56.6-10.4 73.9-20.2c8.7-5 15.6-9.9 20.4-13.8c2.4-1.9 4.3-3.6 5.7-4.9c.7-.6 1.3-1.2 1.7-1.6l.6-.5 .1-.1 .1-.1s0 0 0 0s0 0 0 0c5.9-5.8 9.5-13.9 9.5-22.8c0-17.7-14.3-32-32-32c-8.7 0-16.7 3.5-22.4 9.2c-.1 .1-.2 .2-.5 .4c-.5 .5-1.5 1.3-2.8 2.4c-2.7 2.2-6.8 5.2-12.1 8.2C399.4 90.4 384.8 96 368 96c-20.8 0-42.4-7-59.5-14.6c-8.4-3.7-15.4-7.5-20.3-10.3c-2.4-1.4-4.3-2.5-5.6-3.3c-.6-.4-1.1-.7-1.4-.9l-.3-.2zM115.2 169.6c8-6 17.9-9.6 28.8-9.6c26.5 0 48 21.5 48 48s-21.5 48-48 48l-34.2 0c-7.6 0-13.8 6.2-13.8 13.8c0 1.5 .2 2.9 .7 4.4l8 24c4.4 13.1 16.6 21.9 30.4 21.9l8.9 0 16 0c35.3 0 64 28.7 64 64s-28.7 64-64 64c-50.8 0-82.7-21.5-102.2-42.8c-9.9-10.8-16.6-21.6-20.9-29.7c-2.1-4-3.6-7.3-4.5-9.6c-.5-1.1-.8-2-1-2.5l-.2-.5c-.3-.9-.7-1.8-1.1-2.6c-1.2-2.2-2.8-4-4.7-5.4c-1.9-1.4-4.1-2.3-6.5-2.8c-1.4-.3-2.9-.3-4.4-.2c-2.5 .2-4.8 1-6.8 2.3c-1.1 .7-2.2 1.5-3.1 2.5c-2.4 2.5-4.1 5.8-4.5 9.5c-.1 .6-.1 1.1-.1 1.7c0 0 0 0 0 0c0 .8 .1 1.7 .2 2.5l0 .1c0 .3 .1 .8 .2 1.3c.2 1.1 .4 2.7 .8 4.6c.8 3.9 2 9.4 3.9 15.9c3.8 13 10.3 30.4 21.3 48C48.7 476.2 89.4 512 160 512c70.7 0 128-57.3 128-128c0-23.3-6.2-45.2-17.1-64l22.6 0c25.5 0 49.9-10.1 67.9-28.1l26.5-26.5c6-6 14.1-9.4 22.6-9.4l5.5 0c17.7 0 32 14.3 32 32l0 96c0 17.7-14.3 32-32 32c-25.7 0-41.4-12.5-51.2-25.6c-5-6.7-8.4-13.4-10.5-18.6c-1.1-2.5-1.8-4.6-2.2-6c-.2-.7-.4-1.2-.5-1.5l-.1-.2c-.3-1.3-.8-2.6-1.5-3.8c-1.1-2-2.6-3.8-4.4-5.1c-2.7-2-6-3.2-9.6-3.2l-.2 0c-8 .1-14.6 6.1-15.6 13.9c0 0 0 0 0 0c0 .3-.1 .6-.2 1.1c-.1 .9-.3 2.1-.4 3.6c-.3 3-.6 7.3-.6 12.4c0 10.1 1.1 23.9 5.8 38.1c4.8 14.3 13.4 29.3 28.6 40.7C368.7 473.3 389.3 480 416 480c53 0 96-43 96-96l0-96c0-53-43-96-96-96l-5.5 0c-25.5 0-49.9 10.1-67.9 28.1l-26.5 26.5c-6 6-14.1 9.4-22.6 9.4l-48.3 0c6.9-14.5 10.8-30.8 10.8-48c0-61.9-50.1-112-112-112c-25.2 0-48.5 8.3-67.2 22.4c-14.1 10.6-17 30.7-6.4 44.8s30.7 17 44.8 6.4z\"]\n};\nconst faWorm = {\n prefix: 'fas',\n iconName: 'worm',\n icon: [512, 512, [], \"e599\", \"M256 96c0-53 43-96 96-96l38.4 0C439.9 0 480 40.1 480 89.6l0 86.4 0 16 0 184c0 75.1-60.9 136-136 136s-136-60.9-136-136l0-80c0-22.1-17.9-40-40-40s-40 17.9-40 40l0 168c0 26.5-21.5 48-48 48s-48-21.5-48-48l0-168c0-75.1 60.9-136 136-136s136 60.9 136 136l0 80c0 22.1 17.9 40 40 40s40-17.9 40-40l0-184-32 0c-53 0-96-43-96-96zm144-8a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nconst faHouseCircleXmark = {\n prefix: 'fas',\n iconName: 'house-circle-xmark',\n icon: [640, 512, [], \"e50b\", \"M320.7 352c8.1-89.7 83.5-160 175.3-160c8.9 0 17.6 .7 26.1 1.9L309.5 7c-6-5-14-7-21-7s-15 1-22 8L10 231.5c-7 7-10 15-10 24c0 18 14 32.1 32 32.1l32 0 0 69.7c-.1 .9-.1 1.8-.1 2.8l0 112c0 22.1 17.9 40 40 40l16 0c1.2 0 2.4-.1 3.6-.2c1.5 .1 3 .2 4.5 .2l31.9 0 24 0c22.1 0 40-17.9 40-40l0-24 0-64c0-17.7 14.3-32 32-32l64 0 .7 0zM496 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm59.3-180.7L518.6 368l36.7 36.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L496 390.6l-36.7 36.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L473.4 368l-36.7-36.7c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L496 345.4l36.7-36.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z\"]\n};\nconst faPlug = {\n prefix: 'fas',\n iconName: 'plug',\n icon: [384, 512, [128268], \"f1e6\", \"M96 0C78.3 0 64 14.3 64 32l0 96 64 0 0-96c0-17.7-14.3-32-32-32zM288 0c-17.7 0-32 14.3-32 32l0 96 64 0 0-96c0-17.7-14.3-32-32-32zM32 160c-17.7 0-32 14.3-32 32s14.3 32 32 32l0 32c0 77.4 55 142 128 156.8l0 67.2c0 17.7 14.3 32 32 32s32-14.3 32-32l0-67.2C297 398 352 333.4 352 256l0-32c17.7 0 32-14.3 32-32s-14.3-32-32-32L32 160z\"]\n};\nconst faChevronUp = {\n prefix: 'fas',\n iconName: 'chevron-up',\n icon: [512, 512, [], \"f077\", \"M233.4 105.4c12.5-12.5 32.8-12.5 45.3 0l192 192c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L256 173.3 86.6 342.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l192-192z\"]\n};\nconst faHandSpock = {\n prefix: 'fas',\n iconName: 'hand-spock',\n icon: [576, 512, [128406], \"f259\", \"M246.9 23.7C242.3 6.6 224.8-3.5 207.7 1.1s-27.2 22.1-22.6 39.2L238 237.8c2.5 9.2-4.5 18.2-14 18.2c-6.4 0-12-4.2-13.9-10.3L166.6 102.7c-5.1-16.9-23-26.4-39.9-21.3s-26.4 23-21.3 39.9l62.8 206.4c2.4 7.9-7.2 13.8-13.2 8.1L99.6 283c-16-15.2-41.3-14.6-56.6 1.4s-14.6 41.3 1.4 56.6L156.8 448c43.1 41.1 100.4 64 160 64l10.9 0 8.2 0c.1 0 .1-.1 .1-.1s.1-.1 .1-.1c58.3-3.5 108.6-43.2 125.3-99.7l81.2-275c5-16.9-4.7-34.7-21.6-39.8s-34.7 4.7-39.8 21.6L443.5 247.1c-1.6 5.3-6.4 8.9-12 8.9c-7.9 0-13.8-7.3-12.2-15.1l36-170.3c3.7-17.3-7.4-34.3-24.7-37.9s-34.3 7.4-37.9 24.7L355.1 235.1c-2.6 12.2-13.3 20.9-25.8 20.9c-11.9 0-22.4-8-25.4-19.5l-57-212.8z\"]\n};\nconst faStopwatch = {\n prefix: 'fas',\n iconName: 'stopwatch',\n icon: [448, 512, [9201], \"f2f2\", \"M176 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l16 0 0 34.4C92.3 113.8 16 200 16 304c0 114.9 93.1 208 208 208s208-93.1 208-208c0-41.8-12.3-80.7-33.5-113.2l24.1-24.1c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L355.7 143c-28.1-23-62.2-38.8-99.7-44.6L256 64l16 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L224 0 176 0zm72 192l0 128c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-128c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nconst faFaceKiss = {\n prefix: 'fas',\n iconName: 'face-kiss',\n icon: [512, 512, [128535, \"kiss\"], \"f596\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm48.7-198.3c4.3 5.1 7.3 11.4 7.3 18.3s-3.1 13.2-7.3 18.3c-4.3 5.2-10.1 9.7-16.7 13.4c-2.7 1.5-5.7 3-8.7 4.3c3.1 1.3 6 2.7 8.7 4.3c6.6 3.7 12.5 8.2 16.7 13.4c4.3 5.1 7.3 11.4 7.3 18.3s-3.1 13.2-7.3 18.3c-4.3 5.2-10.1 9.7-16.7 13.4C274.7 443.1 257.4 448 240 448c-3.6 0-6.8-2.5-7.7-6s.6-7.2 3.8-9c0 0 0 0 0 0s0 0 0 0s0 0 0 0c0 0 0 0 0 0l.2-.1c.2-.1 .5-.3 .9-.5c.8-.5 2-1.2 3.4-2.1c2.8-1.9 6.5-4.5 10.2-7.6c3.7-3.1 7.2-6.6 9.6-10.1c2.5-3.5 3.5-6.4 3.5-8.6s-1-5-3.5-8.6c-2.5-3.5-5.9-6.9-9.6-10.1c-3.7-3.1-7.4-5.7-10.2-7.6c-1.4-.9-2.6-1.6-3.4-2.1c-.4-.2-.7-.4-.9-.5l-.2-.1c0 0 0 0 0 0c0 0 0 0 0 0s0 0 0 0c-2.5-1.4-4.1-4.1-4.1-7s1.6-5.6 4.1-7c0 0 0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0c0 0 0 0 0 0l.2-.1 .3-.2 .6-.4c.8-.5 2-1.2 3.4-2.1c2.8-1.9 6.5-4.5 10.2-7.6c3.7-3.1 7.2-6.6 9.6-10.1c2.5-3.5 3.5-6.4 3.5-8.6s-1-5-3.5-8.6c-2.5-3.5-5.9-6.9-9.6-10.1c-3.7-3.1-7.4-5.7-10.2-7.6c-1.4-.9-2.6-1.6-3.4-2.1l-.4-.3-.5-.3-.2-.1c0 0 0 0 0 0c0 0 0 0 0 0s0 0 0 0c-3.2-1.8-4.7-5.5-3.8-9s4.1-6 7.7-6c17.4 0 34.7 4.9 47.9 12.3c6.6 3.7 12.5 8.2 16.7 13.4zM144.4 208a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm192-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nconst faKiss = faFaceKiss;\nconst faBridgeCircleXmark = {\n prefix: 'fas',\n iconName: 'bridge-circle-xmark',\n icon: [640, 512, [], \"e4cb\", \"M64 32C46.3 32 32 46.3 32 64s14.3 32 32 32l40 0 0 64-72 0 0 128c53 0 96 43 96 96l0 64c0 17.7 14.3 32 32 32l32 0c17.7 0 32-14.3 32-32l0-64c0-53 43-96 96-96c6.3 0 12.4 .6 18.3 1.7C367.1 231.8 426.9 192 496 192c42.5 0 81.6 15.1 112 40.2l0-72.2-72 0 0-64 40 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L64 32zM488 96l0 64-80 0 0-64 80 0zM360 96l0 64-80 0 0-64 80 0zM232 96l0 64-80 0 0-64 80 0zM496 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm59.3-180.7L518.6 368l36.7 36.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L496 390.6l-36.7 36.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L473.4 368l-36.7-36.7c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L496 345.4l36.7-36.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z\"]\n};\nconst faFaceGrinTongue = {\n prefix: 'fas',\n iconName: 'face-grin-tongue',\n icon: [512, 512, [128539, \"grin-tongue\"], \"f589\", \"M0 256C0 368.9 73.1 464.7 174.5 498.8C165.3 484 160 466.6 160 448l0-47.3c-24-17.5-43.1-41.4-54.8-69.2c-5-11.8 7-22.5 19.3-18.7c39.7 12.2 84.5 19 131.8 19s92.1-6.8 131.8-19c12.3-3.8 24.3 6.9 19.3 18.7c-11.8 28-31.1 52-55.4 69.6l0 46.9c0 18.6-5.3 36-14.5 50.8C438.9 464.7 512 368.9 512 256C512 114.6 397.4 0 256 0S0 114.6 0 256zm176.4-80a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm128 32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM320 448l0-45.4c0-14.7-11.9-26.6-26.6-26.6l-2 0c-11.3 0-21.1 7.9-23.6 18.9c-2.8 12.6-20.8 12.6-23.6 0c-2.5-11.1-12.3-18.9-23.6-18.9l-2 0c-14.7 0-26.6 11.9-26.6 26.6l0 45.4c0 35.3 28.7 64 64 64s64-28.7 64-64z\"]\n};\nconst faGrinTongue = faFaceGrinTongue;\nconst faChessBishop = {\n prefix: 'fas',\n iconName: 'chess-bishop',\n icon: [320, 512, [9821], \"f43a\", \"M128 0C110.3 0 96 14.3 96 32c0 16.1 11.9 29.4 27.4 31.7C78.4 106.8 8 190 8 288c0 47.4 30.8 72.3 56 84.7L64 400l192 0 0-27.3c25.2-12.5 56-37.4 56-84.7c0-37.3-10.2-72.4-25.3-104.1l-99.4 99.4c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L270.8 154.6c-23.2-38.1-51.8-69.5-74.2-90.9C212.1 61.4 224 48.1 224 32c0-17.7-14.3-32-32-32L128 0zM48 432L6.6 473.4c-4.2 4.2-6.6 10-6.6 16C0 501.9 10.1 512 22.6 512l274.7 0c12.5 0 22.6-10.1 22.6-22.6c0-6-2.4-11.8-6.6-16L272 432 48 432z\"]\n};\nconst faFaceGrinWink = {\n prefix: 'fas',\n iconName: 'face-grin-wink',\n icon: [512, 512, [\"grin-wink\"], \"f58c\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM388.1 312.8c12.3-3.8 24.3 6.9 19.3 18.7C382.4 390.6 324.2 432 256.3 432s-126.2-41.4-151.1-100.5c-5-11.8 7-22.5 19.3-18.7c39.7 12.2 84.5 19 131.8 19s92.1-6.8 131.8-19zm-16.9-79.2c-17.6-23.5-52.8-23.5-70.4 0c-5.3 7.1-15.3 8.5-22.4 3.2s-8.5-15.3-3.2-22.4c30.4-40.5 91.2-40.5 121.6 0c5.3 7.1 3.9 17.1-3.2 22.4s-17.1 3.9-22.4-3.2zM176.4 176a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nconst faGrinWink = faFaceGrinWink;\nconst faEarDeaf = {\n prefix: 'fas',\n iconName: 'ear-deaf',\n icon: [512, 512, [\"deaf\", \"deafness\", \"hard-of-hearing\"], \"f2a4\", \"M502.6 54.6l-40 40c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l40-40c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3zm-320 320l-128 128c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l128-128c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3zM240 128c-57.6 0-105.1 43.6-111.3 99.5c-1.9 17.6-17.8 30.2-35.3 28.3s-30.2-17.8-28.3-35.3C74.8 132.5 149.4 64 240 64c97.2 0 176 78.8 176 176c0 46-17.7 87.9-46.6 119.3c-12 13-17.4 24.8-17.4 34.7l0 6.1c0 61.9-50.1 112-112 112c-17.7 0-32-14.3-32-32s14.3-32 32-32c26.5 0 48-21.5 48-48l0-6.1c0-32.9 17.4-59.6 34.4-78c18.4-20 29.6-46.6 29.6-75.9c0-61.9-50.1-112-112-112zm0 80c-17.7 0-32 14.3-32 32c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-44.2 35.8-80 80-80s80 35.8 80 80c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-17.7-14.3-32-32-32z\"]\n};\nconst faDeaf = faEarDeaf;\nconst faDeafness = faEarDeaf;\nconst faHardOfHearing = faEarDeaf;\nconst faRoadCircleCheck = {\n prefix: 'fas',\n iconName: 'road-circle-check',\n icon: [640, 512, [], \"e564\", \"M213.2 32L288 32l0 64c0 17.7 14.3 32 32 32s32-14.3 32-32l0-64 74.8 0c27.1 0 51.3 17.1 60.3 42.6l42.7 120.6c-10.9-2.1-22.2-3.2-33.8-3.2c-59.5 0-112.1 29.6-144 74.8l0-42.8c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 64c0 17.7 14.3 32 32 32c2.3 0 4.6-.3 6.8-.7c-4.5 15.5-6.8 31.8-6.8 48.7c0 5.4 .2 10.7 .7 16l-.7 0c-17.7 0-32 14.3-32 32l0 64L86.6 480C56.5 480 32 455.5 32 425.4c0-6.2 1.1-12.4 3.1-18.2L152.9 74.6C162 49.1 186.1 32 213.2 32zM352 368a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm211.3-43.3c-6.2-6.2-16.4-6.2-22.6 0L480 385.4l-28.7-28.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l40 40c6.2 6.2 16.4 6.2 22.6 0l72-72c6.2-6.2 6.2-16.4 0-22.6z\"]\n};\nconst faDiceFive = {\n prefix: 'fas',\n iconName: 'dice-five',\n icon: [448, 512, [9860], \"f523\", \"M64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32zm64 96a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM96 352a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM224 224a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm64-64a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm32 160a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nconst faSquareRss = {\n prefix: 'fas',\n iconName: 'square-rss',\n icon: [448, 512, [\"rss-square\"], \"f143\", \"M64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32zM96 136c0-13.3 10.7-24 24-24c137 0 248 111 248 248c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-110.5-89.5-200-200-200c-13.3 0-24-10.7-24-24zm0 96c0-13.3 10.7-24 24-24c83.9 0 152 68.1 152 152c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-57.4-46.6-104-104-104c-13.3 0-24-10.7-24-24zm0 120a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nconst faRssSquare = faSquareRss;\nconst faLandMineOn = {\n prefix: 'fas',\n iconName: 'land-mine-on',\n icon: [640, 512, [], \"e51b\", \"M344 24l0 144c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-144c0-13.3 10.7-24 24-24s24 10.7 24 24zM192 320c0-17.7 14.3-32 32-32l192 0c17.7 0 32 14.3 32 32l0 32-256 0 0-32zm-77.3 90.5c8.1-16.3 24.8-26.5 42.9-26.5l324.7 0c18.2 0 34.8 10.3 42.9 26.5l27.6 55.2C563.5 487 548 512 524.2 512l-408.4 0c-23.8 0-39.3-25-28.6-46.3l27.6-55.2zM36.3 138.3c7.5-10.9 22.5-13.6 33.4-6.1l104 72c10.9 7.5 13.6 22.5 6.1 33.4s-22.5 13.6-33.4 6.1l-104-72c-10.9-7.5-13.6-22.5-6.1-33.4zm534.1-6.1c10.9-7.5 25.8-4.8 33.4 6.1s4.8 25.8-6.1 33.4l-104 72c-10.9 7.5-25.8 4.8-33.4-6.1s-4.8-25.8 6.1-33.4l104-72z\"]\n};\nconst faICursor = {\n prefix: 'fas',\n iconName: 'i-cursor',\n icon: [256, 512, [], \"f246\", \"M.1 29.3C-1.4 47 11.7 62.4 29.3 63.9l8 .7C70.5 67.3 96 95 96 128.3L96 224l-32 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l32 0 0 95.7c0 33.3-25.5 61-58.7 63.8l-8 .7C11.7 449.6-1.4 465 .1 482.7s16.9 30.7 34.5 29.2l8-.7c34.1-2.8 64.2-18.9 85.4-42.9c21.2 24 51.2 40 85.4 42.9l8 .7c17.6 1.5 33.1-11.6 34.5-29.2s-11.6-33.1-29.2-34.5l-8-.7C185.5 444.7 160 417 160 383.7l0-95.7 32 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-32 0 0-95.7c0-33.3 25.5-61 58.7-63.8l8-.7c17.6-1.5 30.7-16.9 29.2-34.5S239-1.4 221.3 .1l-8 .7C179.2 3.6 149.2 19.7 128 43.7c-21.2-24-51.2-40-85.4-42.9l-8-.7C17-1.4 1.6 11.7 .1 29.3z\"]\n};\nconst faStamp = {\n prefix: 'fas',\n iconName: 'stamp',\n icon: [512, 512, [], \"f5bf\", \"M312 201.8c0-17.4 9.2-33.2 19.9-47C344.5 138.5 352 118.1 352 96c0-53-43-96-96-96s-96 43-96 96c0 22.1 7.5 42.5 20.1 58.8c10.7 13.8 19.9 29.6 19.9 47c0 29.9-24.3 54.2-54.2 54.2L112 256C50.1 256 0 306.1 0 368c0 20.9 13.4 38.7 32 45.3L32 464c0 26.5 21.5 48 48 48l352 0c26.5 0 48-21.5 48-48l0-50.7c18.6-6.6 32-24.4 32-45.3c0-61.9-50.1-112-112-112l-33.8 0c-29.9 0-54.2-24.3-54.2-54.2zM416 416l0 32L96 448l0-32 320 0z\"]\n};\nconst faStairs = {\n prefix: 'fas',\n iconName: 'stairs',\n icon: [576, 512, [], \"e289\", \"M384 64c0-17.7 14.3-32 32-32l128 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-96 0 0 96c0 17.7-14.3 32-32 32l-96 0 0 96c0 17.7-14.3 32-32 32l-96 0 0 96c0 17.7-14.3 32-32 32L32 480c-17.7 0-32-14.3-32-32s14.3-32 32-32l96 0 0-96c0-17.7 14.3-32 32-32l96 0 0-96c0-17.7 14.3-32 32-32l96 0 0-96z\"]\n};\nconst faI = {\n prefix: 'fas',\n iconName: 'i',\n icon: [320, 512, [105], \"49\", \"M32 32C14.3 32 0 46.3 0 64S14.3 96 32 96l96 0 0 320-96 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l256 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-96 0 0-320 96 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L160 32 32 32z\"]\n};\nconst faHryvniaSign = {\n prefix: 'fas',\n iconName: 'hryvnia-sign',\n icon: [384, 512, [8372, \"hryvnia\"], \"f6f2\", \"M121.9 116.2C138.3 103.1 158.7 96 179.6 96L223 96c27.1 0 49 21.9 49 49c0 11.5-4 22.4-11.1 31L32 176c-17.7 0-32 14.3-32 32s14.3 32 32 32l123.5 0-50.6 28.9c-1.7 1-3.4 2-5.1 3.1L32 272c-17.7 0-32 14.3-32 32s14.3 32 32 32l20.3 0c-2.8 9.9-4.3 20.4-4.3 31c0 62.4 50.6 113 113 113l43.4 0c35.5 0 70-12.1 97.7-34.3L308 441c13.8-11 16-31.2 5-45s-31.2-16-45-5l-5.9 4.7c-16.4 13.1-36.7 20.2-57.7 20.2L161 416c-27.1 0-49-21.9-49-49c0-11.5 4-22.4 11.1-31L352 336c17.7 0 32-14.3 32-32s-14.3-32-32-32l-123.5 0 50.6-28.9c1.7-1 3.4-2 5.1-3.1l67.8 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-20.3 0c2.8-10 4.3-20.4 4.3-31c0-62.4-50.6-113-113-113l-43.4 0c-35.5 0-70 12.1-97.7 34.3L76 71c-13.8 11-16 31.2-5 45s31.2 16 45 5l5.9-4.7z\"]\n};\nconst faHryvnia = faHryvniaSign;\nconst faPills = {\n prefix: 'fas',\n iconName: 'pills',\n icon: [576, 512, [], \"f484\", \"M112 96c-26.5 0-48 21.5-48 48l0 112 96 0 0-112c0-26.5-21.5-48-48-48zM0 144C0 82.1 50.1 32 112 32s112 50.1 112 112l0 224c0 61.9-50.1 112-112 112S0 429.9 0 368L0 144zM554.9 399.4c-7.1 12.3-23.7 13.1-33.8 3.1L333.5 214.9c-10-10-9.3-26.7 3.1-33.8C360 167.7 387.1 160 416 160c88.4 0 160 71.6 160 160c0 28.9-7.7 56-21.1 79.4zm-59.5 59.5C472 472.3 444.9 480 416 480c-88.4 0-160-71.6-160-160c0-28.9 7.7-56 21.1-79.4c7.1-12.3 23.7-13.1 33.8-3.1L498.5 425.1c10 10 9.3 26.7-3.1 33.8z\"]\n};\nconst faFaceGrinWide = {\n prefix: 'fas',\n iconName: 'face-grin-wide',\n icon: [512, 512, [128515, \"grin-alt\"], \"f581\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM388.1 312.8c12.3-3.8 24.3 6.9 19.3 18.7C382.4 390.6 324.2 432 256.3 432s-126.2-41.4-151.1-100.5c-5-11.8 7-22.5 19.3-18.7c39.7 12.2 84.5 19 131.8 19s92.1-6.8 131.8-19zM208 192c0 35.3-14.3 64-32 64s-32-28.7-32-64s14.3-64 32-64s32 28.7 32 64zm128 64c-17.7 0-32-28.7-32-64s14.3-64 32-64s32 28.7 32 64s-14.3 64-32 64z\"]\n};\nconst faGrinAlt = faFaceGrinWide;\nconst faTooth = {\n prefix: 'fas',\n iconName: 'tooth',\n icon: [448, 512, [129463], \"f5c9\", \"M186.1 52.1C169.3 39.1 148.7 32 127.5 32C74.7 32 32 74.7 32 127.5l0 6.2c0 15.8 3.7 31.3 10.7 45.5l23.5 47.1c4.5 8.9 7.6 18.4 9.4 28.2l36.7 205.8c2 11.2 11.6 19.4 22.9 19.8s21.4-7.4 24-18.4l28.9-121.3C192.2 323.7 207 312 224 312s31.8 11.7 35.8 28.3l28.9 121.3c2.6 11.1 12.7 18.8 24 18.4s20.9-8.6 22.9-19.8l36.7-205.8c1.8-9.8 4.9-19.3 9.4-28.2l23.5-47.1c7.1-14.1 10.7-29.7 10.7-45.5l0-2.1c0-55-44.6-99.6-99.6-99.6c-24.1 0-47.4 8.8-65.6 24.6l-3.2 2.8 19.5 15.2c7 5.4 8.2 15.5 2.8 22.5s-15.5 8.2-22.5 2.8l-24.4-19-37-28.8z\"]\n};\nconst faV = {\n prefix: 'fas',\n iconName: 'v',\n icon: [384, 512, [118], \"56\", \"M19.7 34.5c16.3-6.8 35 .9 41.8 17.2L192 364.8 322.5 51.7c6.8-16.3 25.5-24 41.8-17.2s24 25.5 17.2 41.8l-160 384c-5 11.9-16.6 19.7-29.5 19.7s-24.6-7.8-29.5-19.7L2.5 76.3c-6.8-16.3 .9-35 17.2-41.8z\"]\n};\nconst faBangladeshiTakaSign = {\n prefix: 'fas',\n iconName: 'bangladeshi-taka-sign',\n icon: [384, 512, [], \"e2e6\", \"M36 32.3C18.4 30.1 2.4 42.5 .2 60S10.5 93.6 28 95.8l7.9 1c16 2 28 15.6 28 31.8L64 160l-32 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l32 0 0 160c0 53 43 96 96 96l32 0c106 0 192-86 192-192l0-32c0-53-43-96-96-96l-16 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l16 0c17.7 0 32 14.3 32 32l0 32c0 70.7-57.3 128-128 128l-32 0c-17.7 0-32-14.3-32-32l0-160 32 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-32 0 0-31.5c0-48.4-36.1-89.3-84.1-95.3l-7.9-1z\"]\n};\nconst faBicycle = {\n prefix: 'fas',\n iconName: 'bicycle',\n icon: [640, 512, [128690], \"f206\", \"M312 32c-13.3 0-24 10.7-24 24s10.7 24 24 24l25.7 0 34.6 64-149.4 0-27.4-38C191 99.7 183.7 96 176 96l-56 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l43.7 0 22.1 30.7-26.6 53.1c-10-2.5-20.5-3.8-31.2-3.8C57.3 224 0 281.3 0 352s57.3 128 128 128c65.3 0 119.1-48.9 127-112l49 0c8.5 0 16.3-4.5 20.7-11.8l84.8-143.5 21.7 40.1C402.4 276.3 384 312 384 352c0 70.7 57.3 128 128 128s128-57.3 128-128s-57.3-128-128-128c-13.5 0-26.5 2.1-38.7 6L375.4 48.8C369.8 38.4 359 32 347.2 32L312 32zM458.6 303.7l32.3 59.7c6.3 11.7 20.9 16 32.5 9.7s16-20.9 9.7-32.5l-32.3-59.7c3.6-.6 7.4-.9 11.2-.9c39.8 0 72 32.2 72 72s-32.2 72-72 72s-72-32.2-72-72c0-18.6 7-35.5 18.6-48.3zM133.2 368l65 0c-7.3 32.1-36 56-70.2 56c-39.8 0-72-32.2-72-72s32.2-72 72-72c1.7 0 3.4 .1 5.1 .2l-24.2 48.5c-9 18.1 4.1 39.4 24.3 39.4zm33.7-48l50.7-101.3 72.9 101.2-.1 .1-123.5 0zm90.6-128l108.5 0L317 274.8 257.4 192z\"]\n};\nconst faStaffSnake = {\n prefix: 'fas',\n iconName: 'staff-snake',\n icon: [384, 512, [\"rod-asclepius\", \"rod-snake\", \"staff-aesculapius\"], \"e579\", \"M222.6 43.2l-.1 4.8L288 48c53 0 96 43 96 96s-43 96-96 96l-40 0 0-80 40 0c8.8 0 16-7.2 16-16s-7.2-16-16-16l-40 0-28 0-4.5 144 40.5 0c53 0 96 43 96 96s-43 96-96 96l-16 0 0-80 16 0c8.8 0 16-7.2 16-16s-7.2-16-16-16l-43 0-3.1 99.5L208.5 495l0 1c-.3 8.9-7.6 16-16.5 16s-16.2-7.1-16.5-16l0-1-1-31L136 464c-22.1 0-40-17.9-40-40s17.9-40 40-40l36 0-1-32-19 0c-53 0-96-43-96-96c0-47.6 34.6-87.1 80-94.7l0 94.7c0 8.8 7.2 16 16 16l16.5 0L164 128l-28 0-13.4 0c-9 18.9-28.3 32-50.6 32l-16 0c-30.9 0-56-25.1-56-56S25.1 48 56 48l8 0 8 0 89.5 0-.1-4.8L161 32c0-.7 0-1.3 0-1.9c.5-16.6 14.1-30 31-30s30.5 13.4 31 30c0 .6 0 1.3 0 1.9l-.4 11.2zM64 112a16 16 0 1 0 0-32 16 16 0 1 0 0 32z\"]\n};\nconst faRodAsclepius = faStaffSnake;\nconst faRodSnake = faStaffSnake;\nconst faStaffAesculapius = faStaffSnake;\nconst faHeadSideCoughSlash = {\n prefix: 'fas',\n iconName: 'head-side-cough-slash',\n icon: [640, 512, [], \"e062\", \"M448 325.8l44 34.5c8.1 1.4 14.8 6.8 18 14.1L552.9 408c10.6 .4 19.5 7.6 22.2 17.4l39.1 30.6c.6 0 1.2-.1 1.8-.1c11.1 0 20.4 7.5 23.2 17.8l-3.9 0c6.2 8.5 6.4 20.4-.4 29c-8.2 10.4-23.3 12.3-33.7 4.1L9.2 42.9C-1.2 34.7-3.1 19.6 5.1 9.2S28.4-3.1 38.8 5.1L89.6 44.9C127 16.7 173.5 0 224 0l24 0c95.2 0 181.2 69.3 197.3 160.2c2.3 13 6.8 25.7 15.1 36l42 52.6c6.2 7.8 9.6 17.4 9.6 27.4c0 24.2-19.6 43.8-43.8 43.8L448 320s0 0 0 0l0 5.8zM0 224.2c0-38.7 9.8-75.1 27.1-106.9L341.8 365.3l-2.5 .3c-11 1.4-19.2 10.7-19.2 21.8c0 11.6 9 21.2 20.6 21.9l62 3.9 43 33.9C439.3 466.2 421.2 480 400 480l-80 0 0 8c0 13.3-10.7 24-24 24l-40 0s0 0 0 0L96 512c-17.7 0-32-14.3-32-32l0-72.7c0-16.7-6.9-32.5-17.1-45.8C16.6 322.4 0 274.1 0 224.2zM616 360a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm-64-48a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm40-24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"]\n};\nconst faTruckMedical = {\n prefix: 'fas',\n iconName: 'truck-medical',\n icon: [640, 512, [128657, \"ambulance\"], \"f0f9\", \"M0 48C0 21.5 21.5 0 48 0L368 0c26.5 0 48 21.5 48 48l0 48 50.7 0c17 0 33.3 6.7 45.3 18.7L589.3 192c12 12 18.7 28.3 18.7 45.3l0 18.7 0 32 0 64c17.7 0 32 14.3 32 32s-14.3 32-32 32l-32 0c0 53-43 96-96 96s-96-43-96-96l-128 0c0 53-43 96-96 96s-96-43-96-96l-16 0c-26.5 0-48-21.5-48-48L0 48zM416 256l128 0 0-18.7L466.7 160 416 160l0 96zM160 464a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm368-48a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM176 80l0 48-48 0c-8.8 0-16 7.2-16 16l0 32c0 8.8 7.2 16 16 16l48 0 0 48c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-48 48 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16l-48 0 0-48c0-8.8-7.2-16-16-16l-32 0c-8.8 0-16 7.2-16 16z\"]\n};\nconst faAmbulance = faTruckMedical;\nconst faWheatAwnCircleExclamation = {\n prefix: 'fas',\n iconName: 'wheat-awn-circle-exclamation',\n icon: [640, 512, [], \"e598\", \"M505 41c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L383 95c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l88-88zM305.5 27.3c-6.2-6.2-16.4-6.2-22.6 0L271.5 38.6c-37.5 37.5-37.5 98.3 0 135.8l10.4 10.4-30.5 30.5c-3.4-27.3-15.5-53.8-36.5-74.8l-11.3-11.3c-6.2-6.2-16.4-6.2-22.6 0l-11.3 11.3c-37.5 37.5-37.5 98.3 0 135.8l10.4 10.4-30.5 30.5c-3.4-27.3-15.5-53.8-36.5-74.8L101.8 231c-6.2-6.2-16.4-6.2-22.6 0L67.9 242.3c-37.5 37.5-37.5 98.3 0 135.8l10.4 10.4L9.4 457.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l68.9-68.9 12.2 12.2c37.5 37.5 98.3 37.5 135.8 0l11.3-11.3c6.2-6.2 6.2-16.4 0-22.6l-11.3-11.3c-21.8-21.8-49.6-34.1-78.1-36.9l31.9-31.9 12.2 12.2c22.5 22.5 53.3 31.5 82.4 27c0-1 0-2.1 0-3.1c0-33.1 9.1-64.1 25-90.6c-15.5-8.7-32.5-13.8-49.8-15.5l31.9-31.9 12.2 12.2c6 6 12.6 11.1 19.7 15.2c27.5-34 67.3-57.5 112.6-63.8c-4.1-3.8-8.4-7.3-12.9-10.5L505 137c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-59.4 59.4c-20.6-4.4-42-3.7-62.3 2.1c6.1-21.3 6.6-43.8 1.4-65.3L409 41c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L329.1 52.9c-3.7-5-7.8-9.8-12.4-14.3L305.5 27.3zM496 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm0-96a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0-144c8.8 0 16 7.2 16 16l0 80c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-80c0-8.8 7.2-16 16-16z\"]\n};\nconst faSnowman = {\n prefix: 'fas',\n iconName: 'snowman',\n icon: [512, 512, [9731, 9924], \"f7d0\", \"M341.1 140.6c-2 3.9-1.6 8.6 1.2 12c7 8.5 12.9 18.1 17.2 28.4L408 160.2l0-40.2c0-13.3 10.7-24 24-24s24 10.7 24 24l0 19.6 22.5-9.7c12.2-5.2 26.3 .4 31.5 12.6s-.4 26.3-12.6 31.5l-56 24-73.6 31.5c-.5 9.5-2.1 18.6-4.8 27.3c-1.2 3.8-.1 8 2.8 10.8C396.7 296.9 416 338.2 416 384c0 44.7-18.3 85-47.8 114.1c-9.9 9.7-23.7 13.9-37.5 13.9l-149.3 0c-13.9 0-27.7-4.2-37.5-13.9C114.3 469 96 428.7 96 384c0-45.8 19.3-87.1 50.1-116.3c2.9-2.8 4-6.9 2.8-10.8c-2.7-8.7-4.3-17.9-4.8-27.3L70.5 198.1l-56-24C2.4 168.8-3.3 154.7 1.9 142.5s19.3-17.8 31.5-12.6L56 139.6 56 120c0-13.3 10.7-24 24-24s24 10.7 24 24l0 40.2L152.6 181c4.3-10.3 10.1-19.9 17.2-28.4c2.8-3.4 3.3-8.1 1.2-12C164 127.2 160 112.1 160 96c0-53 43-96 96-96s96 43 96 96c0 16.1-4 31.2-10.9 44.6zM224 96a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm48 128a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm-16 80a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm16 48a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zM288 96a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm-48 24l0 3.2c0 3.2 .8 6.3 2.3 9l9 16.9c.9 1.7 2.7 2.8 4.7 2.8s3.8-1.1 4.7-2.8l9-16.9c1.5-2.8 2.3-5.9 2.3-9l0-3.2c0-8.8-7.2-16-16-16s-16 7.2-16 16z\"]\n};\nconst faMortarPestle = {\n prefix: 'fas',\n iconName: 'mortar-pestle',\n icon: [512, 512, [], \"f5a7\", \"M504.3 11.1C493.3-1.6 474.5-3.7 461 6.2L252.3 160l144.9 0L502.6 54.6c11.8-11.8 12.6-30.8 1.6-43.5zM32 192c-17.7 0-32 14.3-32 32s14.3 32 32 32c0 82.5 43.4 147.7 123.9 176.2c-11.1 13.9-19.4 30.3-23.9 48.1C127.6 497.4 142.3 512 160 512l192 0c17.7 0 32.4-14.6 28.1-31.7c-4.5-17.8-12.8-34.1-23.9-48.1C436.6 403.7 480 338.5 480 256c17.7 0 32-14.3 32-32s-14.3-32-32-32L32 192z\"]\n};\nconst faRoadBarrier = {\n prefix: 'fas',\n iconName: 'road-barrier',\n icon: [640, 512, [], \"e562\", \"M32 32C14.3 32 0 46.3 0 64L0 448c0 17.7 14.3 32 32 32s32-14.3 32-32l0-181.7L149.2 96 64 96l0-32c0-17.7-14.3-32-32-32zM405.2 96l-74.3 0-5.4 10.7L234.8 288l74.3 0 5.4-10.7L405.2 96zM362.8 288l74.3 0 5.4-10.7L533.2 96l-74.3 0-5.4 10.7L362.8 288zM202.8 96l-5.4 10.7L106.8 288l74.3 0 5.4-10.7L277.2 96l-74.3 0zm288 192l85.2 0 0 160c0 17.7 14.3 32 32 32s32-14.3 32-32l0-384c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 53.7L490.8 288z\"]\n};\nconst faSchool = {\n prefix: 'fas',\n iconName: 'school',\n icon: [640, 512, [127979], \"f549\", \"M337.8 5.4C327-1.8 313-1.8 302.2 5.4L166.3 96 48 96C21.5 96 0 117.5 0 144L0 464c0 26.5 21.5 48 48 48l208 0 0-96c0-35.3 28.7-64 64-64s64 28.7 64 64l0 96 208 0c26.5 0 48-21.5 48-48l0-320c0-26.5-21.5-48-48-48L473.7 96 337.8 5.4zM96 192l32 0c8.8 0 16 7.2 16 16l0 64c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-64c0-8.8 7.2-16 16-16zm400 16c0-8.8 7.2-16 16-16l32 0c8.8 0 16 7.2 16 16l0 64c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-64zM96 320l32 0c8.8 0 16 7.2 16 16l0 64c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-64c0-8.8 7.2-16 16-16zm400 16c0-8.8 7.2-16 16-16l32 0c8.8 0 16 7.2 16 16l0 64c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-64zM232 176a88 88 0 1 1 176 0 88 88 0 1 1 -176 0zm88-48c-8.8 0-16 7.2-16 16l0 32c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16s-7.2-16-16-16l-16 0 0-16c0-8.8-7.2-16-16-16z\"]\n};\nconst faIgloo = {\n prefix: 'fas',\n iconName: 'igloo',\n icon: [576, 512, [], \"f7ae\", \"M320 33.8L320 160 48.5 160C100.2 82.8 188.1 32 288 32c10.8 0 21.5 .6 32 1.8zM352 160l0-120.9C424.9 55.7 487.2 99.8 527.5 160L352 160zM29.9 192L96 192l0 128L0 320c0-46 10.8-89.4 29.9-128zM192 320l-64 0 0-128 320 0 0 128-64 0 0 32 192 0 0 80c0 26.5-21.5 48-48 48l-176 0 0-128c0-35.3-28.7-64-64-64s-64 28.7-64 64l0 128L48 480c-26.5 0-48-21.5-48-48l0-80 192 0 0-32zm288 0l0-128 66.1 0c19.2 38.6 29.9 82 29.9 128l-96 0z\"]\n};\nconst faJoint = {\n prefix: 'fas',\n iconName: 'joint',\n icon: [640, 512, [], \"f595\", \"M448 32c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 11c0 55.2 21.9 108.1 60.9 147.1l21 21c9 9 14.1 21.2 14.1 33.9l0 11c0 17.7 14.3 32 32 32s32-14.3 32-32l0-11c0-29.7-11.8-58.2-32.8-79.2l-21-21C463.2 117.8 448 81.2 448 43l0-11zM576 256c0 17.7 14.3 32 32 32s32-14.3 32-32l0-11c0-55.2-21.9-108.1-60.9-147.1l-21-21c-9-9-14.1-21.2-14.1-33.9l0-11c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 11c0 29.7 11.8 58.2 32.8 79.2l21 21c27 27 42.2 63.6 42.2 101.8l0 11zM229.8 360c-4.7-2.3-10-2.7-15.2-2c-37.8 5.6-75.2 14.3-106.9 22.8C81.3 388 58.3 395.1 42 400.4c-8.2 2.7-14.7 4.9-19.2 6.5c-2.3 .8-4 1.4-5.2 1.8l-1.3 .5C6.8 412.5 0 421.4 0 432s6.8 19.5 16.3 22.7l1.3 .5c1.2 .4 3 1.1 5.2 1.8c4.5 1.6 11 3.8 19.2 6.5c16.3 5.4 39.2 12.5 65.7 19.6C160.3 497.3 228.8 512 288 512l67.3 0c4.1 0 6.3-5.1 3.6-8.3L256.5 380.8c-7.4-8.9-16.5-15.9-26.7-20.8zM445 512l19 0 51.3 0c4.1 0 6.3-5.1 3.6-8.3L416.5 380.8C401.3 362.5 378.8 352 355 352l-19 0-48 0c-1.1 0-2.3 0-3.4 0c-4.1 0-6.2 5.1-3.5 8.3L383.5 483.2C398.7 501.5 421.2 512 445 512zm-3.9-151.7L543.5 483.2c14.6 17.5 35.9 27.9 58.6 28.7c21.1-1.1 37.9-18.6 37.9-39.9l0-80c0-22.1-17.9-40-40-40l-155.3 0c-4.1 0-6.3 5.1-3.6 8.3z\"]\n};\nconst faAngleRight = {\n prefix: 'fas',\n iconName: 'angle-right',\n icon: [320, 512, [8250], \"f105\", \"M278.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-160 160c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L210.7 256 73.4 118.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l160 160z\"]\n};\nconst faHorse = {\n prefix: 'fas',\n iconName: 'horse',\n icon: [576, 512, [128014], \"f6f0\", \"M448 238.1l0-78.1 16 0 9.8 19.6c12.5 25.1 42.2 36.4 68.3 26c20.5-8.2 33.9-28 33.9-50.1L576 80c0-19.1-8.4-36.3-21.7-48l5.7 0c8.8 0 16-7.2 16-16s-7.2-16-16-16L480 0 448 0C377.3 0 320 57.3 320 128l-96 0-20.8 0-54.4 0c-30.7 0-57.6 16.3-72.5 40.8C33.2 174.5 0 211.4 0 256l0 56c0 13.3 10.7 24 24 24s24-10.7 24-24l0-56c0-13.4 6.6-25.2 16.7-32.5c1.6 13 6.3 25.4 13.6 36.4l28.2 42.4c8.3 12.4 6.4 28.7-1.2 41.6c-16.5 28-20.6 62.2-10 93.9l17.5 52.4c4.4 13.1 16.6 21.9 30.4 21.9l33.7 0c21.8 0 37.3-21.4 30.4-42.1l-20.8-62.5c-2.1-6.4-.5-13.4 4.3-18.2l12.7-12.7c13.2-13.2 20.6-31.1 20.6-49.7c0-2.3-.1-4.6-.3-6.9l84 24c4.1 1.2 8.2 2.1 12.3 2.8L320 480c0 17.7 14.3 32 32 32l32 0c17.7 0 32-14.3 32-32l0-164.3c19.2-19.2 31.5-45.7 32-75.7c0 0 0 0 0 0l0-1.9zM496 64a16 16 0 1 1 0 32 16 16 0 1 1 0-32z\"]\n};\nconst faQ = {\n prefix: 'fas',\n iconName: 'q',\n icon: [448, 512, [113], \"51\", \"M64 256c0 88.4 71.6 160 160 160c28.9 0 56-7.7 79.4-21.1l-72-86.4c-11.3-13.6-9.5-33.8 4.1-45.1s33.8-9.5 45.1 4.1l70.9 85.1C371.9 325.8 384 292.3 384 256c0-88.4-71.6-160-160-160S64 167.6 64 256zM344.9 444.6C310 467 268.5 480 224 480C100.3 480 0 379.7 0 256S100.3 32 224 32s224 100.3 224 224c0 56.1-20.6 107.4-54.7 146.7l47.3 56.8c11.3 13.6 9.5 33.8-4.1 45.1s-33.8 9.5-45.1-4.1l-46.6-55.9z\"]\n};\nconst faG = {\n prefix: 'fas',\n iconName: 'g',\n icon: [448, 512, [103], \"47\", \"M224 96C135.6 96 64 167.6 64 256s71.6 160 160 160c77.4 0 142-55 156.8-128L256 288c-17.7 0-32-14.3-32-32s14.3-32 32-32l144 0c25.8 0 49.6 21.4 47.2 50.6C437.8 389.6 341.4 480 224 480C100.3 480 0 379.7 0 256S100.3 32 224 32c57.4 0 109.7 21.6 149.3 57c13.2 11.8 14.3 32 2.5 45.2s-32 14.3-45.2 2.5C302.3 111.4 265 96 224 96z\"]\n};\nconst faNotesMedical = {\n prefix: 'fas',\n iconName: 'notes-medical',\n icon: [512, 512, [], \"f481\", \"M96 352L96 96c0-35.3 28.7-64 64-64l256 0c35.3 0 64 28.7 64 64l0 197.5c0 17-6.7 33.3-18.7 45.3l-58.5 58.5c-12 12-28.3 18.7-45.3 18.7L160 416c-35.3 0-64-28.7-64-64zM272 128c-8.8 0-16 7.2-16 16l0 48-48 0c-8.8 0-16 7.2-16 16l0 32c0 8.8 7.2 16 16 16l48 0 0 48c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-48 48 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16l-48 0 0-48c0-8.8-7.2-16-16-16l-32 0zm24 336c13.3 0 24 10.7 24 24s-10.7 24-24 24l-160 0C60.9 512 0 451.1 0 376L0 152c0-13.3 10.7-24 24-24s24 10.7 24 24l0 224c0 48.6 39.4 88 88 88l160 0z\"]\n};\nconst faTemperatureHalf = {\n prefix: 'fas',\n iconName: 'temperature-half',\n icon: [320, 512, [127777, \"temperature-2\", \"thermometer-2\", \"thermometer-half\"], \"f2c9\", \"M160 64c-26.5 0-48 21.5-48 48l0 164.5c0 17.3-7.1 31.9-15.3 42.5C86.2 332.6 80 349.5 80 368c0 44.2 35.8 80 80 80s80-35.8 80-80c0-18.5-6.2-35.4-16.7-48.9c-8.2-10.6-15.3-25.2-15.3-42.5L208 112c0-26.5-21.5-48-48-48zM48 112C48 50.2 98.1 0 160 0s112 50.1 112 112l0 164.4c0 .1 .1 .3 .2 .6c.2 .6 .8 1.6 1.7 2.8c18.9 24.4 30.1 55 30.1 88.1c0 79.5-64.5 144-144 144S16 447.5 16 368c0-33.2 11.2-63.8 30.1-88.1c.9-1.2 1.5-2.2 1.7-2.8c.1-.3 .2-.5 .2-.6L48 112zM208 368c0 26.5-21.5 48-48 48s-48-21.5-48-48c0-20.9 13.4-38.7 32-45.3L144 208c0-8.8 7.2-16 16-16s16 7.2 16 16l0 114.7c18.6 6.6 32 24.4 32 45.3z\"]\n};\nconst faTemperature2 = faTemperatureHalf;\nconst faThermometer2 = faTemperatureHalf;\nconst faThermometerHalf = faTemperatureHalf;\nconst faDongSign = {\n prefix: 'fas',\n iconName: 'dong-sign',\n icon: [384, 512, [], \"e169\", \"M288 32c-17.7 0-32 14.3-32 32l-32 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l32 0 0 49.1c-18.8-10.9-40.7-17.1-64-17.1c-70.7 0-128 57.3-128 128s57.3 128 128 128c24.5 0 47.4-6.9 66.8-18.8c5 11.1 16.2 18.8 29.2 18.8c17.7 0 32-14.3 32-32l0-96 0-160c17.7 0 32-14.3 32-32s-14.3-32-32-32c0-17.7-14.3-32-32-32zM128 288a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zM32 448c-17.7 0-32 14.3-32 32s14.3 32 32 32l320 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L32 448z\"]\n};\nconst faCapsules = {\n prefix: 'fas',\n iconName: 'capsules',\n icon: [576, 512, [], \"f46b\", \"M64 144c0-26.5 21.5-48 48-48s48 21.5 48 48l0 112-96 0 0-112zM0 144L0 368c0 61.9 50.1 112 112 112s112-50.1 112-112l0-178.4c1.8 19.1 8.2 38 19.8 54.8L372.3 431.7c35.5 51.7 105.3 64.3 156 28.1s63-107.5 27.5-159.2L427.3 113.3C391.8 61.5 321.9 49 271.3 85.2c-28 20-44.3 50.8-47.3 83l0-24.2c0-61.9-50.1-112-112-112S0 82.1 0 144zm296.6 64.2c-16-23.3-10-55.3 11.9-71c21.2-15.1 50.5-10.3 66 12.2l67 97.6L361.6 303l-65-94.8zM491 407.7c-.8 .6-1.6 1.1-2.4 1.6l4-2.8c-.5 .4-1 .8-1.6 1.2z\"]\n};\nconst faPooStorm = {\n prefix: 'fas',\n iconName: 'poo-storm',\n icon: [448, 512, [\"poo-bolt\"], \"f75a\", \"M236.9 .2c-5.5-.7-11 1.4-14.5 5.7s-4.6 10.1-2.8 15.3c2.8 8.2 4.3 16.9 4.3 26.1c0 21.7-8.5 37.2-21.9 47.6c-13.8 10.8-34 17-57.8 17L128 112c-35.3 0-64 28.7-64 64c0 12.2 3.4 23.5 9.3 33.2C31.7 216.2 0 252.4 0 296c0 40.9 28 75.4 65.8 85.2c-5.3-18.5 1-38.5 16.2-50.7l160-128c17.6-14.1 42.6-14 60.2 .2s22.8 38.6 12.8 58.8L285.7 320l18.3 0c20.4 0 38.5 12.9 45.3 32.1c3.7 10.6 3.5 21.8 0 31.9l10.7 0c48.6 0 88-39.4 88-88c0-43.6-31.7-79.8-73.3-86.8c5.9-9.7 9.3-21.1 9.3-33.2c0-35.3-28.7-64-64-64l-1.4 0c.9-5.4 1.4-10.9 1.4-16.6c0-48.7-36.1-88.9-83.1-95.2zm45.1 227.4c-5.8-4.7-14.2-4.7-20.1-.1l-160 128c-5.3 4.2-7.4 11.4-5.1 17.8s8.3 10.7 15.1 10.7l70.1 0L129.7 488.8c-3.4 6.7-1.6 14.9 4.3 19.6s14.2 4.7 20.1 .1l160-128c5.3-4.2 7.4-11.4 5.1-17.8s-8.3-10.7-15.1-10.7l-70.1 0 52.4-104.8c3.4-6.7 1.6-14.9-4.3-19.6z\"]\n};\nconst faPooBolt = faPooStorm;\nconst faFaceFrownOpen = {\n prefix: 'fas',\n iconName: 'face-frown-open',\n icon: [512, 512, [128550, \"frown-open\"], \"f57a\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM176.4 176a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm128 32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm-122 174.5c-12.4 5.2-26.5-4.1-21.1-16.4c16-36.6 52.4-62.1 94.8-62.1s78.8 25.6 94.8 62.1c5.4 12.3-8.7 21.6-21.1 16.4c-22.4-9.5-47.4-14.8-73.7-14.8s-51.3 5.3-73.7 14.8z\"]\n};\nconst faFrownOpen = faFaceFrownOpen;\nconst faHandPointUp = {\n prefix: 'fas',\n iconName: 'hand-point-up',\n icon: [384, 512, [9757], \"f0a6\", \"M32 32C32 14.3 46.3 0 64 0S96 14.3 96 32l0 208-64 0L32 32zM224 192c0-17.7 14.3-32 32-32s32 14.3 32 32l0 64c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-64zm-64-64c17.7 0 32 14.3 32 32l0 48c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-48c0-17.7 14.3-32 32-32zm160 96c0-17.7 14.3-32 32-32s32 14.3 32 32l0 64c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-64zm-96 88l0-.6c9.4 5.4 20.3 8.6 32 8.6c13.2 0 25.4-4 35.6-10.8c8.7 24.9 32.5 42.8 60.4 42.8c11.7 0 22.6-3.1 32-8.6l0 8.6c0 88.4-71.6 160-160 160l-61.7 0c-42.4 0-83.1-16.9-113.1-46.9L37.5 453.5C13.5 429.5 0 396.9 0 363l0-27c0-35.3 28.7-64 64-64l88 0c22.1 0 40 17.9 40 40s-17.9 40-40 40l-56 0c-8.8 0-16 7.2-16 16s7.2 16 16 16l56 0c39.8 0 72-32.2 72-72z\"]\n};\nconst faMoneyBill = {\n prefix: 'fas',\n iconName: 'money-bill',\n icon: [576, 512, [], \"f0d6\", \"M64 64C28.7 64 0 92.7 0 128L0 384c0 35.3 28.7 64 64 64l448 0c35.3 0 64-28.7 64-64l0-256c0-35.3-28.7-64-64-64L64 64zm64 320l-64 0 0-64c35.3 0 64 28.7 64 64zM64 192l0-64 64 0c0 35.3-28.7 64-64 64zM448 384c0-35.3 28.7-64 64-64l0 64-64 0zm64-192c-35.3 0-64-28.7-64-64l64 0 0 64zM288 160a96 96 0 1 1 0 192 96 96 0 1 1 0-192z\"]\n};\nconst faBookmark = {\n prefix: 'fas',\n iconName: 'bookmark',\n icon: [384, 512, [128278, 61591], \"f02e\", \"M0 48V487.7C0 501.1 10.9 512 24.3 512c5 0 9.9-1.5 14-4.4L192 400 345.7 507.6c4.1 2.9 9 4.4 14 4.4c13.4 0 24.3-10.9 24.3-24.3V48c0-26.5-21.5-48-48-48H48C21.5 0 0 21.5 0 48z\"]\n};\nconst faAlignJustify = {\n prefix: 'fas',\n iconName: 'align-justify',\n icon: [448, 512, [], \"f039\", \"M448 64c0-17.7-14.3-32-32-32L32 32C14.3 32 0 46.3 0 64S14.3 96 32 96l384 0c17.7 0 32-14.3 32-32zm0 256c0-17.7-14.3-32-32-32L32 288c-17.7 0-32 14.3-32 32s14.3 32 32 32l384 0c17.7 0 32-14.3 32-32zM0 192c0 17.7 14.3 32 32 32l384 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L32 160c-17.7 0-32 14.3-32 32zM448 448c0-17.7-14.3-32-32-32L32 416c-17.7 0-32 14.3-32 32s14.3 32 32 32l384 0c17.7 0 32-14.3 32-32z\"]\n};\nconst faUmbrellaBeach = {\n prefix: 'fas',\n iconName: 'umbrella-beach',\n icon: [576, 512, [127958], \"f5ca\", \"M346.3 271.8l-60.1-21.9L214 448 32 448c-17.7 0-32 14.3-32 32s14.3 32 32 32l512 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-261.9 0 64.1-176.2zm121.1-.2l-3.3 9.1 67.7 24.6c18.1 6.6 38-4.2 39.6-23.4c6.5-78.5-23.9-155.5-80.8-208.5c2 8 3.2 16.3 3.4 24.8l.2 6c1.8 57-7.3 113.8-26.8 167.4zM462 99.1c-1.1-34.4-22.5-64.8-54.4-77.4c-.9-.4-1.9-.7-2.8-1.1c-33-11.7-69.8-2.4-93.1 23.8l-4 4.5C272.4 88.3 245 134.2 226.8 184l-3.3 9.1L434 269.7l3.3-9.1c18.1-49.8 26.6-102.5 24.9-155.5l-.2-6zM107.2 112.9c-11.1 15.7-2.8 36.8 15.3 43.4l71 25.8 3.3-9.1c19.5-53.6 49.1-103 87.1-145.5l4-4.5c6.2-6.9 13.1-13 20.5-18.2c-79.6 2.5-154.7 42.2-201.2 108z\"]\n};\nconst faHelmetUn = {\n prefix: 'fas',\n iconName: 'helmet-un',\n icon: [512, 512, [], \"e503\", \"M479.5 224C471.2 98.9 367.2 0 240 0C107.5 0 0 107.5 0 240l0 56.3C0 344.8 39.2 384 87.7 384L200 384l14.9 0L343.5 505.4c4.5 4.2 10.4 6.6 16.5 6.6l96 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-86.5 0-1.5-1.5L368 288l80 0 32 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-.5 0zM320 417.2l-78-73.7L274.4 288l45.6 0 0 129.2zM285.3 103.1l34.7 52 0-43.2c0-8.8 7.2-16 16-16s16 7.2 16 16l0 96c0 7.1-4.6 13.3-11.4 15.3s-14-.6-17.9-6.4l-34.7-52 0 43.2c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-96c0-7.1 4.6-13.3 11.4-15.3s14 .6 17.9 6.4zM160 112l0 64c0 8.8 7.2 16 16 16s16-7.2 16-16l0-64c0-8.8 7.2-16 16-16s16 7.2 16 16l0 64c0 26.5-21.5 48-48 48s-48-21.5-48-48l0-64c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nconst faBullseye = {\n prefix: 'fas',\n iconName: 'bullseye',\n icon: [512, 512, [], \"f140\", \"M448 256A192 192 0 1 0 64 256a192 192 0 1 0 384 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm256 80a80 80 0 1 0 0-160 80 80 0 1 0 0 160zm0-224a144 144 0 1 1 0 288 144 144 0 1 1 0-288zM224 256a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nconst faBacon = {\n prefix: 'fas',\n iconName: 'bacon',\n icon: [576, 512, [129363], \"f7e5\", \"M439.2 1.2c11.2-3.2 23.2-.1 31.4 8.1L518 56.7l-26.5 7.9c-58 16.6-98.1 39.6-129.6 67.4c-31.2 27.5-53.2 59.1-75.1 90.9l-2.3 3.3C241.6 288.7 195 356.6 72.8 417.7L37.9 435.2 9.4 406.6c-7.3-7.3-10.6-17.6-9-27.8s8.1-18.9 17.3-23.5C136.1 296.2 180.9 231 223.3 169.3l2.3-3.4c21.8-31.8 44.9-64.9 77.7-93.9c33.4-29.5 75.8-53.6 135.9-70.8zM61.8 459l25.4-12.7c129.5-64.7 179.9-138.1 223.8-202l2.2-3.3c22.1-32.1 42.1-60.5 69.9-85.1c27.5-24.3 63.4-45.2 117.3-60.6c0 0 0 0 0 0l.2-.1 43.1-12.9 23 23c8 8 11.2 19.7 8.3 30.7s-11.3 19.6-22.2 22.7c-51.9 14.8-85.6 34.7-111.1 57.2c-26.1 23-45.1 49.9-67.3 82.1l-2.2 3.2C327.8 365.9 275.5 442 142.3 508.6c-12.3 6.2-27.2 3.7-36.9-6L61.8 459z\"]\n};\nconst faHandPointDown = {\n prefix: 'fas',\n iconName: 'hand-point-down',\n icon: [384, 512, [], \"f0a7\", \"M32 480c0 17.7 14.3 32 32 32s32-14.3 32-32l0-208-64 0 0 208zM224 320c0 17.7 14.3 32 32 32s32-14.3 32-32l0-64c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 64zm-64 64c17.7 0 32-14.3 32-32l0-48c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 48c0 17.7 14.3 32 32 32zm160-96c0 17.7 14.3 32 32 32s32-14.3 32-32l0-64c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 64zm-96-88l0 .6c9.4-5.4 20.3-8.6 32-8.6c13.2 0 25.4 4 35.6 10.8c8.7-24.9 32.5-42.8 60.4-42.8c11.7 0 22.6 3.1 32 8.6l0-8.6C384 71.6 312.4 0 224 0L162.3 0C119.8 0 79.1 16.9 49.1 46.9L37.5 58.5C13.5 82.5 0 115.1 0 149l0 27c0 35.3 28.7 64 64 64l88 0c22.1 0 40-17.9 40-40s-17.9-40-40-40l-56 0c-8.8 0-16-7.2-16-16s7.2-16 16-16l56 0c39.8 0 72 32.2 72 72z\"]\n};\nconst faArrowUpFromBracket = {\n prefix: 'fas',\n iconName: 'arrow-up-from-bracket',\n icon: [448, 512, [], \"e09a\", \"M246.6 9.4c-12.5-12.5-32.8-12.5-45.3 0l-128 128c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192 109.3 192 320c0 17.7 14.3 32 32 32s32-14.3 32-32l0-210.7 73.4 73.4c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-128-128zM64 352c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 64c0 53 43 96 96 96l256 0c53 0 96-43 96-96l0-64c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 64c0 17.7-14.3 32-32 32L96 448c-17.7 0-32-14.3-32-32l0-64z\"]\n};\nconst faFolder = {\n prefix: 'fas',\n iconName: 'folder',\n icon: [512, 512, [128193, 128447, 61716, \"folder-blank\"], \"f07b\", \"M64 480H448c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H288c-10.1 0-19.6-4.7-25.6-12.8L243.2 57.6C231.1 41.5 212.1 32 192 32H64C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64z\"]\n};\nconst faFolderBlank = faFolder;\nconst faFileWaveform = {\n prefix: 'fas',\n iconName: 'file-waveform',\n icon: [448, 512, [\"file-medical-alt\"], \"f478\", \"M96 0C60.7 0 32 28.7 32 64l0 224 112 0c6.1 0 11.6 3.4 14.3 8.8L176 332.2l49.7-99.4c2.7-5.4 8.3-8.8 14.3-8.8s11.6 3.4 14.3 8.8L281.9 288l70.1 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-80 0c-6.1 0-11.6-3.4-14.3-8.8L240 275.8l-49.7 99.4c-2.7 5.4-8.3 8.8-14.3 8.8s-11.6-3.4-14.3-8.8L134.1 320 32 320l0 128c0 35.3 28.7 64 64 64l256 0c35.3 0 64-28.7 64-64l0-288-128 0c-17.7 0-32-14.3-32-32L256 0 96 0zM288 0l0 128 128 0L288 0z\"]\n};\nconst faFileMedicalAlt = faFileWaveform;\nconst faRadiation = {\n prefix: 'fas',\n iconName: 'radiation',\n icon: [512, 512, [], \"f7b9\", \"M216 186.7c-23.9 13.8-40 39.7-40 69.3L32 256C14.3 256-.2 241.6 2 224.1C10.7 154 47.8 92.7 101.3 52c14.1-10.7 33.8-5.3 42.7 10l72 124.7zM256 336c14.6 0 28.2-3.9 40-10.7l72 124.8c8.8 15.3 3.7 35.1-12.6 41.9c-30.6 12.9-64.2 20-99.4 20s-68.9-7.1-99.4-20c-16.3-6.9-21.4-26.6-12.6-41.9l72-124.8c11.8 6.8 25.4 10.7 40 10.7zm224-80l-144 0c0-29.6-16.1-55.5-40-69.3L368 62c8.8-15.3 28.6-20.7 42.7-10c53.6 40.7 90.6 102 99.4 172.1c2.2 17.5-12.4 31.9-30 31.9zM256 208a48 48 0 1 1 0 96 48 48 0 1 1 0-96z\"]\n};\nconst faChartSimple = {\n prefix: 'fas',\n iconName: 'chart-simple',\n icon: [448, 512, [], \"e473\", \"M160 80c0-26.5 21.5-48 48-48l32 0c26.5 0 48 21.5 48 48l0 352c0 26.5-21.5 48-48 48l-32 0c-26.5 0-48-21.5-48-48l0-352zM0 272c0-26.5 21.5-48 48-48l32 0c26.5 0 48 21.5 48 48l0 160c0 26.5-21.5 48-48 48l-32 0c-26.5 0-48-21.5-48-48L0 272zM368 96l32 0c26.5 0 48 21.5 48 48l0 288c0 26.5-21.5 48-48 48l-32 0c-26.5 0-48-21.5-48-48l0-288c0-26.5 21.5-48 48-48z\"]\n};\nconst faMarsStroke = {\n prefix: 'fas',\n iconName: 'mars-stroke',\n icon: [512, 512, [9894], \"f229\", \"M376 0c-9.7 0-18.5 5.8-22.2 14.8s-1.7 19.3 5.2 26.2l33.4 33.4L370.3 96.4 345 71c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l25.4 25.4L307.8 159c-28.4-19.5-62.7-31-99.8-31c-97.2 0-176 78.8-176 176s78.8 176 176 176s176-78.8 176-176c0-37-11.4-71.4-31-99.8l28.6-28.6L407 201c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-25.4-25.4 22.1-22.1L471 153c6.9 6.9 17.2 8.9 26.2 5.2s14.8-12.5 14.8-22.2l0-112c0-13.3-10.7-24-24-24L376 0zm88 48s0 0 0 0s0 0 0 0s0 0 0 0zM96 304a112 112 0 1 1 224 0A112 112 0 1 1 96 304z\"]\n};\nconst faVial = {\n prefix: 'fas',\n iconName: 'vial',\n icon: [512, 512, [129514], \"f492\", \"M342.6 9.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l9.4 9.4L28.1 342.6C10.1 360.6 0 385 0 410.5L0 416c0 53 43 96 96 96l5.5 0c25.5 0 49.9-10.1 67.9-28.1L448 205.3l9.4 9.4c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-32-32-96-96-32-32zM205.3 256L352 109.3 402.7 160l-96 96-101.5 0z\"]\n};\nconst faGauge = {\n prefix: 'fas',\n iconName: 'gauge',\n icon: [512, 512, [\"dashboard\", \"gauge-med\", \"tachometer-alt-average\"], \"f624\", \"M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm320 96c0-26.9-16.5-49.9-40-59.3L280 88c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 204.7c-23.5 9.5-40 32.5-40 59.3c0 35.3 28.7 64 64 64s64-28.7 64-64zM144 176a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm-16 80a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm288 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM400 144a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nconst faDashboard = faGauge;\nconst faGaugeMed = faGauge;\nconst faTachometerAltAverage = faGauge;\nconst faWandMagicSparkles = {\n prefix: 'fas',\n iconName: 'wand-magic-sparkles',\n icon: [576, 512, [\"magic-wand-sparkles\"], \"e2ca\", \"M234.7 42.7L197 56.8c-3 1.1-5 4-5 7.2s2 6.1 5 7.2l37.7 14.1L248.8 123c1.1 3 4 5 7.2 5s6.1-2 7.2-5l14.1-37.7L315 71.2c3-1.1 5-4 5-7.2s-2-6.1-5-7.2L277.3 42.7 263.2 5c-1.1-3-4-5-7.2-5s-6.1 2-7.2 5L234.7 42.7zM46.1 395.4c-18.7 18.7-18.7 49.1 0 67.9l34.6 34.6c18.7 18.7 49.1 18.7 67.9 0L529.9 116.5c18.7-18.7 18.7-49.1 0-67.9L495.3 14.1c-18.7-18.7-49.1-18.7-67.9 0L46.1 395.4zM484.6 82.6l-105 105-23.3-23.3 105-105 23.3 23.3zM7.5 117.2C3 118.9 0 123.2 0 128s3 9.1 7.5 10.8L64 160l21.2 56.5c1.7 4.5 6 7.5 10.8 7.5s9.1-3 10.8-7.5L128 160l56.5-21.2c4.5-1.7 7.5-6 7.5-10.8s-3-9.1-7.5-10.8L128 96 106.8 39.5C105.1 35 100.8 32 96 32s-9.1 3-10.8 7.5L64 96 7.5 117.2zm352 256c-4.5 1.7-7.5 6-7.5 10.8s3 9.1 7.5 10.8L416 416l21.2 56.5c1.7 4.5 6 7.5 10.8 7.5s9.1-3 10.8-7.5L480 416l56.5-21.2c4.5-1.7 7.5-6 7.5-10.8s-3-9.1-7.5-10.8L480 352l-21.2-56.5c-1.7-4.5-6-7.5-10.8-7.5s-9.1 3-10.8 7.5L416 352l-56.5 21.2z\"]\n};\nconst faMagicWandSparkles = faWandMagicSparkles;\nconst faE = {\n prefix: 'fas',\n iconName: 'e',\n icon: [320, 512, [101], \"45\", \"M64 32C28.7 32 0 60.7 0 96L0 256 0 416c0 35.3 28.7 64 64 64l224 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L64 416l0-128 160 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L64 224 64 96l224 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L64 32z\"]\n};\nconst faPenClip = {\n prefix: 'fas',\n iconName: 'pen-clip',\n icon: [512, 512, [\"pen-alt\"], \"f305\", \"M453.3 19.3l39.4 39.4c25 25 25 65.5 0 90.5l-52.1 52.1s0 0 0 0l-1-1s0 0 0 0l-16-16-96-96-17-17 52.1-52.1c25-25 65.5-25 90.5 0zM241 114.9c-9.4-9.4-24.6-9.4-33.9 0L105 217c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9L173.1 81c28.1-28.1 73.7-28.1 101.8 0L288 94.1l17 17 96 96 16 16 1 1-17 17L229.5 412.5c-48 48-109.2 80.8-175.8 94.1l-25 5c-7.9 1.6-16-.9-21.7-6.6s-8.1-13.8-6.6-21.7l5-25c13.3-66.6 46.1-127.8 94.1-175.8L254.1 128 241 114.9z\"]\n};\nconst faPenAlt = faPenClip;\nconst faBridgeCircleExclamation = {\n prefix: 'fas',\n iconName: 'bridge-circle-exclamation',\n icon: [640, 512, [], \"e4ca\", \"M64 32C46.3 32 32 46.3 32 64s14.3 32 32 32l40 0 0 64-72 0 0 128c53 0 96 43 96 96l0 64c0 17.7 14.3 32 32 32l32 0c17.7 0 32-14.3 32-32l0-64c0-53 43-96 96-96c6.3 0 12.4 .6 18.3 1.7C367.1 231.8 426.9 192 496 192c42.5 0 81.6 15.1 112 40.2l0-72.2-72 0 0-64 40 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L64 32zM488 96l0 64-80 0 0-64 80 0zM360 96l0 64-80 0 0-64 80 0zM232 96l0 64-80 0 0-64 80 0zM496 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm0-96a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0-144c8.8 0 16 7.2 16 16l0 80c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-80c0-8.8 7.2-16 16-16z\"]\n};\nconst faUser = {\n prefix: 'fas',\n iconName: 'user',\n icon: [448, 512, [128100, 62144], \"f007\", \"M224 256A128 128 0 1 0 224 0a128 128 0 1 0 0 256zm-45.7 48C79.8 304 0 383.8 0 482.3C0 498.7 13.3 512 29.7 512l388.6 0c16.4 0 29.7-13.3 29.7-29.7C448 383.8 368.2 304 269.7 304l-91.4 0z\"]\n};\nconst faSchoolCircleCheck = {\n prefix: 'fas',\n iconName: 'school-circle-check',\n icon: [640, 512, [], \"e56b\", \"M337.8 5.4C327-1.8 313-1.8 302.2 5.4L166.3 96 48 96C21.5 96 0 117.5 0 144L0 464c0 26.5 21.5 48 48 48l272 0s0 0 0 0l-64 0 0-96c0-35.3 28.7-64 64-64l.3 0 .5 0c3.4-37.7 18.7-72.1 42.2-99.1C350.2 260 335.6 264 320 264c-48.6 0-88-39.4-88-88s39.4-88 88-88s88 39.4 88 88c0 18.3-5.6 35.3-15.1 49.4c29-21 64.6-33.4 103.1-33.4c59.5 0 112.1 29.6 144 74.8L640 144c0-26.5-21.5-48-48-48L473.7 96 337.8 5.4zM96 192l32 0c8.8 0 16 7.2 16 16l0 64c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-64c0-8.8 7.2-16 16-16zm0 128l32 0c8.8 0 16 7.2 16 16l0 64c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-64c0-8.8 7.2-16 16-16zM320 128c-8.8 0-16 7.2-16 16l0 32c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16s-7.2-16-16-16l-16 0 0-16c0-8.8-7.2-16-16-16zM640 368a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zm-99.3-43.3c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6l-72 72c-6.2 6.2-16.4 6.2-22.6 0l-40-40c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L480 385.4l60.7-60.7z\"]\n};\nconst faDumpster = {\n prefix: 'fas',\n iconName: 'dumpster',\n icon: [576, 512, [], \"f793\", \"M49.7 32c-10.5 0-19.8 6.9-22.9 16.9L.9 133c-.6 2-.9 4.1-.9 6.1C0 150.7 9.3 160 20.9 160l94 0L140.5 32 49.7 32zM272 160l0-128-98.9 0L147.5 160 272 160zm32 0l124.5 0L402.9 32 304 32l0 128zm157.1 0l94 0c11.5 0 20.9-9.3 20.9-20.9c0-2.1-.3-4.1-.9-6.1L549.2 48.9C546.1 38.9 536.8 32 526.3 32l-90.8 0 25.6 128zM32 192l4 32-4 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l12 0L64 448c0 17.7 14.3 32 32 32s32-14.3 32-32l320 0c0 17.7 14.3 32 32 32s32-14.3 32-32l20-160 12 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-4 0 4-32L32 192z\"]\n};\nconst faVanShuttle = {\n prefix: 'fas',\n iconName: 'van-shuttle',\n icon: [640, 512, [128656, \"shuttle-van\"], \"f5b6\", \"M64 104l0 88 96 0 0-96L72 96c-4.4 0-8 3.6-8 8zm482 88L465.1 96 384 96l0 96 162 0zm-226 0l0-96-96 0 0 96 96 0zM592 384l-16 0c0 53-43 96-96 96s-96-43-96-96l-128 0c0 53-43 96-96 96s-96-43-96-96l-16 0c-26.5 0-48-21.5-48-48L0 104C0 64.2 32.2 32 72 32l120 0 160 0 113.1 0c18.9 0 36.8 8.3 49 22.8L625 186.5c9.7 11.5 15 26.1 15 41.2L640 336c0 26.5-21.5 48-48 48zm-64 0a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM160 432a48 48 0 1 0 0-96 48 48 0 1 0 0 96z\"]\n};\nconst faShuttleVan = faVanShuttle;\nconst faBuildingUser = {\n prefix: 'fas',\n iconName: 'building-user',\n icon: [640, 512, [], \"e4da\", \"M48 0C21.5 0 0 21.5 0 48L0 464c0 26.5 21.5 48 48 48l96 0 0-80c0-26.5 21.5-48 48-48s48 21.5 48 48l0 80 89.9 0c-6.3-10.2-9.9-22.2-9.9-35.1c0-46.9 25.8-87.8 64-109.2l0-95.9L384 48c0-26.5-21.5-48-48-48L48 0zM64 240c0-8.8 7.2-16 16-16l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32zm112-16l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32zM80 96l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32zM272 96l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32c0-8.8 7.2-16 16-16zM576 272a80 80 0 1 0 -160 0 80 80 0 1 0 160 0zM352 477.1c0 19.3 15.6 34.9 34.9 34.9l218.2 0c19.3 0 34.9-15.6 34.9-34.9c0-51.4-41.7-93.1-93.1-93.1l-101.8 0c-51.4 0-93.1 41.7-93.1 93.1z\"]\n};\nconst faSquareCaretLeft = {\n prefix: 'fas',\n iconName: 'square-caret-left',\n icon: [448, 512, [\"caret-square-left\"], \"f191\", \"M0 416c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32C28.7 32 0 60.7 0 96L0 416zM128 256c0-6.7 2.8-13 7.7-17.6l112-104c7-6.5 17.2-8.2 25.9-4.4s14.4 12.5 14.4 22l0 208c0 9.5-5.7 18.2-14.4 22s-18.9 2.1-25.9-4.4l-112-104c-4.9-4.5-7.7-10.9-7.7-17.6z\"]\n};\nconst faCaretSquareLeft = faSquareCaretLeft;\nconst faHighlighter = {\n prefix: 'fas',\n iconName: 'highlighter',\n icon: [576, 512, [], \"f591\", \"M315 315l158.4-215L444.1 70.6 229 229 315 315zm-187 5s0 0 0 0l0-71.7c0-15.3 7.2-29.6 19.5-38.6L420.6 8.4C428 2.9 437 0 446.2 0c11.4 0 22.4 4.5 30.5 12.6l54.8 54.8c8.1 8.1 12.6 19 12.6 30.5c0 9.2-2.9 18.2-8.4 25.6L334.4 396.5c-9 12.3-23.4 19.5-38.6 19.5L224 416l-25.4 25.4c-12.5 12.5-32.8 12.5-45.3 0l-50.7-50.7c-12.5-12.5-12.5-32.8 0-45.3L128 320zM7 466.3l63-63 70.6 70.6-31 31c-4.5 4.5-10.6 7-17 7L24 512c-13.3 0-24-10.7-24-24l0-4.7c0-6.4 2.5-12.5 7-17z\"]\n};\nconst faKey = {\n prefix: 'fas',\n iconName: 'key',\n icon: [512, 512, [128273], \"f084\", \"M336 352c97.2 0 176-78.8 176-176S433.2 0 336 0S160 78.8 160 176c0 18.7 2.9 36.8 8.3 53.7L7 391c-4.5 4.5-7 10.6-7 17l0 80c0 13.3 10.7 24 24 24l80 0c13.3 0 24-10.7 24-24l0-40 40 0c13.3 0 24-10.7 24-24l0-40 40 0c6.4 0 12.5-2.5 17-7l33.3-33.3c16.9 5.4 35 8.3 53.7 8.3zM376 96a40 40 0 1 1 0 80 40 40 0 1 1 0-80z\"]\n};\nconst faBullhorn = {\n prefix: 'fas',\n iconName: 'bullhorn',\n icon: [512, 512, [128226, 128363], \"f0a1\", \"M480 32c0-12.9-7.8-24.6-19.8-29.6s-25.7-2.2-34.9 6.9L381.7 53c-48 48-113.1 75-181 75l-8.7 0-32 0-96 0c-35.3 0-64 28.7-64 64l0 96c0 35.3 28.7 64 64 64l0 128c0 17.7 14.3 32 32 32l64 0c17.7 0 32-14.3 32-32l0-128 8.7 0c67.9 0 133 27 181 75l43.6 43.6c9.2 9.2 22.9 11.9 34.9 6.9s19.8-16.6 19.8-29.6l0-147.6c18.6-8.8 32-32.5 32-60.4s-13.4-51.6-32-60.4L480 32zm-64 76.7L416 240l0 131.3C357.2 317.8 280.5 288 200.7 288l-8.7 0 0-96 8.7 0c79.8 0 156.5-29.8 215.3-83.3z\"]\n};\nconst faGlobe = {\n prefix: 'fas',\n iconName: 'globe',\n icon: [512, 512, [127760], \"f0ac\", \"M352 256c0 22.2-1.2 43.6-3.3 64l-185.3 0c-2.2-20.4-3.3-41.8-3.3-64s1.2-43.6 3.3-64l185.3 0c2.2 20.4 3.3 41.8 3.3 64zm28.8-64l123.1 0c5.3 20.5 8.1 41.9 8.1 64s-2.8 43.5-8.1 64l-123.1 0c2.1-20.6 3.2-42 3.2-64s-1.1-43.4-3.2-64zm112.6-32l-116.7 0c-10-63.9-29.8-117.4-55.3-151.6c78.3 20.7 142 77.5 171.9 151.6zm-149.1 0l-176.6 0c6.1-36.4 15.5-68.6 27-94.7c10.5-23.6 22.2-40.7 33.5-51.5C239.4 3.2 248.7 0 256 0s16.6 3.2 27.8 13.8c11.3 10.8 23 27.9 33.5 51.5c11.6 26 20.9 58.2 27 94.7zm-209 0L18.6 160C48.6 85.9 112.2 29.1 190.6 8.4C165.1 42.6 145.3 96.1 135.3 160zM8.1 192l123.1 0c-2.1 20.6-3.2 42-3.2 64s1.1 43.4 3.2 64L8.1 320C2.8 299.5 0 278.1 0 256s2.8-43.5 8.1-64zM194.7 446.6c-11.6-26-20.9-58.2-27-94.6l176.6 0c-6.1 36.4-15.5 68.6-27 94.6c-10.5 23.6-22.2 40.7-33.5 51.5C272.6 508.8 263.3 512 256 512s-16.6-3.2-27.8-13.8c-11.3-10.8-23-27.9-33.5-51.5zM135.3 352c10 63.9 29.8 117.4 55.3 151.6C112.2 482.9 48.6 426.1 18.6 352l116.7 0zm358.1 0c-30 74.1-93.6 130.9-171.9 151.6c25.5-34.2 45.2-87.7 55.3-151.6l116.7 0z\"]\n};\nconst faSynagogue = {\n prefix: 'fas',\n iconName: 'synagogue',\n icon: [640, 512, [128333], \"f69b\", \"M309.8 3.7c5.9-4.9 14.6-4.9 20.5 0l121 100.8C469.5 119.7 480 142.2 480 166l0 114.1L480 512l-16 0-112 0 0-96c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 96-112 0-16 0 0-231.9L160 166c0-23.7 10.5-46.3 28.8-61.5L309.8 3.7zM512 512l0-267.5 28.1-31.2c3-3.4 7.4-5.3 11.9-5.3s8.9 1.9 11.9 5.3l63.8 70.9c7.9 8.8 12.3 20.3 12.3 32.1L640 448c0 35.3-28.7 64-64 64l-64 0zM128 244.5L128 512l-64 0c-35.3 0-64-28.7-64-64L0 316.3c0-11.9 4.4-23.3 12.3-32.1l63.8-70.9c3-3.4 7.4-5.3 11.9-5.3s8.9 1.9 11.9 5.3L128 244.5zM327 124.3c-3.1-5.4-10.9-5.4-13.9 0l-15.9 28.1-32.3-.3c-6.2-.1-10.1 6.7-7 12.1L274.3 192l-16.4 27.8c-3.2 5.4 .7 12.1 7 12.1l32.3-.3L313 259.7c3.1 5.4 10.9 5.4 13.9 0l15.9-28.1 32.3 .3c6.2 .1 10.1-6.7 7-12.1L365.7 192l16.4-27.8c3.2-5.4-.7-12.1-7-12.1l-32.3 .3L327 124.3z\"]\n};\nconst faPersonHalfDress = {\n prefix: 'fas',\n iconName: 'person-half-dress',\n icon: [320, 512, [], \"e548\", \"M160 0a48 48 0 1 1 0 96 48 48 0 1 1 0-96zm8 352l0-224 6.9 0c33.7 0 64.9 17.7 82.3 46.6l58.3 97c9.1 15.1 4.2 34.8-10.9 43.9s-34.8 4.2-43.9-10.9L232 256.9 232 480c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-128s0 0 0 0zM58.2 182.3c19.9-33.1 55.3-53.5 93.8-54.3l0 256s0 0 0 0l0 96c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-96-17.8 0c-10.9 0-18.6-10.7-15.2-21.1L93.3 248.1 59.4 304.5c-9.1 15.1-28.8 20-43.9 10.9s-20-28.8-10.9-43.9l53.6-89.2z\"]\n};\nconst faRoadBridge = {\n prefix: 'fas',\n iconName: 'road-bridge',\n icon: [640, 512, [], \"e563\", \"M352 0L608 0c17.7 0 32 14.3 32 32l0 448c0 17.7-14.3 32-32 32l-256 0c-17.7 0-32-14.3-32-32l0-448c0-17.7 14.3-32 32-32zM480 200c-13.3 0-24 10.7-24 24l0 64c0 13.3 10.7 24 24 24s24-10.7 24-24l0-64c0-13.3-10.7-24-24-24zm24 184c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 64c0 13.3 10.7 24 24 24s24-10.7 24-24l0-64zM480 40c-13.3 0-24 10.7-24 24l0 64c0 13.3 10.7 24 24 24s24-10.7 24-24l0-64c0-13.3-10.7-24-24-24zM32 96l256 0 0 64-40 0 0 64 40 0 0 96c-53 0-96 43-96 96l0 64c0 17.7-14.3 32-32 32l-32 0c-17.7 0-32-14.3-32-32l0-64c0-53-43-96-96-96l0-96 72 0 0-64-40 0c-17.7 0-32-14.3-32-32s14.3-32 32-32zm168 64l-80 0 0 64 80 0 0-64z\"]\n};\nconst faLocationArrow = {\n prefix: 'fas',\n iconName: 'location-arrow',\n icon: [448, 512, [], \"f124\", \"M429.6 92.1c4.9-11.9 2.1-25.6-7-34.7s-22.8-11.9-34.7-7l-352 144c-14.2 5.8-22.2 20.8-19.3 35.8s16.1 25.8 31.4 25.8l176 0 0 176c0 15.3 10.8 28.4 25.8 31.4s30-5.1 35.8-19.3l144-352z\"]\n};\nconst faC = {\n prefix: 'fas',\n iconName: 'c',\n icon: [384, 512, [99], \"43\", \"M329.1 142.9c-62.5-62.5-155.8-62.5-218.3 0s-62.5 163.8 0 226.3s155.8 62.5 218.3 0c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3c-87.5 87.5-221.3 87.5-308.8 0s-87.5-229.3 0-316.8s221.3-87.5 308.8 0c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0z\"]\n};\nconst faTabletButton = {\n prefix: 'fas',\n iconName: 'tablet-button',\n icon: [448, 512, [], \"f10a\", \"M64 0C28.7 0 0 28.7 0 64L0 448c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-384c0-35.3-28.7-64-64-64L64 0zM224 400a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nconst faBuildingLock = {\n prefix: 'fas',\n iconName: 'building-lock',\n icon: [576, 512, [], \"e4d6\", \"M48 0C21.5 0 0 21.5 0 48L0 464c0 26.5 21.5 48 48 48l96 0 0-80c0-26.5 21.5-48 48-48s48 21.5 48 48l0 80 88.6 0c-5.4-9.4-8.6-20.3-8.6-32l0-128c0-23.7 12.9-44.4 32-55.4l0-24.6c0-30.5 12.2-58.2 32-78.4L384 48c0-26.5-21.5-48-48-48L48 0zM64 240c0-8.8 7.2-16 16-16l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32zm112-16l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32zM80 96l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32zM272 96l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32c0-8.8 7.2-16 16-16zM464 240c17.7 0 32 14.3 32 32l0 48-64 0 0-48c0-17.7 14.3-32 32-32zm-80 32l0 48c-17.7 0-32 14.3-32 32l0 128c0 17.7 14.3 32 32 32l160 0c17.7 0 32-14.3 32-32l0-128c0-17.7-14.3-32-32-32l0-48c0-44.2-35.8-80-80-80s-80 35.8-80 80z\"]\n};\nconst faPizzaSlice = {\n prefix: 'fas',\n iconName: 'pizza-slice',\n icon: [512, 512, [], \"f818\", \"M169.7 .9c-22.8-1.6-41.9 14-47.5 34.7L110.4 80c.5 0 1.1 0 1.6 0c176.7 0 320 143.3 320 320c0 .5 0 1.1 0 1.6l44.4-11.8c20.8-5.5 36.3-24.7 34.7-47.5C498.5 159.5 352.5 13.5 169.7 .9zM399.8 410.2c.1-3.4 .2-6.8 .2-10.2c0-159.1-128.9-288-288-288c-3.4 0-6.8 .1-10.2 .2L.5 491.9c-1.5 5.5 .1 11.4 4.1 15.4s9.9 5.6 15.4 4.1L399.8 410.2zM176 208a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm64 128a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM96 384a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nconst faMoneyBillWave = {\n prefix: 'fas',\n iconName: 'money-bill-wave',\n icon: [576, 512, [], \"f53a\", \"M0 112.5L0 422.3c0 18 10.1 35 27 41.3c87 32.5 174 10.3 261-11.9c79.8-20.3 159.6-40.7 239.3-18.9c23 6.3 48.7-9.5 48.7-33.4l0-309.9c0-18-10.1-35-27-41.3C462 15.9 375 38.1 288 60.3C208.2 80.6 128.4 100.9 48.7 79.1C25.6 72.8 0 88.6 0 112.5zM288 352c-44.2 0-80-43-80-96s35.8-96 80-96s80 43 80 96s-35.8 96-80 96zM64 352c35.3 0 64 28.7 64 64l-64 0 0-64zm64-208c0 35.3-28.7 64-64 64l0-64 64 0zM512 304l0 64-64 0c0-35.3 28.7-64 64-64zM448 96l64 0 0 64c-35.3 0-64-28.7-64-64z\"]\n};\nconst faChartArea = {\n prefix: 'fas',\n iconName: 'chart-area',\n icon: [512, 512, [\"area-chart\"], \"f1fe\", \"M64 64c0-17.7-14.3-32-32-32S0 46.3 0 64L0 400c0 44.2 35.8 80 80 80l400 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L80 416c-8.8 0-16-7.2-16-16L64 64zm96 288l288 0c17.7 0 32-14.3 32-32l0-68.2c0-7.6-2.7-15-7.7-20.8l-65.8-76.8c-12.1-14.2-33.7-15-46.9-1.8l-21 21c-10 10-26.4 9.2-35.4-1.6l-39.2-47c-12.6-15.1-35.7-15.4-48.7-.6L135.9 215c-5.1 5.8-7.9 13.3-7.9 21.1l0 84c0 17.7 14.3 32 32 32z\"]\n};\nconst faAreaChart = faChartArea;\nconst faHouseFlag = {\n prefix: 'fas',\n iconName: 'house-flag',\n icon: [640, 512, [], \"e50d\", \"M480 0c-17.7 0-32 14.3-32 32l0 160 0 320 64 0 0-320 112 0c8.8 0 16-7.2 16-16l0-128c0-8.8-7.2-16-16-16L512 32c0-17.7-14.3-32-32-32zM416 159L276.8 39.7c-12-10.3-29.7-10.3-41.7 0l-224 192C1 240.4-2.7 254.5 2 267.1S18.6 288 32 288l32 0 0 192c0 17.7 14.3 32 32 32l64 0c17.7 0 32-14.3 32-32l0-96c0-17.7 14.3-32 32-32l64 0c17.7 0 32 14.3 32 32l0 96c0 17.7 14.3 32 32 32l64.7 0 .2 0-1 0 0-353z\"]\n};\nconst faPersonCircleMinus = {\n prefix: 'fas',\n iconName: 'person-circle-minus',\n icon: [576, 512, [], \"e540\", \"M112 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm40 304l0 128c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-223.1L59.4 304.5c-9.1 15.1-28.8 20-43.9 10.9s-20-28.8-10.9-43.9l58.3-97c17.4-28.9 48.6-46.6 82.3-46.6l29.7 0c33.7 0 64.9 17.7 82.3 46.6l44.9 74.7c-16.1 17.6-28.6 38.5-36.6 61.5c-1.9-1.8-3.5-3.9-4.9-6.3L232 256.9 232 480c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-128-16 0zm136 16a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm224 0c0-8.8-7.2-16-16-16l-128 0c-8.8 0-16 7.2-16 16s7.2 16 16 16l128 0c8.8 0 16-7.2 16-16z\"]\n};\nconst faBan = {\n prefix: 'fas',\n iconName: 'ban',\n icon: [512, 512, [128683, \"cancel\"], \"f05e\", \"M367.2 412.5L99.5 144.8C77.1 176.1 64 214.5 64 256c0 106 86 192 192 192c41.5 0 79.9-13.1 111.2-35.5zm45.3-45.3C434.9 335.9 448 297.5 448 256c0-106-86-192-192-192c-41.5 0-79.9 13.1-111.2 35.5L412.5 367.2zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256z\"]\n};\nconst faCancel = faBan;\nconst faCameraRotate = {\n prefix: 'fas',\n iconName: 'camera-rotate',\n icon: [640, 512, [], \"e0d8\", \"M213.1 64.8L202.7 96 128 96c-35.3 0-64 28.7-64 64l0 256c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64l0-256c0-35.3-28.7-64-64-64l-74.7 0L426.9 64.8C420.4 45.2 402.1 32 381.4 32L258.6 32c-20.7 0-39 13.2-45.5 32.8zM448 256c0 8.8-7.2 16-16 16l-76.7 0c-6.2 0-11.3-5.1-11.3-11.3c0-3 1.2-5.9 3.3-8L371 229c-13.6-13.4-31.9-21-51-21c-19.2 0-37.7 7.6-51.3 21.3L249 249c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l19.7-19.7C257.4 172.7 288 160 320 160c31.8 0 62.4 12.6 85 35l23.7-23.7c2.1-2.1 5-3.3 8-3.3c6.2 0 11.3 5.1 11.3 11.3l0 76.7zM192 320c0-8.8 7.2-16 16-16l76.7 0c6.2 0 11.3 5.1 11.3 11.3c0 3-1.2 5.9-3.3 8L269 347c13.6 13.4 31.9 21 51 21c19.2 0 37.7-7.6 51.3-21.3L391 327c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-19.7 19.7C382.6 403.3 352 416 320 416c-31.8 0-62.4-12.6-85-35l-23.7 23.7c-2.1 2.1-5 3.3-8 3.3c-6.2 0-11.3-5.1-11.3-11.3l0-76.7z\"]\n};\nconst faSprayCanSparkles = {\n prefix: 'fas',\n iconName: 'spray-can-sparkles',\n icon: [512, 512, [\"air-freshener\"], \"f5d0\", \"M96 32l0 96 128 0 0-96c0-17.7-14.3-32-32-32L128 0C110.3 0 96 14.3 96 32zm0 128c-53 0-96 43-96 96L0 464c0 26.5 21.5 48 48 48l224 0c26.5 0 48-21.5 48-48l0-208c0-53-43-96-96-96L96 160zm64 96a80 80 0 1 1 0 160 80 80 0 1 1 0-160zM384 48c0-1.4-1-3-2.2-3.6L352 32 339.6 2.2C339 1 337.4 0 336 0s-3 1-3.6 2.2L320 32 290.2 44.4C289 45 288 46.6 288 48c0 1.4 1 3 2.2 3.6L320 64l12.4 29.8C333 95 334.6 96 336 96s3-1 3.6-2.2L352 64l29.8-12.4C383 51 384 49.4 384 48zm76.4 45.8C461 95 462.6 96 464 96s3-1 3.6-2.2L480 64l29.8-12.4C511 51 512 49.4 512 48c0-1.4-1-3-2.2-3.6L480 32 467.6 2.2C467 1 465.4 0 464 0s-3 1-3.6 2.2L448 32 418.2 44.4C417 45 416 46.6 416 48c0 1.4 1 3 2.2 3.6L448 64l12.4 29.8zm7.2 100.4c-.6-1.2-2.2-2.2-3.6-2.2s-3 1-3.6 2.2L448 224l-29.8 12.4c-1.2 .6-2.2 2.2-2.2 3.6c0 1.4 1 3 2.2 3.6L448 256l12.4 29.8c.6 1.2 2.2 2.2 3.6 2.2s3-1 3.6-2.2L480 256l29.8-12.4c1.2-.6 2.2-2.2 2.2-3.6c0-1.4-1-3-2.2-3.6L480 224l-12.4-29.8zM448 144c0-1.4-1-3-2.2-3.6L416 128 403.6 98.2C403 97 401.4 96 400 96s-3 1-3.6 2.2L384 128l-29.8 12.4c-1.2 .6-2.2 2.2-2.2 3.6c0 1.4 1 3 2.2 3.6L384 160l12.4 29.8c.6 1.2 2.2 2.2 3.6 2.2s3-1 3.6-2.2L416 160l29.8-12.4c1.2-.6 2.2-2.2 2.2-3.6z\"]\n};\nconst faAirFreshener = faSprayCanSparkles;\nconst faStar = {\n prefix: 'fas',\n iconName: 'star',\n icon: [576, 512, [11088, 61446], \"f005\", \"M316.9 18C311.6 7 300.4 0 288.1 0s-23.4 7-28.8 18L195 150.3 51.4 171.5c-12 1.8-22 10.2-25.7 21.7s-.7 24.2 7.9 32.7L137.8 329 113.2 474.7c-2 12 3 24.2 12.9 31.3s23 8 33.8 2.3l128.3-68.5 128.3 68.5c10.8 5.7 23.9 4.9 33.8-2.3s14.9-19.3 12.9-31.3L438.5 329 542.7 225.9c8.6-8.5 11.7-21.2 7.9-32.7s-13.7-19.9-25.7-21.7L381.2 150.3 316.9 18z\"]\n};\nconst faRepeat = {\n prefix: 'fas',\n iconName: 'repeat',\n icon: [512, 512, [128257], \"f363\", \"M0 224c0 17.7 14.3 32 32 32s32-14.3 32-32c0-53 43-96 96-96l160 0 0 32c0 12.9 7.8 24.6 19.8 29.6s25.7 2.2 34.9-6.9l64-64c12.5-12.5 12.5-32.8 0-45.3l-64-64c-9.2-9.2-22.9-11.9-34.9-6.9S320 19.1 320 32l0 32L160 64C71.6 64 0 135.6 0 224zm512 64c0-17.7-14.3-32-32-32s-32 14.3-32 32c0 53-43 96-96 96l-160 0 0-32c0-12.9-7.8-24.6-19.8-29.6s-25.7-2.2-34.9 6.9l-64 64c-12.5 12.5-12.5 32.8 0 45.3l64 64c9.2 9.2 22.9 11.9 34.9 6.9s19.8-16.6 19.8-29.6l0-32 160 0c88.4 0 160-71.6 160-160z\"]\n};\nconst faCross = {\n prefix: 'fas',\n iconName: 'cross',\n icon: [384, 512, [128327, 10013], \"f654\", \"M176 0c-26.5 0-48 21.5-48 48l0 80-80 0c-26.5 0-48 21.5-48 48l0 32c0 26.5 21.5 48 48 48l80 0 0 208c0 26.5 21.5 48 48 48l32 0c26.5 0 48-21.5 48-48l0-208 80 0c26.5 0 48-21.5 48-48l0-32c0-26.5-21.5-48-48-48l-80 0 0-80c0-26.5-21.5-48-48-48L176 0z\"]\n};\nconst faBox = {\n prefix: 'fas',\n iconName: 'box',\n icon: [448, 512, [128230], \"f466\", \"M50.7 58.5L0 160l208 0 0-128L93.7 32C75.5 32 58.9 42.3 50.7 58.5zM240 160l208 0L397.3 58.5C389.1 42.3 372.5 32 354.3 32L240 32l0 128zm208 32L0 192 0 416c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-224z\"]\n};\nconst faVenusMars = {\n prefix: 'fas',\n iconName: 'venus-mars',\n icon: [640, 512, [9892], \"f228\", \"M176 288a112 112 0 1 0 0-224 112 112 0 1 0 0 224zM352 176c0 86.3-62.1 158.1-144 173.1l0 34.9 32 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-32 0 0 32c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-32-32 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l32 0 0-34.9C62.1 334.1 0 262.3 0 176C0 78.8 78.8 0 176 0s176 78.8 176 176zM271.9 360.6c19.3-10.1 36.9-23.1 52.1-38.4c20 18.5 46.7 29.8 76.1 29.8c61.9 0 112-50.1 112-112s-50.1-112-112-112c-7.2 0-14.3 .7-21.1 2c-4.9-21.5-13-41.7-24-60.2C369.3 66 384.4 64 400 64c37 0 71.4 11.4 99.8 31l20.6-20.6L487 41c-6.9-6.9-8.9-17.2-5.2-26.2S494.3 0 504 0L616 0c13.3 0 24 10.7 24 24l0 112c0 9.7-5.8 18.5-14.8 22.2s-19.3 1.7-26.2-5.2l-33.4-33.4L545 140.2c19.5 28.4 31 62.7 31 99.8c0 97.2-78.8 176-176 176c-50.5 0-96-21.3-128.1-55.4z\"]\n};\nconst faArrowPointer = {\n prefix: 'fas',\n iconName: 'arrow-pointer',\n icon: [320, 512, [\"mouse-pointer\"], \"f245\", \"M0 55.2L0 426c0 12.2 9.9 22 22 22c6.3 0 12.4-2.7 16.6-7.5L121.2 346l58.1 116.3c7.9 15.8 27.1 22.2 42.9 14.3s22.2-27.1 14.3-42.9L179.8 320l118.1 0c12.2 0 22.1-9.9 22.1-22.1c0-6.3-2.7-12.3-7.4-16.5L38.6 37.9C34.3 34.1 28.9 32 23.2 32C10.4 32 0 42.4 0 55.2z\"]\n};\nconst faMousePointer = faArrowPointer;\nconst faMaximize = {\n prefix: 'fas',\n iconName: 'maximize',\n icon: [512, 512, [\"expand-arrows-alt\"], \"f31e\", \"M200 32L56 32C42.7 32 32 42.7 32 56l0 144c0 9.7 5.8 18.5 14.8 22.2s19.3 1.7 26.2-5.2l40-40 79 79-79 79L73 295c-6.9-6.9-17.2-8.9-26.2-5.2S32 302.3 32 312l0 144c0 13.3 10.7 24 24 24l144 0c9.7 0 18.5-5.8 22.2-14.8s1.7-19.3-5.2-26.2l-40-40 79-79 79 79-40 40c-6.9 6.9-8.9 17.2-5.2 26.2s12.5 14.8 22.2 14.8l144 0c13.3 0 24-10.7 24-24l0-144c0-9.7-5.8-18.5-14.8-22.2s-19.3-1.7-26.2 5.2l-40 40-79-79 79-79 40 40c6.9 6.9 17.2 8.9 26.2 5.2s14.8-12.5 14.8-22.2l0-144c0-13.3-10.7-24-24-24L312 32c-9.7 0-18.5 5.8-22.2 14.8s-1.7 19.3 5.2 26.2l40 40-79 79-79-79 40-40c6.9-6.9 8.9-17.2 5.2-26.2S209.7 32 200 32z\"]\n};\nconst faExpandArrowsAlt = faMaximize;\nconst faChargingStation = {\n prefix: 'fas',\n iconName: 'charging-station',\n icon: [576, 512, [], \"f5e7\", \"M96 0C60.7 0 32 28.7 32 64l0 384c-17.7 0-32 14.3-32 32s14.3 32 32 32l288 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l0-144 16 0c22.1 0 40 17.9 40 40l0 32c0 39.8 32.2 72 72 72s72-32.2 72-72l0-123.7c32.5-10.2 56-40.5 56-76.3l0-32c0-8.8-7.2-16-16-16l-16 0 0-48c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 48-32 0 0-48c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 48-16 0c-8.8 0-16 7.2-16 16l0 32c0 35.8 23.5 66.1 56 76.3L472 376c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-32c0-48.6-39.4-88-88-88l-16 0 0-192c0-35.3-28.7-64-64-64L96 0zM216.9 82.7c6 4 8.5 11.5 6.3 18.3l-25 74.9 57.8 0c6.7 0 12.7 4.2 15 10.4s.5 13.3-4.6 17.7l-112 96c-5.5 4.7-13.4 5.1-19.3 1.1s-8.5-11.5-6.3-18.3l25-74.9L96 208c-6.7 0-12.7-4.2-15-10.4s-.5-13.3 4.6-17.7l112-96c5.5-4.7 13.4-5.1 19.3-1.1z\"]\n};\nconst faShapes = {\n prefix: 'fas',\n iconName: 'shapes',\n icon: [512, 512, [\"triangle-circle-square\"], \"f61f\", \"M315.4 15.5C309.7 5.9 299.2 0 288 0s-21.7 5.9-27.4 15.5l-96 160c-5.9 9.9-6.1 22.2-.4 32.2s16.3 16.2 27.8 16.2l192 0c11.5 0 22.2-6.2 27.8-16.2s5.5-22.3-.4-32.2l-96-160zM288 312l0 144c0 22.1 17.9 40 40 40l144 0c22.1 0 40-17.9 40-40l0-144c0-22.1-17.9-40-40-40l-144 0c-22.1 0-40 17.9-40 40zM128 512a128 128 0 1 0 0-256 128 128 0 1 0 0 256z\"]\n};\nconst faTriangleCircleSquare = faShapes;\nconst faShuffle = {\n prefix: 'fas',\n iconName: 'shuffle',\n icon: [512, 512, [128256, \"random\"], \"f074\", \"M403.8 34.4c12-5 25.7-2.2 34.9 6.9l64 64c6 6 9.4 14.1 9.4 22.6s-3.4 16.6-9.4 22.6l-64 64c-9.2 9.2-22.9 11.9-34.9 6.9s-19.8-16.6-19.8-29.6l0-32-32 0c-10.1 0-19.6 4.7-25.6 12.8L284 229.3 244 176l31.2-41.6C293.3 110.2 321.8 96 352 96l32 0 0-32c0-12.9 7.8-24.6 19.8-29.6zM164 282.7L204 336l-31.2 41.6C154.7 401.8 126.2 416 96 416l-64 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l64 0c10.1 0 19.6-4.7 25.6-12.8L164 282.7zm274.6 188c-9.2 9.2-22.9 11.9-34.9 6.9s-19.8-16.6-19.8-29.6l0-32-32 0c-30.2 0-58.7-14.2-76.8-38.4L121.6 172.8c-6-8.1-15.5-12.8-25.6-12.8l-64 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l64 0c30.2 0 58.7 14.2 76.8 38.4L326.4 339.2c6 8.1 15.5 12.8 25.6 12.8l32 0 0-32c0-12.9 7.8-24.6 19.8-29.6s25.7-2.2 34.9 6.9l64 64c6 6 9.4 14.1 9.4 22.6s-3.4 16.6-9.4 22.6l-64 64z\"]\n};\nconst faRandom = faShuffle;\nconst faPersonRunning = {\n prefix: 'fas',\n iconName: 'person-running',\n icon: [448, 512, [127939, \"running\"], \"f70c\", \"M320 48a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM125.7 175.5c9.9-9.9 23.4-15.5 37.5-15.5c1.9 0 3.8 .1 5.6 .3L137.6 254c-9.3 28 1.7 58.8 26.8 74.5l86.2 53.9-25.4 88.8c-4.9 17 5 34.7 22 39.6s34.7-5 39.6-22l28.7-100.4c5.9-20.6-2.6-42.6-20.7-53.9L238 299l30.9-82.4 5.1 12.3C289 264.7 323.9 288 362.7 288l21.3 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-21.3 0c-12.9 0-24.6-7.8-29.5-19.7l-6.3-15c-14.6-35.1-44.1-61.9-80.5-73.1l-48.7-15c-11.1-3.4-22.7-5.2-34.4-5.2c-31 0-60.8 12.3-82.7 34.3L57.4 153.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l23.1-23.1zM91.2 352L32 352c-17.7 0-32 14.3-32 32s14.3 32 32 32l69.6 0c19 0 36.2-11.2 43.9-28.5L157 361.6l-9.5-6c-17.5-10.9-30.5-26.8-37.9-44.9L91.2 352z\"]\n};\nconst faRunning = faPersonRunning;\nconst faMobileRetro = {\n prefix: 'fas',\n iconName: 'mobile-retro',\n icon: [320, 512, [], \"e527\", \"M0 64C0 28.7 28.7 0 64 0L256 0c35.3 0 64 28.7 64 64l0 384c0 35.3-28.7 64-64 64L64 512c-35.3 0-64-28.7-64-64L0 64zm64 96l0 64c0 17.7 14.3 32 32 32l128 0c17.7 0 32-14.3 32-32l0-64c0-17.7-14.3-32-32-32L96 128c-17.7 0-32 14.3-32 32zM80 352a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm24 56a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm56-56a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm24 56a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm56-56a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm24 56a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM128 48c-8.8 0-16 7.2-16 16s7.2 16 16 16l64 0c8.8 0 16-7.2 16-16s-7.2-16-16-16l-64 0z\"]\n};\nconst faGripLinesVertical = {\n prefix: 'fas',\n iconName: 'grip-lines-vertical',\n icon: [192, 512, [], \"f7a5\", \"M64 64c0-17.7-14.3-32-32-32S0 46.3 0 64L0 448c0 17.7 14.3 32 32 32s32-14.3 32-32L64 64zm128 0c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 384c0 17.7 14.3 32 32 32s32-14.3 32-32l0-384z\"]\n};\nconst faSpider = {\n prefix: 'fas',\n iconName: 'spider',\n icon: [512, 512, [128375], \"f717\", \"M158.4 32.6c4.8-12.4-1.4-26.3-13.8-31s-26.3 1.4-31 13.8L81.1 100c-7.9 20.7-3 44.1 12.7 59.7l57.4 57.4L70.8 190.3c-2.4-.8-4.3-2.7-5.1-5.1L46.8 128.4C42.6 115.8 29 109 16.4 113.2S-3 131 1.2 143.6l18.9 56.8c5.6 16.7 18.7 29.8 35.4 35.4L116.1 256 55.6 276.2c-16.7 5.6-29.8 18.7-35.4 35.4L1.2 368.4C-3 381 3.8 394.6 16.4 398.8s26.2-2.6 30.4-15.2l18.9-56.8c.8-2.4 2.7-4.3 5.1-5.1l80.4-26.8L93.7 352.3C78.1 368 73.1 391.4 81.1 412l32.5 84.6c4.8 12.4 18.6 18.5 31 13.8s18.5-18.6 13.8-31l-32.5-84.6c-1.1-3-.4-6.3 1.8-8.5L160 353.9c1 52.1 43.6 94.1 96 94.1s95-41.9 96-94.1l32.3 32.3c2.2 2.2 2.9 5.6 1.8 8.5l-32.5 84.6c-4.8 12.4 1.4 26.3 13.8 31s26.3-1.4 31-13.8L430.9 412c7.9-20.7 3-44.1-12.7-59.7l-57.4-57.4 80.4 26.8c2.4 .8 4.3 2.7 5.1 5.1l18.9 56.8c4.2 12.6 17.8 19.4 30.4 15.2s19.4-17.8 15.2-30.4l-18.9-56.8c-5.6-16.7-18.7-29.8-35.4-35.4L395.9 256l60.5-20.2c16.7-5.6 29.8-18.7 35.4-35.4l18.9-56.8c4.2-12.6-2.6-26.2-15.2-30.4s-26.2 2.6-30.4 15.2l-18.9 56.8c-.8 2.4-2.7 4.3-5.1 5.1l-80.4 26.8 57.4-57.4c15.6-15.6 20.6-39 12.7-59.7L398.4 15.4C393.6 3 379.8-3.2 367.4 1.6s-18.5 18.6-13.8 31l32.5 84.6c1.1 3 .4 6.3-1.8 8.5L336 174.1l0-14.1c0-31.8-18.6-59.3-45.5-72.2c-9.1-4.4-18.5 3.3-18.5 13.4l0 10.8c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-10.8c0-10.1-9.4-17.7-18.5-13.4C194.6 100.7 176 128.2 176 160l0 14.1-48.3-48.3c-2.2-2.2-2.9-5.6-1.8-8.5l32.5-84.6z\"]\n};\nconst faHandsBound = {\n prefix: 'fas',\n iconName: 'hands-bound',\n icon: [640, 512, [], \"e4f9\", \"M96 32C96 14.3 81.7 0 64 0S32 14.3 32 32l0 64 0 59.1 0 .7L32 192l0 21.9c0 14.2 5.1 27.9 14.3 38.7L131.6 352l-3.6 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l32 0 128 0 64 0 128 0 32 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-3.6 0 85.3-99.5c9.2-10.8 14.3-24.5 14.3-38.7l0-21.9 0-36.2 0-.7L608 96l0-64c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 64 0 48.8-69.3 92.4c-5.7 7.6-16.1 9.6-24.2 4.8c-9.7-5.7-12.1-18.7-5.1-27.5L473 180c10.8-13.5 8.9-33.3-4.4-44.5s-33-9.8-44.5 3.2l-46.7 52.5C361 209.7 352 233.4 352 258.1l0 61.9 0 32-64 0 0-32 0-61.9c0-24.6-9-48.4-25.4-66.8l-46.7-52.5c-11.5-13-31.3-14.4-44.5-3.2s-15.2 30.9-4.4 44.5l27.6 34.5c7 8.8 4.7 21.8-5.1 27.5c-8.1 4.8-18.6 2.7-24.2-4.8L96 144.8 96 96l0-64zm64 448l0 32 128 0 0-32 64 0 0 32 128 0 0-32 32 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-32 0-128 0-64 0-128 0-32 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l32 0z\"]\n};\nconst faFileInvoiceDollar = {\n prefix: 'fas',\n iconName: 'file-invoice-dollar',\n icon: [384, 512, [], \"f571\", \"M64 0C28.7 0 0 28.7 0 64L0 448c0 35.3 28.7 64 64 64l256 0c35.3 0 64-28.7 64-64l0-288-128 0c-17.7 0-32-14.3-32-32L224 0 64 0zM256 0l0 128 128 0L256 0zM64 80c0-8.8 7.2-16 16-16l64 0c8.8 0 16 7.2 16 16s-7.2 16-16 16L80 96c-8.8 0-16-7.2-16-16zm0 64c0-8.8 7.2-16 16-16l64 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-64 0c-8.8 0-16-7.2-16-16zm128 72c8.8 0 16 7.2 16 16l0 17.3c8.5 1.2 16.7 3.1 24.1 5.1c8.5 2.3 13.6 11 11.3 19.6s-11 13.6-19.6 11.3c-11.1-3-22-5.2-32.1-5.3c-8.4-.1-17.4 1.8-23.6 5.5c-5.7 3.4-8.1 7.3-8.1 12.8c0 3.7 1.3 6.5 7.3 10.1c6.9 4.1 16.6 7.1 29.2 10.9l.5 .1s0 0 0 0s0 0 0 0c11.3 3.4 25.3 7.6 36.3 14.6c12.1 7.6 22.4 19.7 22.7 38.2c.3 19.3-9.6 33.3-22.9 41.6c-7.7 4.8-16.4 7.6-25.1 9.1l0 17.1c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-17.8c-11.2-2.1-21.7-5.7-30.9-8.9c0 0 0 0 0 0c-2.1-.7-4.2-1.4-6.2-2.1c-8.4-2.8-12.9-11.9-10.1-20.2s11.9-12.9 20.2-10.1c2.5 .8 4.8 1.6 7.1 2.4c0 0 0 0 0 0s0 0 0 0s0 0 0 0c13.6 4.6 24.6 8.4 36.3 8.7c9.1 .3 17.9-1.7 23.7-5.3c5.1-3.2 7.9-7.3 7.8-14c-.1-4.6-1.8-7.8-7.7-11.6c-6.8-4.3-16.5-7.4-29-11.2l-1.6-.5s0 0 0 0c-11-3.3-24.3-7.3-34.8-13.7c-12-7.2-22.6-18.9-22.7-37.3c-.1-19.4 10.8-32.8 23.8-40.5c7.5-4.4 15.8-7.2 24.1-8.7l0-17.3c0-8.8 7.2-16 16-16z\"]\n};\nconst faPlaneCircleExclamation = {\n prefix: 'fas',\n iconName: 'plane-circle-exclamation',\n icon: [640, 512, [], \"e556\", \"M256 0c-35 0-64 59.5-64 93.7l0 84.6L8.1 283.4c-5 2.8-8.1 8.2-8.1 13.9l0 65.5c0 10.6 10.2 18.3 20.4 15.4l171.6-49 0 70.9-57.6 43.2c-4 3-6.4 7.8-6.4 12.8l0 42c0 7.8 6.3 14 14 14c1.3 0 2.6-.2 3.9-.5L256 480l110.1 31.5c1.3 .4 2.6 .5 3.9 .5c6 0 11.1-3.7 13.1-9C344.5 470.7 320 422.2 320 368c0-60.6 30.6-114 77.1-145.6L320 178.3l0-84.6C320 59.5 292 0 256 0zM496 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm0-96a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0-144c8.8 0 16 7.2 16 16l0 80c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-80c0-8.8 7.2-16 16-16z\"]\n};\nconst faXRay = {\n prefix: 'fas',\n iconName: 'x-ray',\n icon: [512, 512, [], \"f497\", \"M0 64C0 46.3 14.3 32 32 32l448 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l0 320c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 480c-17.7 0-32-14.3-32-32s14.3-32 32-32L32 96C14.3 96 0 81.7 0 64zM256 96c-8.8 0-16 7.2-16 16l0 32-80 0c-8.8 0-16 7.2-16 16s7.2 16 16 16l80 0 0 48-112 0c-8.8 0-16 7.2-16 16s7.2 16 16 16l112 0 0 70.6L189.1 307c-5.2-2-10.6-3-16.2-3l-2.1 0c-23.6 0-42.8 19.2-42.8 42.8c0 9.6 3.2 18.9 9.1 26.4l18.2 23.2c9.7 12.4 24.6 19.6 40.3 19.6l120.8 0c15.7 0 30.6-7.2 40.3-19.6l18.2-23.2c5.9-7.5 9.1-16.8 9.1-26.4c0-23.6-19.2-42.8-42.8-42.8l-2.2 0c-5.5 0-11 1-16.2 3L272 326.6l0-70.6 112 0c8.8 0 16-7.2 16-16s-7.2-16-16-16l-112 0 0-48 80 0c8.8 0 16-7.2 16-16s-7.2-16-16-16l-80 0 0-32c0-8.8-7.2-16-16-16zM208 352a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm80 16a16 16 0 1 1 32 0 16 16 0 1 1 -32 0z\"]\n};\nconst faSpellCheck = {\n prefix: 'fas',\n iconName: 'spell-check',\n icon: [576, 512, [], \"f891\", \"M112 0C99.1 0 87.4 7.8 82.5 19.7l-66.7 160-13.3 32c-6.8 16.3 .9 35 17.2 41.8s35-.9 41.8-17.2L66.7 224l90.7 0 5.1 12.3c6.8 16.3 25.5 24 41.8 17.2s24-25.5 17.2-41.8l-13.3-32-66.7-160C136.6 7.8 124.9 0 112 0zm18.7 160l-37.3 0L112 115.2 130.7 160zM256 32l0 96 0 96c0 17.7 14.3 32 32 32l80 0c44.2 0 80-35.8 80-80c0-23.1-9.8-43.8-25.4-58.4c6-11.2 9.4-24 9.4-37.6c0-44.2-35.8-80-80-80L288 0c-17.7 0-32 14.3-32 32zm96 64l-32 0 0-32 32 0c8.8 0 16 7.2 16 16s-7.2 16-16 16zm-32 64l32 0 16 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-48 0 0-32zM566.6 310.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L352 434.7l-73.4-73.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l96 96c12.5 12.5 32.8 12.5 45.3 0l192-192z\"]\n};\nconst faSlash = {\n prefix: 'fas',\n iconName: 'slash',\n icon: [640, 512, [], \"f715\", \"M5.1 9.2C13.3-1.2 28.4-3.1 38.8 5.1l592 464c10.4 8.2 12.3 23.3 4.1 33.7s-23.3 12.3-33.7 4.1L9.2 42.9C-1.2 34.7-3.1 19.6 5.1 9.2z\"]\n};\nconst faComputerMouse = {\n prefix: 'fas',\n iconName: 'computer-mouse',\n icon: [384, 512, [128433, \"mouse\"], \"f8cc\", \"M0 192l176 0L176 0 160 0C71.6 0 0 71.6 0 160l0 32zm0 32L0 352c0 88.4 71.6 160 160 160l64 0c88.4 0 160-71.6 160-160l0-128-192 0L0 224zm384-32l0-32C384 71.6 312.4 0 224 0L208 0l0 192 176 0z\"]\n};\nconst faMouse = faComputerMouse;\nconst faArrowRightToBracket = {\n prefix: 'fas',\n iconName: 'arrow-right-to-bracket',\n icon: [512, 512, [\"sign-in\"], \"f090\", \"M352 96l64 0c17.7 0 32 14.3 32 32l0 256c0 17.7-14.3 32-32 32l-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l64 0c53 0 96-43 96-96l0-256c0-53-43-96-96-96l-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32zm-9.4 182.6c12.5-12.5 12.5-32.8 0-45.3l-128-128c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L242.7 224 32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l210.7 0-73.4 73.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l128-128z\"]\n};\nconst faSignIn = faArrowRightToBracket;\nconst faShopSlash = {\n prefix: 'fas',\n iconName: 'shop-slash',\n icon: [640, 512, [\"store-alt-slash\"], \"e070\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7l-54.8-43L576 224l-64 0 0 152L384 275.7l0-51.7-64 0 0 1.5L277.2 192l325.9 0c20.3 0 36.8-16.5 36.8-36.8c0-7.3-2.2-14.4-6.2-20.4L558.2 21.4C549.3 8 534.4 0 518.3 0L121.7 0c-16 0-31 8-39.9 21.4L74.1 32.8 38.8 5.1zM36.8 192l85 0L21 112.5 6.2 134.7c-4 6.1-6.2 13.2-6.2 20.4C0 175.5 16.5 192 36.8 192zM320 384l-192 0 0-160-64 0 0 160 0 80c0 26.5 21.5 48 48 48l224 0c26.5 0 48-21.5 48-48l0-65.5-64-50.4 0 35.9z\"]\n};\nconst faStoreAltSlash = faShopSlash;\nconst faServer = {\n prefix: 'fas',\n iconName: 'server',\n icon: [512, 512, [], \"f233\", \"M64 32C28.7 32 0 60.7 0 96l0 64c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64l0-64c0-35.3-28.7-64-64-64L64 32zm280 72a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm48 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM64 288c-35.3 0-64 28.7-64 64l0 64c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64l0-64c0-35.3-28.7-64-64-64L64 288zm280 72a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm56 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"]\n};\nconst faVirusCovidSlash = {\n prefix: 'fas',\n iconName: 'virus-covid-slash',\n icon: [640, 512, [], \"e4a9\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L472.1 344.7c11.4-19.5 19.1-41.4 22.3-64.7l33.6 0 0 16c0 13.3 10.7 24 24 24s24-10.7 24-24l0-80c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 16-33.6 0c-4.2-30.7-16.3-58.8-34.1-82.3L484 125.9l11.3 11.3c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L472.7 46.7c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9L450.1 92l-23.8 23.8C402.8 97.9 374.7 85.8 344 81.6L344 48l16 0c13.3 0 24-10.7 24-24s-10.7-24-24-24L280 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l16 0 0 33.6c-30.7 4.2-58.8 16.3-82.3 34.1L189.9 92l11.3-11.3c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L134.1 79.8 38.8 5.1zM149.2 213.5c-1.5 6-2.7 12.2-3.5 18.5L112 232l0-16c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 80c0 13.3 10.7 24 24 24s24-10.7 24-24l0-16 33.6 0c4.2 30.7 16.3 58.8 34.1 82.3L156 386.1l-11.3-11.3c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l56.6 56.6c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L189.9 420l23.8-23.8c23.5 17.9 51.7 29.9 82.3 34.1l0 33.6-16 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l80 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-16 0 0-33.6c20.4-2.8 39.7-9.1 57.3-18.2L149.2 213.5z\"]\n};\nconst faShopLock = {\n prefix: 'fas',\n iconName: 'shop-lock',\n icon: [640, 512, [], \"e4a5\", \"M36.8 192l412.8 0c20.2-19.8 47.9-32 78.4-32c30.5 0 58.1 12.2 78.3 31.9c18.9-1.6 33.7-17.4 33.7-36.7c0-7.3-2.2-14.4-6.2-20.4L558.2 21.4C549.3 8 534.4 0 518.3 0L121.7 0c-16 0-31 8-39.9 21.4L6.2 134.7c-4 6.1-6.2 13.2-6.2 20.4C0 175.5 16.5 192 36.8 192zM384 224l-64 0 0 160-192 0 0-160-64 0 0 160 0 80c0 26.5 21.5 48 48 48l224 0c26.5 0 48-21.5 48-48l0-80 0-32 0-128zm144 16c17.7 0 32 14.3 32 32l0 48-64 0 0-48c0-17.7 14.3-32 32-32zm-80 32l0 48c-17.7 0-32 14.3-32 32l0 128c0 17.7 14.3 32 32 32l160 0c17.7 0 32-14.3 32-32l0-128c0-17.7-14.3-32-32-32l0-48c0-44.2-35.8-80-80-80s-80 35.8-80 80z\"]\n};\nconst faHourglassStart = {\n prefix: 'fas',\n iconName: 'hourglass-start',\n icon: [384, 512, [\"hourglass-1\"], \"f251\", \"M32 0C14.3 0 0 14.3 0 32S14.3 64 32 64l0 11c0 42.4 16.9 83.1 46.9 113.1L146.7 256 78.9 323.9C48.9 353.9 32 394.6 32 437l0 11c-17.7 0-32 14.3-32 32s14.3 32 32 32l32 0 256 0 32 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l0-11c0-42.4-16.9-83.1-46.9-113.1L237.3 256l67.9-67.9c30-30 46.9-70.7 46.9-113.1l0-11c17.7 0 32-14.3 32-32s-14.3-32-32-32L320 0 64 0 32 0zM288 437l0 11L96 448l0-11c0-25.5 10.1-49.9 28.1-67.9L192 301.3l67.9 67.9c18 18 28.1 42.4 28.1 67.9z\"]\n};\nconst faHourglass1 = faHourglassStart;\nconst faBlenderPhone = {\n prefix: 'fas',\n iconName: 'blender-phone',\n icon: [576, 512, [], \"f6b6\", \"M224 352L196.8 52.3C194.2 24.2 216.3 0 244.6 0L534.1 0c21.1 0 36.4 20.1 30.9 40.4L558.5 64 400 64c-8.8 0-16 7.2-16 16s7.2 16 16 16l149.8 0-17.5 64L400 160c-8.8 0-16 7.2-16 16s7.2 16 16 16l123.6 0-17.5 64L400 256c-8.8 0-16 7.2-16 16s7.2 16 16 16l97.5 0L480 352l-256 0zm-16 32l288 0c26.5 0 48 21.5 48 48l0 32c0 26.5-21.5 48-48 48l-288 0c-26.5 0-48-21.5-48-48l0-32c0-26.5 21.5-48 48-48zm144 96a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM147.5 30.7c10.8 6.7 15.3 21 10.6 33.4l-22 57.8c-4.2 10.9-14.5 17.6-25.3 16.4l-33.3-3.6c-13.6 42.2-13.6 88.4 0 130.7l33.3-3.6c10.9-1.2 21.2 5.5 25.3 16.4l22 57.8c4.7 12.4 .2 26.7-10.6 33.4l-44 27.2c-9.7 6-21.9 4.2-29.8-4.3C-24.6 286-24.6 114 73.7 7.8C81.6-.7 93.8-2.5 103.5 3.5l44 27.2z\"]\n};\nconst faBuildingWheat = {\n prefix: 'fas',\n iconName: 'building-wheat',\n icon: [640, 512, [], \"e4db\", \"M0 48C0 21.5 21.5 0 48 0L336 0c26.5 0 48 21.5 48 48l0 416c0 26.5-21.5 48-48 48l-96 0 0-80c0-26.5-21.5-48-48-48s-48 21.5-48 48l0 80-96 0c-26.5 0-48-21.5-48-48L0 48zM80 224c-8.8 0-16 7.2-16 16l0 32c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16l-32 0zm80 16l0 32c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16l-32 0c-8.8 0-16 7.2-16 16zm112-16c-8.8 0-16 7.2-16 16l0 32c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16l-32 0zM64 112l0 32c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16L80 96c-8.8 0-16 7.2-16 16zM176 96c-8.8 0-16 7.2-16 16l0 32c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16l-32 0zm80 16l0 32c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16l-32 0c-8.8 0-16 7.2-16 16zm384 80l0 16c0 44.2-35.8 80-80 80l-16 0 0-16c0-44.2 35.8-80 80-80l16 0zm0 128c0 44.2-35.8 80-80 80l-16 0 0-16c0-44.2 35.8-80 80-80l16 0 0 16zm0 112c0 44.2-35.8 80-80 80l-16 0 0-16c0-44.2 35.8-80 80-80l16 0 0 16zM512 496l0 16-16 0c-44.2 0-80-35.8-80-80l0-16 16 0c44.2 0 80 35.8 80 80zm0-96l-16 0c-44.2 0-80-35.8-80-80l0-16 16 0c44.2 0 80 35.8 80 80l0 16zm0-128l0 16-16 0c-44.2 0-80-35.8-80-80l0-16 16 0c44.2 0 80 35.8 80 80zM528 32c13.3 0 24 10.7 24 24l0 104c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-104c0-13.3 10.7-24 24-24zm96 64l0 32c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-32c0-13.3 10.7-24 24-24s24 10.7 24 24zM456 72c13.3 0 24 10.7 24 24l0 32c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-32c0-13.3 10.7-24 24-24z\"]\n};\nconst faPersonBreastfeeding = {\n prefix: 'fas',\n iconName: 'person-breastfeeding',\n icon: [448, 512, [], \"e53a\", \"M224 0a80 80 0 1 1 0 160A80 80 0 1 1 224 0zM436.8 382.8L373.5 462c-16.6 20.7-46.8 24.1-67.5 7.5c-17.6-14.1-22.7-38.1-13.5-57.7l-.8-.1c-38.9-5.6-74.3-25.1-99.7-54.8l0-36.8c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 48c0 .8 0 1.6 .1 2.4l101.4 50.7c23.7 11.9 33.3 40.7 21.5 64.4s-40.7 33.3-64.4 21.5L27.2 427.3c-1.1-.5-2.2-1.1-3.3-1.7c-4.9-2.8-9.2-6.4-12.6-10.6c-4.6-5.4-7.8-11.7-9.6-18.4c-3.3-12-1.9-25.2 4.8-36.6c.6-1.1 1.3-2.2 2-3.2L75.6 256.1c26.7-40.1 71.7-64.1 119.8-64.1l75.2 0c46.5 0 90.1 22.5 117.2 60.3l50.7 70.9c2.2 3 4 6.1 5.5 9.4c2.9 6.7 4.3 13.8 4 20.8c-.3 10.6-4.2 21-11.2 29.4zM320 332a44 44 0 1 0 -88 0 44 44 0 1 0 88 0z\"]\n};\nconst faRightToBracket = {\n prefix: 'fas',\n iconName: 'right-to-bracket',\n icon: [512, 512, [\"sign-in-alt\"], \"f2f6\", \"M217.9 105.9L340.7 228.7c7.2 7.2 11.3 17.1 11.3 27.3s-4.1 20.1-11.3 27.3L217.9 406.1c-6.4 6.4-15 9.9-24 9.9c-18.7 0-33.9-15.2-33.9-33.9l0-62.1L32 320c-17.7 0-32-14.3-32-32l0-64c0-17.7 14.3-32 32-32l128 0 0-62.1c0-18.7 15.2-33.9 33.9-33.9c9 0 17.6 3.6 24 9.9zM352 416l64 0c17.7 0 32-14.3 32-32l0-256c0-17.7-14.3-32-32-32l-64 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l64 0c53 0 96 43 96 96l0 256c0 53-43 96-96 96l-64 0c-17.7 0-32-14.3-32-32s14.3-32 32-32z\"]\n};\nconst faSignInAlt = faRightToBracket;\nconst faVenus = {\n prefix: 'fas',\n iconName: 'venus',\n icon: [384, 512, [9792], \"f221\", \"M80 176a112 112 0 1 1 224 0A112 112 0 1 1 80 176zM224 349.1c81.9-15 144-86.8 144-173.1C368 78.8 289.2 0 192 0S16 78.8 16 176c0 86.3 62.1 158.1 144 173.1l0 34.9-32 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l32 0 0 32c0 17.7 14.3 32 32 32s32-14.3 32-32l0-32 32 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-32 0 0-34.9z\"]\n};\nconst faPassport = {\n prefix: 'fas',\n iconName: 'passport',\n icon: [448, 512, [], \"f5ab\", \"M0 64C0 28.7 28.7 0 64 0L384 0c35.3 0 64 28.7 64 64l0 384c0 35.3-28.7 64-64 64L64 512c-35.3 0-64-28.7-64-64L0 64zM183 278.8c-27.9-13.2-48.4-39.4-53.7-70.8l39.1 0c1.6 30.4 7.7 53.8 14.6 70.8zm41.3 9.2l-.3 0-.3 0c-2.4-3.5-5.7-8.9-9.1-16.5c-6-13.6-12.4-34.3-14.2-63.5l47.1 0c-1.8 29.2-8.1 49.9-14.2 63.5c-3.4 7.6-6.7 13-9.1 16.5zm40.7-9.2c6.8-17.1 12.9-40.4 14.6-70.8l39.1 0c-5.3 31.4-25.8 57.6-53.7 70.8zM279.6 176c-1.6-30.4-7.7-53.8-14.6-70.8c27.9 13.2 48.4 39.4 53.7 70.8l-39.1 0zM223.7 96l.3 0 .3 0c2.4 3.5 5.7 8.9 9.1 16.5c6 13.6 12.4 34.3 14.2 63.5l-47.1 0c1.8-29.2 8.1-49.9 14.2-63.5c3.4-7.6 6.7-13 9.1-16.5zM183 105.2c-6.8 17.1-12.9 40.4-14.6 70.8l-39.1 0c5.3-31.4 25.8-57.6 53.7-70.8zM352 192A128 128 0 1 0 96 192a128 128 0 1 0 256 0zM112 384c-8.8 0-16 7.2-16 16s7.2 16 16 16l224 0c8.8 0 16-7.2 16-16s-7.2-16-16-16l-224 0z\"]\n};\nconst faThumbtackSlash = {\n prefix: 'fas',\n iconName: 'thumbtack-slash',\n icon: [640, 512, [\"thumb-tack-slash\"], \"e68f\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L481.4 352c9.8-.4 18.9-5.3 24.6-13.3c6-8.3 7.7-19.1 4.4-28.8l-1-3c-13.8-41.5-42.8-74.8-79.5-94.7L418.5 64 448 64c17.7 0 32-14.3 32-32s-14.3-32-32-32L192 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l29.5 0-6.1 79.5L38.8 5.1zM324.9 352L177.1 235.6c-20.9 18.9-37.2 43.3-46.5 71.3l-1 3c-3.3 9.8-1.6 20.5 4.4 28.8s15.7 13.3 26 13.3l164.9 0zM288 384l0 96c0 17.7 14.3 32 32 32s32-14.3 32-32l0-96-64 0z\"]\n};\nconst faThumbTackSlash = faThumbtackSlash;\nconst faHeartPulse = {\n prefix: 'fas',\n iconName: 'heart-pulse',\n icon: [512, 512, [\"heartbeat\"], \"f21e\", \"M228.3 469.1L47.6 300.4c-4.2-3.9-8.2-8.1-11.9-12.4l87 0c22.6 0 43-13.6 51.7-34.5l10.5-25.2 49.3 109.5c3.8 8.5 12.1 14 21.4 14.1s17.8-5 22-13.3L320 253.7l1.7 3.4c9.5 19 28.9 31 50.1 31l104.5 0c-3.7 4.3-7.7 8.5-11.9 12.4L283.7 469.1c-7.5 7-17.4 10.9-27.7 10.9s-20.2-3.9-27.7-10.9zM503.7 240l-132 0c-3 0-5.8-1.7-7.2-4.4l-23.2-46.3c-4.1-8.1-12.4-13.3-21.5-13.3s-17.4 5.1-21.5 13.3l-41.4 82.8L205.9 158.2c-3.9-8.7-12.7-14.3-22.2-14.1s-18.1 5.9-21.8 14.8l-31.8 76.3c-1.2 3-4.2 4.9-7.4 4.9L16 240c-2.6 0-5 .4-7.3 1.1C3 225.2 0 208.2 0 190.9l0-5.8c0-69.9 50.5-129.5 119.4-141C165 36.5 211.4 51.4 244 84l12 12 12-12c32.6-32.6 79-47.5 124.6-39.9C461.5 55.6 512 115.2 512 185.1l0 5.8c0 16.9-2.8 33.5-8.3 49.1z\"]\n};\nconst faHeartbeat = faHeartPulse;\nconst faPeopleCarryBox = {\n prefix: 'fas',\n iconName: 'people-carry-box',\n icon: [640, 512, [\"people-carry\"], \"f4ce\", \"M80 48a48 48 0 1 1 96 0A48 48 0 1 1 80 48zm64 193.7l0 65.1 51 51c7.1 7.1 11.8 16.2 13.4 26.1l15.2 90.9c2.9 17.4-8.9 33.9-26.3 36.8s-33.9-8.9-36.8-26.3l-14.3-85.9L66.8 320C54.8 308 48 291.7 48 274.7l0-88.1c0-32.4 26.2-58.6 58.6-58.6c24.1 0 46.5 12 59.9 32l47.4 71.1 10.1 5 0-76.2c0-17.7 14.3-32 32-32l128 0c17.7 0 32 14.3 32 32l0 76.2 10.1-5L473.5 160c13.3-20 35.8-32 59.9-32c32.4 0 58.6 26.2 58.6 58.6l0 88.1c0 17-6.7 33.3-18.7 45.3l-79.4 79.4-14.3 85.9c-2.9 17.4-19.4 29.2-36.8 26.3s-29.2-19.4-26.3-36.8l15.2-90.9c1.6-9.9 6.3-19 13.4-26.1l51-51 0-65.1-19 28.5c-4.6 7-11 12.6-18.5 16.3l-59.6 29.8c-2.4 1.3-4.9 2.2-7.6 2.8c-2.6 .6-5.3 .9-7.9 .8l-126.7 0c-2.5 .1-5-.2-7.5-.7c-2.9-.6-5.6-1.6-8.1-3l-59.5-29.8c-7.5-3.7-13.8-9.4-18.5-16.3l-19-28.5zM2.3 468.1L50.1 348.6l49.2 49.2-37.6 94c-6.6 16.4-25.2 24.4-41.6 17.8S-4.3 484.5 2.3 468.1zM512 0a48 48 0 1 1 0 96 48 48 0 1 1 0-96zm77.9 348.6l47.8 119.5c6.6 16.4-1.4 35-17.8 41.6s-35-1.4-41.6-17.8l-37.6-94 49.2-49.2z\"]\n};\nconst faPeopleCarry = faPeopleCarryBox;\nconst faTemperatureHigh = {\n prefix: 'fas',\n iconName: 'temperature-high',\n icon: [512, 512, [], \"f769\", \"M416 64a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0 128A96 96 0 1 0 416 0a96 96 0 1 0 0 192zM96 112c0-26.5 21.5-48 48-48s48 21.5 48 48l0 164.5c0 17.3 7.1 31.9 15.3 42.5C217.8 332.6 224 349.5 224 368c0 44.2-35.8 80-80 80s-80-35.8-80-80c0-18.5 6.2-35.4 16.7-48.9C88.9 308.4 96 293.8 96 276.5L96 112zM144 0C82.1 0 32 50.2 32 112l0 164.4c0 .1-.1 .3-.2 .6c-.2 .6-.8 1.6-1.7 2.8C11.2 304.2 0 334.8 0 368c0 79.5 64.5 144 144 144s144-64.5 144-144c0-33.2-11.2-63.8-30.1-88.1c-.9-1.2-1.5-2.2-1.7-2.8c-.1-.3-.2-.5-.2-.6L256 112C256 50.2 205.9 0 144 0zm0 416c26.5 0 48-21.5 48-48c0-20.9-13.4-38.7-32-45.3L160 112c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 210.7c-18.6 6.6-32 24.4-32 45.3c0 26.5 21.5 48 48 48z\"]\n};\nconst faMicrochip = {\n prefix: 'fas',\n iconName: 'microchip',\n icon: [512, 512, [], \"f2db\", \"M176 24c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 40c-35.3 0-64 28.7-64 64l-40 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l40 0 0 56-40 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l40 0 0 56-40 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l40 0c0 35.3 28.7 64 64 64l0 40c0 13.3 10.7 24 24 24s24-10.7 24-24l0-40 56 0 0 40c0 13.3 10.7 24 24 24s24-10.7 24-24l0-40 56 0 0 40c0 13.3 10.7 24 24 24s24-10.7 24-24l0-40c35.3 0 64-28.7 64-64l40 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-40 0 0-56 40 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-40 0 0-56 40 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-40 0c0-35.3-28.7-64-64-64l0-40c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 40-56 0 0-40c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 40-56 0 0-40zM160 128l192 0c17.7 0 32 14.3 32 32l0 192c0 17.7-14.3 32-32 32l-192 0c-17.7 0-32-14.3-32-32l0-192c0-17.7 14.3-32 32-32zm192 32l-192 0 0 192 192 0 0-192z\"]\n};\nconst faCrown = {\n prefix: 'fas',\n iconName: 'crown',\n icon: [576, 512, [128081], \"f521\", \"M309 106c11.4-7 19-19.7 19-34c0-22.1-17.9-40-40-40s-40 17.9-40 40c0 14.4 7.6 27 19 34L209.7 220.6c-9.1 18.2-32.7 23.4-48.6 10.7L72 160c5-6.7 8-15 8-24c0-22.1-17.9-40-40-40S0 113.9 0 136s17.9 40 40 40c.2 0 .5 0 .7 0L86.4 427.4c5.5 30.4 32 52.6 63 52.6l277.2 0c30.9 0 57.4-22.1 63-52.6L535.3 176c.2 0 .5 0 .7 0c22.1 0 40-17.9 40-40s-17.9-40-40-40s-40 17.9-40 40c0 9 3 17.3 8 24l-89.1 71.3c-15.9 12.7-39.5 7.5-48.6-10.7L309 106z\"]\n};\nconst faWeightHanging = {\n prefix: 'fas',\n iconName: 'weight-hanging',\n icon: [512, 512, [], \"f5cd\", \"M224 96a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm122.5 32c3.5-10 5.5-20.8 5.5-32c0-53-43-96-96-96s-96 43-96 96c0 11.2 1.9 22 5.5 32L120 128c-22 0-41.2 15-46.6 36.4l-72 288c-3.6 14.3-.4 29.5 8.7 41.2S33.2 512 48 512l416 0c14.8 0 28.7-6.8 37.8-18.5s12.3-26.8 8.7-41.2l-72-288C433.2 143 414 128 392 128l-45.5 0z\"]\n};\nconst faXmarksLines = {\n prefix: 'fas',\n iconName: 'xmarks-lines',\n icon: [640, 512, [], \"e59a\", \"M32 32C14.3 32 0 46.3 0 64S14.3 96 32 96l576 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L32 32zm0 384c-17.7 0-32 14.3-32 32s14.3 32 32 32l576 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L32 416zM7 167c-9.4 9.4-9.4 24.6 0 33.9l55 55L7 311c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l55-55 55 55c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-55-55 55-55c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-55 55L41 167c-9.4-9.4-24.6-9.4-33.9 0zM265 167c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l55 55-55 55c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l55-55 55 55c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-55-55 55-55c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-55 55-55-55zM455 167c-9.4 9.4-9.4 24.6 0 33.9l55 55-55 55c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l55-55 55 55c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-55-55 55-55c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-55 55-55-55c-9.4-9.4-24.6-9.4-33.9 0z\"]\n};\nconst faFilePrescription = {\n prefix: 'fas',\n iconName: 'file-prescription',\n icon: [384, 512, [], \"f572\", \"M64 0C28.7 0 0 28.7 0 64L0 448c0 35.3 28.7 64 64 64l256 0c35.3 0 64-28.7 64-64l0-288-128 0c-17.7 0-32-14.3-32-32L224 0 64 0zM256 0l0 128 128 0L256 0zM104 196l72 0c33.1 0 60 26.9 60 60c0 25.5-15.9 47.2-38.3 55.9l43 40.3 33.8-31c8.1-7.5 20.8-6.9 28.3 1.2s6.9 20.8-1.2 28.3L270 379.7l31.7 29.7c8.1 7.6 8.5 20.2 .9 28.3s-20.2 8.5-28.3 .9l-33.9-31.8-34.9 32c-8.1 7.5-20.8 6.9-28.3-1.2s-6.9-20.8 1.2-28.3l32.6-29.9-64.8-60.8c-.9-.8-1.6-1.7-2.3-2.6l-20 0 0 44c0 11-9 20-20 20s-20-9-20-20l0-64 0-80c0-11 9-20 20-20zm72 80c11 0 20-9 20-20s-9-20-20-20l-52 0 0 40 52 0z\"]\n};\nconst faWeightScale = {\n prefix: 'fas',\n iconName: 'weight-scale',\n icon: [512, 512, [\"weight\"], \"f496\", \"M128 176a128 128 0 1 1 256 0 128 128 0 1 1 -256 0zM391.8 64C359.5 24.9 310.7 0 256 0S152.5 24.9 120.2 64L64 64C28.7 64 0 92.7 0 128L0 448c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64l-56.2 0zM296 224c0-10.6-4.1-20.2-10.9-27.4l33.6-78.3c3.5-8.1-.3-17.5-8.4-21s-17.5 .3-21 8.4L255.7 184c-22 .1-39.7 18-39.7 40c0 22.1 17.9 40 40 40s40-17.9 40-40z\"]\n};\nconst faWeight = faWeightScale;\nconst faUserGroup = {\n prefix: 'fas',\n iconName: 'user-group',\n icon: [640, 512, [128101, \"user-friends\"], \"f500\", \"M96 128a128 128 0 1 1 256 0A128 128 0 1 1 96 128zM0 482.3C0 383.8 79.8 304 178.3 304l91.4 0C368.2 304 448 383.8 448 482.3c0 16.4-13.3 29.7-29.7 29.7L29.7 512C13.3 512 0 498.7 0 482.3zM609.3 512l-137.8 0c5.4-9.4 8.6-20.3 8.6-32l0-8c0-60.7-27.1-115.2-69.8-151.8c2.4-.1 4.7-.2 7.1-.2l61.4 0C567.8 320 640 392.2 640 481.3c0 17-13.8 30.7-30.7 30.7zM432 256c-31 0-59-12.6-79.3-32.9C372.4 196.5 384 163.6 384 128c0-26.8-6.6-52.1-18.3-74.3C384.3 40.1 407.2 32 432 32c61.9 0 112 50.1 112 112s-50.1 112-112 112z\"]\n};\nconst faUserFriends = faUserGroup;\nconst faArrowUpAZ = {\n prefix: 'fas',\n iconName: 'arrow-up-a-z',\n icon: [576, 512, [\"sort-alpha-up\"], \"f15e\", \"M183.6 42.4C177.5 35.8 169 32 160 32s-17.5 3.8-23.6 10.4l-88 96c-11.9 13-11.1 33.3 2 45.2s33.3 11.1 45.2-2L128 146.3 128 448c0 17.7 14.3 32 32 32s32-14.3 32-32l0-301.7 32.4 35.4c11.9 13 32.2 13.9 45.2 2s13.9-32.2 2-45.2l-88-96zM320 320c0 17.7 14.3 32 32 32l50.7 0-73.4 73.4c-9.2 9.2-11.9 22.9-6.9 34.9s16.6 19.8 29.6 19.8l128 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-50.7 0 73.4-73.4c9.2-9.2 11.9-22.9 6.9-34.9s-16.6-19.8-29.6-19.8l-128 0c-17.7 0-32 14.3-32 32zM416 32c-12.1 0-23.2 6.8-28.6 17.7l-64 128-16 32c-7.9 15.8-1.5 35 14.3 42.9s35 1.5 42.9-14.3l7.2-14.3 88.4 0 7.2 14.3c7.9 15.8 27.1 22.2 42.9 14.3s22.2-27.1 14.3-42.9l-16-32-64-128C439.2 38.8 428.1 32 416 32zM395.8 176L416 135.6 436.2 176l-40.4 0z\"]\n};\nconst faSortAlphaUp = faArrowUpAZ;\nconst faChessKnight = {\n prefix: 'fas',\n iconName: 'chess-knight',\n icon: [448, 512, [9822], \"f441\", \"M96 48L82.7 61.3C70.7 73.3 64 89.5 64 106.5l0 132.4c0 10.7 5.3 20.7 14.2 26.6l10.6 7c14.3 9.6 32.7 10.7 48.1 3l3.2-1.6c2.6-1.3 5-2.8 7.3-4.5l49.4-37c6.6-5 15.7-5 22.3 0c10.2 7.7 9.9 23.1-.7 30.3L90.4 350C73.9 361.3 64 380 64 400l320 0 28.9-159c2.1-11.3 3.1-22.8 3.1-34.3l0-14.7C416 86 330 0 224 0L83.8 0C72.9 0 64 8.9 64 19.8c0 7.5 4.2 14.3 10.9 17.7L96 48zm24 68a20 20 0 1 1 40 0 20 20 0 1 1 -40 0zM22.6 473.4c-4.2 4.2-6.6 10-6.6 16C16 501.9 26.1 512 38.6 512l370.7 0c12.5 0 22.6-10.1 22.6-22.6c0-6-2.4-11.8-6.6-16L384 432 64 432 22.6 473.4z\"]\n};\nconst faFaceLaughSquint = {\n prefix: 'fas',\n iconName: 'face-laugh-squint',\n icon: [512, 512, [\"laugh-squint\"], \"f59b\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM96.8 314.1c-3.8-13.7 7.4-26.1 21.6-26.1l275.2 0c14.2 0 25.5 12.4 21.6 26.1C396.2 382 332.1 432 256 432s-140.2-50-159.2-117.9zm36.7-199.4l89.9 47.9c10.7 5.7 10.7 21.1 0 26.8l-89.9 47.9c-7.9 4.2-17.5-1.5-17.5-10.5c0-2.8 1-5.5 2.8-7.6l36-43.2-36-43.2c-1.8-2.1-2.8-4.8-2.8-7.6c0-9 9.6-14.7 17.5-10.5zM396 125.1c0 2.8-1 5.5-2.8 7.6l-36 43.2 36 43.2c1.8 2.1 2.8 4.8 2.8 7.6c0 9-9.6 14.7-17.5 10.5l-89.9-47.9c-10.7-5.7-10.7-21.1 0-26.8l89.9-47.9c7.9-4.2 17.5 1.5 17.5 10.5z\"]\n};\nconst faLaughSquint = faFaceLaughSquint;\nconst faWheelchair = {\n prefix: 'fas',\n iconName: 'wheelchair',\n icon: [512, 512, [], \"f193\", \"M192 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM120.5 247.2c12.4-4.7 18.7-18.5 14-30.9s-18.5-18.7-30.9-14C43.1 225.1 0 283.5 0 352c0 88.4 71.6 160 160 160c61.2 0 114.3-34.3 141.2-84.7c6.2-11.7 1.8-26.2-9.9-32.5s-26.2-1.8-32.5 9.9C240 440 202.8 464 160 464C98.1 464 48 413.9 48 352c0-47.9 30.1-88.8 72.5-104.8zM259.8 176l-1.9-9.7c-4.5-22.3-24-38.3-46.8-38.3c-30.1 0-52.7 27.5-46.8 57l23.1 115.5c6 29.9 32.2 51.4 62.8 51.4l5.1 0c.4 0 .8 0 1.3 0l94.1 0c6.7 0 12.6 4.1 15 10.4L402 459.2c6 16.1 23.8 24.6 40.1 19.1l48-16c16.8-5.6 25.8-23.7 20.2-40.5s-23.7-25.8-40.5-20.2l-18.7 6.2-25.5-68c-11.7-31.2-41.6-51.9-74.9-51.9l-68.5 0-9.6-48 63.4 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-76.2 0z\"]\n};\nconst faCircleArrowUp = {\n prefix: 'fas',\n iconName: 'circle-arrow-up',\n icon: [512, 512, [\"arrow-circle-up\"], \"f0aa\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM385 215c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-71-71L280 392c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-214.1-71 71c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9L239 103c9.4-9.4 24.6-9.4 33.9 0L385 215z\"]\n};\nconst faArrowCircleUp = faCircleArrowUp;\nconst faToggleOn = {\n prefix: 'fas',\n iconName: 'toggle-on',\n icon: [576, 512, [], \"f205\", \"M192 64C86 64 0 150 0 256S86 448 192 448l192 0c106 0 192-86 192-192s-86-192-192-192L192 64zm192 96a96 96 0 1 1 0 192 96 96 0 1 1 0-192z\"]\n};\nconst faPersonWalking = {\n prefix: 'fas',\n iconName: 'person-walking',\n icon: [320, 512, [128694, \"walking\"], \"f554\", \"M160 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM126.5 199.3c-1 .4-1.9 .8-2.9 1.2l-8 3.5c-16.4 7.3-29 21.2-34.7 38.2l-2.6 7.8c-5.6 16.8-23.7 25.8-40.5 20.2s-25.8-23.7-20.2-40.5l2.6-7.8c11.4-34.1 36.6-61.9 69.4-76.5l8-3.5c20.8-9.2 43.3-14 66.1-14c44.6 0 84.8 26.8 101.9 67.9L281 232.7l21.4 10.7c15.8 7.9 22.2 27.1 14.3 42.9s-27.1 22.2-42.9 14.3L247 287.3c-10.3-5.2-18.4-13.8-22.8-24.5l-9.6-23-19.3 65.5 49.5 54c5.4 5.9 9.2 13 11.2 20.8l23 92.1c4.3 17.1-6.1 34.5-23.3 38.8s-34.5-6.1-38.8-23.3l-22-88.1-70.7-77.1c-14.8-16.1-20.3-38.6-14.7-59.7l16.9-63.5zM68.7 398l25-62.4c2.1 3 4.5 5.8 7 8.6l40.7 44.4-14.5 36.2c-2.4 6-6 11.5-10.6 16.1L54.6 502.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L68.7 398z\"]\n};\nconst faWalking = faPersonWalking;\nconst faL = {\n prefix: 'fas',\n iconName: 'l',\n icon: [320, 512, [108], \"4c\", \"M64 32c17.7 0 32 14.3 32 32l0 352 192 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L64 480c-17.7 0-32-14.3-32-32L32 64c0-17.7 14.3-32 32-32z\"]\n};\nconst faFire = {\n prefix: 'fas',\n iconName: 'fire',\n icon: [448, 512, [128293], \"f06d\", \"M159.3 5.4c7.8-7.3 19.9-7.2 27.7 .1c27.6 25.9 53.5 53.8 77.7 84c11-14.4 23.5-30.1 37-42.9c7.9-7.4 20.1-7.4 28 .1c34.6 33 63.9 76.6 84.5 118c20.3 40.8 33.8 82.5 33.8 111.9C448 404.2 348.2 512 224 512C98.4 512 0 404.1 0 276.5c0-38.4 17.8-85.3 45.4-131.7C73.3 97.7 112.7 48.6 159.3 5.4zM225.7 416c25.3 0 47.7-7 68.8-21c42.1-29.4 53.4-88.2 28.1-134.4c-4.5-9-16-9.6-22.5-2l-25.2 29.3c-6.6 7.6-18.5 7.4-24.7-.5c-16.5-21-46-58.5-62.8-79.8c-6.3-8-18.3-8.1-24.7-.1c-33.8 42.5-50.8 69.3-50.8 99.4C112 375.4 162.6 416 225.7 416z\"]\n};\nconst faBedPulse = {\n prefix: 'fas',\n iconName: 'bed-pulse',\n icon: [640, 512, [\"procedures\"], \"f487\", \"M483.2 9.6L524 64l92 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-104 0c-7.6 0-14.7-3.6-19.2-9.6L468.7 70.3l-47 99.9c-3.7 7.8-11.3 13.1-19.9 13.7s-16.9-3.4-21.7-10.6L339.2 112 216 112c-13.3 0-24-10.7-24-24s10.7-24 24-24l136 0c8 0 15.5 4 20 10.7l24.4 36.6 45.9-97.5C445.9 6.2 453.2 1 461.6 .1s16.6 2.7 21.6 9.5zM320 160l12.7 0 20.7 31.1c11.2 16.8 30.6 26.3 50.7 24.8s37.9-13.7 46.5-32L461.9 160l82.1 0c53 0 96 43 96 96l0 224c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-32-224 0-32 0L64 448l0 32c0 17.7-14.3 32-32 32s-32-14.3-32-32L0 96C0 78.3 14.3 64 32 64s32 14.3 32 32l0 256 224 0 0-160c0-17.7 14.3-32 32-32zm-144 0a80 80 0 1 1 0 160 80 80 0 1 1 0-160z\"]\n};\nconst faProcedures = faBedPulse;\nconst faShuttleSpace = {\n prefix: 'fas',\n iconName: 'shuttle-space',\n icon: [640, 512, [\"space-shuttle\"], \"f197\", \"M130 480c40.6 0 80.4-11 115.2-31.9L352 384l-224 0 0 96 2 0zM352 128L245.2 63.9C210.4 43 170.6 32 130 32l-2 0 0 96 224 0zM96 128l0-96L80 32C53.5 32 32 53.5 32 80l0 48 8 0c-22.1 0-40 17.9-40 40l0 16L0 328l0 16c0 22.1 17.9 40 40 40l-8 0 0 48c0 26.5 21.5 48 48 48l16 0 0-96 8 0c26.2 0 49.4-12.6 64-32l288 0c69.3 0 135-22.7 179.2-81.6c6.4-8.5 6.4-20.3 0-28.8C591 182.7 525.3 160 456 160l-288 0c-14.6-19.4-37.8-32-64-32l-8 0zM512 243.6l0 24.9c0 19.6-15.9 35.6-35.6 35.6c-2.5 0-4.4-2-4.4-4.4l0-87.1c0-2.5 2-4.4 4.4-4.4c19.6 0 35.6 15.9 35.6 35.6z\"]\n};\nconst faSpaceShuttle = faShuttleSpace;\nconst faFaceLaugh = {\n prefix: 'fas',\n iconName: 'face-laugh',\n icon: [512, 512, [\"laugh\"], \"f599\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM96.8 314.1c-3.8-13.7 7.4-26.1 21.6-26.1l275.2 0c14.2 0 25.5 12.4 21.6 26.1C396.2 382 332.1 432 256 432s-140.2-50-159.2-117.9zM144.4 192a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm192-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nconst faLaugh = faFaceLaugh;\nconst faFolderOpen = {\n prefix: 'fas',\n iconName: 'folder-open',\n icon: [576, 512, [128194, 128449, 61717], \"f07c\", \"M88.7 223.8L0 375.8 0 96C0 60.7 28.7 32 64 32l117.5 0c17 0 33.3 6.7 45.3 18.7l26.5 26.5c12 12 28.3 18.7 45.3 18.7L416 96c35.3 0 64 28.7 64 64l0 32-336 0c-22.8 0-43.8 12.1-55.3 31.8zm27.6 16.1C122.1 230 132.6 224 144 224l400 0c11.5 0 22 6.1 27.7 16.1s5.7 22.2-.1 32.1l-112 192C453.9 474 443.4 480 432 480L32 480c-11.5 0-22-6.1-27.7-16.1s-5.7-22.2 .1-32.1l112-192z\"]\n};\nconst faHeartCirclePlus = {\n prefix: 'fas',\n iconName: 'heart-circle-plus',\n icon: [576, 512, [], \"e500\", \"M47.6 300.4L228.3 469.1c7.5 7 17.4 10.9 27.7 10.9s20.2-3.9 27.7-10.9l2.6-2.4C267.2 438.6 256 404.6 256 368c0-97.2 78.8-176 176-176c28.3 0 55 6.7 78.7 18.5c.9-6.5 1.3-13 1.3-19.6l0-5.8c0-69.9-50.5-129.5-119.4-141C347 36.5 300.6 51.4 268 84L256 96 244 84c-32.6-32.6-79-47.5-124.6-39.9C50.5 55.6 0 115.2 0 185.1l0 5.8c0 41.5 17.2 81.2 47.6 109.5zM432 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm16-208l0 48 48 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-48 0 0 48c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-48-48 0c-8.8 0-16-7.2-16-16s7.2-16 16-16l48 0 0-48c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nconst faCodeFork = {\n prefix: 'fas',\n iconName: 'code-fork',\n icon: [448, 512, [], \"e13b\", \"M80 104a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm80-24c0 32.8-19.7 61-48 73.3l0 38.7c0 17.7 14.3 32 32 32l160 0c17.7 0 32-14.3 32-32l0-38.7C307.7 141 288 112.8 288 80c0-44.2 35.8-80 80-80s80 35.8 80 80c0 32.8-19.7 61-48 73.3l0 38.7c0 53-43 96-96 96l-48 0 0 70.7c28.3 12.3 48 40.5 48 73.3c0 44.2-35.8 80-80 80s-80-35.8-80-80c0-32.8 19.7-61 48-73.3l0-70.7-48 0c-53 0-96-43-96-96l0-38.7C19.7 141 0 112.8 0 80C0 35.8 35.8 0 80 0s80 35.8 80 80zm208 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM248 432a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nconst faCity = {\n prefix: 'fas',\n iconName: 'city',\n icon: [640, 512, [127961], \"f64f\", \"M480 48c0-26.5-21.5-48-48-48L336 0c-26.5 0-48 21.5-48 48l0 48-64 0 0-72c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 72-64 0 0-72c0-13.3-10.7-24-24-24S64 10.7 64 24l0 72L48 96C21.5 96 0 117.5 0 144l0 96L0 464c0 26.5 21.5 48 48 48l256 0 32 0 96 0 160 0c26.5 0 48-21.5 48-48l0-224c0-26.5-21.5-48-48-48l-112 0 0-144zm96 320l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32c0-8.8 7.2-16 16-16l32 0c8.8 0 16 7.2 16 16zM240 416l-32 0c-8.8 0-16-7.2-16-16l0-32c0-8.8 7.2-16 16-16l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16zM128 400c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32c0-8.8 7.2-16 16-16l32 0c8.8 0 16 7.2 16 16l0 32zM560 256c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32c0-8.8 7.2-16 16-16l32 0zM256 176l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32c0-8.8 7.2-16 16-16l32 0c8.8 0 16 7.2 16 16zM112 160c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32c0-8.8 7.2-16 16-16l32 0zM256 304c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32c0-8.8 7.2-16 16-16l32 0c8.8 0 16 7.2 16 16l0 32zM112 320l-32 0c-8.8 0-16-7.2-16-16l0-32c0-8.8 7.2-16 16-16l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16zm304-48l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32c0-8.8 7.2-16 16-16l32 0c8.8 0 16 7.2 16 16zM400 64c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32c0-8.8 7.2-16 16-16l32 0zm16 112l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32c0-8.8 7.2-16 16-16l32 0c8.8 0 16 7.2 16 16z\"]\n};\nconst faMicrophoneLines = {\n prefix: 'fas',\n iconName: 'microphone-lines',\n icon: [384, 512, [127897, \"microphone-alt\"], \"f3c9\", \"M96 96l0 160c0 53 43 96 96 96s96-43 96-96l-80 0c-8.8 0-16-7.2-16-16s7.2-16 16-16l80 0 0-32-80 0c-8.8 0-16-7.2-16-16s7.2-16 16-16l80 0 0-32-80 0c-8.8 0-16-7.2-16-16s7.2-16 16-16l80 0c0-53-43-96-96-96S96 43 96 96zM320 240l0 16c0 70.7-57.3 128-128 128s-128-57.3-128-128l0-40c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 40c0 89.1 66.2 162.7 152 174.4l0 33.6-48 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l72 0 72 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-48 0 0-33.6c85.8-11.7 152-85.3 152-174.4l0-40c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 24z\"]\n};\nconst faMicrophoneAlt = faMicrophoneLines;\nconst faPepperHot = {\n prefix: 'fas',\n iconName: 'pepper-hot',\n icon: [512, 512, [127798], \"f816\", \"M428.3 3c11.6-6.4 26.2-2.3 32.6 9.3l4.8 8.7c19.3 34.7 19.8 75.7 3.4 110C495.8 159.6 512 197.9 512 240c0 18.5-3.1 36.3-8.9 52.8c-6.1 17.3-28.5 16.3-36.8-.1l-11.7-23.4c-4.1-8.1-12.4-13.3-21.5-13.3L360 256c-13.3 0-24-10.7-24-24l0-80c0-13.3-10.7-24-24-24l-17.1 0c-21.3 0-30-23.9-10.8-32.9C304.7 85.4 327.7 80 352 80c28.3 0 54.8 7.3 77.8 20.2c5.5-18.2 3.7-38.4-6-55.8L419 35.7c-6.4-11.6-2.3-26.2 9.3-32.6zM171.2 345.5L264 160l40 0 0 80c0 26.5 21.5 48 48 48l76.2 0 23.9 47.8C372.3 443.9 244.3 512 103.2 512l-58.8 0C19.9 512 0 492.1 0 467.6c0-20.8 14.5-38.8 34.8-43.3l49.8-11.1c37.6-8.4 69.5-33.2 86.7-67.7z\"]\n};\nconst faUnlock = {\n prefix: 'fas',\n iconName: 'unlock',\n icon: [448, 512, [128275], \"f09c\", \"M144 144c0-44.2 35.8-80 80-80c31.9 0 59.4 18.6 72.3 45.7c7.6 16 26.7 22.8 42.6 15.2s22.8-26.7 15.2-42.6C331 33.7 281.5 0 224 0C144.5 0 80 64.5 80 144l0 48-16 0c-35.3 0-64 28.7-64 64L0 448c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-192c0-35.3-28.7-64-64-64l-240 0 0-48z\"]\n};\nconst faColonSign = {\n prefix: 'fas',\n iconName: 'colon-sign',\n icon: [384, 512, [], \"e140\", \"M255 39.8c4.3-17.1-6.1-34.5-23.3-38.8S197.2 7.1 193 24.2L181.9 68.6C96.1 87.8 32 164.4 32 256c0 58.1 25.8 110.2 66.7 145.4L81 472.2c-4.3 17.1 6.1 34.5 23.3 38.8s34.5-6.1 38.8-23.3l13-52.1c9 3.4 18.4 6.2 28 8.2L177 472.2c-4.3 17.1 6.1 34.5 23.3 38.8s34.5-6.1 38.8-23.3l10.4-41.4c33.4-4.4 64.1-17.4 89.8-36.7c14.1-10.6 17-30.7 6.4-44.8s-30.7-17-44.8-6.4c-10.2 7.7-21.7 13.9-34 18.3L321 160c9.4-.3 18.5-4.7 24.6-12.8c10.6-14.1 7.8-34.2-6.4-44.8c-1.1-.8-2.2-1.6-3.3-2.4L351 39.8c4.3-17.1-6.1-34.5-23.3-38.8S293.2 7.1 289 24.2L277.2 71.5c-9.3-2.7-18.8-4.6-28.6-5.9L255 39.8zM163.2 143.3L117.3 326.8C103.9 306.5 96 282.2 96 256c0-48.7 27.2-91 67.2-112.7zm8.6 229.5l61.1-244.6c9.9 .7 19.5 2.5 28.7 5.3l-62 248.1c-9.7-1.9-19-4.8-27.8-8.8z\"]\n};\nconst faHeadset = {\n prefix: 'fas',\n iconName: 'headset',\n icon: [512, 512, [], \"f590\", \"M256 48C141.1 48 48 141.1 48 256l0 40c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-40C0 114.6 114.6 0 256 0S512 114.6 512 256l0 144.1c0 48.6-39.4 88-88.1 88L313.6 488c-8.3 14.3-23.8 24-41.6 24l-32 0c-26.5 0-48-21.5-48-48s21.5-48 48-48l32 0c17.8 0 33.3 9.7 41.6 24l110.4 .1c22.1 0 40-17.9 40-40L464 256c0-114.9-93.1-208-208-208zM144 208l16 0c17.7 0 32 14.3 32 32l0 112c0 17.7-14.3 32-32 32l-16 0c-35.3 0-64-28.7-64-64l0-48c0-35.3 28.7-64 64-64zm224 0c35.3 0 64 28.7 64 64l0 48c0 35.3-28.7 64-64 64l-16 0c-17.7 0-32-14.3-32-32l0-112c0-17.7 14.3-32 32-32l16 0z\"]\n};\nconst faStoreSlash = {\n prefix: 'fas',\n iconName: 'store-slash',\n icon: [640, 512, [], \"e071\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7l-86.8-68 0-17.1 0-131.4c-4 1-8 1.8-12.3 2.3c0 0 0 0-.1 0c-5.3 .7-10.7 1.1-16.2 1.1c-12.4 0-24.3-1.9-35.4-5.3l0 100.3L301.2 210.7c7-4.4 13.3-9.7 18.8-15.7c15.9 17.6 39.1 29 65.2 29c26.2 0 49.3-11.4 65.2-29c16 17.6 39.1 29 65.2 29c4.1 0 8.1-.3 12.1-.8c55.5-7.4 81.8-72.5 52.1-119.4L522.3 13.1C517.2 5 508.1 0 498.4 0L141.6 0c-9.7 0-18.8 5-23.9 13.1l-22.7 36L38.8 5.1zm73.4 218.1c4 .5 8.1 .8 12.1 .8c11 0 21.4-2 31-5.6L48.9 134.5c-6.1 40.6 19.5 82.8 63.3 88.7zM160 384l0-133.4c-11.2 3.5-23.2 5.4-35.6 5.4c-5.5 0-11-.4-16.3-1.1l-.1 0c-4.1-.6-8.1-1.3-12-2.3L96 384l0 64c0 35.3 28.7 64 64 64l320 0c12.9 0 24.8-3.8 34.9-10.3L365.5 384 160 384z\"]\n};\nconst faRoadCircleXmark = {\n prefix: 'fas',\n iconName: 'road-circle-xmark',\n icon: [640, 512, [], \"e566\", \"M213.2 32L288 32l0 64c0 17.7 14.3 32 32 32s32-14.3 32-32l0-64 74.8 0c27.1 0 51.3 17.1 60.3 42.6l42.7 120.6c-10.9-2.1-22.2-3.2-33.8-3.2c-59.5 0-112.1 29.6-144 74.8l0-42.8c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 64c0 17.7 14.3 32 32 32c2.3 0 4.6-.3 6.8-.7c-4.5 15.5-6.8 31.8-6.8 48.7c0 5.4 .2 10.7 .7 16l-.7 0c-17.7 0-32 14.3-32 32l0 64L86.6 480C56.5 480 32 455.5 32 425.4c0-6.2 1.1-12.4 3.1-18.2L152.9 74.6C162 49.1 186.1 32 213.2 32zM496 224a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm22.6 144l36.7-36.7c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L496 345.4l-36.7-36.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L473.4 368l-36.7 36.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L496 390.6l36.7 36.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L518.6 368z\"]\n};\nconst faUserMinus = {\n prefix: 'fas',\n iconName: 'user-minus',\n icon: [640, 512, [], \"f503\", \"M96 128a128 128 0 1 1 256 0A128 128 0 1 1 96 128zM0 482.3C0 383.8 79.8 304 178.3 304l91.4 0C368.2 304 448 383.8 448 482.3c0 16.4-13.3 29.7-29.7 29.7L29.7 512C13.3 512 0 498.7 0 482.3zM472 200l144 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-144 0c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nconst faMarsStrokeUp = {\n prefix: 'fas',\n iconName: 'mars-stroke-up',\n icon: [320, 512, [9896, \"mars-stroke-v\"], \"f22a\", \"M148.7 4.7c6.2-6.2 16.4-6.2 22.6 0l64 64c4.6 4.6 5.9 11.5 3.5 17.4s-8.3 9.9-14.8 9.9l-40 0 0 24 32 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-32 0 0 24c0 .6 0 1.2-.1 1.8c77 11.6 136.1 78 136.1 158.2c0 88.4-71.6 160-160 160S0 440.4 0 352c0-80.2 59.1-146.7 136.1-158.2c0-.6-.1-1.2-.1-1.8l0-24-32 0c-13.3 0-24-10.7-24-24s10.7-24 24-24l32 0 0-24L96 96c-6.5 0-12.3-3.9-14.8-9.9s-1.1-12.9 3.5-17.4l64-64zM256 352A96 96 0 1 0 64 352a96 96 0 1 0 192 0z\"]\n};\nconst faMarsStrokeV = faMarsStrokeUp;\nconst faChampagneGlasses = {\n prefix: 'fas',\n iconName: 'champagne-glasses',\n icon: [640, 512, [129346, \"glass-cheers\"], \"f79f\", \"M155.6 17.3C163 3 179.9-3.6 195 1.9L320 47.5l125-45.6c15.1-5.5 32 1.1 39.4 15.4l78.8 152.9c28.8 55.8 10.3 122.3-38.5 156.6L556.1 413l41-15c16.6-6 35 2.5 41 19.1s-2.5 35-19.1 41l-71.1 25.9L476.8 510c-16.6 6.1-35-2.5-41-19.1s2.5-35 19.1-41l41-15-31.3-86.2c-59.4 5.2-116.2-34-130-95.2L320 188.8l-14.6 64.7c-13.8 61.3-70.6 100.4-130 95.2l-31.3 86.2 41 15c16.6 6 25.2 24.4 19.1 41s-24.4 25.2-41 19.1L92.2 484.1 21.1 458.2c-16.6-6.1-25.2-24.4-19.1-41s24.4-25.2 41-19.1l41 15 31.3-86.2C66.5 292.5 48.1 226 76.9 170.2L155.6 17.3zm44 54.4l-27.2 52.8L261.6 157l13.1-57.9L199.6 71.7zm240.9 0L365.4 99.1 378.5 157l89.2-32.5L440.5 71.7z\"]\n};\nconst faGlassCheers = faChampagneGlasses;\nconst faClipboard = {\n prefix: 'fas',\n iconName: 'clipboard',\n icon: [384, 512, [128203], \"f328\", \"M192 0c-41.8 0-77.4 26.7-90.5 64L64 64C28.7 64 0 92.7 0 128L0 448c0 35.3 28.7 64 64 64l256 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64l-37.5 0C269.4 26.7 233.8 0 192 0zm0 64a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM112 192l160 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-160 0c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nconst faHouseCircleExclamation = {\n prefix: 'fas',\n iconName: 'house-circle-exclamation',\n icon: [640, 512, [], \"e50a\", \"M320.7 352c8.1-89.7 83.5-160 175.3-160c8.9 0 17.6 .7 26.1 1.9L309.5 7c-6-5-14-7-21-7s-15 1-22 8L10 231.5c-7 7-10 15-10 24c0 18 14 32.1 32 32.1l32 0 0 69.7c-.1 .9-.1 1.8-.1 2.8l0 112c0 22.1 17.9 40 40 40l16 0c1.2 0 2.4-.1 3.6-.2c1.5 .1 3 .2 4.5 .2l31.9 0 24 0c22.1 0 40-17.9 40-40l0-24 0-64c0-17.7 14.3-32 32-32l64 0 .7 0zM496 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm0-96a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0-144c8.8 0 16 7.2 16 16l0 80c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-80c0-8.8 7.2-16 16-16z\"]\n};\nconst faFileArrowUp = {\n prefix: 'fas',\n iconName: 'file-arrow-up',\n icon: [384, 512, [\"file-upload\"], \"f574\", \"M64 0C28.7 0 0 28.7 0 64L0 448c0 35.3 28.7 64 64 64l256 0c35.3 0 64-28.7 64-64l0-288-128 0c-17.7 0-32-14.3-32-32L224 0 64 0zM256 0l0 128 128 0L256 0zM216 408c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-102.1-31 31c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l72-72c9.4-9.4 24.6-9.4 33.9 0l72 72c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-31-31L216 408z\"]\n};\nconst faFileUpload = faFileArrowUp;\nconst faWifi = {\n prefix: 'fas',\n iconName: 'wifi',\n icon: [640, 512, [\"wifi-3\", \"wifi-strong\"], \"f1eb\", \"M54.2 202.9C123.2 136.7 216.8 96 320 96s196.8 40.7 265.8 106.9c12.8 12.2 33 11.8 45.2-.9s11.8-33-.9-45.2C549.7 79.5 440.4 32 320 32S90.3 79.5 9.8 156.7C-2.9 169-3.3 189.2 8.9 202s32.5 13.2 45.2 .9zM320 256c56.8 0 108.6 21.1 148.2 56c13.3 11.7 33.5 10.4 45.2-2.8s10.4-33.5-2.8-45.2C459.8 219.2 393 192 320 192s-139.8 27.2-190.5 72c-13.3 11.7-14.5 31.9-2.8 45.2s31.9 14.5 45.2 2.8c39.5-34.9 91.3-56 148.2-56zm64 160a64 64 0 1 0 -128 0 64 64 0 1 0 128 0z\"]\n};\nconst faWifi3 = faWifi;\nconst faWifiStrong = faWifi;\nconst faBath = {\n prefix: 'fas',\n iconName: 'bath',\n icon: [512, 512, [128705, \"bathtub\"], \"f2cd\", \"M96 77.3c0-7.3 5.9-13.3 13.3-13.3c3.5 0 6.9 1.4 9.4 3.9l14.9 14.9C130 91.8 128 101.7 128 112c0 19.9 7.2 38 19.2 52c-5.3 9.2-4 21.1 3.8 29c9.4 9.4 24.6 9.4 33.9 0L289 89c9.4-9.4 9.4-24.6 0-33.9c-7.9-7.9-19.8-9.1-29-3.8C246 39.2 227.9 32 208 32c-10.3 0-20.2 2-29.2 5.5L163.9 22.6C149.4 8.1 129.7 0 109.3 0C66.6 0 32 34.6 32 77.3L32 256c-17.7 0-32 14.3-32 32s14.3 32 32 32l448 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L96 256 96 77.3zM32 352l0 16c0 28.4 12.4 54 32 71.6L64 480c0 17.7 14.3 32 32 32s32-14.3 32-32l0-16 256 0 0 16c0 17.7 14.3 32 32 32s32-14.3 32-32l0-40.4c19.6-17.6 32-43.1 32-71.6l0-16L32 352z\"]\n};\nconst faBathtub = faBath;\nconst faUnderline = {\n prefix: 'fas',\n iconName: 'underline',\n icon: [448, 512, [], \"f0cd\", \"M16 64c0-17.7 14.3-32 32-32l96 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-16 0 0 128c0 53 43 96 96 96s96-43 96-96l0-128-16 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l96 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-16 0 0 128c0 88.4-71.6 160-160 160s-160-71.6-160-160L64 96 48 96C30.3 96 16 81.7 16 64zM0 448c0-17.7 14.3-32 32-32l384 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 480c-17.7 0-32-14.3-32-32z\"]\n};\nconst faUserPen = {\n prefix: 'fas',\n iconName: 'user-pen',\n icon: [640, 512, [\"user-edit\"], \"f4ff\", \"M224 256A128 128 0 1 0 224 0a128 128 0 1 0 0 256zm-45.7 48C79.8 304 0 383.8 0 482.3C0 498.7 13.3 512 29.7 512l293.1 0c-3.1-8.8-3.7-18.4-1.4-27.8l15-60.1c2.8-11.3 8.6-21.5 16.8-29.7l40.3-40.3c-32.1-31-75.7-50.1-123.9-50.1l-91.4 0zm435.5-68.3c-15.6-15.6-40.9-15.6-56.6 0l-29.4 29.4 71 71 29.4-29.4c15.6-15.6 15.6-40.9 0-56.6l-14.4-14.4zM375.9 417c-4.1 4.1-7 9.2-8.4 14.9l-15 60.1c-1.4 5.5 .2 11.2 4.2 15.2s9.7 5.6 15.2 4.2l60.1-15c5.6-1.4 10.8-4.3 14.9-8.4L576.1 358.7l-71-71L375.9 417z\"]\n};\nconst faUserEdit = faUserPen;\nconst faSignature = {\n prefix: 'fas',\n iconName: 'signature',\n icon: [640, 512, [], \"f5b7\", \"M192 128c0-17.7 14.3-32 32-32s32 14.3 32 32l0 7.8c0 27.7-2.4 55.3-7.1 82.5l-84.4 25.3c-40.6 12.2-68.4 49.6-68.4 92l0 71.9c0 40 32.5 72.5 72.5 72.5c26 0 50-13.9 62.9-36.5l13.9-24.3c26.8-47 46.5-97.7 58.4-150.5l94.4-28.3-12.5 37.5c-3.3 9.8-1.6 20.5 4.4 28.8s15.7 13.3 26 13.3l128 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-83.6 0 18-53.9c3.8-11.3 .9-23.8-7.4-32.4s-20.7-11.8-32.2-8.4L316.4 198.1c2.4-20.7 3.6-41.4 3.6-62.3l0-7.8c0-53-43-96-96-96s-96 43-96 96l0 32c0 17.7 14.3 32 32 32s32-14.3 32-32l0-32zm-9.2 177l49-14.7c-10.4 33.8-24.5 66.4-42.1 97.2l-13.9 24.3c-1.5 2.6-4.3 4.3-7.4 4.3c-4.7 0-8.5-3.8-8.5-8.5l0-71.9c0-14.1 9.3-26.6 22.8-30.7zM24 368c-13.3 0-24 10.7-24 24s10.7 24 24 24l40.3 0c-.2-2.8-.3-5.6-.3-8.5L64 368l-40 0zm592 48c13.3 0 24-10.7 24-24s-10.7-24-24-24l-310.1 0c-6.7 16.3-14.2 32.3-22.3 48L616 416z\"]\n};\nconst faStroopwafel = {\n prefix: 'fas',\n iconName: 'stroopwafel',\n icon: [512, 512, [], \"f551\", \"M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM312.6 63.7c-6.2-6.2-16.4-6.2-22.6 0L256 97.6 222.1 63.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l33.9 33.9-45.3 45.3-56.6-56.6c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l56.6 56.6-45.3 45.3L86.3 199.4c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L97.6 256 63.7 289.9c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l33.9-33.9 45.3 45.3-56.6 56.6c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l56.6-56.6 45.3 45.3-33.9 33.9c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L256 414.4l33.9 33.9c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-33.9-33.9 45.3-45.3 56.6 56.6c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-56.6-56.6 45.3-45.3 33.9 33.9c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L414.4 256l33.9-33.9c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-33.9 33.9-45.3-45.3 56.6-56.6c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-56.6 56.6-45.3-45.3 33.9-33.9c6.2-6.2 6.2-16.4 0-22.6zM142.9 256l45.3-45.3L233.4 256l-45.3 45.3L142.9 256zm67.9 67.9L256 278.6l45.3 45.3L256 369.1l-45.3-45.3zM278.6 256l45.3-45.3L369.1 256l-45.3 45.3L278.6 256zm22.6-67.9L256 233.4l-45.3-45.3L256 142.9l45.3 45.3z\"]\n};\nconst faBold = {\n prefix: 'fas',\n iconName: 'bold',\n icon: [384, 512, [], \"f032\", \"M0 64C0 46.3 14.3 32 32 32l48 0 16 0 128 0c70.7 0 128 57.3 128 128c0 31.3-11.3 60.1-30 82.3c37.1 22.4 62 63.1 62 109.7c0 70.7-57.3 128-128 128L96 480l-16 0-48 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l16 0 0-160L48 96 32 96C14.3 96 0 81.7 0 64zM224 224c35.3 0 64-28.7 64-64s-28.7-64-64-64L112 96l0 128 112 0zM112 288l0 128 144 0c35.3 0 64-28.7 64-64s-28.7-64-64-64l-32 0-112 0z\"]\n};\nconst faAnchorLock = {\n prefix: 'fas',\n iconName: 'anchor-lock',\n icon: [640, 512, [], \"e4ad\", \"M320 96a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zm21.1 80C367 158.8 384 129.4 384 96c0-53-43-96-96-96s-96 43-96 96c0 33.4 17 62.8 42.9 80L224 176c-17.7 0-32 14.3-32 32s14.3 32 32 32l32 0 0 208-48 0c-53 0-96-43-96-96l0-6.1 7 7c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L97 263c-9.4-9.4-24.6-9.4-33.9 0L7 319c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l7-7 0 6.1c0 88.4 71.6 160 160 160l80 0 80 0c8 0 15.9-.6 23.6-1.7c-4.8-9-7.6-19.3-7.6-30.3l0-33.3c-5.2 .9-10.5 1.3-16 1.3l-48 0 0-208 32 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-10.9 0zM528 240c17.7 0 32 14.3 32 32l0 48-64 0 0-48c0-17.7 14.3-32 32-32zm-80 32l0 48c-17.7 0-32 14.3-32 32l0 128c0 17.7 14.3 32 32 32l160 0c17.7 0 32-14.3 32-32l0-128c0-17.7-14.3-32-32-32l0-48c0-44.2-35.8-80-80-80s-80 35.8-80 80z\"]\n};\nconst faBuildingNgo = {\n prefix: 'fas',\n iconName: 'building-ngo',\n icon: [384, 512, [], \"e4d7\", \"M48 0C21.5 0 0 21.5 0 48L0 464c0 26.5 21.5 48 48 48l96 0 0-80c0-26.5 21.5-48 48-48s48 21.5 48 48l0 80 96 0c26.5 0 48-21.5 48-48l0-416c0-26.5-21.5-48-48-48L48 0zM64 240c0-8.8 7.2-16 16-16l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32zm112-16l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32zM168 64l48 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-32 0 0 64 16 0 0-16c0-8.8 7.2-16 16-16s16 7.2 16 16l0 24c0 13.3-10.7 24-24 24l-32 0c-13.3 0-24-10.7-24-24l0-88c0-8.8 7.2-16 16-16zM304 96c-8.8 0-16 7.2-16 16l0 32c0 8.8 7.2 16 16 16s16-7.2 16-16l0-32c0-8.8-7.2-16-16-16zm-48 16c0-26.5 21.5-48 48-48s48 21.5 48 48l0 32c0 26.5-21.5 48-48 48s-48-21.5-48-48l0-32zM61.3 71.1l34.7 52L96 80c0-8.8 7.2-16 16-16s16 7.2 16 16l0 96c0 7.1-4.6 13.3-11.4 15.3s-14-.6-17.9-6.4L64 132.8 64 176c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-96c0-7.1 4.6-13.3 11.4-15.3s14 .6 17.9 6.4z\"]\n};\nconst faManatSign = {\n prefix: 'fas',\n iconName: 'manat-sign',\n icon: [384, 512, [], \"e1d5\", \"M192 32c-17.7 0-32 14.3-32 32l0 34.7C69.2 113.9 0 192.9 0 288L0 448c0 17.7 14.3 32 32 32s32-14.3 32-32l0-160c0-59.6 40.8-109.8 96-124l0 284c0 17.7 14.3 32 32 32s32-14.3 32-32l0-284c55.2 14.2 96 64.3 96 124l0 160c0 17.7 14.3 32 32 32s32-14.3 32-32l0-160c0-95.1-69.2-174.1-160-189.3L224 64c0-17.7-14.3-32-32-32z\"]\n};\nconst faNotEqual = {\n prefix: 'fas',\n iconName: 'not-equal',\n icon: [448, 512, [], \"f53e\", \"M369.8 37.4c14.7 9.8 18.7 29.7 8.9 44.4L337.1 144l62.9 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-105.5 0-64 96L400 304c17.7 0 32 14.3 32 32s-14.3 32-32 32l-212.2 0-65.2 97.7c-9.8 14.7-29.7 18.7-44.4 8.9s-18.7-29.7-8.9-44.4L110.9 368 48 368c-17.7 0-32-14.3-32-32s14.3-32 32-32l105.5 0 64-96L48 208c-17.7 0-32-14.3-32-32s14.3-32 32-32l212.2 0 65.2-97.7c9.8-14.7 29.7-18.7 44.4-8.9z\"]\n};\nconst faBorderTopLeft = {\n prefix: 'fas',\n iconName: 'border-top-left',\n icon: [448, 512, [\"border-style\"], \"f853\", \"M0 448c0 17.7 14.3 32 32 32s32-14.3 32-32l0-336c0-8.8 7.2-16 16-16l336 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L80 32C35.8 32 0 67.8 0 112L0 448zm160 0a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm192 0a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm-96 0a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm192 0a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM416 288a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm0 32a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm0-128a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nconst faBorderStyle = faBorderTopLeft;\nconst faMapLocationDot = {\n prefix: 'fas',\n iconName: 'map-location-dot',\n icon: [576, 512, [\"map-marked-alt\"], \"f5a0\", \"M408 120c0 54.6-73.1 151.9-105.2 192c-7.7 9.6-22 9.6-29.6 0C241.1 271.9 168 174.6 168 120C168 53.7 221.7 0 288 0s120 53.7 120 120zm8 80.4c3.5-6.9 6.7-13.8 9.6-20.6c.5-1.2 1-2.5 1.5-3.7l116-46.4C558.9 123.4 576 135 576 152l0 270.8c0 9.8-6 18.6-15.1 22.3L416 503l0-302.6zM137.6 138.3c2.4 14.1 7.2 28.3 12.8 41.5c2.9 6.8 6.1 13.7 9.6 20.6l0 251.4L32.9 502.7C17.1 509 0 497.4 0 480.4L0 209.6c0-9.8 6-18.6 15.1-22.3l122.6-49zM327.8 332c13.9-17.4 35.7-45.7 56.2-77l0 249.3L192 449.4 192 255c20.5 31.3 42.3 59.6 56.2 77c20.5 25.6 59.1 25.6 79.6 0zM288 152a40 40 0 1 0 0-80 40 40 0 1 0 0 80z\"]\n};\nconst faMapMarkedAlt = faMapLocationDot;\nconst faJedi = {\n prefix: 'fas',\n iconName: 'jedi',\n icon: [576, 512, [], \"f669\", \"M246 315.7l-21.2-31.9c-2.1-3.2-1.7-7.4 1-10.1s6.9-3.1 10.1-1l29.5 19.7c2.1 1.4 4.9 0 5-2.6L279.7 8c.1-4.5 3.8-8 8.3-8s8.1 3.5 8.3 8l9.4 281.9c.1 2.5 2.9 3.9 5 2.6l29.5-19.7c3.2-2.1 7.4-1.7 10.1 1s3.1 6.9 1 10.1L330 315.7c-1.3 1.9-.2 4.5 2 4.9l37.6 7.5c3.7 .7 6.4 4 6.4 7.8s-2.7 7.1-6.4 7.8L332 351.4c-2.2 .4-3.3 3-2 4.9l21.2 31.9c2.1 3.2 1.7 7.4-1 10.1s-6.9 3.1-10.1 1l-26.3-17.6c-2.2-1.4-5.1 .2-5 2.8l2.1 61.5C370.6 435.2 416 382.9 416 320c0-37-15.7-70.4-40.8-93.7c-7-6.5-6.5-18.6 1-24.4C410.1 175.5 432 134.3 432 88c0-16.8-2.9-33-8.2-48c-4.6-13 10.2-30 21.4-22c53.5 38 92.7 94.8 107.8 160.7c.5 2.1-.2 4.3-1.7 5.9l-28.4 28.4c-4 4-1.2 10.9 4.5 10.9l26 0c3.4 0 6.2 2.6 6.3 6c.1 3.3 .2 6.6 .2 10c0 17.5-1.7 34.7-4.8 51.3c-.2 1.2-.9 2.4-1.7 3.3l-46.5 46.5c-4 4-1.2 10.9 4.5 10.9l14.6 0c4.6 0 7.7 4.8 5.7 9C487.2 450.5 394.8 512 288 512S88.8 450.5 44.3 361c-2.1-4.2 1-9 5.7-9l14.6 0c5.7 0 8.6-6.9 4.5-10.9L22.6 294.6c-.9-.9-1.5-2-1.7-3.3C17.7 274.7 16 257.5 16 240c0-3.3 .1-6.7 .2-10c.1-3.4 2.9-6 6.3-6l26 0c5.7 0 8.6-6.9 4.5-10.9L24.6 184.6c-1.5-1.5-2.2-3.8-1.7-5.9C38.1 112.8 77.3 56 130.8 18c11.3-8 26 8.9 21.4 22c-5.3 15-8.2 31.2-8.2 48c0 46.3 21.9 87.5 55.8 113.9c7.5 5.8 8 17.9 1 24.4C175.7 249.6 160 283 160 320c0 62.9 45.4 115.2 105.1 126l2.1-61.5c.1-2.6-2.8-4.2-5-2.8l-26.3 17.6c-3.2 2.1-7.4 1.7-10.1-1s-3.1-6.9-1-10.1L246 356.3c1.3-1.9 .2-4.5-2-4.9l-37.6-7.5c-3.7-.7-6.4-4-6.4-7.8s2.7-7.1 6.4-7.8l37.6-7.5c2.2-.4 3.3-3 2-4.9z\"]\n};\nconst faSquarePollVertical = {\n prefix: 'fas',\n iconName: 'square-poll-vertical',\n icon: [448, 512, [\"poll\"], \"f681\", \"M64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32zm64 192c17.7 0 32 14.3 32 32l0 96c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-96c0-17.7 14.3-32 32-32zm64-64c0-17.7 14.3-32 32-32s32 14.3 32 32l0 192c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-192zM320 288c17.7 0 32 14.3 32 32l0 32c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-32c0-17.7 14.3-32 32-32z\"]\n};\nconst faPoll = faSquarePollVertical;\nconst faMugHot = {\n prefix: 'fas',\n iconName: 'mug-hot',\n icon: [512, 512, [9749], \"f7b6\", \"M88 0C74.7 0 64 10.7 64 24c0 38.9 23.4 59.4 39.1 73.1l1.1 1C120.5 112.3 128 119.9 128 136c0 13.3 10.7 24 24 24s24-10.7 24-24c0-38.9-23.4-59.4-39.1-73.1l-1.1-1C119.5 47.7 112 40.1 112 24c0-13.3-10.7-24-24-24zM32 192c-17.7 0-32 14.3-32 32L0 416c0 53 43 96 96 96l192 0c53 0 96-43 96-96l16 0c61.9 0 112-50.1 112-112s-50.1-112-112-112l-48 0L32 192zm352 64l16 0c26.5 0 48 21.5 48 48s-21.5 48-48 48l-16 0 0-96zM224 24c0-13.3-10.7-24-24-24s-24 10.7-24 24c0 38.9 23.4 59.4 39.1 73.1l1.1 1C232.5 112.3 240 119.9 240 136c0 13.3 10.7 24 24 24s24-10.7 24-24c0-38.9-23.4-59.4-39.1-73.1l-1.1-1C231.5 47.7 224 40.1 224 24z\"]\n};\nconst faCarBattery = {\n prefix: 'fas',\n iconName: 'car-battery',\n icon: [512, 512, [\"battery-car\"], \"f5df\", \"M80 96c0-17.7 14.3-32 32-32l64 0c17.7 0 32 14.3 32 32l96 0c0-17.7 14.3-32 32-32l64 0c17.7 0 32 14.3 32 32l16 0c35.3 0 64 28.7 64 64l0 224c0 35.3-28.7 64-64 64L64 448c-35.3 0-64-28.7-64-64L0 160c0-35.3 28.7-64 64-64l16 0zm304 96c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 32-32 0c-8.8 0-16 7.2-16 16s7.2 16 16 16l32 0 0 32c0 8.8 7.2 16 16 16s16-7.2 16-16l0-32 32 0c8.8 0 16-7.2 16-16s-7.2-16-16-16l-32 0 0-32zM80 240c0 8.8 7.2 16 16 16l96 0c8.8 0 16-7.2 16-16s-7.2-16-16-16l-96 0c-8.8 0-16 7.2-16 16z\"]\n};\nconst faBatteryCar = faCarBattery;\nconst faGift = {\n prefix: 'fas',\n iconName: 'gift',\n icon: [512, 512, [127873], \"f06b\", \"M190.5 68.8L225.3 128l-1.3 0-72 0c-22.1 0-40-17.9-40-40s17.9-40 40-40l2.2 0c14.9 0 28.8 7.9 36.3 20.8zM64 88c0 14.4 3.5 28 9.6 40L32 128c-17.7 0-32 14.3-32 32l0 64c0 17.7 14.3 32 32 32l448 0c17.7 0 32-14.3 32-32l0-64c0-17.7-14.3-32-32-32l-41.6 0c6.1-12 9.6-25.6 9.6-40c0-48.6-39.4-88-88-88l-2.2 0c-31.9 0-61.5 16.9-77.7 44.4L256 85.5l-24.1-41C215.7 16.9 186.1 0 154.2 0L152 0C103.4 0 64 39.4 64 88zm336 0c0 22.1-17.9 40-40 40l-72 0-1.3 0 34.8-59.2C329.1 55.9 342.9 48 357.8 48l2.2 0c22.1 0 40 17.9 40 40zM32 288l0 176c0 26.5 21.5 48 48 48l144 0 0-224L32 288zM288 512l144 0c26.5 0 48-21.5 48-48l0-176-192 0 0 224z\"]\n};\nconst faDiceTwo = {\n prefix: 'fas',\n iconName: 'dice-two',\n icon: [448, 512, [9857], \"f528\", \"M0 96C0 60.7 28.7 32 64 32l320 0c35.3 0 64 28.7 64 64l0 320c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64L0 96zM352 352a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM128 192a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nconst faChessQueen = {\n prefix: 'fas',\n iconName: 'chess-queen',\n icon: [512, 512, [9819], \"f445\", \"M256 0a56 56 0 1 1 0 112A56 56 0 1 1 256 0zM134.1 143.8c3.3-13 15-23.8 30.2-23.8c12.3 0 22.6 7.2 27.7 17c12 23.2 36.2 39 64 39s52-15.8 64-39c5.1-9.8 15.4-17 27.7-17c15.3 0 27 10.8 30.2 23.8c7 27.8 32.2 48.3 62.1 48.3c10.8 0 21-2.7 29.8-7.4c8.4-4.4 18.9-4.5 27.6 .9c13 8 17.1 25 9.2 38L399.7 400 384 400l-40.4 0-175.1 0L128 400l-15.7 0L5.4 223.6c-7.9-13-3.8-30 9.2-38c8.7-5.3 19.2-5.3 27.6-.9c8.9 4.7 19 7.4 29.8 7.4c29.9 0 55.1-20.5 62.1-48.3zM256 224s0 0 0 0s0 0 0 0s0 0 0 0zM112 432l288 0 41.4 41.4c4.2 4.2 6.6 10 6.6 16c0 12.5-10.1 22.6-22.6 22.6L86.6 512C74.1 512 64 501.9 64 489.4c0-6 2.4-11.8 6.6-16L112 432z\"]\n};\nconst faGlasses = {\n prefix: 'fas',\n iconName: 'glasses',\n icon: [576, 512, [], \"f530\", \"M118.6 80c-11.5 0-21.4 7.9-24 19.1L57 260.3c20.5-6.2 48.3-12.3 78.7-12.3c32.3 0 61.8 6.9 82.8 13.5c10.6 3.3 19.3 6.7 25.4 9.2c3.1 1.3 5.5 2.4 7.3 3.2c.9 .4 1.6 .7 2.1 1l.6 .3 .2 .1c0 0 .1 0 .1 0c0 0 0 0 0 0s0 0 0 0L247.9 288s0 0 0 0l6.3-12.7c5.8 2.9 10.4 7.3 13.5 12.7l40.6 0c3.1-5.3 7.7-9.8 13.5-12.7l6.3 12.7s0 0 0 0c-6.3-12.7-6.3-12.7-6.3-12.7s0 0 0 0s0 0 0 0c0 0 .1 0 .1 0l.2-.1 .6-.3c.5-.2 1.2-.6 2.1-1c1.8-.8 4.2-1.9 7.3-3.2c6.1-2.6 14.8-5.9 25.4-9.2c21-6.6 50.4-13.5 82.8-13.5c30.4 0 58.2 6.1 78.7 12.3L481.4 99.1c-2.6-11.2-12.6-19.1-24-19.1c-3.1 0-6.2 .6-9.2 1.8L416.9 94.3c-12.3 4.9-26.3-1.1-31.2-13.4s1.1-26.3 13.4-31.2l31.3-12.5c8.6-3.4 17.7-5.2 27-5.2c33.8 0 63.1 23.3 70.8 56.2l43.9 188c1.7 7.3 2.9 14.7 3.5 22.1c.3 1.9 .5 3.8 .5 5.7l0 6.7 0 41.3 0 16c0 61.9-50.1 112-112 112l-44.3 0c-59.4 0-108.5-46.4-111.8-105.8L306.6 352l-37.2 0-1.2 22.2C264.9 433.6 215.8 480 156.3 480L112 480C50.1 480 0 429.9 0 368l0-16 0-41.3L0 304c0-1.9 .2-3.8 .5-5.7c.6-7.4 1.8-14.8 3.5-22.1l43.9-188C55.5 55.3 84.8 32 118.6 32c9.2 0 18.4 1.8 27 5.2l31.3 12.5c12.3 4.9 18.3 18.9 13.4 31.2s-18.9 18.3-31.2 13.4L127.8 81.8c-2.9-1.2-6-1.8-9.2-1.8zM64 325.4L64 368c0 26.5 21.5 48 48 48l44.3 0c25.5 0 46.5-19.9 47.9-45.3l2.5-45.6c-2.3-.8-4.9-1.7-7.5-2.5c-17.2-5.4-39.9-10.5-63.6-10.5c-23.7 0-46.2 5.1-63.2 10.5c-3.1 1-5.9 1.9-8.5 2.9zM512 368l0-42.6c-2.6-.9-5.5-1.9-8.5-2.9c-17-5.4-39.5-10.5-63.2-10.5c-23.7 0-46.4 5.1-63.6 10.5c-2.7 .8-5.2 1.7-7.5 2.5l2.5 45.6c1.4 25.4 22.5 45.3 47.9 45.3l44.3 0c26.5 0 48-21.5 48-48z\"]\n};\nconst faChessBoard = {\n prefix: 'fas',\n iconName: 'chess-board',\n icon: [448, 512, [], \"f43c\", \"M64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32zm64 64l0 64 64 0 0-64 64 0 0 64 64 0 0-64 64 0 0 64-64 0 0 64 64 0 0 64-64 0 0 64 64 0 0 64-64 0 0-64-64 0 0 64-64 0 0-64-64 0 0 64-64 0 0-64 64 0 0-64-64 0 0-64 64 0 0-64-64 0 0-64 64 0zm64 128l64 0 0-64-64 0 0 64zm0 64l0-64-64 0 0 64 64 0zm64 0l-64 0 0 64 64 0 0-64zm0 0l64 0 0-64-64 0 0 64z\"]\n};\nconst faBuildingCircleCheck = {\n prefix: 'fas',\n iconName: 'building-circle-check',\n icon: [640, 512, [], \"e4d2\", \"M48 0C21.5 0 0 21.5 0 48L0 464c0 26.5 21.5 48 48 48l96 0 0-80c0-26.5 21.5-48 48-48s48 21.5 48 48l0 80 96 0c15.1 0 28.5-6.9 37.3-17.8C340.4 462.2 320 417.5 320 368c0-54.7 24.9-103.5 64-135.8L384 48c0-26.5-21.5-48-48-48L48 0zM64 240c0-8.8 7.2-16 16-16l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32zm112-16l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32zM80 96l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32zM272 96l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32c0-8.8 7.2-16 16-16zM640 368a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zm-76.7-43.3c6.2 6.2 6.2 16.4 0 22.6l-72 72c-6.2 6.2-16.4 6.2-22.6 0l-40-40c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L480 385.4l60.7-60.7c6.2-6.2 16.4-6.2 22.6 0z\"]\n};\nconst faPersonChalkboard = {\n prefix: 'fas',\n iconName: 'person-chalkboard',\n icon: [640, 512, [], \"e53d\", \"M192 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm-8 384l0-128 16 0 0 128c0 17.7 14.3 32 32 32s32-14.3 32-32l0-288 56 0 64 0 16 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-16 0 0-64 192 0 0 192-192 0 0-32-64 0 0 48c0 26.5 21.5 48 48 48l224 0c26.5 0 48-21.5 48-48l0-224c0-26.5-21.5-48-48-48L368 0c-26.5 0-48 21.5-48 48l0 80-76.9 0-65.9 0c-33.7 0-64.9 17.7-82.3 46.6l-58.3 97c-9.1 15.1-4.2 34.8 10.9 43.9s34.8 4.2 43.9-10.9L120 256.9 120 480c0 17.7 14.3 32 32 32s32-14.3 32-32z\"]\n};\nconst faMarsStrokeRight = {\n prefix: 'fas',\n iconName: 'mars-stroke-right',\n icon: [640, 512, [9897, \"mars-stroke-h\"], \"f22b\", \"M208 368a112 112 0 1 0 0-224 112 112 0 1 0 0 224zm174.4-88C370.7 365.8 297.1 432 208 432c-97.2 0-176-78.8-176-176s78.8-176 176-176c89.1 0 162.7 66.2 174.4 152l33.6 0 0-56c0-13.3 10.7-24 24-24s24 10.7 24 24l0 56 32 0 0-56c0-9.7 5.8-18.5 14.8-22.2s19.3-1.7 26.2 5.2l80 80c9.4 9.4 9.4 24.6 0 33.9l-80 80c-6.9 6.9-17.2 8.9-26.2 5.2s-14.8-12.5-14.8-22.2l0-56-32 0 0 56c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-56-33.6 0z\"]\n};\nconst faMarsStrokeH = faMarsStrokeRight;\nconst faHandBackFist = {\n prefix: 'fas',\n iconName: 'hand-back-fist',\n icon: [448, 512, [\"hand-rock\"], \"f255\", \"M144 0C117.5 0 96 21.5 96 48l0 48 0 28.5L96 176c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-26.7-9 7.5C40.4 169 32 187 32 206L32 244c0 38 16.9 74 46.1 98.3L128 384l0 96c0 17.7 14.3 32 32 32l160 0c17.7 0 32-14.3 32-32l0-105.3c46.9-19 80-65 80-118.7l0-80 0-16 0-16c0-26.5-21.5-48-48-48c-12.4 0-23.6 4.7-32.1 12.3C350 83.5 329.3 64 304 64c-12.4 0-23.6 4.7-32.1 12.3C270 51.5 249.3 32 224 32c-12.4 0-23.6 4.7-32.1 12.3C190 19.5 169.3 0 144 0z\"]\n};\nconst faHandRock = faHandBackFist;\nconst faSquareCaretUp = {\n prefix: 'fas',\n iconName: 'square-caret-up',\n icon: [448, 512, [\"caret-square-up\"], \"f151\", \"M64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32zM224 160c6.7 0 13 2.8 17.6 7.7l104 112c6.5 7 8.2 17.2 4.4 25.9s-12.5 14.4-22 14.4l-208 0c-9.5 0-18.2-5.7-22-14.4s-2.1-18.9 4.4-25.9l104-112c4.5-4.9 10.9-7.7 17.6-7.7z\"]\n};\nconst faCaretSquareUp = faSquareCaretUp;\nconst faCloudShowersWater = {\n prefix: 'fas',\n iconName: 'cloud-showers-water',\n icon: [576, 512, [], \"e4e4\", \"M224 0c38.6 0 71.9 22.8 87.2 55.7C325.7 41.1 345.8 32 368 32c38.7 0 71 27.5 78.4 64l1.6 0c35.3 0 64 28.7 64 64s-28.7 64-64 64l-320 0c-35.3 0-64-28.7-64-64s28.7-64 64-64c0-53 43-96 96-96zM140.6 292.3l-48 80c-6.8 11.4-21.6 15-32.9 8.2s-15.1-21.6-8.2-32.9l48-80c6.8-11.4 21.6-15.1 32.9-8.2s15.1 21.6 8.2 32.9zm327.8-32.9c11.4 6.8 15 21.6 8.2 32.9l-48 80c-6.8 11.4-21.6 15-32.9 8.2s-15-21.6-8.2-32.9l48-80c6.8-11.4 21.6-15.1 32.9-8.2zM252.6 292.3l-48 80c-6.8 11.4-21.6 15-32.9 8.2s-15.1-21.6-8.2-32.9l48-80c6.8-11.4 21.6-15.1 32.9-8.2s15.1 21.6 8.2 32.9zm103.8-32.9c11.4 6.8 15 21.6 8.2 32.9l-48 80c-6.8 11.4-21.6 15-32.9 8.2s-15.1-21.6-8.2-32.9l48-80c6.8-11.4 21.6-15.1 32.9-8.2zM306.5 421.9C329 437.4 356.5 448 384 448c26.9 0 55.4-10.8 77.4-26.1c0 0 0 0 0 0c11.9-8.5 28.1-7.8 39.2 1.7c14.4 11.9 32.5 21 50.6 25.2c17.2 4 27.9 21.2 23.9 38.4s-21.2 27.9-38.4 23.9c-24.5-5.7-44.9-16.5-58.2-25C449.5 501.7 417 512 384 512c-31.9 0-60.6-9.9-80.4-18.9c-5.8-2.7-11.1-5.3-15.6-7.7c-4.5 2.4-9.7 5.1-15.6 7.7c-19.8 9-48.5 18.9-80.4 18.9c-33 0-65.5-10.3-94.5-25.8c-13.4 8.4-33.7 19.3-58.2 25c-17.2 4-34.4-6.7-38.4-23.9s6.7-34.4 23.9-38.4c18.1-4.2 36.2-13.3 50.6-25.2c11.1-9.4 27.3-10.1 39.2-1.7c0 0 0 0 0 0C136.7 437.2 165.1 448 192 448c27.5 0 55-10.6 77.5-26.1c11.1-7.9 25.9-7.9 37 0z\"]\n};\nconst faChartBar = {\n prefix: 'fas',\n iconName: 'chart-bar',\n icon: [512, 512, [\"bar-chart\"], \"f080\", \"M32 32c17.7 0 32 14.3 32 32l0 336c0 8.8 7.2 16 16 16l400 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L80 480c-44.2 0-80-35.8-80-80L0 64C0 46.3 14.3 32 32 32zm96 96c0-17.7 14.3-32 32-32l192 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-192 0c-17.7 0-32-14.3-32-32zm32 64l128 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-128 0c-17.7 0-32-14.3-32-32s14.3-32 32-32zm0 96l256 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-256 0c-17.7 0-32-14.3-32-32s14.3-32 32-32z\"]\n};\nconst faBarChart = faChartBar;\nconst faHandsBubbles = {\n prefix: 'fas',\n iconName: 'hands-bubbles',\n icon: [576, 512, [\"hands-wash\"], \"e05e\", \"M416 64a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm96 128a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM160 464a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM32 160l.1 72.6c.1 52.2 24 101 64 133.1c-.1-1.9-.1-3.8-.1-5.7l0-8c0-71.8 37-138.6 97.9-176.7l60.2-37.6c8.6-5.4 17.9-8.4 27.3-9.4l45.9-79.5c6.6-11.5 2.7-26.2-8.8-32.8s-26.2-2.7-32.8 8.8l-78 135.1c-3.3 5.7-10.7 7.7-16.4 4.4s-7.7-10.7-4.4-16.4l62-107.4c6.6-11.5 2.7-26.2-8.8-32.8S214 5 207.4 16.5l-68 117.8s0 0 0 0s0 0 0 0l-43.3 75L96 160c0-17.7-14.4-32-32-32s-32 14.4-32 32zM332.1 88.5L307.5 131c13.9 4.5 26.4 13.7 34.7 27c.9 1.5 1.8 2.9 2.5 4.4l28.9-50c6.6-11.5 2.7-26.2-8.8-32.8s-26.2-2.7-32.8 8.8zm46.4 63.7l-26.8 46.4c-.6 6-2.1 11.8-4.3 17.4l4.7 0 13.3 0s0 0 0 0l31.8 0 23-39.8c6.6-11.5 2.7-26.2-8.8-32.8s-26.2-2.7-32.8 8.8zM315.1 175c-9.4-15-29.1-19.5-44.1-10.2l-60.2 37.6C159.3 234.7 128 291.2 128 352l0 8c0 8.9 .8 17.6 2.2 26.1c35.4 8.2 61.8 40 61.8 77.9c0 6.3-.7 12.5-2.1 18.4C215.1 501 246.3 512 280 512l176 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-92 0c-6.6 0-12-5.4-12-12s5.4-12 12-12l124 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-124 0c-6.6 0-12-5.4-12-12s5.4-12 12-12l156 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-156 0c-6.6 0-12-5.4-12-12s5.4-12 12-12l124 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-136 0s0 0 0 0s0 0 0 0l-93.2 0L305 219.1c15-9.4 19.5-29.1 10.2-44.1z\"]\n};\nconst faHandsWash = faHandsBubbles;\nconst faLessThanEqual = {\n prefix: 'fas',\n iconName: 'less-than-equal',\n icon: [448, 512, [], \"f537\", \"M395.9 93.7c16.4-6.6 24.4-25.2 17.8-41.6s-25.2-24.4-41.6-17.8l-320 128C40 167.1 32 178.9 32 192s8 24.9 20.1 29.7l320 128c16.4 6.6 35-1.4 41.6-17.8s-1.4-35-17.8-41.6L150.2 192 395.9 93.7zM32 416c-17.7 0-32 14.3-32 32s14.3 32 32 32l384 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L32 416z\"]\n};\nconst faTrain = {\n prefix: 'fas',\n iconName: 'train',\n icon: [448, 512, [128646], \"f238\", \"M96 0C43 0 0 43 0 96L0 352c0 48 35.2 87.7 81.1 94.9l-46 46C28.1 499.9 33.1 512 43 512l39.7 0c8.5 0 16.6-3.4 22.6-9.4L160 448l128 0 54.6 54.6c6 6 14.1 9.4 22.6 9.4l39.7 0c10 0 15-12.1 7.9-19.1l-46-46c46-7.1 81.1-46.9 81.1-94.9l0-256c0-53-43-96-96-96L96 0zM64 96c0-17.7 14.3-32 32-32l256 0c17.7 0 32 14.3 32 32l0 96c0 17.7-14.3 32-32 32L96 224c-17.7 0-32-14.3-32-32l0-96zM224 288a48 48 0 1 1 0 96 48 48 0 1 1 0-96z\"]\n};\nconst faEyeLowVision = {\n prefix: 'fas',\n iconName: 'eye-low-vision',\n icon: [640, 512, [\"low-vision\"], \"f2a8\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L525.6 386.7c39.6-40.6 66.4-86.1 79.9-118.4c3.3-7.9 3.3-16.7 0-24.6c-14.9-35.7-46.2-87.7-93-131.1C465.5 68.8 400.8 32 320 32c-68.2 0-125 26.3-169.3 60.8L38.8 5.1zM223 149.5c48.6-44.3 123-50.8 179.3-11.7c60.8 42.4 78.9 123.2 44.2 186.9L408 294.5c8.4-19.3 10.6-41.4 4.8-63.3c-11.1-41.5-47.8-69.4-88.6-71.1c-5.8-.2-9.2 6.1-7.4 11.7c2.1 6.4 3.3 13.2 3.3 20.3c0 10.2-2.4 19.8-6.6 28.3L223 149.5zm223.1 298L83.1 161.5c-11 14.4-20.5 28.7-28.4 42.2l339 265.7c18.7-5.5 36.2-13 52.6-21.8zM34.5 268.3c14.9 35.7 46.2 87.7 93 131.1C174.5 443.2 239.2 480 320 480c3.1 0 6.1-.1 9.2-.2L33.1 247.8c-1.8 6.8-1.3 14 1.4 20.5z\"]\n};\nconst faLowVision = faEyeLowVision;\nconst faCrow = {\n prefix: 'fas',\n iconName: 'crow',\n icon: [640, 512, [], \"f520\", \"M456 0c-48.6 0-88 39.4-88 88l0 29.2L12.5 390.6c-14 10.8-16.6 30.9-5.9 44.9s30.9 16.6 44.9 5.9L126.1 384l133.1 0 46.6 113.1c5 12.3 19.1 18.1 31.3 13.1s18.1-19.1 13.1-31.3L311.1 384l40.9 0c1.1 0 2.1 0 3.2 0l46.6 113.2c5 12.3 19.1 18.1 31.3 13.1s18.1-19.1 13.1-31.3l-42-102C484.9 354.1 544 280 544 192l0-64 0-8 80.5-20.1c8.6-2.1 13.8-10.8 11.6-19.4C629 52 603.4 32 574 32l-50.1 0C507.7 12.5 483.3 0 456 0zm0 64a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nconst faSailboat = {\n prefix: 'fas',\n iconName: 'sailboat',\n icon: [576, 512, [], \"e445\", \"M256 16c0-7 4.5-13.2 11.2-15.3s13.9 .4 17.9 6.1l224 320c3.4 4.9 3.8 11.3 1.1 16.6s-8.2 8.6-14.2 8.6l-224 0c-8.8 0-16-7.2-16-16l0-320zM212.1 96.5c7 1.9 11.9 8.2 11.9 15.5l0 224c0 8.8-7.2 16-16 16L80 352c-5.7 0-11-3-13.8-8s-2.9-11-.1-16l128-224c3.6-6.3 11-9.4 18-7.5zM5.7 404.3C2.8 394.1 10.5 384 21.1 384l533.8 0c10.6 0 18.3 10.1 15.4 20.3l-4 14.3C550.7 473.9 500.4 512 443 512L133 512C75.6 512 25.3 473.9 9.7 418.7l-4-14.3z\"]\n};\nconst faWindowRestore = {\n prefix: 'fas',\n iconName: 'window-restore',\n icon: [512, 512, [], \"f2d2\", \"M432 64L208 64c-8.8 0-16 7.2-16 16l0 16-64 0 0-16c0-44.2 35.8-80 80-80L432 0c44.2 0 80 35.8 80 80l0 224c0 44.2-35.8 80-80 80l-16 0 0-64 16 0c8.8 0 16-7.2 16-16l0-224c0-8.8-7.2-16-16-16zM0 192c0-35.3 28.7-64 64-64l256 0c35.3 0 64 28.7 64 64l0 256c0 35.3-28.7 64-64 64L64 512c-35.3 0-64-28.7-64-64L0 192zm64 32c0 17.7 14.3 32 32 32l192 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L96 192c-17.7 0-32 14.3-32 32z\"]\n};\nconst faSquarePlus = {\n prefix: 'fas',\n iconName: 'square-plus',\n icon: [448, 512, [61846, \"plus-square\"], \"f0fe\", \"M64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32zM200 344l0-64-64 0c-13.3 0-24-10.7-24-24s10.7-24 24-24l64 0 0-64c0-13.3 10.7-24 24-24s24 10.7 24 24l0 64 64 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-64 0 0 64c0 13.3-10.7 24-24 24s-24-10.7-24-24z\"]\n};\nconst faPlusSquare = faSquarePlus;\nconst faToriiGate = {\n prefix: 'fas',\n iconName: 'torii-gate',\n icon: [512, 512, [9961], \"f6a1\", \"M0 80c0 26.5 21.5 48 48 48l16 0 0 64 64 0 0-64 96 0 0 64 64 0 0-64 96 0 0 64 64 0 0-64 16 0c26.5 0 48-21.5 48-48l0-66.6C512 6 506 0 498.6 0c-1.7 0-3.4 .3-5 1l-49 19.6C425.7 28.1 405.5 32 385.2 32L126.8 32c-20.4 0-40.5-3.9-59.4-11.4L18.4 1c-1.6-.6-3.3-1-5-1C6 0 0 6 0 13.4L0 80zM64 288l0 192c0 17.7 14.3 32 32 32s32-14.3 32-32l0-192 256 0 0 192c0 17.7 14.3 32 32 32s32-14.3 32-32l0-192 32 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l32 0z\"]\n};\nconst faFrog = {\n prefix: 'fas',\n iconName: 'frog',\n icon: [576, 512, [], \"f52e\", \"M368 32c41.7 0 75.9 31.8 79.7 72.5l85.6 26.3c25.4 7.8 42.8 31.3 42.8 57.9c0 21.8-11.7 41.9-30.7 52.7L400.8 323.5 493.3 416l50.7 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0c-8.5 0-16.6-3.4-22.6-9.4L346.9 360.2c11.7-36 3.2-77.1-25.4-105.7c-40.6-40.6-106.3-40.6-146.9-.1L101 324.4c-6.4 6.1-6.7 16.2-.6 22.6s16.2 6.6 22.6 .6l73.8-70.2 .1-.1 .1-.1c3.5-3.5 7.3-6.6 11.3-9.2c27.9-18.5 65.9-15.4 90.5 9.2c24.7 24.7 27.7 62.9 9 90.9c-2.6 3.8-5.6 7.5-9 10.9L261.8 416l90.2 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L64 480c-35.3 0-64-28.7-64-64C0 249.6 127 112.9 289.3 97.5C296.2 60.2 328.8 32 368 32zm0 104a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nconst faBucket = {\n prefix: 'fas',\n iconName: 'bucket',\n icon: [448, 512, [], \"e4cf\", \"M96 152l0 8-48 0 0-8C48 68.1 116.1 0 200 0l48 0c83.9 0 152 68.1 152 152l0 8-48 0 0-8c0-57.4-46.6-104-104-104l-48 0C142.6 48 96 94.6 96 152zM0 224c0-17.7 14.3-32 32-32l384 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-5.1 0L388.5 469c-2.6 24.4-23.2 43-47.7 43l-233.6 0c-24.6 0-45.2-18.5-47.7-43L37.1 256 32 256c-17.7 0-32-14.3-32-32z\"]\n};\nconst faImage = {\n prefix: 'fas',\n iconName: 'image',\n icon: [512, 512, [], \"f03e\", \"M0 96C0 60.7 28.7 32 64 32l384 0c35.3 0 64 28.7 64 64l0 320c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64L0 96zM323.8 202.5c-4.5-6.6-11.9-10.5-19.8-10.5s-15.4 3.9-19.8 10.5l-87 127.6L170.7 297c-4.6-5.7-11.5-9-18.7-9s-14.2 3.3-18.7 9l-64 80c-5.8 7.2-6.9 17.1-2.9 25.4s12.4 13.6 21.6 13.6l96 0 32 0 208 0c8.9 0 17.1-4.9 21.2-12.8s3.6-17.4-1.4-24.7l-120-176zM112 192a48 48 0 1 0 0-96 48 48 0 1 0 0 96z\"]\n};\nconst faMicrophone = {\n prefix: 'fas',\n iconName: 'microphone',\n icon: [384, 512, [], \"f130\", \"M192 0C139 0 96 43 96 96l0 160c0 53 43 96 96 96s96-43 96-96l0-160c0-53-43-96-96-96zM64 216c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 40c0 89.1 66.2 162.7 152 174.4l0 33.6-48 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l72 0 72 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-48 0 0-33.6c85.8-11.7 152-85.3 152-174.4l0-40c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 40c0 70.7-57.3 128-128 128s-128-57.3-128-128l0-40z\"]\n};\nconst faCow = {\n prefix: 'fas',\n iconName: 'cow',\n icon: [640, 512, [128004], \"f6c8\", \"M96 224l0 32 0 160c0 17.7 14.3 32 32 32l32 0c17.7 0 32-14.3 32-32l0-88.2c9.9 6.6 20.6 12 32 16.1l0 24.2c0 8.8 7.2 16 16 16s16-7.2 16-16l0-16.9c5.3 .6 10.6 .9 16 .9s10.7-.3 16-.9l0 16.9c0 8.8 7.2 16 16 16s16-7.2 16-16l0-24.2c11.4-4 22.1-9.4 32-16.1l0 88.2c0 17.7 14.3 32 32 32l32 0c17.7 0 32-14.3 32-32l0-160 32 32 0 49.5c0 9.5 2.8 18.7 8.1 26.6L530 427c8.8 13.1 23.5 21 39.3 21c22.5 0 41.9-15.9 46.3-38l20.3-101.6c2.6-13-.3-26.5-8-37.3l-3.9-5.5 0-81.6c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 14.4-52.9-74.1C496 86.5 452.4 64 405.9 64L272 64l-16 0-64 0-48 0C77.7 64 24 117.7 24 184l0 54C9.4 249.8 0 267.8 0 288l0 17.6c0 8 6.4 14.4 14.4 14.4C46.2 320 72 294.2 72 262.4l0-6.4 0-32 0-40c0-24.3 12.1-45.8 30.5-58.9C98.3 135.9 96 147.7 96 160l0 64zM560 336a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zM166.6 166.6c-4.2-4.2-6.6-10-6.6-16c0-12.5 10.1-22.6 22.6-22.6l178.7 0c12.5 0 22.6 10.1 22.6 22.6c0 6-2.4 11.8-6.6 16l-23.4 23.4C332.2 211.8 302.7 224 272 224s-60.2-12.2-81.9-33.9l-23.4-23.4z\"]\n};\nconst faCaretUp = {\n prefix: 'fas',\n iconName: 'caret-up',\n icon: [320, 512, [], \"f0d8\", \"M182.6 137.4c-12.5-12.5-32.8-12.5-45.3 0l-128 128c-9.2 9.2-11.9 22.9-6.9 34.9s16.6 19.8 29.6 19.8l256 0c12.9 0 24.6-7.8 29.6-19.8s2.2-25.7-6.9-34.9l-128-128z\"]\n};\nconst faScrewdriver = {\n prefix: 'fas',\n iconName: 'screwdriver',\n icon: [512, 512, [129691], \"f54a\", \"M465 7c-8.5-8.5-22-9.4-31.6-2.1l-104 80c-5.9 4.5-9.4 11.6-9.4 19l0 54.1-85.6 85.6c6.7 4.2 13 9.3 18.8 15.1s10.9 12.2 15.1 18.8L353.9 192l54.1 0c7.5 0 14.5-3.5 19-9.4l80-104c7.4-9.6 6.5-23.1-2.1-31.6L465 7zM121.4 281.4l-112 112c-12.5 12.5-12.5 32.8 0 45.3l64 64c12.5 12.5 32.8 12.5 45.3 0l112-112c30.2-30.2 30.2-79.1 0-109.3s-79.1-30.2-109.3 0z\"]\n};\nconst faFolderClosed = {\n prefix: 'fas',\n iconName: 'folder-closed',\n icon: [512, 512, [], \"e185\", \"M448 480L64 480c-35.3 0-64-28.7-64-64L0 192l512 0 0 224c0 35.3-28.7 64-64 64zm64-320L0 160 0 96C0 60.7 28.7 32 64 32l128 0c20.1 0 39.1 9.5 51.2 25.6l19.2 25.6c6 8.1 15.5 12.8 25.6 12.8l160 0c35.3 0 64 28.7 64 64z\"]\n};\nconst faHouseTsunami = {\n prefix: 'fas',\n iconName: 'house-tsunami',\n icon: [576, 512, [], \"e515\", \"M80.8 136.5C104.9 93.8 152.6 64 209 64c16.9 0 33.1 2.7 48.2 7.7c16.8 5.5 34.9-3.6 40.4-20.4s-3.6-34.9-20.4-40.4C255.8 3.8 232.8 0 209 0C95.2 0 0 88 0 200c0 91.6 53.5 172.1 142.2 194.1c13.4 3.8 27.5 5.9 42.2 5.9c.7 0 1.4 0 2.1-.1c1.8 0 3.7 .1 5.5 .1c0 0 0 0 0 0c31.9 0 60.6-9.9 80.4-18.9c5.8-2.7 11.1-5.3 15.6-7.7c4.5 2.4 9.7 5.1 15.6 7.7c19.8 9 48.5 18.9 80.4 18.9c33 0 65.5-10.3 94.5-25.8c13.4 8.4 33.7 19.3 58.2 25c17.2 4 34.4-6.7 38.4-23.9s-6.7-34.4-23.9-38.4c-18.1-4.2-36.2-13.3-50.6-25.2c-11.1-9.5-27.3-10.1-39.2-1.7c0 0 0 0 0 0C439.4 325.2 410.9 336 384 336c-27.5 0-55-10.6-77.5-26.1c-11.1-7.9-25.9-7.9-37 0c-22.4 15.5-49.9 26.1-77.4 26.1c0 0-.1 0-.1 0c-12.4 0-24-1.5-34.9-4.3C121.6 320.2 96 287 96 248c0-48.5 39.5-88 88.4-88c13.5 0 26.1 3 37.5 8.3c16 7.5 35.1 .6 42.5-15.5s.6-35.1-15.5-42.5C229.3 101.1 207.4 96 184.4 96c-40 0-76.4 15.4-103.6 40.5zm252-18.1c-8.1 6-12.8 15.5-12.8 25.6l0 121c1.6 1 3.3 2 4.8 3.1c18.4 12.7 39.6 20.3 59.2 20.3c19 0 41.2-7.9 59.2-20.3c23.8-16.7 55.8-15.3 78.1 3.4c10.6 8.8 24.2 15.6 37.3 18.6c5.8 1.4 11.2 3.4 16.2 6.2c.7-2.7 1.1-5.5 1.1-8.4l-.4-144c0-10-4.7-19.4-12.7-25.5l-95.5-72c-11.4-8.6-27.1-8.6-38.5 0l-96 72zM384 448c-27.5 0-55-10.6-77.5-26.1c-11.1-7.9-25.9-7.9-37 0C247 437.4 219.5 448 192 448c-26.9 0-55.3-10.8-77.4-26.1c0 0 0 0 0 0c-11.9-8.5-28.1-7.8-39.2 1.7c-14.4 11.9-32.5 21-50.6 25.2c-17.2 4-27.9 21.2-23.9 38.4s21.2 27.9 38.4 23.9c24.5-5.7 44.9-16.5 58.2-25C126.5 501.7 159 512 192 512c31.9 0 60.6-9.9 80.4-18.9c5.8-2.7 11.1-5.3 15.6-7.7c4.5 2.4 9.7 5.1 15.6 7.7c19.8 9 48.5 18.9 80.4 18.9c33 0 65.5-10.3 94.5-25.8c13.4 8.4 33.7 19.3 58.2 25c17.2 4 34.4-6.7 38.4-23.9s-6.7-34.4-23.9-38.4c-18.1-4.2-36.2-13.3-50.6-25.2c-11.1-9.4-27.3-10.1-39.2-1.7c0 0 0 0 0 0C439.4 437.2 410.9 448 384 448z\"]\n};\nconst faSquareNfi = {\n prefix: 'fas',\n iconName: 'square-nfi',\n icon: [448, 512, [], \"e576\", \"M0 96C0 60.7 28.7 32 64 32l320 0c35.3 0 64 28.7 64 64l0 320c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64L0 96zm75.7 64.6C68.8 162.5 64 168.8 64 176l0 160c0 8.8 7.2 16 16 16s16-7.2 16-16l0-102.2 66.3 110.5c3.7 6.2 11.1 9.1 18 7.2s11.7-8.2 11.7-15.4l0-160c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 102.2L93.7 167.8c-3.7-6.2-11.1-9.1-18-7.2zM224 176l0 64 0 96c0 8.8 7.2 16 16 16s16-7.2 16-16l0-80 48 0c8.8 0 16-7.2 16-16s-7.2-16-16-16l-48 0 0-32 48 0c8.8 0 16-7.2 16-16s-7.2-16-16-16l-64 0c-8.8 0-16 7.2-16 16zm160 0c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 160c0 8.8 7.2 16 16 16s16-7.2 16-16l0-160z\"]\n};\nconst faArrowUpFromGroundWater = {\n prefix: 'fas',\n iconName: 'arrow-up-from-ground-water',\n icon: [576, 512, [], \"e4b5\", \"M288 352c17.7 0 32-14.3 32-32l0-210.7 25.4 25.4c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-80-80c-12.5-12.5-32.8-12.5-45.3 0l-80 80c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L256 109.3 256 320c0 17.7 14.3 32 32 32zm-18.5 69.9C247 437.4 219.5 448 192 448c-26.9 0-55.3-10.8-77.4-26.1c0 0 0 0 0 0c-11.9-8.5-28.1-7.8-39.2 1.7c-14.4 11.9-32.5 21-50.6 25.2c-17.2 4-27.9 21.2-23.9 38.4s21.2 27.9 38.4 23.9c24.5-5.7 44.9-16.5 58.2-25C126.5 501.7 159 512 192 512c31.9 0 60.6-9.9 80.4-18.9c5.8-2.7 11.1-5.3 15.6-7.7c4.5 2.4 9.7 5.1 15.6 7.7c19.8 9 48.5 18.9 80.4 18.9c33 0 65.5-10.3 94.5-25.8c13.4 8.4 33.7 19.3 58.2 25c17.2 4 34.4-6.7 38.4-23.9s-6.7-34.4-23.9-38.4c-18.1-4.2-36.2-13.3-50.6-25.2c-11.1-9.4-27.3-10.1-39.2-1.7c0 0 0 0 0 0C439.4 437.2 410.9 448 384 448c-27.5 0-55-10.6-77.5-26.1c-11.1-7.9-25.9-7.9-37 0zM192 192L48 192c-26.5 0-48 21.5-48 48L0 425c5.3-3.1 11.2-5.4 17.5-6.9c13.1-3.1 26.7-9.8 37.3-18.6c22.2-18.7 54.3-20.1 78.1-3.4c18 12.4 40.1 20.3 59.1 20.3L192 192zm384 48c0-26.5-21.5-48-48-48l-144 0 0 224.5s0 0 0 0c19 0 41.2-7.9 59.2-20.3c23.8-16.7 55.8-15.4 78.1 3.4c10.6 8.8 24.2 15.6 37.3 18.6c6.3 1.5 12.1 3.8 17.5 6.9l0-185z\"]\n};\nconst faMartiniGlass = {\n prefix: 'fas',\n iconName: 'martini-glass',\n icon: [512, 512, [127864, \"glass-martini-alt\"], \"f57b\", \"M32 0C19.1 0 7.4 7.8 2.4 19.8s-2.2 25.7 6.9 34.9L224 269.3 224 448l-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l96 0 96 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-64 0 0-178.7L502.6 54.6c9.2-9.2 11.9-22.9 6.9-34.9S492.9 0 480 0L32 0zM173.3 128l-64-64 293.5 0-64 64-165.5 0z\"]\n};\nconst faGlassMartiniAlt = faMartiniGlass;\nconst faSquareBinary = {\n prefix: 'fas',\n iconName: 'square-binary',\n icon: [448, 512, [], \"e69b\", \"M0 96C0 60.7 28.7 32 64 32l320 0c35.3 0 64 28.7 64 64l0 320c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64L0 96zm144 4c-24.3 0-44 19.7-44 44l0 48c0 24.3 19.7 44 44 44l32 0c24.3 0 44-19.7 44-44l0-48c0-24.3-19.7-44-44-44l-32 0zm-4 44c0-2.2 1.8-4 4-4l32 0c2.2 0 4 1.8 4 4l0 48c0 2.2-1.8 4-4 4l-32 0c-2.2 0-4-1.8-4-4l0-48zm140-44c-11 0-20 9-20 20c0 9.7 6.9 17.7 16 19.6l0 76.4c0 11 9 20 20 20s20-9 20-20l0-96c0-11-9-20-20-20l-16 0zM132 296c0 9.7 6.9 17.7 16 19.6l0 76.4c0 11 9 20 20 20s20-9 20-20l0-96c0-11-9-20-20-20l-16 0c-11 0-20 9-20 20zm96 24l0 48c0 24.3 19.7 44 44 44l32 0c24.3 0 44-19.7 44-44l0-48c0-24.3-19.7-44-44-44l-32 0c-24.3 0-44 19.7-44 44zm44-4l32 0c2.2 0 4 1.8 4 4l0 48c0 2.2-1.8 4-4 4l-32 0c-2.2 0-4-1.8-4-4l0-48c0-2.2 1.8-4 4-4z\"]\n};\nconst faRotateLeft = {\n prefix: 'fas',\n iconName: 'rotate-left',\n icon: [512, 512, [\"rotate-back\", \"rotate-backward\", \"undo-alt\"], \"f2ea\", \"M48.5 224L40 224c-13.3 0-24-10.7-24-24L16 72c0-9.7 5.8-18.5 14.8-22.2s19.3-1.7 26.2 5.2L98.6 96.6c87.6-86.5 228.7-86.2 315.8 1c87.5 87.5 87.5 229.3 0 316.8s-229.3 87.5-316.8 0c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0c62.5 62.5 163.8 62.5 226.3 0s62.5-163.8 0-226.3c-62.2-62.2-162.7-62.5-225.3-1L185 183c6.9 6.9 8.9 17.2 5.2 26.2s-12.5 14.8-22.2 14.8L48.5 224z\"]\n};\nconst faRotateBack = faRotateLeft;\nconst faRotateBackward = faRotateLeft;\nconst faUndoAlt = faRotateLeft;\nconst faTableColumns = {\n prefix: 'fas',\n iconName: 'table-columns',\n icon: [512, 512, [\"columns\"], \"f0db\", \"M0 96C0 60.7 28.7 32 64 32l384 0c35.3 0 64 28.7 64 64l0 320c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64L0 96zm64 64l0 256 160 0 0-256L64 160zm384 0l-160 0 0 256 160 0 0-256z\"]\n};\nconst faColumns = faTableColumns;\nconst faLemon = {\n prefix: 'fas',\n iconName: 'lemon',\n icon: [448, 512, [127819], \"f094\", \"M448 96c0-35.3-28.7-64-64-64c-6.6 0-13 1-19 2.9c-22.5 7-48.1 14.9-71 9c-75.2-19.1-156.4 11-213.7 68.3S-7.2 250.8 11.9 326c5.8 22.9-2 48.4-9 71C1 403 0 409.4 0 416c0 35.3 28.7 64 64 64c6.6 0 13-1 19.1-2.9c22.5-7 48.1-14.9 71-9c75.2 19.1 156.4-11 213.7-68.3s87.5-138.5 68.3-213.7c-5.8-22.9 2-48.4 9-71c1.9-6 2.9-12.4 2.9-19.1zM212.5 127.4c-54.6 16-101.1 62.5-117.1 117.1C92.9 253 84 257.8 75.5 255.4S62.2 244 64.6 235.5c19.1-65.1 73.7-119.8 138.9-138.9c8.5-2.5 17.4 2.4 19.9 10.9s-2.4 17.4-10.9 19.9z\"]\n};\nconst faHeadSideMask = {\n prefix: 'fas',\n iconName: 'head-side-mask',\n icon: [576, 512, [], \"e063\", \"M32 224.2c0-22.2 3.2-43.6 9.2-63.9L262.2 321c-4 9.5-6.2 20-6.2 31l0 160-128 0c-17.7 0-32-14.3-32-32l0-72.7c0-16.7-6.9-32.5-17.1-45.8C48.6 322.4 32 274.1 32 224.2zm248.3 70.4L53 129.3C88.7 53 166.2 0 256 0l24 0c95.2 0 181.2 69.3 197.3 160.2c2.3 13 6.8 25.7 15.1 36l42 52.6c5.4 6.7 8.6 14.8 9.4 23.2L336 272c-21.7 0-41.3 8.6-55.7 22.6zM336 304l198 0s0 0 0 0l10 0-19.7 64L368 368c-8.8 0-16 7.2-16 16s7.2 16 16 16l146.5 0-9.8 32L368 432c-8.8 0-16 7.2-16 16s7.2 16 16 16l126.8 0-.9 2.8c-8.3 26.9-33.1 45.2-61.2 45.2L288 512l0-160c0-14 6-26.7 15.6-35.4c0 0 0 0 0 0c8.5-7.8 19.9-12.6 32.4-12.6zm48-80a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nconst faHandshake = {\n prefix: 'fas',\n iconName: 'handshake',\n icon: [640, 512, [], \"f2b5\", \"M323.4 85.2l-96.8 78.4c-16.1 13-19.2 36.4-7 53.1c12.9 17.8 38 21.3 55.3 7.8l99.3-77.2c7-5.4 17-4.2 22.5 2.8s4.2 17-2.8 22.5l-20.9 16.2L512 316.8 512 128l-.7 0-3.9-2.5L434.8 79c-15.3-9.8-33.2-15-51.4-15c-21.8 0-43 7.5-60 21.2zm22.8 124.4l-51.7 40.2C263 274.4 217.3 268 193.7 235.6c-22.2-30.5-16.6-73.1 12.7-96.8l83.2-67.3c-11.6-4.9-24.1-7.4-36.8-7.4C234 64 215.7 69.6 200 80l-72 48 0 224 28.2 0 91.4 83.4c19.6 17.9 49.9 16.5 67.8-3.1c5.5-6.1 9.2-13.2 11.1-20.6l17 15.6c19.5 17.9 49.9 16.6 67.8-2.9c4.5-4.9 7.8-10.6 9.9-16.5c19.4 13 45.8 10.3 62.1-7.5c17.9-19.5 16.6-49.9-2.9-67.8l-134.2-123zM16 128c-8.8 0-16 7.2-16 16L0 352c0 17.7 14.3 32 32 32l32 0c17.7 0 32-14.3 32-32l0-224-80 0zM48 320a16 16 0 1 1 0 32 16 16 0 1 1 0-32zM544 128l0 224c0 17.7 14.3 32 32 32l32 0c17.7 0 32-14.3 32-32l0-208c0-8.8-7.2-16-16-16l-80 0zm32 208a16 16 0 1 1 32 0 16 16 0 1 1 -32 0z\"]\n};\nconst faGem = {\n prefix: 'fas',\n iconName: 'gem',\n icon: [512, 512, [128142], \"f3a5\", \"M116.7 33.8c4.5-6.1 11.7-9.8 19.3-9.8l240 0c7.6 0 14.8 3.6 19.3 9.8l112 152c6.8 9.2 6.1 21.9-1.5 30.4l-232 256c-4.5 5-11 7.9-17.8 7.9s-13.2-2.9-17.8-7.9l-232-256c-7.7-8.5-8.3-21.2-1.5-30.4l112-152zm38.5 39.8c-3.3 2.5-4.2 7-2.1 10.5l57.4 95.6L63.3 192c-4.1 .3-7.3 3.8-7.3 8s3.2 7.6 7.3 8l192 16c.4 0 .9 0 1.3 0l192-16c4.1-.3 7.3-3.8 7.3-8s-3.2-7.6-7.3-8L301.5 179.8l57.4-95.6c2.1-3.5 1.2-8.1-2.1-10.5s-7.9-2-10.7 1L256 172.2 165.9 74.6c-2.8-3-7.4-3.4-10.7-1z\"]\n};\nconst faDolly = {\n prefix: 'fas',\n iconName: 'dolly',\n icon: [576, 512, [\"dolly-box\"], \"f472\", \"M0 32C0 14.3 14.3 0 32 0l72.9 0c27.5 0 52 17.6 60.7 43.8L257.7 320c30.1 .5 56.8 14.9 74 37l202.1-67.4c16.8-5.6 34.9 3.5 40.5 20.2s-3.5 34.9-20.2 40.5L352 417.7c-.9 52.2-43.5 94.3-96 94.3c-53 0-96-43-96-96c0-30.8 14.5-58.2 37-75.8L104.9 64 32 64C14.3 64 0 49.7 0 32zM244.8 134.5c-5.5-16.8 3.7-34.9 20.5-40.3L311 79.4l19.8 60.9 60.9-19.8L371.8 59.6l45.7-14.8c16.8-5.5 34.9 3.7 40.3 20.5l49.4 152.2c5.5 16.8-3.7 34.9-20.5 40.3L334.5 307.2c-16.8 5.5-34.9-3.7-40.3-20.5L244.8 134.5z\"]\n};\nconst faDollyBox = faDolly;\nconst faSmoking = {\n prefix: 'fas',\n iconName: 'smoking',\n icon: [640, 512, [128684], \"f48d\", \"M448 32l0 11c0 38.2 15.2 74.8 42.2 101.8l21 21c21 21 32.8 49.5 32.8 79.2l0 11c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-11c0-12.7-5.1-24.9-14.1-33.9l-21-21C405.9 151.1 384 98.1 384 43l0-11c0-17.7 14.3-32 32-32s32 14.3 32 32zM576 256l0-11c0-38.2-15.2-74.8-42.2-101.8l-21-21c-21-21-32.8-49.5-32.8-79.2l0-11c0-17.7 14.3-32 32-32s32 14.3 32 32l0 11c0 12.7 5.1 24.9 14.1 33.9l21 21c39 39 60.9 91.9 60.9 147.1l0 11c0 17.7-14.3 32-32 32s-32-14.3-32-32zM0 416c0-35.3 28.7-64 64-64l352 0c17.7 0 32 14.3 32 32l0 96c0 17.7-14.3 32-32 32L64 512c-35.3 0-64-28.7-64-64l0-32zm224 0l0 32 160 0 0-32-160 0zm288-64c17.7 0 32 14.3 32 32l0 96c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-96c0-17.7 14.3-32 32-32zm96 0c17.7 0 32 14.3 32 32l0 96c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-96c0-17.7 14.3-32 32-32z\"]\n};\nconst faMinimize = {\n prefix: 'fas',\n iconName: 'minimize',\n icon: [512, 512, [\"compress-arrows-alt\"], \"f78c\", \"M456 224l-144 0c-13.3 0-24-10.7-24-24l0-144c0-9.7 5.8-18.5 14.8-22.2s19.3-1.7 26.2 5.2l40 40L442.3 5.7C446 2 450.9 0 456 0s10 2 13.7 5.7l36.7 36.7C510 46 512 50.9 512 56s-2 10-5.7 13.7L433 143l40 40c6.9 6.9 8.9 17.2 5.2 26.2s-12.5 14.8-22.2 14.8zm0 64c9.7 0 18.5 5.8 22.2 14.8s1.7 19.3-5.2 26.2l-40 40 73.4 73.4c3.6 3.6 5.7 8.5 5.7 13.7s-2 10-5.7 13.7l-36.7 36.7C466 510 461.1 512 456 512s-10-2-13.7-5.7L369 433l-40 40c-6.9 6.9-17.2 8.9-26.2 5.2s-14.8-12.5-14.8-22.2l0-144c0-13.3 10.7-24 24-24l144 0zm-256 0c13.3 0 24 10.7 24 24l0 144c0 9.7-5.8 18.5-14.8 22.2s-19.3 1.7-26.2-5.2l-40-40L69.7 506.3C66 510 61.1 512 56 512s-10-2-13.7-5.7L5.7 469.7C2 466 0 461.1 0 456s2-10 5.7-13.7L79 369 39 329c-6.9-6.9-8.9-17.2-5.2-26.2s12.5-14.8 22.2-14.8l144 0zM56 224c-9.7 0-18.5-5.8-22.2-14.8s-1.7-19.3 5.2-26.2l40-40L5.7 69.7C2 66 0 61.1 0 56s2-10 5.7-13.7L42.3 5.7C46 2 50.9 0 56 0s10 2 13.7 5.7L143 79l40-40c6.9-6.9 17.2-8.9 26.2-5.2s14.8 12.5 14.8 22.2l0 144c0 13.3-10.7 24-24 24L56 224z\"]\n};\nconst faCompressArrowsAlt = faMinimize;\nconst faMonument = {\n prefix: 'fas',\n iconName: 'monument',\n icon: [384, 512, [], \"f5a6\", \"M180.7 4.7c6.2-6.2 16.4-6.2 22.6 0l80 80c2.5 2.5 4.1 5.8 4.6 9.3l40.2 322L55.9 416 96.1 94c.4-3.5 2-6.8 4.6-9.3l80-80zM152 272c-13.3 0-24 10.7-24 24s10.7 24 24 24l80 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-80 0zM32 448l320 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 512c-17.7 0-32-14.3-32-32s14.3-32 32-32z\"]\n};\nconst faSnowplow = {\n prefix: 'fas',\n iconName: 'snowplow',\n icon: [640, 512, [], \"f7d2\", \"M298.9 64l68.6 160L256 224l-64-64 0-96 106.9 0zM445.1 242.7l-87.4-204C347.6 15.3 324.5 0 298.9 0L176 0c-26.5 0-48 21.5-48 48l0 112-32 0c-17.7 0-32 14.3-32 32l0 106.8C26.2 316.8 0 355.3 0 400c0 61.9 50.1 112 112 112l256 0c61.9 0 112-50.1 112-112c0-17.2-3.9-33.5-10.8-48l42.8 0 0 50.7c0 17 6.7 33.3 18.7 45.3l54.6 54.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L576 402.7l0-82.7 0-84.8L633 164c11-13.8 8.8-33.9-5-45s-33.9-8.8-45 5l-57 71.2c-9.1 11.3-14 25.4-14 40l0 52.8-64 0 0-31.3c.1-2.4-.2-4.8-.6-7.1s-1.2-4.7-2.2-6.8zM368 352c26.5 0 48 21.5 48 48s-21.5 48-48 48l-256 0c-26.5 0-48-21.5-48-48s21.5-48 48-48l256 0zM144 400a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm216 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm-56-24a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM200 424a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nconst faAnglesRight = {\n prefix: 'fas',\n iconName: 'angles-right',\n icon: [512, 512, [187, \"angle-double-right\"], \"f101\", \"M470.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-160-160c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L402.7 256 265.4 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l160-160zm-352 160l160-160c12.5-12.5 12.5-32.8 0-45.3l-160-160c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L210.7 256 73.4 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0z\"]\n};\nconst faAngleDoubleRight = faAnglesRight;\nconst faCannabis = {\n prefix: 'fas',\n iconName: 'cannabis',\n icon: [512, 512, [], \"f55f\", \"M256 0c5.3 0 10.3 2.7 13.3 7.1c15.8 23.5 36.7 63.7 49.2 109c7.2 26.4 11.8 55.2 10.4 84c11.5-8.8 23.7-16.7 35.8-23.6c41-23.3 84.4-36.9 112.2-42.5c5.2-1 10.7 .6 14.4 4.4s5.4 9.2 4.4 14.5c-5.6 27.7-19.3 70.9-42.7 111.7c-9.1 15.9-19.9 31.7-32.4 46.3c27.8 6.6 52.4 17.3 67.2 25.5c5.1 2.8 8.2 8.2 8.2 14s-3.2 11.2-8.2 14c-15.2 8.4-40.9 19.5-69.8 26.1c-20.2 4.6-42.9 7.2-65.2 4.6l8.3 33.1c1.5 6.1-.6 12.4-5.5 16.4s-11.6 4.6-17.2 1.9L280 417.2l0 70.8c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-70.8-58.5 29.1c-5.6 2.8-12.3 2.1-17.2-1.9s-7-10.3-5.5-16.4l8.3-33.1c-22.2 2.6-45 0-65.2-4.6c-28.9-6.6-54.6-17.6-69.8-26.1c-5.1-2.8-8.2-8.2-8.2-14s3.2-11.2 8.2-14c14.8-8.2 39.4-18.8 67.2-25.5C78.9 296.3 68.1 280.5 59 264.6c-23.4-40.8-37.1-84-42.7-111.7c-1.1-5.2 .6-10.7 4.4-14.5s9.2-5.4 14.4-4.4c27.9 5.5 71.2 19.2 112.2 42.5c12.1 6.9 24.3 14.7 35.8 23.6c-1.4-28.7 3.1-57.6 10.4-84c12.5-45.3 33.4-85.5 49.2-109c3-4.4 8-7.1 13.3-7.1z\"]\n};\nconst faCirclePlay = {\n prefix: 'fas',\n iconName: 'circle-play',\n icon: [512, 512, [61469, \"play-circle\"], \"f144\", \"M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM188.3 147.1c-7.6 4.2-12.3 12.3-12.3 20.9l0 176c0 8.7 4.7 16.7 12.3 20.9s16.8 4.1 24.3-.5l144-88c7.1-4.4 11.5-12.1 11.5-20.5s-4.4-16.1-11.5-20.5l-144-88c-7.4-4.5-16.7-4.7-24.3-.5z\"]\n};\nconst faPlayCircle = faCirclePlay;\nconst faTablets = {\n prefix: 'fas',\n iconName: 'tablets',\n icon: [640, 512, [], \"f490\", \"M614.3 247c-5.2 7.9-16.2 8.5-22.9 1.8L391.2 48.6c-6.7-6.7-6.2-17.8 1.8-22.9C418.1 9.4 447.9 0 480 0c88.4 0 160 71.6 160 160c0 32.1-9.4 61.9-25.7 87zM567 294.3c-25 16.3-54.9 25.7-87 25.7c-88.4 0-160-71.6-160-160c0-32.1 9.4-61.9 25.7-87c5.2-7.9 16.2-8.5 22.9-1.8L568.8 271.4c6.7 6.7 6.2 17.8-1.8 22.9zM301.5 368c9.5 0 16.9 8.2 15 17.5C301.1 457.8 236.9 512 160 512S18.9 457.8 3.5 385.5c-2-9.3 5.5-17.5 15-17.5l283.1 0zm0-32L18.5 336c-9.5 0-16.9-8.2-15-17.5C18.9 246.2 83.1 192 160 192s141.1 54.2 156.5 126.5c2 9.3-5.5 17.5-15 17.5z\"]\n};\nconst faEthernet = {\n prefix: 'fas',\n iconName: 'ethernet',\n icon: [512, 512, [], \"f796\", \"M0 224L0 416c0 17.7 14.3 32 32 32l64 0 0-112c0-8.8 7.2-16 16-16s16 7.2 16 16l0 112 64 0 0-112c0-8.8 7.2-16 16-16s16 7.2 16 16l0 112 64 0 0-112c0-8.8 7.2-16 16-16s16 7.2 16 16l0 112 64 0 0-112c0-8.8 7.2-16 16-16s16 7.2 16 16l0 112 64 0c17.7 0 32-14.3 32-32l0-192c0-17.7-14.3-32-32-32l-32 0 0-32c0-17.7-14.3-32-32-32l-32 0 0-32c0-17.7-14.3-32-32-32L160 64c-17.7 0-32 14.3-32 32l0 32-32 0c-17.7 0-32 14.3-32 32l0 32-32 0c-17.7 0-32 14.3-32 32z\"]\n};\nconst faEuroSign = {\n prefix: 'fas',\n iconName: 'euro-sign',\n icon: [320, 512, [8364, \"eur\", \"euro\"], \"f153\", \"M48.1 240c-.1 2.7-.1 5.3-.1 8l0 16c0 2.7 0 5.3 .1 8L32 272c-17.7 0-32 14.3-32 32s14.3 32 32 32l28.3 0C89.9 419.9 170 480 264 480l24 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-24 0c-57.9 0-108.2-32.4-133.9-80L256 336c17.7 0 32-14.3 32-32s-14.3-32-32-32l-143.8 0c-.1-2.6-.2-5.3-.2-8l0-16c0-2.7 .1-5.4 .2-8L256 240c17.7 0 32-14.3 32-32s-14.3-32-32-32l-125.9 0c25.7-47.6 76-80 133.9-80l24 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-24 0C170 32 89.9 92.1 60.3 176L32 176c-17.7 0-32 14.3-32 32s14.3 32 32 32l16.1 0z\"]\n};\nconst faEur = faEuroSign;\nconst faEuro = faEuroSign;\nconst faChair = {\n prefix: 'fas',\n iconName: 'chair',\n icon: [448, 512, [129681], \"f6c0\", \"M248 48l0 208 48 0 0-197.3c23.9 13.8 40 39.7 40 69.3l0 128 48 0 0-128C384 57.3 326.7 0 256 0L192 0C121.3 0 64 57.3 64 128l0 128 48 0 0-128c0-29.6 16.1-55.5 40-69.3L152 256l48 0 0-208 48 0zM48 288c-12.1 0-23.2 6.8-28.6 17.7l-16 32c-5 9.9-4.4 21.7 1.4 31.1S20.9 384 32 384l0 96c0 17.7 14.3 32 32 32s32-14.3 32-32l0-96 256 0 0 96c0 17.7 14.3 32 32 32s32-14.3 32-32l0-96c11.1 0 21.4-5.7 27.2-15.2s6.4-21.2 1.4-31.1l-16-32C423.2 294.8 412.1 288 400 288L48 288z\"]\n};\nconst faCircleCheck = {\n prefix: 'fas',\n iconName: 'circle-check',\n icon: [512, 512, [61533, \"check-circle\"], \"f058\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM369 209L241 337c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L335 175c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z\"]\n};\nconst faCheckCircle = faCircleCheck;\nconst faCircleStop = {\n prefix: 'fas',\n iconName: 'circle-stop',\n icon: [512, 512, [62094, \"stop-circle\"], \"f28d\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM192 160l128 0c17.7 0 32 14.3 32 32l0 128c0 17.7-14.3 32-32 32l-128 0c-17.7 0-32-14.3-32-32l0-128c0-17.7 14.3-32 32-32z\"]\n};\nconst faStopCircle = faCircleStop;\nconst faCompassDrafting = {\n prefix: 'fas',\n iconName: 'compass-drafting',\n icon: [512, 512, [\"drafting-compass\"], \"f568\", \"M352 96c0 14.3-3.1 27.9-8.8 40.2L396 227.4c-23.7 25.3-54.2 44.1-88.5 53.6L256 192c0 0 0 0 0 0s0 0 0 0l-68 117.5c21.5 6.8 44.3 10.5 68.1 10.5c70.7 0 133.8-32.7 174.9-84c11.1-13.8 31.2-16 45-5s16 31.2 5 45C428.1 341.8 347 384 256 384c-35.4 0-69.4-6.4-100.7-18.1L98.7 463.7C94 471.8 87 478.4 78.6 482.6L23.2 510.3c-5 2.5-10.9 2.2-15.6-.7S0 501.5 0 496l0-55.4c0-8.4 2.2-16.7 6.5-24.1l60-103.7C53.7 301.6 41.8 289.3 31.2 276c-11.1-13.8-8.8-33.9 5-45s33.9-8.8 45 5c5.7 7.1 11.8 13.8 18.2 20.1l69.4-119.9c-5.6-12.2-8.8-25.8-8.8-40.2c0-53 43-96 96-96s96 43 96 96zm21 297.9c32.6-12.8 62.5-30.8 88.9-52.9l43.7 75.5c4.2 7.3 6.5 15.6 6.5 24.1l0 55.4c0 5.5-2.9 10.7-7.6 13.6s-10.6 3.2-15.6 .7l-55.4-27.7c-8.4-4.2-15.4-10.8-20.1-18.9L373 393.9zM256 128a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nconst faDraftingCompass = faCompassDrafting;\nconst faPlateWheat = {\n prefix: 'fas',\n iconName: 'plate-wheat',\n icon: [512, 512, [], \"e55a\", \"M176 32c44.2 0 80 35.8 80 80l0 16c0 8.8-7.2 16-16 16c-44.2 0-80-35.8-80-80l0-16c0-8.8 7.2-16 16-16zM56 64l48 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-48 0c-13.3 0-24-10.7-24-24s10.7-24 24-24zM24 136l112 0c13.3 0 24 10.7 24 24s-10.7 24-24 24L24 184c-13.3 0-24-10.7-24-24s10.7-24 24-24zm8 96c0-13.3 10.7-24 24-24l48 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-48 0c-13.3 0-24-10.7-24-24zM272 48c0-8.8 7.2-16 16-16c44.2 0 80 35.8 80 80l0 16c0 8.8-7.2 16-16 16c-44.2 0-80-35.8-80-80l0-16zM400 32c44.2 0 80 35.8 80 80l0 16c0 8.8-7.2 16-16 16c-44.2 0-80-35.8-80-80l0-16c0-8.8 7.2-16 16-16zm80 160l0 16c0 44.2-35.8 80-80 80c-8.8 0-16-7.2-16-16l0-16c0-44.2 35.8-80 80-80c8.8 0 16 7.2 16 16zM352 176c8.8 0 16 7.2 16 16l0 16c0 44.2-35.8 80-80 80c-8.8 0-16-7.2-16-16l0-16c0-44.2 35.8-80 80-80zm-96 16l0 16c0 44.2-35.8 80-80 80c-8.8 0-16-7.2-16-16l0-16c0-44.2 35.8-80 80-80c8.8 0 16 7.2 16 16zM3.5 347.6C1.6 332.9 13 320 27.8 320l456.4 0c14.8 0 26.2 12.9 24.4 27.6C502.3 397.8 464.2 437 416 446l0 2c0 17.7-14.3 32-32 32l-256 0c-17.7 0-32-14.3-32-32l0-2c-48.2-9-86.3-48.2-92.5-98.4z\"]\n};\nconst faIcicles = {\n prefix: 'fas',\n iconName: 'icicles',\n icon: [512, 512, [], \"f7ad\", \"M75.8 304.8L1 35.7c-.7-2.5-1-5-1-7.5C0 12.6 12.6 0 28.2 0H482.4C498.8 0 512 13.2 512 29.6c0 1.6-.1 3.3-.4 4.9L434.6 496.1c-1.5 9.2-9.5 15.9-18.8 15.9c-9.2 0-17.1-6.6-18.7-15.6L336 160 307.2 303.9c-1.9 9.3-10.1 16.1-19.6 16.1c-9.2 0-17.2-6.2-19.4-15.1L240 192 210.6 368.2c-1.5 9.1-9.4 15.8-18.6 15.8s-17.1-6.7-18.6-15.8L144 192 115.9 304.3c-2.3 9.2-10.6 15.7-20.1 15.7c-9.3 0-17.5-6.2-20-15.2z\"]\n};\nconst faPersonShelter = {\n prefix: 'fas',\n iconName: 'person-shelter',\n icon: [512, 512, [], \"e54f\", \"M271.9 4.2c-9.8-5.6-21.9-5.6-31.8 0l-224 128C6.2 137.9 0 148.5 0 160L0 480c0 17.7 14.3 32 32 32s32-14.3 32-32l0-301.4L256 68.9 448 178.6 448 480c0 17.7 14.3 32 32 32s32-14.3 32-32l0-320c0-11.5-6.2-22.1-16.1-27.8l-224-128zM256 208a40 40 0 1 0 0-80 40 40 0 1 0 0 80zm-8 280l0-88 16 0 0 88c0 13.3 10.7 24 24 24s24-10.7 24-24l0-174.5 26.9 49.9c6.3 11.7 20.8 16 32.5 9.8s16-20.8 9.8-32.5l-37.9-70.3c-15.3-28.5-45.1-46.3-77.5-46.3l-19.5 0c-32.4 0-62.1 17.8-77.5 46.3l-37.9 70.3c-6.3 11.7-1.9 26.2 9.8 32.5s26.2 1.9 32.5-9.8L200 313.5 200 488c0 13.3 10.7 24 24 24s24-10.7 24-24z\"]\n};\nconst faNeuter = {\n prefix: 'fas',\n iconName: 'neuter',\n icon: [384, 512, [9906], \"f22c\", \"M80 176a112 112 0 1 1 224 0A112 112 0 1 1 80 176zM224 349.1c81.9-15 144-86.8 144-173.1C368 78.8 289.2 0 192 0S16 78.8 16 176c0 86.3 62.1 158.1 144 173.1L160 480c0 17.7 14.3 32 32 32s32-14.3 32-32l0-130.9z\"]\n};\nconst faIdBadge = {\n prefix: 'fas',\n iconName: 'id-badge',\n icon: [384, 512, [], \"f2c1\", \"M64 0C28.7 0 0 28.7 0 64L0 448c0 35.3 28.7 64 64 64l256 0c35.3 0 64-28.7 64-64l0-384c0-35.3-28.7-64-64-64L64 0zm96 320l64 0c44.2 0 80 35.8 80 80c0 8.8-7.2 16-16 16L96 416c-8.8 0-16-7.2-16-16c0-44.2 35.8-80 80-80zm-32-96a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zM144 64l96 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-96 0c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nconst faMarker = {\n prefix: 'fas',\n iconName: 'marker',\n icon: [512, 512, [], \"f5a1\", \"M481 31C445.1-4.8 386.9-4.8 351 31l-15 15L322.9 33C294.8 4.9 249.2 4.9 221.1 33L135 119c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0L255 66.9c9.4-9.4 24.6-9.4 33.9 0L302.1 80 186.3 195.7 316.3 325.7 481 161c35.9-35.9 35.9-94.1 0-129.9zM293.7 348.3L163.7 218.3 99.5 282.5c-48 48-80.8 109.2-94.1 175.8l-5 25c-1.6 7.9 .9 16 6.6 21.7s13.8 8.1 21.7 6.6l25-5c66.6-13.3 127.8-46.1 175.8-94.1l64.2-64.2z\"]\n};\nconst faFaceLaughBeam = {\n prefix: 'fas',\n iconName: 'face-laugh-beam',\n icon: [512, 512, [128513, \"laugh-beam\"], \"f59a\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM96.8 314.1c-3.8-13.7 7.4-26.1 21.6-26.1l275.2 0c14.2 0 25.5 12.4 21.6 26.1C396.2 382 332.1 432 256 432s-140.2-50-159.2-117.9zM217.6 212.8s0 0 0 0c0 0 0 0 0 0l-.2-.2c-.2-.2-.4-.5-.7-.9c-.6-.8-1.6-2-2.8-3.4c-2.5-2.8-6-6.6-10.2-10.3c-8.8-7.8-18.8-14-27.7-14s-18.9 6.2-27.7 14c-4.2 3.7-7.7 7.5-10.2 10.3c-1.2 1.4-2.2 2.6-2.8 3.4c-.3 .4-.6 .7-.7 .9l-.2 .2c0 0 0 0 0 0c0 0 0 0 0 0s0 0 0 0c-2.1 2.8-5.7 3.9-8.9 2.8s-5.5-4.1-5.5-7.6c0-17.9 6.7-35.6 16.6-48.8c9.8-13 23.9-23.2 39.4-23.2s29.6 10.2 39.4 23.2c9.9 13.2 16.6 30.9 16.6 48.8c0 3.4-2.2 6.5-5.5 7.6s-6.9 0-8.9-2.8c0 0 0 0 0 0s0 0 0 0zm160 0c0 0 0 0 0 0l-.2-.2c-.2-.2-.4-.5-.7-.9c-.6-.8-1.6-2-2.8-3.4c-2.5-2.8-6-6.6-10.2-10.3c-8.8-7.8-18.8-14-27.7-14s-18.9 6.2-27.7 14c-4.2 3.7-7.7 7.5-10.2 10.3c-1.2 1.4-2.2 2.6-2.8 3.4c-.3 .4-.6 .7-.7 .9l-.2 .2c0 0 0 0 0 0c0 0 0 0 0 0s0 0 0 0c-2.1 2.8-5.7 3.9-8.9 2.8s-5.5-4.1-5.5-7.6c0-17.9 6.7-35.6 16.6-48.8c9.8-13 23.9-23.2 39.4-23.2s29.6 10.2 39.4 23.2c9.9 13.2 16.6 30.9 16.6 48.8c0 3.4-2.2 6.5-5.5 7.6s-6.9 0-8.9-2.8c0 0 0 0 0 0s0 0 0 0s0 0 0 0z\"]\n};\nconst faLaughBeam = faFaceLaughBeam;\nconst faHelicopterSymbol = {\n prefix: 'fas',\n iconName: 'helicopter-symbol',\n icon: [512, 512, [], \"e502\", \"M445.3 224l64.7 0C495.6 108.2 403.8 16.4 288 2l0 64.7C368.4 80.1 431.9 143.6 445.3 224zM510 288l-64.7 0C431.9 368.4 368.4 431.9 288 445.3l0 64.7c115.8-14.4 207.6-106.2 222-222zM2 288C16.4 403.8 108.2 495.6 224 510l0-64.7C143.6 431.9 80.1 368.4 66.7 288L2 288zm0-64l64.7 0C80.1 143.6 143.6 80.1 224 66.7L224 2C108.2 16.4 16.4 108.2 2 224zm206-64c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 192c0 17.7 14.3 32 32 32s32-14.3 32-32l0-64 96 0 0 64c0 17.7 14.3 32 32 32s32-14.3 32-32l0-192c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 64-96 0 0-64z\"]\n};\nconst faUniversalAccess = {\n prefix: 'fas',\n iconName: 'universal-access',\n icon: [512, 512, [], \"f29a\", \"M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm161.5-86.1c-12.2-5.2-26.3 .4-31.5 12.6s.4 26.3 12.6 31.5l11.9 5.1c17.3 7.4 35.2 12.9 53.6 16.3l0 50.1c0 4.3-.7 8.6-2.1 12.6l-28.7 86.1c-4.2 12.6 2.6 26.2 15.2 30.4s26.2-2.6 30.4-15.2l24.4-73.2c1.3-3.8 4.8-6.4 8.8-6.4s7.6 2.6 8.8 6.4l24.4 73.2c4.2 12.6 17.8 19.4 30.4 15.2s19.4-17.8 15.2-30.4l-28.7-86.1c-1.4-4.1-2.1-8.3-2.1-12.6l0-50.1c18.4-3.5 36.3-8.9 53.6-16.3l11.9-5.1c12.2-5.2 17.8-19.3 12.6-31.5s-19.3-17.8-31.5-12.6L338.7 175c-26.1 11.2-54.2 17-82.7 17s-56.5-5.8-82.7-17l-11.9-5.1zM256 160a40 40 0 1 0 0-80 40 40 0 1 0 0 80z\"]\n};\nconst faCircleChevronUp = {\n prefix: 'fas',\n iconName: 'circle-chevron-up',\n icon: [512, 512, [\"chevron-circle-up\"], \"f139\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM377 271c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-87-87-87 87c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9L239 167c9.4-9.4 24.6-9.4 33.9 0L377 271z\"]\n};\nconst faChevronCircleUp = faCircleChevronUp;\nconst faLariSign = {\n prefix: 'fas',\n iconName: 'lari-sign',\n icon: [384, 512, [], \"e1c8\", \"M144 32c17.7 0 32 14.3 32 32l0 32.7c5.3-.4 10.6-.7 16-.7s10.7 .2 16 .7L208 64c0-17.7 14.3-32 32-32s32 14.3 32 32l0 49.4c54.9 25.2 95.8 75.5 108.2 136.2c3.5 17.3-7.7 34.2-25 37.7s-34.2-7.7-37.7-25c-6.1-29.9-22.5-55.9-45.4-74.3l0 67.9c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-95c-5.2-.7-10.6-1-16-1s-10.8 .3-16 1l0 95c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-67.9C82.7 211.5 64 247.6 64 288c0 70.7 57.3 128 128 128l160 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-160 0L32 480c-17.7 0-32-14.3-32-32s14.3-32 32-32l16.9 0C18.5 382 0 337.2 0 288c0-77.5 45.9-144.3 112-174.6L112 64c0-17.7 14.3-32 32-32z\"]\n};\nconst faVolcano = {\n prefix: 'fas',\n iconName: 'volcano',\n icon: [512, 512, [127755], \"f770\", \"M160 144c-35.3 0-64-28.7-64-64s28.7-64 64-64c15.7 0 30 5.6 41.2 15C212.4 12.4 232.7 0 256 0s43.6 12.4 54.8 31C322 21.6 336.3 16 352 16c35.3 0 64 28.7 64 64s-28.7 64-64 64c-14.7 0-28.3-5-39.1-13.3l-32 48C275.3 187 266 192 256 192s-19.3-5-24.9-13.3l-32-48C188.3 139 174.7 144 160 144zM144 352l48.4-24.2c10.2-5.1 21.6-7.8 33-7.8c19.6 0 38.4 7.8 52.2 21.6l32.5 32.5c6.3 6.3 14.9 9.9 23.8 9.9c11.3 0 21.8-5.6 28-15l9.7-14.6-58.9-66.3c-9.1-10.2-22.2-16.1-35.9-16.1l-41.8 0c-13.7 0-26.8 5.9-35.9 16.1l-59.9 67.4L144 352zm19.4-95.8c18.2-20.5 44.3-32.2 71.8-32.2l41.8 0c27.4 0 53.5 11.7 71.8 32.2l150.2 169c8.5 9.5 13.2 21.9 13.2 34.7c0 28.8-23.4 52.2-52.2 52.2L52.2 512C23.4 512 0 488.6 0 459.8c0-12.8 4.7-25.1 13.2-34.7l150.2-169z\"]\n};\nconst faPersonWalkingDashedLineArrowRight = {\n prefix: 'fas',\n iconName: 'person-walking-dashed-line-arrow-right',\n icon: [640, 512, [], \"e553\", \"M208 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM123.7 200.5c1-.4 1.9-.8 2.9-1.2l-16.9 63.5c-5.6 21.1-.1 43.6 14.7 59.7l70.7 77.1 22 88.1c4.3 17.1 21.7 27.6 38.8 23.3s27.6-21.7 23.3-38.8l-23-92.1c-1.9-7.8-5.8-14.9-11.2-20.8l-49.5-54 19.3-65.5 9.6 23c4.4 10.6 12.5 19.3 22.8 24.5l26.7 13.3c15.8 7.9 35 1.5 42.9-14.3s1.5-35-14.3-42.9L281 232.7l-15.3-36.8C248.5 154.8 208.3 128 163.7 128c-22.8 0-45.3 4.8-66.1 14l-8 3.5c-32.9 14.6-58.1 42.4-69.4 76.5l-2.6 7.8c-5.6 16.8 3.5 34.9 20.2 40.5s34.9-3.5 40.5-20.2l2.6-7.8c5.7-17.1 18.3-30.9 34.7-38.2l8-3.5zm-30 135.1L68.7 398 9.4 457.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L116.3 441c4.6-4.6 8.2-10.1 10.6-16.1l14.5-36.2-40.7-44.4c-2.5-2.7-4.8-5.6-7-8.6zM550.6 153.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L530.7 224 384 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l146.7 0-25.4 25.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l80-80c12.5-12.5 12.5-32.8 0-45.3l-80-80zM392 0c-13.3 0-24 10.7-24 24l0 48c0 13.3 10.7 24 24 24s24-10.7 24-24l0-48c0-13.3-10.7-24-24-24zm24 152c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 16c0 13.3 10.7 24 24 24s24-10.7 24-24l0-16zM392 320c-13.3 0-24 10.7-24 24l0 16c0 13.3 10.7 24 24 24s24-10.7 24-24l0-16c0-13.3-10.7-24-24-24zm24 120c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 48c0 13.3 10.7 24 24 24s24-10.7 24-24l0-48z\"]\n};\nconst faSterlingSign = {\n prefix: 'fas',\n iconName: 'sterling-sign',\n icon: [320, 512, [163, \"gbp\", \"pound-sign\"], \"f154\", \"M112 160.4c0-35.5 28.8-64.4 64.4-64.4c6.9 0 13.8 1.1 20.4 3.3l81.2 27.1c16.8 5.6 34.9-3.5 40.5-20.2s-3.5-34.9-20.2-40.5L217 38.6c-13.1-4.4-26.8-6.6-40.6-6.6C105.5 32 48 89.5 48 160.4L48 224l-16 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l16 0 0 44.5c0 17.4-4.7 34.5-13.7 49.4L4.6 431.5c-5.9 9.9-6.1 22.2-.4 32.2S20.5 480 32 480l256 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L88.5 416l.7-1.1C104.1 390 112 361.5 112 332.5l0-44.5 112 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-112 0 0-63.6z\"]\n};\nconst faGbp = faSterlingSign;\nconst faPoundSign = faSterlingSign;\nconst faViruses = {\n prefix: 'fas',\n iconName: 'viruses',\n icon: [640, 512, [], \"e076\", \"M192 0c13.3 0 24 10.7 24 24l0 13.5c0 35.6 43.1 53.5 68.3 28.3l9.5-9.5c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-9.5 9.5C293 124.9 310.9 168 346.5 168l13.5 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-13.5 0c-35.6 0-53.5 43.1-28.3 68.3l9.5 9.5c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-9.5-9.5C259.1 293 216 310.9 216 346.5l0 13.5c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-13.5c0-35.6-43.1-53.5-68.3-28.3l-9.5 9.5c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l9.5-9.5C91 259.1 73.1 216 37.5 216L24 216c-13.3 0-24-10.7-24-24s10.7-24 24-24l13.5 0c35.6 0 53.5-43.1 28.3-68.3l-9.5-9.5c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l9.5 9.5C124.9 91 168 73.1 168 37.5L168 24c0-13.3 10.7-24 24-24zm48 224a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm-48-64a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm320 80c0 33 39.9 49.5 63.2 26.2c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6C574.5 312.1 591 352 624 352c8.8 0 16 7.2 16 16s-7.2 16-16 16c-33 0-49.5 39.9-26.2 63.2c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0C551.9 446.5 512 463 512 496c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-33-39.9-49.5-63.2-26.2c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6C417.5 423.9 401 384 368 384c-8.8 0-16-7.2-16-16s7.2-16 16-16c33 0 49.5-39.9 26.2-63.2c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0C440.1 289.5 480 273 480 240c0-8.8 7.2-16 16-16s16 7.2 16 16zm0 112a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nconst faSquarePersonConfined = {\n prefix: 'fas',\n iconName: 'square-person-confined',\n icon: [448, 512, [], \"e577\", \"M64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32zm96 112a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm80 104c0-30.9 25.1-56 56-56s56 25.1 56 56l0 102.1c0 36.4-29.5 65.9-65.9 65.9c-17.5 0-34.3-6.9-46.6-19.3L184.8 342l-28.1 56.3c-7.9 15.8-27.1 22.2-42.9 14.3s-22.2-27.1-14.3-42.9l48-96c4.6-9.2 13.3-15.6 23.5-17.3s20.5 1.7 27.8 9L240 306.7l0-58.7z\"]\n};\nconst faUserTie = {\n prefix: 'fas',\n iconName: 'user-tie',\n icon: [448, 512, [], \"f508\", \"M96 128a128 128 0 1 0 256 0A128 128 0 1 0 96 128zm94.5 200.2l18.6 31L175.8 483.1l-36-146.9c-2-8.1-9.8-13.4-17.9-11.3C51.9 342.4 0 405.8 0 481.3c0 17 13.8 30.7 30.7 30.7l131.7 0c0 0 0 0 .1 0l5.5 0 112 0 5.5 0c0 0 0 0 .1 0l131.7 0c17 0 30.7-13.8 30.7-30.7c0-75.5-51.9-138.9-121.9-156.4c-8.1-2-15.9 3.3-17.9 11.3l-36 146.9L238.9 359.2l18.6-31c6.4-10.7-1.3-24.2-13.7-24.2L224 304l-19.7 0c-12.4 0-20.1 13.6-13.7 24.2z\"]\n};\nconst faArrowDownLong = {\n prefix: 'fas',\n iconName: 'arrow-down-long',\n icon: [384, 512, [\"long-arrow-down\"], \"f175\", \"M169.4 502.6c12.5 12.5 32.8 12.5 45.3 0l128-128c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L224 402.7 224 32c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 370.7L86.6 329.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l128 128z\"]\n};\nconst faLongArrowDown = faArrowDownLong;\nconst faTentArrowDownToLine = {\n prefix: 'fas',\n iconName: 'tent-arrow-down-to-line',\n icon: [640, 512, [], \"e57e\", \"M241.8 111.9c8.9 9.9 8.1 25-1.8 33.9l-80 72c-9.1 8.2-23 8.2-32.1 0l-80-72c-9.9-8.9-10.7-24-1.8-33.9s24-10.7 33.9-1.8l39.9 36L120 24c0-13.3 10.7-24 24-24s24 10.7 24 24l0 122.1 39.9-36c9.9-8.9 25-8.1 33.9 1.8zm122.8 22.6c11.5-8.7 27.3-8.7 38.8 0l168 128c6.6 5 11 12.5 12.3 20.7l24 160 .7 4.7c17.5 .2 31.6 14.4 31.6 32c0 17.7-14.3 32-32 32L32 512c-17.7 0-32-14.3-32-32s14.3-32 32-32l127.6 0 .7-4.7 24-160c1.2-8.2 5.6-15.7 12.3-20.7l168-128zM384 448l80 0L402.7 325.5c-1.7-3.4-5.1-5.5-8.8-5.5c-5.5 0-9.9 4.4-9.9 9.9L384 448z\"]\n};\nconst faCertificate = {\n prefix: 'fas',\n iconName: 'certificate',\n icon: [512, 512, [], \"f0a3\", \"M211 7.3C205 1 196-1.4 187.6 .8s-14.9 8.9-17.1 17.3L154.7 80.6l-62-17.5c-8.4-2.4-17.4 0-23.5 6.1s-8.5 15.1-6.1 23.5l17.5 62L18.1 170.6c-8.4 2.1-15 8.7-17.3 17.1S1 205 7.3 211l46.2 45L7.3 301C1 307-1.4 316 .8 324.4s8.9 14.9 17.3 17.1l62.5 15.8-17.5 62c-2.4 8.4 0 17.4 6.1 23.5s15.1 8.5 23.5 6.1l62-17.5 15.8 62.5c2.1 8.4 8.7 15 17.1 17.3s17.3-.2 23.4-6.4l45-46.2 45 46.2c6.1 6.2 15 8.7 23.4 6.4s14.9-8.9 17.1-17.3l15.8-62.5 62 17.5c8.4 2.4 17.4 0 23.5-6.1s8.5-15.1 6.1-23.5l-17.5-62 62.5-15.8c8.4-2.1 15-8.7 17.3-17.1s-.2-17.4-6.4-23.4l-46.2-45 46.2-45c6.2-6.1 8.7-15 6.4-23.4s-8.9-14.9-17.3-17.1l-62.5-15.8 17.5-62c2.4-8.4 0-17.4-6.1-23.5s-15.1-8.5-23.5-6.1l-62 17.5L341.4 18.1c-2.1-8.4-8.7-15-17.1-17.3S307 1 301 7.3L256 53.5 211 7.3z\"]\n};\nconst faReplyAll = {\n prefix: 'fas',\n iconName: 'reply-all',\n icon: [576, 512, [\"mail-reply-all\"], \"f122\", \"M209.4 39.5c-9.1-9.6-24.3-10-33.9-.9L33.8 173.2c-19.9 18.9-19.9 50.7 0 69.6L175.5 377.4c9.6 9.1 24.8 8.7 33.9-.9s8.7-24.8-.9-33.9L66.8 208 208.5 73.4c9.6-9.1 10-24.3 .9-33.9zM352 64c0-12.6-7.4-24.1-19-29.2s-25-3-34.4 5.4l-160 144c-6.7 6.1-10.6 14.7-10.6 23.8s3.9 17.7 10.6 23.8l160 144c9.4 8.5 22.9 10.6 34.4 5.4s19-16.6 19-29.2l0-64 32 0c53 0 96 43 96 96c0 30.4-12.8 47.9-22.2 56.7c-5.5 5.1-9.8 12-9.8 19.5c0 10.9 8.8 19.7 19.7 19.7c2.8 0 5.6-.6 8.1-1.9C494.5 467.9 576 417.3 576 304c0-97.2-78.8-176-176-176l-48 0 0-64z\"]\n};\nconst faMailReplyAll = faReplyAll;\nconst faSuitcase = {\n prefix: 'fas',\n iconName: 'suitcase',\n icon: [512, 512, [129523], \"f0f2\", \"M176 56l0 40 160 0 0-40c0-4.4-3.6-8-8-8L184 48c-4.4 0-8 3.6-8 8zM128 96l0-40c0-30.9 25.1-56 56-56L328 0c30.9 0 56 25.1 56 56l0 40 0 32 0 352-256 0 0-352 0-32zM64 96l32 0 0 384-32 0c-35.3 0-64-28.7-64-64L0 160c0-35.3 28.7-64 64-64zM448 480l-32 0 0-384 32 0c35.3 0 64 28.7 64 64l0 256c0 35.3-28.7 64-64 64z\"]\n};\nconst faPersonSkating = {\n prefix: 'fas',\n iconName: 'person-skating',\n icon: [448, 512, [\"skating\"], \"f7c5\", \"M352 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM128 128c0-17.7 14.3-32 32-32l159.4 0c43.6 0 64.6 53.4 32.8 83.1l-74.4 69.4 60.2 60.2c9 9 14.1 21.2 14.1 33.9l0 73.4c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-66.7-77.9-77.8c-26.6-26.6-24.6-70.3 4.3-94.4l20.4-17L160 160c-17.7 0-32-14.3-32-32zM81.4 353.4l86.9-86.9c4.6 10 11 19.3 19.3 27.5l21.8 21.8-82.7 82.7c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3zm322.5 95.1c8.6 2.1 13.8 10.8 11.6 19.4l-.4 1.7c-6.2 24.9-28.6 42.4-54.3 42.4L272 512c-8.8 0-16-7.2-16-16s7.2-16 16-16l88.8 0c11 0 20.6-7.5 23.3-18.2l.4-1.7c2.1-8.6 10.8-13.8 19.4-11.6zM135.2 478.3l-6.2 3.1c-21.6 10.8-47.6 6.6-64.6-10.5L4.7 411.3c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0l59.6 59.6c7.3 7.3 18.5 9.1 27.7 4.5l6.2-3.1c7.9-4 17.5-.7 21.5 7.2s.7 17.5-7.2 21.5z\"]\n};\nconst faSkating = faPersonSkating;\nconst faFilterCircleDollar = {\n prefix: 'fas',\n iconName: 'filter-circle-dollar',\n icon: [576, 512, [\"funnel-dollar\"], \"f662\", \"M3.9 22.9C10.5 8.9 24.5 0 40 0L472 0c15.5 0 29.5 8.9 36.1 22.9s4.6 30.5-5.2 42.5L396.4 195.6C316.2 212.1 256 283 256 368c0 27.4 6.3 53.4 17.5 76.5c-1.6-.8-3.2-1.8-4.7-2.9l-64-48c-8.1-6-12.8-15.5-12.8-25.6l0-79.1L9 65.3C-.7 53.4-2.8 36.8 3.9 22.9zM288 368a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm120.8-32.6c.6-.9 1.8-2.1 4.2-3.4c5.1-2.7 12.5-4.1 18.7-4c8.2 .1 17.1 1.8 26.4 4.1c8.6 2.1 17.3-3.1 19.4-11.7s-3.1-17.3-11.7-19.4c-5.6-1.4-11.6-2.7-17.9-3.7l0-9.4c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 9.5c-6.1 1.2-12.3 3.2-18 6.3c-11.8 6.3-23 18.4-21.8 37.2c1 16 11.7 25.3 21.6 30.7c8.8 4.7 19.7 7.8 28.6 10.3l1.8 .5c10.3 2.9 17.9 5.2 23.2 8.3c4.5 2.7 4.7 4.2 4.7 5.6c.1 2.4-.5 3.7-1 4.5c-.6 1-1.8 2.2-4 3.3c-4.7 2.5-11.8 3.8-18.5 3.6c-9.5-.3-18.5-3.1-29.9-6.8c-1.9-.6-3.8-1.2-5.8-1.8c-8.4-2.6-17.4 2.1-20 10.5s2.1 17.4 10.5 20c1.6 .5 3.3 1 5 1.6c0 0 0 0 0 0s0 0 0 0c7 2.3 15.1 4.8 23.7 6.6l0 11.4c0 8.8 7.2 16 16 16s16-7.2 16-16l0-10.8c6.2-1.1 12.5-3.1 18.3-6.2c12.1-6.5 22.3-18.7 21.7-36.9c-.5-16.2-10.3-26.3-20.5-32.3c-9.4-5.6-21.2-8.9-30.5-11.5l-.2 0c-10.4-2.9-18.3-5.2-23.9-8.2c-4.8-2.6-4.8-4-4.8-4.5c0 0 0 0 0-.1c-.1-1.9 .3-2.9 .8-3.6z\"]\n};\nconst faFunnelDollar = faFilterCircleDollar;\nconst faCameraRetro = {\n prefix: 'fas',\n iconName: 'camera-retro',\n icon: [512, 512, [128247], \"f083\", \"M220.6 121.2L271.1 96 448 96l0 96-114.8 0c-21.9-15.1-48.5-24-77.2-24s-55.2 8.9-77.2 24L64 192l0-64 128 0c9.9 0 19.7-2.3 28.6-6.8zM0 128L0 416c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L271.1 32c-9.9 0-19.7 2.3-28.6 6.8L192 64l-32 0 0-16c0-8.8-7.2-16-16-16L80 32c-8.8 0-16 7.2-16 16l0 16C28.7 64 0 92.7 0 128zM168 304a88 88 0 1 1 176 0 88 88 0 1 1 -176 0z\"]\n};\nconst faCircleArrowDown = {\n prefix: 'fas',\n iconName: 'circle-arrow-down',\n icon: [512, 512, [\"arrow-circle-down\"], \"f0ab\", \"M256 0a256 256 0 1 0 0 512A256 256 0 1 0 256 0zM127 297c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l71 71L232 120c0-13.3 10.7-24 24-24s24 10.7 24 24l0 214.1 71-71c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9L273 409c-9.4 9.4-24.6 9.4-33.9 0L127 297z\"]\n};\nconst faArrowCircleDown = faCircleArrowDown;\nconst faFileImport = {\n prefix: 'fas',\n iconName: 'file-import',\n icon: [512, 512, [\"arrow-right-to-file\"], \"f56f\", \"M128 64c0-35.3 28.7-64 64-64L352 0l0 128c0 17.7 14.3 32 32 32l128 0 0 288c0 35.3-28.7 64-64 64l-256 0c-35.3 0-64-28.7-64-64l0-112 174.1 0-39 39c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l80-80c9.4-9.4 9.4-24.6 0-33.9l-80-80c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l39 39L128 288l0-224zm0 224l0 48L24 336c-13.3 0-24-10.7-24-24s10.7-24 24-24l104 0zM512 128l-128 0L384 0 512 128z\"]\n};\nconst faArrowRightToFile = faFileImport;\nconst faSquareArrowUpRight = {\n prefix: 'fas',\n iconName: 'square-arrow-up-right',\n icon: [448, 512, [\"external-link-square\"], \"f14c\", \"M384 32c35.3 0 64 28.7 64 64l0 320c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64L0 96C0 60.7 28.7 32 64 32l320 0zM160 144c-13.3 0-24 10.7-24 24s10.7 24 24 24l94.1 0L119 327c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l135-135L288 328c0 13.3 10.7 24 24 24s24-10.7 24-24l0-160c0-13.3-10.7-24-24-24l-152 0z\"]\n};\nconst faExternalLinkSquare = faSquareArrowUpRight;\nconst faBoxOpen = {\n prefix: 'fas',\n iconName: 'box-open',\n icon: [640, 512, [], \"f49e\", \"M58.9 42.1c3-6.1 9.6-9.6 16.3-8.7L320 64 564.8 33.4c6.7-.8 13.3 2.7 16.3 8.7l41.7 83.4c9 17.9-.6 39.6-19.8 45.1L439.6 217.3c-13.9 4-28.8-1.9-36.2-14.3L320 64 236.6 203c-7.4 12.4-22.3 18.3-36.2 14.3L37.1 170.6c-19.3-5.5-28.8-27.2-19.8-45.1L58.9 42.1zM321.1 128l54.9 91.4c14.9 24.8 44.6 36.6 72.5 28.6L576 211.6l0 167c0 22-15 41.2-36.4 46.6l-204.1 51c-10.2 2.6-20.9 2.6-31 0l-204.1-51C79 419.7 64 400.5 64 378.5l0-167L191.6 248c27.8 8 57.6-3.8 72.5-28.6L318.9 128l2.2 0z\"]\n};\nconst faScroll = {\n prefix: 'fas',\n iconName: 'scroll',\n icon: [576, 512, [128220], \"f70e\", \"M0 80l0 48c0 17.7 14.3 32 32 32l16 0 48 0 0-80c0-26.5-21.5-48-48-48S0 53.5 0 80zM112 32c10 13.4 16 30 16 48l0 304c0 35.3 28.7 64 64 64s64-28.7 64-64l0-5.3c0-32.4 26.3-58.7 58.7-58.7L480 320l0-192c0-53-43-96-96-96L112 32zM464 480c61.9 0 112-50.1 112-112c0-8.8-7.2-16-16-16l-245.3 0c-14.7 0-26.7 11.9-26.7 26.7l0 5.3c0 53-43 96-96 96l176 0 96 0z\"]\n};\nconst faSpa = {\n prefix: 'fas',\n iconName: 'spa',\n icon: [576, 512, [], \"f5bb\", \"M183.1 235.3c33.7 20.7 62.9 48.1 85.8 80.5c7 9.9 13.4 20.3 19.1 31c5.7-10.8 12.1-21.1 19.1-31c22.9-32.4 52.1-59.8 85.8-80.5C437.6 207.8 490.1 192 546 192l9.9 0c11.1 0 20.1 9 20.1 20.1C576 360.1 456.1 480 308.1 480L288 480l-20.1 0C119.9 480 0 360.1 0 212.1C0 201 9 192 20.1 192l9.9 0c55.9 0 108.4 15.8 153.1 43.3zM301.5 37.6c15.7 16.9 61.1 71.8 84.4 164.6c-38 21.6-71.4 50.8-97.9 85.6c-26.5-34.8-59.9-63.9-97.9-85.6c23.2-92.8 68.6-147.7 84.4-164.6C278 33.9 282.9 32 288 32s10 1.9 13.5 5.6z\"]\n};\nconst faLocationPinLock = {\n prefix: 'fas',\n iconName: 'location-pin-lock',\n icon: [512, 512, [], \"e51f\", \"M215.7 499.2c11-13.8 25.1-31.7 40.3-52.3l0-94.8c0-23.7 12.9-44.4 32-55.4l0-24.6c0-55.6 40.5-101.7 93.6-110.5C367 70 287.7 0 192 0C86 0 0 86 0 192c0 87.4 117 243 168.3 307.2c12.3 15.3 35.1 15.3 47.4 0zM192 128a64 64 0 1 1 0 128 64 64 0 1 1 0-128zM400 240c17.7 0 32 14.3 32 32l0 48-64 0 0-48c0-17.7 14.3-32 32-32zm-80 32l0 48c-17.7 0-32 14.3-32 32l0 128c0 17.7 14.3 32 32 32l160 0c17.7 0 32-14.3 32-32l0-128c0-17.7-14.3-32-32-32l0-48c0-44.2-35.8-80-80-80s-80 35.8-80 80z\"]\n};\nconst faPause = {\n prefix: 'fas',\n iconName: 'pause',\n icon: [320, 512, [9208], \"f04c\", \"M48 64C21.5 64 0 85.5 0 112L0 400c0 26.5 21.5 48 48 48l32 0c26.5 0 48-21.5 48-48l0-288c0-26.5-21.5-48-48-48L48 64zm192 0c-26.5 0-48 21.5-48 48l0 288c0 26.5 21.5 48 48 48l32 0c26.5 0 48-21.5 48-48l0-288c0-26.5-21.5-48-48-48l-32 0z\"]\n};\nconst faHillAvalanche = {\n prefix: 'fas',\n iconName: 'hill-avalanche',\n icon: [576, 512, [], \"e507\", \"M439.7 401.9c34.2 23.1 81.1 19.5 111.4-10.8c34.4-34.4 34.4-90.1 0-124.4c-27.8-27.8-69.5-33.1-102.6-16c-11.8 6.1-16.4 20.6-10.3 32.3s20.6 16.4 32.3 10.3c15.1-7.8 34-5.3 46.6 7.3c15.6 15.6 15.6 40.9 0 56.6s-40.9 15.6-56.6 0l-81.7-81.7C401.2 261.3 416 236.4 416 208c0-33.9-21.1-62.9-50.9-74.5c1.9-6.8 2.9-14 2.9-21.5c0-44.2-35.8-80-80-80c-27.3 0-51.5 13.7-65.9 34.6C216.3 46.6 197.9 32 176 32c-26.5 0-48 21.5-48 48c0 4 .5 7.9 1.4 11.6L439.7 401.9zM480 64a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm0 128a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM68.3 87C43.1 61.8 0 79.7 0 115.3L0 432c0 44.2 35.8 80 80 80l316.7 0c35.6 0 53.5-43.1 28.3-68.3L68.3 87z\"]\n};\nconst faTemperatureEmpty = {\n prefix: 'fas',\n iconName: 'temperature-empty',\n icon: [320, 512, [\"temperature-0\", \"thermometer-0\", \"thermometer-empty\"], \"f2cb\", \"M112 112c0-26.5 21.5-48 48-48s48 21.5 48 48l0 164.5c0 17.3 7.1 31.9 15.3 42.5C233.8 332.6 240 349.5 240 368c0 44.2-35.8 80-80 80s-80-35.8-80-80c0-18.5 6.2-35.4 16.7-48.9c8.2-10.6 15.3-25.2 15.3-42.5L112 112zM160 0C98.1 0 48 50.2 48 112l0 164.4c0 .1-.1 .3-.2 .6c-.2 .6-.8 1.6-1.7 2.8C27.2 304.2 16 334.8 16 368c0 79.5 64.5 144 144 144s144-64.5 144-144c0-33.2-11.2-63.8-30.1-88.1c-.9-1.2-1.5-2.2-1.7-2.8c-.1-.3-.2-.5-.2-.6L272 112C272 50.2 221.9 0 160 0zm0 416a48 48 0 1 0 0-96 48 48 0 1 0 0 96z\"]\n};\nconst faTemperature0 = faTemperatureEmpty;\nconst faThermometer0 = faTemperatureEmpty;\nconst faThermometerEmpty = faTemperatureEmpty;\nconst faBomb = {\n prefix: 'fas',\n iconName: 'bomb',\n icon: [512, 512, [128163], \"f1e2\", \"M459.1 52.4L442.6 6.5C440.7 2.6 436.5 0 432.1 0s-8.5 2.6-10.4 6.5L405.2 52.4l-46 16.8c-4.3 1.6-7.3 5.9-7.2 10.4c0 4.5 3 8.7 7.2 10.2l45.7 16.8 16.8 45.8c1.5 4.4 5.8 7.5 10.4 7.5s8.9-3.1 10.4-7.5l16.5-45.8 45.7-16.8c4.2-1.5 7.2-5.7 7.2-10.2c0-4.6-3-8.9-7.2-10.4L459.1 52.4zm-132.4 53c-12.5-12.5-32.8-12.5-45.3 0l-2.9 2.9C256.5 100.3 232.7 96 208 96C93.1 96 0 189.1 0 304S93.1 512 208 512s208-93.1 208-208c0-24.7-4.3-48.5-12.2-70.5l2.9-2.9c12.5-12.5 12.5-32.8 0-45.3l-80-80zM200 192c-57.4 0-104 46.6-104 104l0 8c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-8c0-75.1 60.9-136 136-136l8 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-8 0z\"]\n};\nconst faRegistered = {\n prefix: 'fas',\n iconName: 'registered',\n icon: [512, 512, [174], \"f25d\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM160 152c0-13.3 10.7-24 24-24l88 0c44.2 0 80 35.8 80 80c0 28-14.4 52.7-36.3 67l34.1 75.1c5.5 12.1 .1 26.3-11.9 31.8s-26.3 .1-31.8-11.9L268.9 288 208 288l0 72c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-96 0-112zm48 88l64 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-64 0 0 64z\"]\n};\nconst faAddressCard = {\n prefix: 'fas',\n iconName: 'address-card',\n icon: [576, 512, [62140, \"contact-card\", \"vcard\"], \"f2bb\", \"M64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l448 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32zm80 256l64 0c44.2 0 80 35.8 80 80c0 8.8-7.2 16-16 16L80 384c-8.8 0-16-7.2-16-16c0-44.2 35.8-80 80-80zm-32-96a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zm256-32l128 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-128 0c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 64l128 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-128 0c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 64l128 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-128 0c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nconst faContactCard = faAddressCard;\nconst faVcard = faAddressCard;\nconst faScaleUnbalancedFlip = {\n prefix: 'fas',\n iconName: 'scale-unbalanced-flip',\n icon: [640, 512, [\"balance-scale-right\"], \"f516\", \"M117.9 62.4c-16.8-5.6-25.8-23.7-20.2-40.5s23.7-25.8 40.5-20.2l113 37.7C265 15.8 290.7 0 320 0c44.2 0 80 35.8 80 80c0 3-.2 5.9-.5 8.8l122.6 40.9c16.8 5.6 25.8 23.7 20.2 40.5s-23.7 25.8-40.5 20.2L366.4 145.2c-4.5 3.2-9.3 5.9-14.4 8.2L352 480c0 17.7-14.3 32-32 32l-192 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l160 0 0-294.7c-21-9.2-37.2-27-44.2-49l-125.9-42zM200.4 288L128 163.8 55.6 288l144.9 0zM128 384C65.1 384 12.8 350 2 305.1c-2.6-11 1-22.3 6.7-32.1l95.2-163.2c5-8.6 14.2-13.8 24.1-13.8s19.1 5.3 24.1 13.8l95.2 163.2c5.7 9.8 9.3 21.1 6.7 32.1C243.2 350 190.9 384 128 384zm382.8-92.2L438.4 416l144.9 0L510.8 291.8zm126 141.3C626 478 573.7 512 510.8 512s-115.2-34-126-78.9c-2.6-11 1-22.3 6.7-32.1l95.2-163.2c5-8.6 14.2-13.8 24.1-13.8s19.1 5.3 24.1 13.8l95.2 163.2c5.7 9.8 9.3 21.1 6.7 32.1z\"]\n};\nconst faBalanceScaleRight = faScaleUnbalancedFlip;\nconst faSubscript = {\n prefix: 'fas',\n iconName: 'subscript',\n icon: [512, 512, [], \"f12c\", \"M32 64C14.3 64 0 78.3 0 96s14.3 32 32 32l15.3 0 89.6 128L47.3 384 32 384c-17.7 0-32 14.3-32 32s14.3 32 32 32l32 0c10.4 0 20.2-5.1 26.2-13.6L176 311.8l85.8 122.6c6 8.6 15.8 13.6 26.2 13.6l32 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-15.3 0L215.1 256l89.6-128 15.3 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-32 0c-10.4 0-20.2 5.1-26.2 13.6L176 200.2 90.2 77.6C84.2 69.1 74.4 64 64 64L32 64zM480 320c0-11.1-5.7-21.4-15.2-27.2s-21.2-6.4-31.1-1.4l-32 16c-15.8 7.9-22.2 27.1-14.3 42.9C393 361.5 404.3 368 416 368l0 80c-17.7 0-32 14.3-32 32s14.3 32 32 32l32 0 32 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l0-128z\"]\n};\nconst faDiamondTurnRight = {\n prefix: 'fas',\n iconName: 'diamond-turn-right',\n icon: [512, 512, [\"directions\"], \"f5eb\", \"M227.7 11.7c15.6-15.6 40.9-15.6 56.6 0l216 216c15.6 15.6 15.6 40.9 0 56.6l-216 216c-15.6 15.6-40.9 15.6-56.6 0l-216-216c-15.6-15.6-15.6-40.9 0-56.6l216-216zm87.6 137c-4.6-4.6-11.5-5.9-17.4-3.5s-9.9 8.3-9.9 14.8l0 56-64 0c-35.3 0-64 28.7-64 64l0 48c0 13.3 10.7 24 24 24s24-10.7 24-24l0-48c0-8.8 7.2-16 16-16l64 0 0 56c0 6.5 3.9 12.3 9.9 14.8s12.9 1.1 17.4-3.5l80-80c6.2-6.2 6.2-16.4 0-22.6l-80-80z\"]\n};\nconst faDirections = faDiamondTurnRight;\nconst faBurst = {\n prefix: 'fas',\n iconName: 'burst',\n icon: [512, 512, [], \"e4dc\", \"M37.6 4.2C28-2.3 15.2-1.1 7 7s-9.4 21-2.8 30.5l112 163.3L16.6 233.2C6.7 236.4 0 245.6 0 256s6.7 19.6 16.6 22.8l103.1 33.4L66.8 412.8c-4.9 9.3-3.2 20.7 4.3 28.1s18.8 9.2 28.1 4.3l100.6-52.9 33.4 103.1c3.2 9.9 12.4 16.6 22.8 16.6s19.6-6.7 22.8-16.6l33.4-103.1 100.6 52.9c9.3 4.9 20.7 3.2 28.1-4.3s9.2-18.8 4.3-28.1L392.3 312.2l103.1-33.4c9.9-3.2 16.6-12.4 16.6-22.8s-6.7-19.6-16.6-22.8L388.9 198.7l25.7-70.4c3.2-8.8 1-18.6-5.6-25.2s-16.4-8.8-25.2-5.6l-70.4 25.7L278.8 16.6C275.6 6.7 266.4 0 256 0s-19.6 6.7-22.8 16.6l-32.3 99.6L37.6 4.2z\"]\n};\nconst faHouseLaptop = {\n prefix: 'fas',\n iconName: 'house-laptop',\n icon: [640, 512, [\"laptop-house\"], \"e066\", \"M218.3 8.5c12.3-11.3 31.2-11.3 43.4 0l208 192c6.7 6.2 10.3 14.8 10.3 23.5l-144 0c-19.1 0-36.3 8.4-48 21.7l0-37.7c0-8.8-7.2-16-16-16l-64 0c-8.8 0-16 7.2-16 16l0 64c0 8.8 7.2 16 16 16l64 0 0 128-160 0c-26.5 0-48-21.5-48-48l0-112-32 0c-13.2 0-25-8.1-29.8-20.3s-1.6-26.2 8.1-35.2l208-192zM352 304l0 144 192 0 0-144-192 0zm-48-16c0-17.7 14.3-32 32-32l224 0c17.7 0 32 14.3 32 32l0 160 32 0c8.8 0 16 7.2 16 16c0 26.5-21.5 48-48 48l-48 0-192 0-48 0c-26.5 0-48-21.5-48-48c0-8.8 7.2-16 16-16l32 0 0-160z\"]\n};\nconst faLaptopHouse = faHouseLaptop;\nconst faFaceTired = {\n prefix: 'fas',\n iconName: 'face-tired',\n icon: [512, 512, [128555, \"tired\"], \"f5c8\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM164.7 328.7c22-22 53.9-40.7 91.3-40.7s69.3 18.7 91.3 40.7c11.1 11.1 20.1 23.4 26.4 35.4c6.2 11.7 10.3 24.4 10.3 35.9c0 5.2-2.6 10.2-6.9 13.2s-9.8 3.7-14.7 1.8l-20.5-7.7c-26.9-10.1-55.5-15.3-84.3-15.3l-3.2 0c-28.8 0-57.3 5.2-84.3 15.3L149.6 415c-4.9 1.8-10.4 1.2-14.7-1.8s-6.9-7.9-6.9-13.2c0-11.6 4.2-24.2 10.3-35.9c6.3-12 15.3-24.3 26.4-35.4zm-31.2-182l89.9 47.9c10.7 5.7 10.7 21.1 0 26.8l-89.9 47.9c-7.9 4.2-17.5-1.5-17.5-10.5c0-2.8 1-5.5 2.8-7.6l36-43.2-36-43.2c-1.8-2.1-2.8-4.8-2.8-7.6c0-9 9.6-14.7 17.5-10.5zM396 157.1c0 2.8-1 5.5-2.8 7.6l-36 43.2 36 43.2c1.8 2.1 2.8 4.8 2.8 7.6c0 9-9.6 14.7-17.5 10.5l-89.9-47.9c-10.7-5.7-10.7-21.1 0-26.8l89.9-47.9c7.9-4.2 17.5 1.5 17.5 10.5z\"]\n};\nconst faTired = faFaceTired;\nconst faMoneyBills = {\n prefix: 'fas',\n iconName: 'money-bills',\n icon: [640, 512, [], \"e1f3\", \"M96 96l0 224c0 35.3 28.7 64 64 64l416 0c35.3 0 64-28.7 64-64l0-224c0-35.3-28.7-64-64-64L160 32c-35.3 0-64 28.7-64 64zm64 160c35.3 0 64 28.7 64 64l-64 0 0-64zM224 96c0 35.3-28.7 64-64 64l0-64 64 0zM576 256l0 64-64 0c0-35.3 28.7-64 64-64zM512 96l64 0 0 64c-35.3 0-64-28.7-64-64zM288 208a80 80 0 1 1 160 0 80 80 0 1 1 -160 0zM48 120c0-13.3-10.7-24-24-24S0 106.7 0 120L0 360c0 66.3 53.7 120 120 120l400 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-400 0c-39.8 0-72-32.2-72-72l0-240z\"]\n};\nconst faSmog = {\n prefix: 'fas',\n iconName: 'smog',\n icon: [640, 512, [], \"f75f\", \"M32 144c0 79.5 64.5 144 144 144l123.3 0c22.6 19.9 52.2 32 84.7 32s62.1-12.1 84.7-32l27.3 0c61.9 0 112-50.1 112-112s-50.1-112-112-112c-10.7 0-21 1.5-30.8 4.3C443.8 27.7 401.1 0 352 0c-32.6 0-62.4 12.2-85.1 32.3C242.1 12.1 210.5 0 176 0C96.5 0 32 64.5 32 144zM616 368l-336 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l336 0c13.3 0 24-10.7 24-24s-10.7-24-24-24zm-64 96l-112 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l112 0c13.3 0 24-10.7 24-24s-10.7-24-24-24zm-192 0L24 464c-13.3 0-24 10.7-24 24s10.7 24 24 24l336 0c13.3 0 24-10.7 24-24s-10.7-24-24-24zM224 392c0-13.3-10.7-24-24-24L96 368c-13.3 0-24 10.7-24 24s10.7 24 24 24l104 0c13.3 0 24-10.7 24-24z\"]\n};\nconst faCrutch = {\n prefix: 'fas',\n iconName: 'crutch',\n icon: [512, 512, [], \"f7f7\", \"M297.4 9.4c-12.5 12.5-12.5 32.8 0 45.3l160 160c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-160-160c-12.5-12.5-32.8-12.5-45.3 0zm-96 144l-34.8 34.8c-12.9 12.9-21.9 29.2-25.8 47.1L116.8 342.9c-1.3 5.9-4.3 11.4-8.6 15.7L9.4 457.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l98.8-98.8c4.3-4.3 9.7-7.3 15.7-8.6l107.6-23.9c17.8-4 34.1-12.9 47.1-25.8l34.7-34.7c0 0 .1-.1 .1-.1s.1-.1 .1-.1l74.6-74.6-45.3-45.3L336 242.7 269.3 176l52.1-52.1L276.1 78.6l-74.7 74.7zM224 221.3L290.7 288l-12.2 12.2c-4.3 4.3-9.7 7.3-15.7 8.6l-76.7 17 17-76.7c1.3-5.9 4.3-11.4 8.6-15.7L224 221.3z\"]\n};\nconst faFontAwesome = {\n prefix: 'fas',\n iconName: 'font-awesome',\n icon: [512, 512, [62501, 62694, \"font-awesome-flag\", \"font-awesome-logo-full\"], \"f2b4\", \"M91.7 96C106.3 86.8 116 70.5 116 52C116 23.3 92.7 0 64 0S12 23.3 12 52c0 16.7 7.8 31.5 20 41l0 3 0 352 0 64 64 0 0-64 373.6 0c14.6 0 26.4-11.8 26.4-26.4c0-3.7-.8-7.3-2.3-10.7L432 272l61.7-138.9c1.5-3.4 2.3-7 2.3-10.7c0-14.6-11.8-26.4-26.4-26.4L91.7 96z\"]\n};\nconst faFontAwesomeFlag = faFontAwesome;\nconst faFontAwesomeLogoFull = faFontAwesome;\nconst faCloudArrowUp = {\n prefix: 'fas',\n iconName: 'cloud-arrow-up',\n icon: [640, 512, [62338, \"cloud-upload\", \"cloud-upload-alt\"], \"f0ee\", \"M144 480C64.5 480 0 415.5 0 336c0-62.8 40.2-116.2 96.2-135.9c-.1-2.7-.2-5.4-.2-8.1c0-88.4 71.6-160 160-160c59.3 0 111 32.2 138.7 80.2C409.9 102 428.3 96 448 96c53 0 96 43 96 96c0 12.2-2.3 23.8-6.4 34.6C596 238.4 640 290.1 640 352c0 70.7-57.3 128-128 128l-368 0zm79-217c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l39-39L296 392c0 13.3 10.7 24 24 24s24-10.7 24-24l0-134.1 39 39c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-80-80c-9.4-9.4-24.6-9.4-33.9 0l-80 80z\"]\n};\nconst faCloudUpload = faCloudArrowUp;\nconst faCloudUploadAlt = faCloudArrowUp;\nconst faPalette = {\n prefix: 'fas',\n iconName: 'palette',\n icon: [512, 512, [127912], \"f53f\", \"M512 256c0 .9 0 1.8 0 2.7c-.4 36.5-33.6 61.3-70.1 61.3L344 320c-26.5 0-48 21.5-48 48c0 3.4 .4 6.7 1 9.9c2.1 10.2 6.5 20 10.8 29.9c6.1 13.8 12.1 27.5 12.1 42c0 31.8-21.6 60.7-53.4 62c-3.5 .1-7 .2-10.6 .2C114.6 512 0 397.4 0 256S114.6 0 256 0S512 114.6 512 256zM128 288a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm0-96a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM288 96a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm96 96a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nconst faArrowsTurnRight = {\n prefix: 'fas',\n iconName: 'arrows-turn-right',\n icon: [448, 512, [], \"e4c0\", \"M297.4 9.4c12.5-12.5 32.8-12.5 45.3 0l96 96c12.5 12.5 12.5 32.8 0 45.3l-96 96c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L338.7 160 128 160c-35.3 0-64 28.7-64 64l0 32c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-32C0 153.3 57.3 96 128 96l210.7 0L297.4 54.6c-12.5-12.5-12.5-32.8 0-45.3zm-96 256c12.5-12.5 32.8-12.5 45.3 0l96 96c12.5 12.5 12.5 32.8 0 45.3l-96 96c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L242.7 416 96 416c-17.7 0-32 14.3-32 32l0 32c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-32c0-53 43-96 96-96l146.7 0-41.4-41.4c-12.5-12.5-12.5-32.8 0-45.3z\"]\n};\nconst faVest = {\n prefix: 'fas',\n iconName: 'vest',\n icon: [448, 512, [], \"e085\", \"M207.1 237.4L151.2 69.7C168.6 79.7 192.6 88 224 88s55.4-8.3 72.8-18.3L226.5 280.6c-1.6 4.9-2.5 10-2.5 15.2L224 464c0 26.5 21.5 48 48 48l128 0c26.5 0 48-21.5 48-48l0-193.5c0-9.5-2.8-18.7-8.1-26.6l-47.9-71.8c-5.3-7.9-8.1-17.1-8.1-26.6l0-17.5 0-73.7 0-6.3c0-26.5-21.5-48-48-48l-4.5 0c-.2 0-.4 0-.6 0c-.4 0-.8 0-1.2 0C311 0 295.7 9.7 285.7 18.8C276.4 27.2 257.2 40 224 40s-52.4-12.8-61.7-21.2C152.3 9.7 137 0 118.3 0c-.4 0-.8 0-1.2 0c-.2 0-.4 0-.6 0L112 0C85.5 0 64 21.5 64 48l0 6.3L64 128l0 17.5c0 9.5-2.8 18.7-8.1 26.6L8.1 243.9C2.8 251.8 0 261.1 0 270.5L0 464c0 26.5 21.5 48 48 48l128 0c9.9 0 19-3 26.7-8.1C195.9 492.2 192 478.5 192 464l0-168.2c0-8.6 1.4-17.1 4.1-25.3l11-33.1zM347.3 356.7l48 48c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-48-48c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0zm-294.6 48l48-48c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6l-48 48c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6z\"]\n};\nconst faFerry = {\n prefix: 'fas',\n iconName: 'ferry',\n icon: [576, 512, [], \"e4ea\", \"M224 0L352 0c17.7 0 32 14.3 32 32l75.1 0c20.6 0 31.6 24.3 18.1 39.8L456 96 120 96 98.8 71.8C85.3 56.3 96.3 32 116.9 32L192 32c0-17.7 14.3-32 32-32zM96 128l384 0c17.7 0 32 14.3 32 32l0 123.5c0 13.3-4.2 26.3-11.9 37.2l-51.4 71.9c-1.9 1.1-3.7 2.2-5.5 3.5c-15.5 10.7-34 18-51 19.9l-16.5 0c-17.1-1.8-35-9-50.8-19.9c-22.1-15.5-51.6-15.5-73.7 0c-14.8 10.2-32.5 18-50.6 19.9l-16.6 0c-17-1.8-35.6-9.2-51-19.9c-1.8-1.3-3.7-2.4-5.6-3.5L75.9 320.7C68.2 309.8 64 296.8 64 283.5L64 160c0-17.7 14.3-32 32-32zm32 64l0 96 320 0 0-96-320 0zM306.5 421.9C329 437.4 356.5 448 384 448c26.9 0 55.3-10.8 77.4-26.1c0 0 0 0 0 0c11.9-8.5 28.1-7.8 39.2 1.7c14.4 11.9 32.5 21 50.6 25.2c17.2 4 27.9 21.2 23.9 38.4s-21.2 27.9-38.4 23.9c-24.5-5.7-44.9-16.5-58.2-25C449.5 501.7 417 512 384 512c-31.9 0-60.6-9.9-80.4-18.9c-5.8-2.7-11.1-5.3-15.6-7.7c-4.5 2.4-9.7 5.1-15.6 7.7c-19.8 9-48.5 18.9-80.4 18.9c-33 0-65.5-10.3-94.5-25.8c-13.4 8.4-33.7 19.3-58.2 25c-17.2 4-34.4-6.7-38.4-23.9s6.7-34.4 23.9-38.4c18.1-4.2 36.2-13.3 50.6-25.2c11.1-9.4 27.3-10.1 39.2-1.7c0 0 0 0 0 0C136.7 437.2 165.1 448 192 448c27.5 0 55-10.6 77.5-26.1c11.1-7.9 25.9-7.9 37 0z\"]\n};\nconst faArrowsDownToPeople = {\n prefix: 'fas',\n iconName: 'arrows-down-to-people',\n icon: [640, 512, [], \"e4b9\", \"M144 0c-13.3 0-24 10.7-24 24l0 118.1L97 119c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l64 64c9.4 9.4 24.6 9.4 33.9 0l64-64c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-23 23L168 24c0-13.3-10.7-24-24-24zM360 200a40 40 0 1 0 -80 0 40 40 0 1 0 80 0zM184 296a40 40 0 1 0 -80 0 40 40 0 1 0 80 0zm312 40a40 40 0 1 0 0-80 40 40 0 1 0 0 80zM200 441.5l26.9 49.9c6.3 11.7 20.8 16 32.5 9.8s16-20.8 9.8-32.5l-36.3-67.5c1.7-1.7 3.2-3.6 4.3-5.8L264 345.5l0 54.5c0 17.7 14.3 32 32 32l48 0c17.7 0 32-14.3 32-32l0-54.5 26.9 49.9c1.2 2.2 2.6 4.1 4.3 5.8l-36.3 67.5c-6.3 11.7-1.9 26.2 9.8 32.5s26.2 1.9 32.5-9.8L440 441.5l0 38.5c0 17.7 14.3 32 32 32l48 0c17.7 0 32-14.3 32-32l0-38.5 26.9 49.9c6.3 11.7 20.8 16 32.5 9.8s16-20.8 9.8-32.5l-37.9-70.3c-15.3-28.5-45.1-46.3-77.5-46.3l-19.5 0c-16.3 0-31.9 4.5-45.4 12.6l-33.6-62.3c-15.3-28.5-45.1-46.3-77.5-46.3l-19.5 0c-32.4 0-62.1 17.8-77.5 46.3l-33.6 62.3c-13.5-8.1-29.1-12.6-45.4-12.6l-19.5 0c-32.4 0-62.1 17.8-77.5 46.3L18.9 468.6c-6.3 11.7-1.9 26.2 9.8 32.5s26.2 1.9 32.5-9.8L88 441.5 88 480c0 17.7 14.3 32 32 32l48 0c17.7 0 32-14.3 32-32l0-38.5zM415 153l64 64c9.4 9.4 24.6 9.4 33.9 0l64-64c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-23 23L520 24c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 118.1-23-23c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9z\"]\n};\nconst faSeedling = {\n prefix: 'fas',\n iconName: 'seedling',\n icon: [512, 512, [127793, \"sprout\"], \"f4d8\", \"M512 32c0 113.6-84.6 207.5-194.2 222c-7.1-53.4-30.6-101.6-65.3-139.3C290.8 46.3 364 0 448 0l32 0c17.7 0 32 14.3 32 32zM0 96C0 78.3 14.3 64 32 64l32 0c123.7 0 224 100.3 224 224l0 32 0 160c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-160C100.3 320 0 219.7 0 96z\"]\n};\nconst faSprout = faSeedling;\nconst faLeftRight = {\n prefix: 'fas',\n iconName: 'left-right',\n icon: [512, 512, [8596, \"arrows-alt-h\"], \"f337\", \"M504.3 273.6c4.9-4.5 7.7-10.9 7.7-17.6s-2.8-13-7.7-17.6l-112-104c-7-6.5-17.2-8.2-25.9-4.4s-14.4 12.5-14.4 22l0 56-192 0 0-56c0-9.5-5.7-18.2-14.4-22s-18.9-2.1-25.9 4.4l-112 104C2.8 243 0 249.3 0 256s2.8 13 7.7 17.6l112 104c7 6.5 17.2 8.2 25.9 4.4s14.4-12.5 14.4-22l0-56 192 0 0 56c0 9.5 5.7 18.2 14.4 22s18.9 2.1 25.9-4.4l112-104z\"]\n};\nconst faArrowsAltH = faLeftRight;\nconst faBoxesPacking = {\n prefix: 'fas',\n iconName: 'boxes-packing',\n icon: [640, 512, [], \"e4c7\", \"M256 48c0-26.5 21.5-48 48-48L592 0c26.5 0 48 21.5 48 48l0 416c0 26.5-21.5 48-48 48l-210.7 0c1.8-5 2.7-10.4 2.7-16l0-242.7c18.6-6.6 32-24.4 32-45.3l0-32c0-26.5-21.5-48-48-48l-112 0 0-80zM571.3 347.3c6.2-6.2 6.2-16.4 0-22.6l-64-64c-6.2-6.2-16.4-6.2-22.6 0l-64 64c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L480 310.6 480 432c0 8.8 7.2 16 16 16s16-7.2 16-16l0-121.4 36.7 36.7c6.2 6.2 16.4 6.2 22.6 0zM0 176c0-8.8 7.2-16 16-16l352 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16L16 224c-8.8 0-16-7.2-16-16l0-32zm352 80l0 224c0 17.7-14.3 32-32 32L64 512c-17.7 0-32-14.3-32-32l0-224 320 0zM144 320c-8.8 0-16 7.2-16 16s7.2 16 16 16l96 0c8.8 0 16-7.2 16-16s-7.2-16-16-16l-96 0z\"]\n};\nconst faCircleArrowLeft = {\n prefix: 'fas',\n iconName: 'circle-arrow-left',\n icon: [512, 512, [\"arrow-circle-left\"], \"f0a8\", \"M512 256A256 256 0 1 0 0 256a256 256 0 1 0 512 0zM215 127c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-71 71L392 232c13.3 0 24 10.7 24 24s-10.7 24-24 24l-214.1 0 71 71c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0L103 273c-9.4-9.4-9.4-24.6 0-33.9L215 127z\"]\n};\nconst faArrowCircleLeft = faCircleArrowLeft;\nconst faGroupArrowsRotate = {\n prefix: 'fas',\n iconName: 'group-arrows-rotate',\n icon: [512, 512, [], \"e4f6\", \"M201.1 71.9c16.9-5 26.6-22.9 21.5-39.8s-22.9-26.6-39.8-21.5c-21.5 6.4-41.8 15.5-60.6 27C114.3 34 105.4 32 96 32C60.7 32 32 60.7 32 96c0 9.4 2 18.3 5.6 26.3c-11.5 18.7-20.6 39-27 60.6c-5 16.9 4.6 34.8 21.5 39.8s34.8-4.6 39.8-21.5c4.3-14.6 10.4-28.5 17.9-41.4c2 .2 4.1 .3 6.1 .3c35.3 0 64-28.7 64-64c0-2.1-.1-4.1-.3-6.1c12.9-7.5 26.8-13.6 41.4-17.9zm128-61.3c-16.9-5-34.8 4.6-39.8 21.5s4.6 34.8 21.5 39.8c14.6 4.3 28.5 10.4 41.4 17.9c-.2 2-.3 4.1-.3 6.1c0 35.3 28.7 64 64 64c2.1 0 4.1-.1 6.2-.3c7.5 12.9 13.6 26.8 17.9 41.4c5 16.9 22.9 26.6 39.8 21.5s26.6-22.9 21.5-39.8c-6.4-21.5-15.5-41.8-27-60.6c3.6-8 5.6-16.9 5.6-26.3c0-35.3-28.7-64-64-64c-9.4 0-18.3 2-26.3 5.6c-18.7-11.5-39-20.6-60.6-27zM71.9 310.9c-5-16.9-22.9-26.6-39.8-21.5s-26.6 22.9-21.5 39.8c6.4 21.5 15.5 41.8 27 60.6C34 397.7 32 406.6 32 416c0 35.3 28.7 64 64 64c9.4 0 18.3-2 26.3-5.6c18.7 11.5 39 20.6 60.6 27c16.9 5 34.8-4.6 39.8-21.5s-4.6-34.8-21.5-39.8c-14.6-4.3-28.5-10.4-41.4-17.9c.2-2 .3-4.1 .3-6.2c0-35.3-28.7-64-64-64c-2.1 0-4.1 .1-6.2 .3c-7.5-12.9-13.6-26.8-17.9-41.4zm429.4 18.3c5-16.9-4.6-34.8-21.5-39.8s-34.8 4.6-39.8 21.5c-4.3 14.6-10.4 28.5-17.9 41.4c-2-.2-4.1-.3-6.2-.3c-35.3 0-64 28.7-64 64c0 2.1 .1 4.1 .3 6.2c-12.9 7.5-26.8 13.6-41.4 17.9c-16.9 5-26.6 22.9-21.5 39.8s22.9 26.6 39.8 21.5c21.5-6.4 41.8-15.5 60.6-27c8 3.6 16.9 5.6 26.3 5.6c35.3 0 64-28.7 64-64c0-9.4-2-18.3-5.6-26.3c11.5-18.7 20.6-39 27-60.6zM192.8 256.8c0-15.6 5.6-29.9 14.9-41.1L223 231c6.6 6.6 17.8 1.9 17.8-7.4l0-60.5c0-5.7-4.7-10.4-10.4-10.4l-60.5 0c-9.3 0-13.9 11.2-7.4 17.8l11.2 11.2c-17.9 19.8-28.9 46.2-28.9 75.1c0 43.6 24.9 81.3 61.1 99.8c11.8 6 26.3 1.4 32.3-10.4s1.4-26.3-10.4-32.3c-20.8-10.6-34.9-32.2-34.9-57zm93.1-58.6c20.8 10.6 34.9 32.2 34.9 57c0 15.6-5.6 29.9-14.9 41.1L290.6 281c-6.6-6.6-17.8-1.9-17.8 7.4l0 60.5c0 5.7 4.7 10.4 10.4 10.4l60.5 0c9.3 0 13.9-11.2 7.4-17.8l-11.2-11.2c17.9-19.8 28.9-46.2 28.9-75.1c0-43.6-24.9-81.3-61.1-99.8c-11.8-6-26.3-1.4-32.3 10.4s-1.4 26.3 10.4 32.3z\"]\n};\nconst faBowlFood = {\n prefix: 'fas',\n iconName: 'bowl-food',\n icon: [512, 512, [], \"e4c6\", \"M0 192c0-35.3 28.7-64 64-64c.5 0 1.1 0 1.6 0C73 91.5 105.3 64 144 64c15 0 29 4.1 40.9 11.2C198.2 49.6 225.1 32 256 32s57.8 17.6 71.1 43.2C339 68.1 353 64 368 64c38.7 0 71 27.5 78.4 64c.5 0 1.1 0 1.6 0c35.3 0 64 28.7 64 64c0 11.7-3.1 22.6-8.6 32L8.6 224C3.1 214.6 0 203.7 0 192zm0 91.4C0 268.3 12.3 256 27.4 256l457.1 0c15.1 0 27.4 12.3 27.4 27.4c0 70.5-44.4 130.7-106.7 154.1L403.5 452c-2 16-15.6 28-31.8 28l-231.5 0c-16.1 0-29.8-12-31.8-28l-1.8-14.4C44.4 414.1 0 353.9 0 283.4z\"]\n};\nconst faCandyCane = {\n prefix: 'fas',\n iconName: 'candy-cane',\n icon: [512, 512, [], \"f786\", \"M348.8 131.5c3.7-2.3 7.9-3.5 12.2-3.5c12.7 0 23 10.3 23 23l0 5.6c0 9.9-5.1 19.1-13.5 24.3L30.1 393.7C.1 412.5-9 451.9 9.7 481.9s58.2 39.1 88.2 20.4L438.4 289.5c45.8-28.6 73.6-78.8 73.6-132.8l0-5.6C512 67.6 444.4 0 361 0c-28.3 0-56 8-80.1 23L254.1 39.7c-30 18.7-39.1 58.2-20.4 88.2s58.2 39.1 88.2 20.4l26.8-16.8zM298.4 49.8c9.2-5.7 19.1-10.1 29.4-13.1L348 97.5c-5.7 1.4-11.2 3.7-16.3 6.8l-12.6 7.9L298.4 49.8zm88.5 52.7l46.2-46.2c8.5 6.5 16.1 14.1 22.6 22.6l-46.2 46.2c-5.1-9.6-13-17.5-22.6-22.6zm28.9 59.3l61.6 20.5c-2.2 10.5-5.8 20.7-10.5 30.2l-62-20.7c6.2-8.8 10.1-19.1 11-30.1zm-86.1 82.5l60.4 37.7-30.2 18.9-60.4-37.7 30.2-18.9zm-107.2 67l60.4 37.7-30.2 18.9-60.4-37.7 30.2-18.9zM119.3 375.7l60.4 37.7-30.2 18.9L89.1 394.6l30.2-18.9z\"]\n};\nconst faArrowDownWideShort = {\n prefix: 'fas',\n iconName: 'arrow-down-wide-short',\n icon: [576, 512, [\"sort-amount-asc\", \"sort-amount-down\"], \"f160\", \"M151.6 469.6C145.5 476.2 137 480 128 480s-17.5-3.8-23.6-10.4l-88-96c-11.9-13-11.1-33.3 2-45.2s33.3-11.1 45.2 2L96 365.7 96 64c0-17.7 14.3-32 32-32s32 14.3 32 32l0 301.7 32.4-35.4c11.9-13 32.2-13.9 45.2-2s13.9 32.2 2 45.2l-88 96zM320 480c-17.7 0-32-14.3-32-32s14.3-32 32-32l32 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-32 0zm0-128c-17.7 0-32-14.3-32-32s14.3-32 32-32l96 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-96 0zm0-128c-17.7 0-32-14.3-32-32s14.3-32 32-32l160 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-160 0zm0-128c-17.7 0-32-14.3-32-32s14.3-32 32-32l224 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L320 96z\"]\n};\nconst faSortAmountAsc = faArrowDownWideShort;\nconst faSortAmountDown = faArrowDownWideShort;\nconst faCloudBolt = {\n prefix: 'fas',\n iconName: 'cloud-bolt',\n icon: [512, 512, [127785, \"thunderstorm\"], \"f76c\", \"M0 224c0 53 43 96 96 96l47.2 0L290 202.5c17.6-14.1 42.6-14 60.2 .2s22.8 38.6 12.8 58.8L333.7 320l18.3 0 64 0c53 0 96-43 96-96s-43-96-96-96c-.5 0-1.1 0-1.6 0c1.1-5.2 1.6-10.5 1.6-16c0-44.2-35.8-80-80-80c-24.3 0-46.1 10.9-60.8 28C256.5 24.3 219.1 0 176 0C114.1 0 64 50.1 64 112c0 7.1 .7 14.1 1.9 20.8C27.6 145.4 0 181.5 0 224zm330.1 3.6c-5.8-4.7-14.2-4.7-20.1-.1l-160 128c-5.3 4.2-7.4 11.4-5.1 17.8s8.3 10.7 15.1 10.7l70.1 0L177.7 488.8c-3.4 6.7-1.6 14.9 4.3 19.6s14.2 4.7 20.1 .1l160-128c5.3-4.2 7.4-11.4 5.1-17.8s-8.3-10.7-15.1-10.7l-70.1 0 52.4-104.8c3.4-6.7 1.6-14.9-4.2-19.6z\"]\n};\nconst faThunderstorm = faCloudBolt;\nconst faTextSlash = {\n prefix: 'fas',\n iconName: 'text-slash',\n icon: [640, 512, [\"remove-format\"], \"f87d\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L355.7 253.5 400.2 96 503 96 497 120.2c-4.3 17.1 6.1 34.5 23.3 38.8s34.5-6.1 38.8-23.3l11-44.1C577.6 61.3 554.7 32 523.5 32L376.1 32l-.3 0L204.5 32c-22 0-41.2 15-46.6 36.4l-6.3 25.2L38.8 5.1zm168 131.7c.1-.3 .2-.7 .3-1L217 96l116.7 0L301.3 210.8l-94.5-74.1zM243.3 416L192 416c-17.7 0-32 14.3-32 32s14.3 32 32 32l160 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-42.2 0 17.6-62.1L272.9 311 243.3 416z\"]\n};\nconst faRemoveFormat = faTextSlash;\nconst faFaceSmileWink = {\n prefix: 'fas',\n iconName: 'face-smile-wink',\n icon: [512, 512, [128521, \"smile-wink\"], \"f4da\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM164.1 325.5C182 346.2 212.6 368 256 368s74-21.8 91.9-42.5c5.8-6.7 15.9-7.4 22.6-1.6s7.4 15.9 1.6 22.6C349.8 372.1 311.1 400 256 400s-93.8-27.9-116.1-53.5c-5.8-6.7-5.1-16.8 1.6-22.6s16.8-5.1 22.6 1.6zM144.4 208a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm156.4 25.6c-5.3 7.1-15.3 8.5-22.4 3.2s-8.5-15.3-3.2-22.4c30.4-40.5 91.2-40.5 121.6 0c5.3 7.1 3.9 17.1-3.2 22.4s-17.1 3.9-22.4-3.2c-17.6-23.5-52.8-23.5-70.4 0z\"]\n};\nconst faSmileWink = faFaceSmileWink;\nconst faFileWord = {\n prefix: 'fas',\n iconName: 'file-word',\n icon: [384, 512, [], \"f1c2\", \"M64 0C28.7 0 0 28.7 0 64L0 448c0 35.3 28.7 64 64 64l256 0c35.3 0 64-28.7 64-64l0-288-128 0c-17.7 0-32-14.3-32-32L224 0 64 0zM256 0l0 128 128 0L256 0zM111 257.1l26.8 89.2 31.6-90.3c3.4-9.6 12.5-16.1 22.7-16.1s19.3 6.4 22.7 16.1l31.6 90.3L273 257.1c3.8-12.7 17.2-19.9 29.9-16.1s19.9 17.2 16.1 29.9l-48 160c-3 10-12 16.9-22.4 17.1s-19.8-6.2-23.2-16.1L192 336.6l-33.3 95.3c-3.4 9.8-12.8 16.3-23.2 16.1s-19.5-7.1-22.4-17.1l-48-160c-3.8-12.7 3.4-26.1 16.1-29.9s26.1 3.4 29.9 16.1z\"]\n};\nconst faFilePowerpoint = {\n prefix: 'fas',\n iconName: 'file-powerpoint',\n icon: [384, 512, [], \"f1c4\", \"M64 0C28.7 0 0 28.7 0 64L0 448c0 35.3 28.7 64 64 64l256 0c35.3 0 64-28.7 64-64l0-288-128 0c-17.7 0-32-14.3-32-32L224 0 64 0zM256 0l0 128 128 0L256 0zM136 240l68 0c42 0 76 34 76 76s-34 76-76 76l-44 0 0 32c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-56 0-104c0-13.3 10.7-24 24-24zm68 104c15.5 0 28-12.5 28-28s-12.5-28-28-28l-44 0 0 56 44 0z\"]\n};\nconst faArrowsLeftRight = {\n prefix: 'fas',\n iconName: 'arrows-left-right',\n icon: [512, 512, [\"arrows-h\"], \"f07e\", \"M406.6 374.6l96-96c12.5-12.5 12.5-32.8 0-45.3l-96-96c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L402.7 224l-293.5 0 41.4-41.4c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-96 96c-12.5 12.5-12.5 32.8 0 45.3l96 96c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L109.3 288l293.5 0-41.4 41.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0z\"]\n};\nconst faArrowsH = faArrowsLeftRight;\nconst faHouseLock = {\n prefix: 'fas',\n iconName: 'house-lock',\n icon: [640, 512, [], \"e510\", \"M384 480c0 11.7 3.1 22.6 8.6 32l-.6 0c-22.1 0-40-17.9-40-40l0-24 0-64c0-17.7-14.3-32-32-32l-64 0c-17.7 0-32 14.3-32 32l0 64 0 24c0 22.1-17.9 40-40 40l-24 0-31.9 0c-1.5 0-3-.1-4.5-.2c-1.2 .1-2.4 .2-3.6 .2l-16 0c-22.1 0-40-17.9-40-40l0-112c0-.9 0-1.9 .1-2.8l0-69.7-32 0c-18 0-32-14-32-32.1c0-9 3-17 10-24L266.4 8c7-7 15-8 22-8s15 2 21 7L490.7 166.3C447.2 181.7 416 223.2 416 272l0 24.6c-19.1 11.1-32 31.7-32 55.4l0 128zM528 240c-17.7 0-32 14.3-32 32l0 48 64 0 0-48c0-17.7-14.3-32-32-32zm-80 32c0-44.2 35.8-80 80-80s80 35.8 80 80l0 48c17.7 0 32 14.3 32 32l0 128c0 17.7-14.3 32-32 32l-160 0c-17.7 0-32-14.3-32-32l0-128c0-17.7 14.3-32 32-32l0-48z\"]\n};\nconst faCloudArrowDown = {\n prefix: 'fas',\n iconName: 'cloud-arrow-down',\n icon: [640, 512, [62337, \"cloud-download\", \"cloud-download-alt\"], \"f0ed\", \"M144 480C64.5 480 0 415.5 0 336c0-62.8 40.2-116.2 96.2-135.9c-.1-2.7-.2-5.4-.2-8.1c0-88.4 71.6-160 160-160c59.3 0 111 32.2 138.7 80.2C409.9 102 428.3 96 448 96c53 0 96 43 96 96c0 12.2-2.3 23.8-6.4 34.6C596 238.4 640 290.1 640 352c0 70.7-57.3 128-128 128l-368 0zm79-167l80 80c9.4 9.4 24.6 9.4 33.9 0l80-80c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-39 39L344 184c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 134.1-39-39c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9z\"]\n};\nconst faCloudDownload = faCloudArrowDown;\nconst faCloudDownloadAlt = faCloudArrowDown;\nconst faChildren = {\n prefix: 'fas',\n iconName: 'children',\n icon: [640, 512, [], \"e4e1\", \"M160 0a64 64 0 1 1 0 128A64 64 0 1 1 160 0zM88 480l0-80-17.8 0c-10.9 0-18.6-10.7-15.2-21.1l31.1-93.4L57.5 323.3c-10.7 14.1-30.8 16.8-44.8 6.2s-16.8-30.7-6.2-44.8L65.4 207c22.4-29.6 57.5-47 94.6-47s72.2 17.4 94.6 47l58.9 77.7c10.7 14.1 7.9 34.2-6.2 44.8s-34.2 7.9-44.8-6.2l-28.6-37.8L265 378.9c3.5 10.4-4.3 21.1-15.2 21.1L232 400l0 80c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-80-16 0 0 80c0 17.7-14.3 32-32 32s-32-14.3-32-32zM480 0a64 64 0 1 1 0 128A64 64 0 1 1 480 0zm-8 384l0 96c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-179.5L395.1 321c-9.4 15-29.2 19.4-44.1 10s-19.4-29.2-10-44.1l51.7-82.1c17.6-27.9 48.3-44.9 81.2-44.9l12.3 0c33 0 63.7 16.9 81.2 44.9L619.1 287c9.4 15 4.9 34.7-10 44.1s-34.7 4.9-44.1-10L552 300.5 552 480c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-96-16 0z\"]\n};\nconst faChalkboard = {\n prefix: 'fas',\n iconName: 'chalkboard',\n icon: [576, 512, [\"blackboard\"], \"f51b\", \"M96 32C60.7 32 32 60.7 32 96l0 288 64 0L96 96l384 0 0 288 64 0 0-288c0-35.3-28.7-64-64-64L96 32zM224 384l0 32L32 416c-17.7 0-32 14.3-32 32s14.3 32 32 32l512 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-128 0 0-32c0-17.7-14.3-32-32-32l-128 0c-17.7 0-32 14.3-32 32z\"]\n};\nconst faBlackboard = faChalkboard;\nconst faUserLargeSlash = {\n prefix: 'fas',\n iconName: 'user-large-slash',\n icon: [640, 512, [\"user-alt-slash\"], \"f4fa\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L381.9 274c48.5-23.2 82.1-72.7 82.1-130C464 64.5 399.5 0 320 0C250.4 0 192.4 49.3 178.9 114.9L38.8 5.1zM545.5 512L528 512 284.3 320l-59 0C136.2 320 64 392.2 64 481.3c0 17 13.8 30.7 30.7 30.7l450.6 0 .3 0z\"]\n};\nconst faUserAltSlash = faUserLargeSlash;\nconst faEnvelopeOpen = {\n prefix: 'fas',\n iconName: 'envelope-open',\n icon: [512, 512, [62135], \"f2b6\", \"M64 208.1L256 65.9 448 208.1l0 47.4L289.5 373c-9.7 7.2-21.4 11-33.5 11s-23.8-3.9-33.5-11L64 255.5l0-47.4zM256 0c-12.1 0-23.8 3.9-33.5 11L25.9 156.7C9.6 168.8 0 187.8 0 208.1L0 448c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64l0-239.9c0-20.3-9.6-39.4-25.9-51.4L289.5 11C279.8 3.9 268.1 0 256 0z\"]\n};\nconst faHandshakeSimpleSlash = {\n prefix: 'fas',\n iconName: 'handshake-simple-slash',\n icon: [640, 512, [\"handshake-alt-slash\"], \"e05f\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7l-135-105.8c-1.1-11.4-6.3-22.3-15.3-30.7l-134.2-123-23.4 18.2-26-20.3 77.2-60.1c7-5.4 17-4.2 22.5 2.8s4.2 17-2.8 22.5l-20.9 16.2L550.2 352l41.8 0c26.5 0 48-21.5 48-48l0-128c0-26.5-21.5-48-48-48l-76 0-4 0-.7 0-3.9-2.5L434.8 79c-15.3-9.8-33.2-15-51.4-15c-21.8 0-43 7.5-60 21.2l-89.7 72.6-25.8-20.3 81.8-66.2c-11.6-4.9-24.1-7.4-36.8-7.4C234 64 215.7 69.6 200 80l-35.5 23.7L38.8 5.1zM0 176L0 304c0 26.5 21.5 48 48 48l108.2 0 91.4 83.4c19.6 17.9 49.9 16.5 67.8-3.1c5.5-6.1 9.2-13.2 11.1-20.6l17 15.6c19.5 17.9 49.9 16.6 67.8-2.9c.8-.8 1.5-1.7 2.2-2.6L41.2 128.5C17.9 131.8 0 151.8 0 176z\"]\n};\nconst faHandshakeAltSlash = faHandshakeSimpleSlash;\nconst faMattressPillow = {\n prefix: 'fas',\n iconName: 'mattress-pillow',\n icon: [640, 512, [], \"e525\", \"M256 64L64 64C28.7 64 0 92.7 0 128L0 384c0 35.3 28.7 64 64 64l192 0 0-384zm32 384l288 0c35.3 0 64-28.7 64-64l0-256c0-35.3-28.7-64-64-64L288 64l0 384zM64 160c0-17.7 14.3-32 32-32l64 0c17.7 0 32 14.3 32 32l0 192c0 17.7-14.3 32-32 32l-64 0c-17.7 0-32-14.3-32-32l0-192z\"]\n};\nconst faGuaraniSign = {\n prefix: 'fas',\n iconName: 'guarani-sign',\n icon: [384, 512, [], \"e19a\", \"M192 0c-17.7 0-32 14.3-32 32l0 34.7C69.2 81.9 0 160.9 0 256s69.2 174.1 160 189.3l0 34.7c0 17.7 14.3 32 32 32s32-14.3 32-32l0-34.7c90.8-15.2 160-94.2 160-189.3c0-17.7-14.3-32-32-32l-128 0 0-92c22.1 5.7 41.8 17.1 57.6 32.6c12.6 12.4 32.9 12.2 45.3-.4s12.2-32.9-.5-45.3C299 92 263.5 73.3 224 66.7L224 32c0-17.7-14.3-32-32-32zM160 132L160 380c-55.2-14.2-96-64.3-96-124s40.8-109.8 96-124zM224 380l0-92 92 0c-11.6 45-47 80.4-92 92z\"]\n};\nconst faArrowsRotate = {\n prefix: 'fas',\n iconName: 'arrows-rotate',\n icon: [512, 512, [128472, \"refresh\", \"sync\"], \"f021\", \"M105.1 202.6c7.7-21.8 20.2-42.3 37.8-59.8c62.5-62.5 163.8-62.5 226.3 0L386.3 160 352 160c-17.7 0-32 14.3-32 32s14.3 32 32 32l111.5 0c0 0 0 0 0 0l.4 0c17.7 0 32-14.3 32-32l0-112c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 35.2L414.4 97.6c-87.5-87.5-229.3-87.5-316.8 0C73.2 122 55.6 150.7 44.8 181.4c-5.9 16.7 2.9 34.9 19.5 40.8s34.9-2.9 40.8-19.5zM39 289.3c-5 1.5-9.8 4.2-13.7 8.2c-4 4-6.7 8.8-8.1 14c-.3 1.2-.6 2.5-.8 3.8c-.3 1.7-.4 3.4-.4 5.1L16 432c0 17.7 14.3 32 32 32s32-14.3 32-32l0-35.1 17.6 17.5c0 0 0 0 0 0c87.5 87.4 229.3 87.4 316.7 0c24.4-24.4 42.1-53.1 52.9-83.8c5.9-16.7-2.9-34.9-19.5-40.8s-34.9 2.9-40.8 19.5c-7.7 21.8-20.2 42.3-37.8 59.8c-62.5 62.5-163.8 62.5-226.3 0l-.1-.1L125.6 352l34.4 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L48.4 288c-1.6 0-3.2 .1-4.8 .3s-3.1 .5-4.6 1z\"]\n};\nconst faRefresh = faArrowsRotate;\nconst faSync = faArrowsRotate;\nconst faFireExtinguisher = {\n prefix: 'fas',\n iconName: 'fire-extinguisher',\n icon: [512, 512, [129519], \"f134\", \"M500.3 7.3C507.7 13.3 512 22.4 512 32l0 96c0 9.6-4.3 18.7-11.7 24.7s-17.2 8.5-26.6 6.6l-160-32C301.5 124.9 292 115.7 289 104l-65 0 0 34.8c37.8 18 64 56.5 64 101.2l0 144L64 384l0-144c0-44.7 26.2-83.2 64-101.2l0-28.8c-36.2 11.1-66 36.9-82.3 70.5c-5.8 11.9-20.2 16.9-32.1 11.1S-3.3 171.4 2.5 159.5C26.7 109.8 72.7 72.6 128 60.4L128 32c0-17.7 14.3-32 32-32l32 0c17.7 0 32 14.3 32 32l0 24 65 0c3-11.7 12.5-20.9 24.7-23.4l160-32c9.4-1.9 19.1 .6 26.6 6.6zM288 416l0 32c0 35.3-28.7 64-64 64l-96 0c-35.3 0-64-28.7-64-64l0-32 224 0zM176 96a16 16 0 1 0 0-32 16 16 0 1 0 0 32z\"]\n};\nconst faCruzeiroSign = {\n prefix: 'fas',\n iconName: 'cruzeiro-sign',\n icon: [448, 512, [], \"e152\", \"M96 256c0-88.4 71.6-160 160-160c41 0 78.3 15.4 106.7 40.7c13.2 11.8 33.4 10.7 45.2-2.5s10.7-33.4-2.5-45.2c-39.6-35.5-92-57-149.3-57C132.3 32 32 132.3 32 256s100.3 224 224 224c57.4 0 109.7-21.6 149.3-57c13.2-11.8 14.3-32 2.5-45.2s-32-14.3-45.2-2.5C334.3 400.6 297 416 256 416l0-96 0-8.7c0-12.8 10.4-23.3 23.3-23.3c4.6 0 9.1 1.4 12.9 3.9l10.1 6.7c14.7 9.8 34.6 5.8 44.4-8.9s5.8-34.6-8.9-44.4l-10.1-6.7c-14.3-9.6-31.2-14.7-48.4-14.7c-12.4 0-24.2 2.6-34.9 7.3c-5.5-4.5-12.6-7.3-20.3-7.3c-17.7 0-32 14.3-32 32l0 55.3 0 8.7 0 82.7C135.5 378 96 321.6 96 256z\"]\n};\nconst faGreaterThanEqual = {\n prefix: 'fas',\n iconName: 'greater-than-equal',\n icon: [448, 512, [], \"f532\", \"M52.1 93.7C35.7 87.1 27.7 68.5 34.3 52.1s25.2-24.4 41.6-17.8l320 128C408 167.1 416 178.9 416 192s-8 24.9-20.1 29.7l-320 128c-16.4 6.6-35-1.4-41.6-17.8s1.4-35 17.8-41.6L297.8 192 52.1 93.7zM416 416c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 480c-17.7 0-32-14.3-32-32s14.3-32 32-32l384 0z\"]\n};\nconst faShieldHalved = {\n prefix: 'fas',\n iconName: 'shield-halved',\n icon: [512, 512, [\"shield-alt\"], \"f3ed\", \"M256 0c4.6 0 9.2 1 13.4 2.9L457.7 82.8c22 9.3 38.4 31 38.3 57.2c-.5 99.2-41.3 280.7-213.6 363.2c-16.7 8-36.1 8-52.8 0C57.3 420.7 16.5 239.2 16 140c-.1-26.2 16.3-47.9 38.3-57.2L242.7 2.9C246.8 1 251.4 0 256 0zm0 66.8l0 378.1C394 378 431.1 230.1 432 141.4L256 66.8s0 0 0 0z\"]\n};\nconst faShieldAlt = faShieldHalved;\nconst faBookAtlas = {\n prefix: 'fas',\n iconName: 'book-atlas',\n icon: [448, 512, [\"atlas\"], \"f558\", \"M0 96C0 43 43 0 96 0L384 0l32 0c17.7 0 32 14.3 32 32l0 320c0 17.7-14.3 32-32 32l0 64c17.7 0 32 14.3 32 32s-14.3 32-32 32l-32 0L96 512c-53 0-96-43-96-96L0 96zM64 416c0 17.7 14.3 32 32 32l256 0 0-64L96 384c-17.7 0-32 14.3-32 32zM247.4 283.8c-3.7 3.7-6.2 4.2-7.4 4.2s-3.7-.5-7.4-4.2c-3.8-3.7-8-10-11.8-18.9c-6.2-14.5-10.8-34.3-12.2-56.9l63 0c-1.5 22.6-6 42.4-12.2 56.9c-3.8 8.9-8 15.2-11.8 18.9zm42.7-9.9c7.3-18.3 12-41.1 13.4-65.9l31.1 0c-4.7 27.9-21.4 51.7-44.5 65.9zm0-163.8c23.2 14.2 39.9 38 44.5 65.9l-31.1 0c-1.4-24.7-6.1-47.5-13.4-65.9zM368 192a128 128 0 1 0 -256 0 128 128 0 1 0 256 0zM145.3 208l31.1 0c1.4 24.7 6.1 47.5 13.4 65.9c-23.2-14.2-39.9-38-44.5-65.9zm31.1-32l-31.1 0c4.7-27.9 21.4-51.7 44.5-65.9c-7.3 18.3-12 41.1-13.4 65.9zm56.1-75.8c3.7-3.7 6.2-4.2 7.4-4.2s3.7 .5 7.4 4.2c3.8 3.7 8 10 11.8 18.9c6.2 14.5 10.8 34.3 12.2 56.9l-63 0c1.5-22.6 6-42.4 12.2-56.9c3.8-8.9 8-15.2 11.8-18.9z\"]\n};\nconst faAtlas = faBookAtlas;\nconst faVirus = {\n prefix: 'fas',\n iconName: 'virus',\n icon: [512, 512, [], \"e074\", \"M288 32c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 11.5c0 49.9-60.3 74.9-95.6 39.6L120.2 75C107.7 62.5 87.5 62.5 75 75s-12.5 32.8 0 45.3l8.2 8.2C118.4 163.7 93.4 224 43.5 224L32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l11.5 0c49.9 0 74.9 60.3 39.6 95.6L75 391.8c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l8.2-8.2c35.3-35.3 95.6-10.3 95.6 39.6l0 11.5c0 17.7 14.3 32 32 32s32-14.3 32-32l0-11.5c0-49.9 60.3-74.9 95.6-39.6l8.2 8.2c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-8.2-8.2c-35.3-35.3-10.3-95.6 39.6-95.6l11.5 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-11.5 0c-49.9 0-74.9-60.3-39.6-95.6l8.2-8.2c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-8.2 8.2C348.3 118.4 288 93.4 288 43.5L288 32zM176 224a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm128 56a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nconst faEnvelopeCircleCheck = {\n prefix: 'fas',\n iconName: 'envelope-circle-check',\n icon: [640, 512, [], \"e4e8\", \"M48 64C21.5 64 0 85.5 0 112c0 15.1 7.1 29.3 19.2 38.4L236.8 313.6c11.4 8.5 27 8.5 38.4 0l57.4-43c23.9-59.8 79.7-103.3 146.3-109.8l13.9-10.4c12.1-9.1 19.2-23.3 19.2-38.4c0-26.5-21.5-48-48-48L48 64zM294.4 339.2c-22.8 17.1-54 17.1-76.8 0L0 176 0 384c0 35.3 28.7 64 64 64l296.2 0C335.1 417.6 320 378.5 320 336c0-5.6 .3-11.1 .8-16.6l-26.4 19.8zM640 336a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zm-76.7-43.3c6.2 6.2 6.2 16.4 0 22.6l-72 72c-6.2 6.2-16.4 6.2-22.6 0l-40-40c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L480 353.4l60.7-60.7c6.2-6.2 16.4-6.2 22.6 0z\"]\n};\nconst faLayerGroup = {\n prefix: 'fas',\n iconName: 'layer-group',\n icon: [576, 512, [], \"f5fd\", \"M264.5 5.2c14.9-6.9 32.1-6.9 47 0l218.6 101c8.5 3.9 13.9 12.4 13.9 21.8s-5.4 17.9-13.9 21.8l-218.6 101c-14.9 6.9-32.1 6.9-47 0L45.9 149.8C37.4 145.8 32 137.3 32 128s5.4-17.9 13.9-21.8L264.5 5.2zM476.9 209.6l53.2 24.6c8.5 3.9 13.9 12.4 13.9 21.8s-5.4 17.9-13.9 21.8l-218.6 101c-14.9 6.9-32.1 6.9-47 0L45.9 277.8C37.4 273.8 32 265.3 32 256s5.4-17.9 13.9-21.8l53.2-24.6 152 70.2c23.4 10.8 50.4 10.8 73.8 0l152-70.2zm-152 198.2l152-70.2 53.2 24.6c8.5 3.9 13.9 12.4 13.9 21.8s-5.4 17.9-13.9 21.8l-218.6 101c-14.9 6.9-32.1 6.9-47 0L45.9 405.8C37.4 401.8 32 393.3 32 384s5.4-17.9 13.9-21.8l53.2-24.6 152 70.2c23.4 10.8 50.4 10.8 73.8 0z\"]\n};\nconst faArrowsToDot = {\n prefix: 'fas',\n iconName: 'arrows-to-dot',\n icon: [512, 512, [], \"e4be\", \"M256 0c17.7 0 32 14.3 32 32l0 32 32 0c12.9 0 24.6 7.8 29.6 19.8s2.2 25.7-6.9 34.9l-64 64c-12.5 12.5-32.8 12.5-45.3 0l-64-64c-9.2-9.2-11.9-22.9-6.9-34.9s16.6-19.8 29.6-19.8l32 0 0-32c0-17.7 14.3-32 32-32zM169.4 393.4l64-64c12.5-12.5 32.8-12.5 45.3 0l64 64c9.2 9.2 11.9 22.9 6.9 34.9s-16.6 19.8-29.6 19.8l-32 0 0 32c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-32-32 0c-12.9 0-24.6-7.8-29.6-19.8s-2.2-25.7 6.9-34.9zM32 224l32 0 0-32c0-12.9 7.8-24.6 19.8-29.6s25.7-2.2 34.9 6.9l64 64c12.5 12.5 12.5 32.8 0 45.3l-64 64c-9.2 9.2-22.9 11.9-34.9 6.9s-19.8-16.6-19.8-29.6l0-32-32 0c-17.7 0-32-14.3-32-32s14.3-32 32-32zm297.4 54.6c-12.5-12.5-12.5-32.8 0-45.3l64-64c9.2-9.2 22.9-11.9 34.9-6.9s19.8 16.6 19.8 29.6l0 32 32 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-32 0 0 32c0 12.9-7.8 24.6-19.8 29.6s-25.7 2.2-34.9-6.9l-64-64zM256 224a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nconst faArchway = {\n prefix: 'fas',\n iconName: 'archway',\n icon: [512, 512, [], \"f557\", \"M32 32C14.3 32 0 46.3 0 64S14.3 96 32 96l448 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L32 32zm0 384c-17.7 0-32 14.3-32 32s14.3 32 32 32l64 0 64 0 0-128c0-53 43-96 96-96s96 43 96 96l0 128 64 0 64 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l0-288L32 128l0 288z\"]\n};\nconst faHeartCircleCheck = {\n prefix: 'fas',\n iconName: 'heart-circle-check',\n icon: [576, 512, [], \"e4fd\", \"M47.6 300.4L228.3 469.1c7.5 7 17.4 10.9 27.7 10.9s20.2-3.9 27.7-10.9l2.6-2.4C267.2 438.6 256 404.6 256 368c0-97.2 78.8-176 176-176c28.3 0 55 6.7 78.7 18.5c.9-6.5 1.3-13 1.3-19.6l0-5.8c0-69.9-50.5-129.5-119.4-141C347 36.5 300.6 51.4 268 84L256 96 244 84c-32.6-32.6-79-47.5-124.6-39.9C50.5 55.6 0 115.2 0 185.1l0 5.8c0 41.5 17.2 81.2 47.6 109.5zM576 368a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zm-76.7-43.3c6.2 6.2 6.2 16.4 0 22.6l-72 72c-6.2 6.2-16.4 6.2-22.6 0l-40-40c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L416 385.4l60.7-60.7c6.2-6.2 16.4-6.2 22.6 0z\"]\n};\nconst faHouseChimneyCrack = {\n prefix: 'fas',\n iconName: 'house-chimney-crack',\n icon: [576, 512, [\"house-damage\"], \"f6f1\", \"M575.8 255.5c0 18-15 32.1-32 32.1l-32 0 .7 160.2c.2 35.5-28.5 64.3-64 64.3l-122.1 0L288 448l80.8-67.3c7.8-6.5 7.6-18.6-.4-24.9L250.6 263.2c-14.6-11.5-33.8 7-22.8 22L288 368l-85.5 71.2c-6.1 5-7.5 13.8-3.5 20.5L230.4 512l-102.3 0c-35.3 0-64-28.7-64-64l0-160.4-32 0c-18 0-32-14-32-32.1c0-9 3-17 10-24L266.4 8c7-7 15-8 22-8s15 2 21 7L416 100.7 416 64c0-17.7 14.3-32 32-32l32 0c17.7 0 32 14.3 32 32l0 121 52.8 46.4c8 7 12 15 11 24z\"]\n};\nconst faHouseDamage = faHouseChimneyCrack;\nconst faFileZipper = {\n prefix: 'fas',\n iconName: 'file-zipper',\n icon: [384, 512, [\"file-archive\"], \"f1c6\", \"M64 0C28.7 0 0 28.7 0 64L0 448c0 35.3 28.7 64 64 64l256 0c35.3 0 64-28.7 64-64l0-288-128 0c-17.7 0-32-14.3-32-32L224 0 64 0zM256 0l0 128 128 0L256 0zM96 48c0-8.8 7.2-16 16-16l32 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16zm0 64c0-8.8 7.2-16 16-16l32 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16zm0 64c0-8.8 7.2-16 16-16l32 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16zm-6.3 71.8c3.7-14 16.4-23.8 30.9-23.8l14.8 0c14.5 0 27.2 9.7 30.9 23.8l23.5 88.2c1.4 5.4 2.1 10.9 2.1 16.4c0 35.2-28.8 63.7-64 63.7s-64-28.5-64-63.7c0-5.5 .7-11.1 2.1-16.4l23.5-88.2zM112 336c-8.8 0-16 7.2-16 16s7.2 16 16 16l32 0c8.8 0 16-7.2 16-16s-7.2-16-16-16l-32 0z\"]\n};\nconst faFileArchive = faFileZipper;\nconst faSquare = {\n prefix: 'fas',\n iconName: 'square',\n icon: [448, 512, [9632, 9723, 9724, 61590], \"f0c8\", \"M0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96z\"]\n};\nconst faMartiniGlassEmpty = {\n prefix: 'fas',\n iconName: 'martini-glass-empty',\n icon: [512, 512, [\"glass-martini\"], \"f000\", \"M32 0C19.1 0 7.4 7.8 2.4 19.8s-2.2 25.7 6.9 34.9L224 269.3 224 448l-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l96 0 96 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-64 0 0-178.7L502.6 54.6c9.2-9.2 11.9-22.9 6.9-34.9S492.9 0 480 0L32 0zM256 210.7L109.3 64l293.5 0L256 210.7z\"]\n};\nconst faGlassMartini = faMartiniGlassEmpty;\nconst faCouch = {\n prefix: 'fas',\n iconName: 'couch',\n icon: [640, 512, [], \"f4b8\", \"M64 160C64 89.3 121.3 32 192 32l256 0c70.7 0 128 57.3 128 128l0 33.6c-36.5 7.4-64 39.7-64 78.4l0 48-384 0 0-48c0-38.7-27.5-71-64-78.4L64 160zM544 272c0-20.9 13.4-38.7 32-45.3c5-1.8 10.4-2.7 16-2.7c26.5 0 48 21.5 48 48l0 176c0 17.7-14.3 32-32 32l-32 0c-17.7 0-32-14.3-32-32L96 448c0 17.7-14.3 32-32 32l-32 0c-17.7 0-32-14.3-32-32L0 272c0-26.5 21.5-48 48-48c5.6 0 11 1 16 2.7c18.6 6.6 32 24.4 32 45.3l0 48 0 32 32 0 384 0 32 0 0-32 0-48z\"]\n};\nconst faCediSign = {\n prefix: 'fas',\n iconName: 'cedi-sign',\n icon: [384, 512, [], \"e0df\", \"M256 32c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 34.7C101.2 81.9 32 160.9 32 256s69.2 174.1 160 189.3l0 34.7c0 17.7 14.3 32 32 32s32-14.3 32-32l0-34.7c30.9-5.2 59.2-17.7 83.2-35.8c14.1-10.6 17-30.7 6.4-44.8s-30.7-17-44.8-6.4c-13.2 9.9-28.3 17.3-44.8 21.6L256 132c16.4 4.2 31.6 11.6 44.8 21.6c14.1 10.6 34.2 7.8 44.8-6.4s7.8-34.2-6.4-44.8c-24-18-52.4-30.6-83.2-35.8L256 32zM192 132L192 380c-55.2-14.2-96-64.3-96-124s40.8-109.8 96-124z\"]\n};\nconst faItalic = {\n prefix: 'fas',\n iconName: 'italic',\n icon: [384, 512, [], \"f033\", \"M128 64c0-17.7 14.3-32 32-32l192 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-58.7 0L160 416l64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 480c-17.7 0-32-14.3-32-32s14.3-32 32-32l58.7 0L224 96l-64 0c-17.7 0-32-14.3-32-32z\"]\n};\nconst faTableCellsColumnLock = {\n prefix: 'fas',\n iconName: 'table-cells-column-lock',\n icon: [640, 512, [], \"e678\", \"M0 96C0 60.7 28.7 32 64 32l384 0c35.3 0 64 28.7 64 64l0 65.1c-37.8 5.4-69.4 29.6-85.2 62.9L360 224l0 64 56 0 0 8.6c-19.1 11.1-32 31.7-32 55.4l-24 0 0 64 24 0 0 64L64 480c-35.3 0-64-28.7-64-64L0 96zm208 0l0 64 88 0 0-64-88 0zm240 0l-88 0 0 64 88 0 0-64zM208 224l0 64 88 0 0-64-88 0zm0 128l0 64 88 0 0-64-88 0zM528 240c-17.7 0-32 14.3-32 32l0 48 64 0 0-48c0-17.7-14.3-32-32-32zm-80 32c0-44.2 35.8-80 80-80s80 35.8 80 80l0 48c17.7 0 32 14.3 32 32l0 128c0 17.7-14.3 32-32 32l-160 0c-17.7 0-32-14.3-32-32l0-128c0-17.7 14.3-32 32-32l0-48z\"]\n};\nconst faChurch = {\n prefix: 'fas',\n iconName: 'church',\n icon: [640, 512, [9962], \"f51d\", \"M344 24c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 24-32 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l32 0 0 46.4L183.3 210c-14.5 8.7-23.3 24.3-23.3 41.2L160 512l96 0 0-96c0-35.3 28.7-64 64-64s64 28.7 64 64l0 96 96 0 0-260.8c0-16.9-8.8-32.5-23.3-41.2L344 142.4 344 96l32 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-32 0 0-24zM24.9 330.3C9.5 338.8 0 354.9 0 372.4L0 464c0 26.5 21.5 48 48 48l80 0 0-238.4L24.9 330.3zM592 512c26.5 0 48-21.5 48-48l0-91.6c0-17.5-9.5-33.6-24.9-42.1L512 273.6 512 512l80 0z\"]\n};\nconst faCommentsDollar = {\n prefix: 'fas',\n iconName: 'comments-dollar',\n icon: [640, 512, [], \"f653\", \"M416 176c0 97.2-93.1 176-208 176c-38.2 0-73.9-8.7-104.7-23.9c-7.5 4-16 7.9-25.2 11.4C59.8 346.4 37.8 352 16 352c-6.9 0-13.1-4.5-15.2-11.1s.2-13.8 5.8-17.9c0 0 0 0 0 0s0 0 0 0l.2-.2c.2-.2 .6-.4 1.1-.8c1-.8 2.5-2 4.3-3.7c3.6-3.3 8.5-8.1 13.3-14.3c5.5-7 10.7-15.4 14.2-24.7C14.7 250.3 0 214.6 0 176C0 78.8 93.1 0 208 0S416 78.8 416 176zM231.5 383C348.9 372.9 448 288.3 448 176c0-5.2-.2-10.4-.6-15.5C555.1 167.1 640 243.2 640 336c0 38.6-14.7 74.3-39.6 103.4c3.5 9.4 8.7 17.7 14.2 24.7c4.8 6.2 9.7 11 13.3 14.3c1.8 1.6 3.3 2.9 4.3 3.7c.5 .4 .9 .7 1.1 .8l.2 .2s0 0 0 0s0 0 0 0c5.6 4.1 7.9 11.3 5.8 17.9c-2.1 6.6-8.3 11.1-15.2 11.1c-21.8 0-43.8-5.6-62.1-12.5c-9.2-3.5-17.8-7.4-25.2-11.4C505.9 503.3 470.2 512 432 512c-95.6 0-176.2-54.6-200.5-129zM228 72c0-11-9-20-20-20s-20 9-20 20l0 14c-7.6 1.7-15.2 4.4-22.2 8.5c-13.9 8.3-25.9 22.8-25.8 43.9c.1 20.3 12 33.1 24.7 40.7c11 6.6 24.7 10.8 35.6 14l1.7 .5c12.6 3.8 21.8 6.8 28 10.7c5.1 3.2 5.8 5.4 5.9 8.2c.1 5-1.8 8-5.9 10.5c-5 3.1-12.9 5-21.4 4.7c-11.1-.4-21.5-3.9-35.1-8.5c-2.3-.8-4.7-1.6-7.2-2.4c-10.5-3.5-21.8 2.2-25.3 12.6s2.2 21.8 12.6 25.3c1.9 .6 4 1.3 6.1 2.1c0 0 0 0 0 0s0 0 0 0c8.3 2.9 17.9 6.2 28.2 8.4l0 14.6c0 11 9 20 20 20s20-9 20-20l0-13.8c8-1.7 16-4.5 23.2-9c14.3-8.9 25.1-24.1 24.8-45c-.3-20.3-11.7-33.4-24.6-41.6c-11.5-7.2-25.9-11.6-37.1-15l-.7-.2c-12.8-3.9-21.9-6.7-28.3-10.5c-5.2-3.1-5.3-4.9-5.3-6.7c0-3.7 1.4-6.5 6.2-9.3c5.4-3.2 13.6-5.1 21.5-5c9.6 .1 20.2 2.2 31.2 5.2c10.7 2.8 21.6-3.5 24.5-14.2s-3.5-21.6-14.2-24.5c-6.5-1.7-13.7-3.4-21.1-4.7L228 72z\"]\n};\nconst faDemocrat = {\n prefix: 'fas',\n iconName: 'democrat',\n icon: [640, 512, [], \"f747\", \"M64 32c0-8.9 3.8-20.9 6.2-27.3C71.2 1.8 74 0 77 0c1.9 0 3.8 .7 5.2 2.1L128 45.7 173.8 2.1C175.2 .7 177.1 0 179 0c3 0 5.8 1.8 6.8 4.7c2.4 6.5 6.2 18.4 6.2 27.3c0 26.5-21.9 42-29.5 46.6l76.2 72.6c6 5.7 13.9 8.8 22.1 8.8L480 160l32 0c40.3 0 78.2 19 102.4 51.2l19.2 25.6c10.6 14.1 7.7 34.2-6.4 44.8s-34.2 7.7-44.8-6.4l-19.2-25.6c-5.3-7-11.8-12.8-19.2-17l0 87.4-352 0-40.4-94.3c-3.9-9.2-15.3-12.6-23.6-7l-42.1 28c-9.1 6.1-19.7 9.3-30.7 9.3l-2 0C23.9 256 0 232.1 0 202.7c0-12.1 4.1-23.8 11.7-33.3L87.6 74.6C78.1 67.4 64 53.2 64 32zM448 352l96 0 0 64 0 64c0 17.7-14.3 32-32 32l-32 0c-17.7 0-32-14.3-32-32l0-64-160 0 0 64c0 17.7-14.3 32-32 32l-32 0c-17.7 0-32-14.3-32-32l0-64 0-64 96 0 160 0zM260.9 210.9c-.9-1.8-2.8-2.9-4.8-2.9s-3.9 1.1-4.8 2.9l-10.5 20.5-23.5 3.3c-2 .3-3.7 1.6-4.3 3.5s-.1 3.9 1.3 5.3l17 16-4 22.6c-.3 1.9 .5 3.9 2.1 5s3.8 1.3 5.6 .4l21-10.7 21 10.7c1.8 .9 4 .8 5.6-.4s2.5-3.1 2.1-5l-4-22.6 17-16c1.5-1.4 2-3.4 1.3-5.3s-2.3-3.2-4.3-3.5l-23.5-3.3-10.5-20.5zM368.1 208c-2 0-3.9 1.1-4.8 2.9l-10.5 20.5-23.5 3.3c-2 .3-3.7 1.6-4.3 3.5s-.1 3.9 1.3 5.3l17 16-4 22.6c-.3 1.9 .5 3.9 2.1 5s3.8 1.3 5.6 .4l21-10.7 21 10.7c1.8 .9 4 .8 5.6-.4s2.5-3.1 2.1-5l-4-22.6 17-16c1.5-1.4 2-3.4 1.4-5.3s-2.3-3.2-4.3-3.5l-23.5-3.3-10.5-20.5c-.9-1.8-2.8-2.9-4.8-2.9zm116.8 2.9c-.9-1.8-2.8-2.9-4.8-2.9s-3.9 1.1-4.8 2.9l-10.5 20.5-23.5 3.3c-2 .3-3.7 1.6-4.3 3.5s-.1 3.9 1.3 5.3l17 16-4 22.6c-.3 1.9 .5 3.9 2.1 5s3.8 1.3 5.6 .4l21-10.7 21 10.7c1.8 .9 4 .8 5.6-.4s2.5-3.1 2.1-5l-4-22.6 17-16c1.5-1.4 2-3.4 1.4-5.3s-2.3-3.2-4.3-3.5l-23.5-3.3-10.5-20.5z\"]\n};\nconst faZ = {\n prefix: 'fas',\n iconName: 'z',\n icon: [384, 512, [122], \"5a\", \"M0 64C0 46.3 14.3 32 32 32l320 0c12.4 0 23.7 7.2 29 18.4s3.6 24.5-4.4 34.1L100.3 416 352 416c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 480c-12.4 0-23.7-7.2-29-18.4s-3.6-24.5 4.4-34.1L283.7 96 32 96C14.3 96 0 81.7 0 64z\"]\n};\nconst faPersonSkiing = {\n prefix: 'fas',\n iconName: 'person-skiing',\n icon: [512, 512, [9975, \"skiing\"], \"f7c9\", \"M380.7 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM2.7 268.9c6.1-11.8 20.6-16.3 32.4-10.2L232.7 361.3l46.2-69.2-75.1-75.1c-14.6-14.6-20.4-33.9-18.4-52.1l108.8 52 39.3 39.3c16.2 16.2 18.7 41.5 6 60.6L289.8 391l128.7 66.8c13.6 7.1 29.8 7.2 43.6 .3l15.2-7.6c11.9-5.9 26.3-1.1 32.2 10.7s1.1 26.3-10.7 32.2l-15.2 7.6c-27.5 13.7-59.9 13.5-87.2-.7L12.9 301.3C1.2 295.2-3.4 280.7 2.7 268.9zM118.9 65.6L137 74.2l8.7-17.4c4-7.9 13.6-11.1 21.5-7.2s11.1 13.6 7.2 21.5l-8.5 16.9 54.7 26.2c1.5-.7 3.1-1.4 4.7-2.1l83.4-33.4c34.2-13.7 72.8 4.2 84.5 39.2l17.1 51.2 52.1 26.1c15.8 7.9 22.2 27.1 14.3 42.9s-27.1 22.2-42.9 14.3l-58.1-29c-11.4-5.7-20-15.7-24.1-27.8l-5.8-17.3-27.3 12.1-6.8 3-6.7-3.2L151.5 116.7l-9.2 18.4c-4 7.9-13.6 11.1-21.5 7.2s-11.1-13.6-7.2-21.5l9-18-17.6-8.4c-8-3.8-11.3-13.4-7.5-21.3s13.4-11.3 21.3-7.5z\"]\n};\nconst faSkiing = faPersonSkiing;\nconst faRoadLock = {\n prefix: 'fas',\n iconName: 'road-lock',\n icon: [640, 512, [], \"e567\", \"M288 32l-74.8 0c-27.1 0-51.3 17.1-60.3 42.6L35.1 407.2c-2.1 5.9-3.1 12-3.1 18.2C32 455.5 56.5 480 86.6 480L288 480l0-64c0-17.7 14.3-32 32-32s32 14.3 32 32l0 64 32 0 0-128c0-23.7 12.9-44.4 32-55.4l0-24.6c0-58.3 44.6-106.2 101.5-111.5L487.1 74.6C478 49.1 453.9 32 426.8 32L352 32l0 64c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-64zm64 192l0 64c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-64c0-17.7 14.3-32 32-32s32 14.3 32 32zm176 16c17.7 0 32 14.3 32 32l0 48-64 0 0-48c0-17.7 14.3-32 32-32zm-80 32l0 48c-17.7 0-32 14.3-32 32l0 128c0 17.7 14.3 32 32 32l160 0c17.7 0 32-14.3 32-32l0-128c0-17.7-14.3-32-32-32l0-48c0-44.2-35.8-80-80-80s-80 35.8-80 80z\"]\n};\nconst faA = {\n prefix: 'fas',\n iconName: 'a',\n icon: [384, 512, [97], \"41\", \"M221.5 51.7C216.6 39.8 204.9 32 192 32s-24.6 7.8-29.5 19.7l-120 288-40 96c-6.8 16.3 .9 35 17.2 41.8s35-.9 41.8-17.2L93.3 384l197.3 0 31.8 76.3c6.8 16.3 25.5 24 41.8 17.2s24-25.5 17.2-41.8l-40-96-120-288zM264 320l-144 0 72-172.8L264 320z\"]\n};\nconst faTemperatureArrowDown = {\n prefix: 'fas',\n iconName: 'temperature-arrow-down',\n icon: [576, 512, [\"temperature-down\"], \"e03f\", \"M128 112c0-26.5 21.5-48 48-48s48 21.5 48 48l0 164.5c0 17.3 7.1 31.9 15.3 42.5C249.8 332.6 256 349.5 256 368c0 44.2-35.8 80-80 80s-80-35.8-80-80c0-18.5 6.2-35.4 16.7-48.9c8.2-10.6 15.3-25.2 15.3-42.5L128 112zM176 0C114.1 0 64 50.1 64 112l0 164.4c0 .1-.1 .3-.2 .6c-.2 .6-.8 1.6-1.7 2.8C43.2 304.2 32 334.8 32 368c0 79.5 64.5 144 144 144s144-64.5 144-144c0-33.2-11.2-63.8-30.1-88.1c-.9-1.2-1.5-2.2-1.7-2.8c-.1-.3-.2-.5-.2-.6L288 112C288 50.1 237.9 0 176 0zm0 416c26.5 0 48-21.5 48-48c0-20.9-13.4-38.7-32-45.3l0-50.7c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 50.7c-18.6 6.6-32 24.4-32 45.3c0 26.5 21.5 48 48 48zm336-64l-32 0 0-288c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 288-32 0c-12.9 0-24.6 7.8-29.6 19.8s-2.2 25.7 6.9 34.9l64 64c6 6 14.1 9.4 22.6 9.4s16.6-3.4 22.6-9.4l64-64c9.2-9.2 11.9-22.9 6.9-34.9s-16.6-19.8-29.6-19.8z\"]\n};\nconst faTemperatureDown = faTemperatureArrowDown;\nconst faFeatherPointed = {\n prefix: 'fas',\n iconName: 'feather-pointed',\n icon: [512, 512, [\"feather-alt\"], \"f56b\", \"M278.5 215.6L23 471c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l74.8-74.8c7.4 4.6 15.3 8.2 23.8 10.5C200.3 452.8 270 454.5 338 409.4c12.2-8.1 5.8-25.4-8.8-25.4l-16.1 0c-5.1 0-9.2-4.1-9.2-9.2c0-4.1 2.7-7.6 6.5-8.8l97.7-29.3c3.4-1 6.4-3.1 8.4-6.1c4.4-6.4 8.6-12.9 12.6-19.6c6.2-10.3-1.5-23-13.5-23l-38.6 0c-5.1 0-9.2-4.1-9.2-9.2c0-4.1 2.7-7.6 6.5-8.8l80.9-24.3c4.6-1.4 8.4-4.8 10.2-9.3C494.5 163 507.8 86.1 511.9 36.8c.8-9.9-3-19.6-10-26.6s-16.7-10.8-26.6-10C391.5 7 228.5 40.5 137.4 131.6C57.3 211.7 56.7 302.3 71.3 356.4c2.1 7.9 12 9.6 17.8 3.8L253.6 195.8c6.2-6.2 16.4-6.2 22.6 0c5.4 5.4 6.1 13.6 2.2 19.8z\"]\n};\nconst faFeatherAlt = faFeatherPointed;\nconst faP = {\n prefix: 'fas',\n iconName: 'p',\n icon: [320, 512, [112], \"50\", \"M0 96C0 60.7 28.7 32 64 32l96 0c88.4 0 160 71.6 160 160s-71.6 160-160 160l-96 0 0 96c0 17.7-14.3 32-32 32s-32-14.3-32-32L0 320 0 96zM64 288l96 0c53 0 96-43 96-96s-43-96-96-96L64 96l0 192z\"]\n};\nconst faSnowflake = {\n prefix: 'fas',\n iconName: 'snowflake',\n icon: [448, 512, [10052, 10054], \"f2dc\", \"M224 0c17.7 0 32 14.3 32 32l0 30.1 15-15c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-49 49 0 70.3 61.4-35.8 17.7-66.1c3.4-12.8 16.6-20.4 29.4-17s20.4 16.6 17 29.4l-5.2 19.3 23.6-13.8c15.3-8.9 34.9-3.7 43.8 11.5s3.8 34.9-11.5 43.8l-25.3 14.8 21.7 5.8c12.8 3.4 20.4 16.6 17 29.4s-16.6 20.4-29.4 17l-67.7-18.1L287.5 256l60.9 35.5 67.7-18.1c12.8-3.4 26 4.2 29.4 17s-4.2 26-17 29.4l-21.7 5.8 25.3 14.8c15.3 8.9 20.4 28.5 11.5 43.8s-28.5 20.4-43.8 11.5l-23.6-13.8 5.2 19.3c3.4 12.8-4.2 26-17 29.4s-26-4.2-29.4-17l-17.7-66.1L256 311.7l0 70.3 49 49c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-15-15 0 30.1c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-30.1-15 15c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l49-49 0-70.3-61.4 35.8-17.7 66.1c-3.4 12.8-16.6 20.4-29.4 17s-20.4-16.6-17-29.4l5.2-19.3L48.1 395.6c-15.3 8.9-34.9 3.7-43.8-11.5s-3.7-34.9 11.5-43.8l25.3-14.8-21.7-5.8c-12.8-3.4-20.4-16.6-17-29.4s16.6-20.4 29.4-17l67.7 18.1L160.5 256 99.6 220.5 31.9 238.6c-12.8 3.4-26-4.2-29.4-17s4.2-26 17-29.4l21.7-5.8L15.9 171.6C.6 162.7-4.5 143.1 4.4 127.9s28.5-20.4 43.8-11.5l23.6 13.8-5.2-19.3c-3.4-12.8 4.2-26 17-29.4s26 4.2 29.4 17l17.7 66.1L192 200.3l0-70.3L143 81c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l15 15L192 32c0-17.7 14.3-32 32-32z\"]\n};\nconst faNewspaper = {\n prefix: 'fas',\n iconName: 'newspaper',\n icon: [512, 512, [128240], \"f1ea\", \"M96 96c0-35.3 28.7-64 64-64l288 0c35.3 0 64 28.7 64 64l0 320c0 35.3-28.7 64-64 64L80 480c-44.2 0-80-35.8-80-80L0 128c0-17.7 14.3-32 32-32s32 14.3 32 32l0 272c0 8.8 7.2 16 16 16s16-7.2 16-16L96 96zm64 24l0 80c0 13.3 10.7 24 24 24l112 0c13.3 0 24-10.7 24-24l0-80c0-13.3-10.7-24-24-24L184 96c-13.3 0-24 10.7-24 24zm208-8c0 8.8 7.2 16 16 16l48 0c8.8 0 16-7.2 16-16s-7.2-16-16-16l-48 0c-8.8 0-16 7.2-16 16zm0 96c0 8.8 7.2 16 16 16l48 0c8.8 0 16-7.2 16-16s-7.2-16-16-16l-48 0c-8.8 0-16 7.2-16 16zM160 304c0 8.8 7.2 16 16 16l256 0c8.8 0 16-7.2 16-16s-7.2-16-16-16l-256 0c-8.8 0-16 7.2-16 16zm0 96c0 8.8 7.2 16 16 16l256 0c8.8 0 16-7.2 16-16s-7.2-16-16-16l-256 0c-8.8 0-16 7.2-16 16z\"]\n};\nconst faRectangleAd = {\n prefix: 'fas',\n iconName: 'rectangle-ad',\n icon: [576, 512, [\"ad\"], \"f641\", \"M64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l448 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32zM229.5 173.3l72 144c5.9 11.9 1.1 26.3-10.7 32.2s-26.3 1.1-32.2-10.7L253.2 328l-90.3 0-5.4 10.7c-5.9 11.9-20.3 16.7-32.2 10.7s-16.7-20.3-10.7-32.2l72-144c4.1-8.1 12.4-13.3 21.5-13.3s17.4 5.1 21.5 13.3zM208 237.7L186.8 280l42.3 0L208 237.7zM392 256a24 24 0 1 0 0 48 24 24 0 1 0 0-48zm24-43.9l0-28.1c0-13.3 10.7-24 24-24s24 10.7 24 24l0 96 0 48c0 13.3-10.7 24-24 24c-6.6 0-12.6-2.7-17-7c-9.4 4.5-19.9 7-31 7c-39.8 0-72-32.2-72-72s32.2-72 72-72c8.4 0 16.5 1.4 24 4.1z\"]\n};\nconst faAd = faRectangleAd;\nconst faCircleArrowRight = {\n prefix: 'fas',\n iconName: 'circle-arrow-right',\n icon: [512, 512, [\"arrow-circle-right\"], \"f0a9\", \"M0 256a256 256 0 1 0 512 0A256 256 0 1 0 0 256zM297 385c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l71-71L120 280c-13.3 0-24-10.7-24-24s10.7-24 24-24l214.1 0-71-71c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0L409 239c9.4 9.4 9.4 24.6 0 33.9L297 385z\"]\n};\nconst faArrowCircleRight = faCircleArrowRight;\nconst faFilterCircleXmark = {\n prefix: 'fas',\n iconName: 'filter-circle-xmark',\n icon: [576, 512, [], \"e17b\", \"M3.9 22.9C10.5 8.9 24.5 0 40 0L472 0c15.5 0 29.5 8.9 36.1 22.9s4.6 30.5-5.2 42.5L396.4 195.6C316.2 212.1 256 283 256 368c0 27.4 6.3 53.4 17.5 76.5c-1.6-.8-3.2-1.8-4.7-2.9l-64-48c-8.1-6-12.8-15.5-12.8-25.6l0-79.1L9 65.3C-.7 53.4-2.8 36.8 3.9 22.9zM432 224a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm59.3 107.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L432 345.4l-36.7-36.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L409.4 368l-36.7 36.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L432 390.6l36.7 36.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L454.6 368l36.7-36.7z\"]\n};\nconst faLocust = {\n prefix: 'fas',\n iconName: 'locust',\n icon: [576, 512, [], \"e520\", \"M312 32c-13.3 0-24 10.7-24 24s10.7 24 24 24l16 0c98.7 0 180.6 71.4 197 165.4c-9-3.5-18.8-5.4-29-5.4l-64.2 0-41.8-97.5c-3.4-7.9-10.8-13.4-19.3-14.4s-17 2.7-22.1 9.6l-40.9 55.5-21.7-50.7c-3.3-7.8-10.5-13.2-18.9-14.3s-16.7 2.3-22 8.9l-240 304c-8.2 10.4-6.4 25.5 4 33.7s25.5 6.4 33.7-4l79.4-100.5 43 16.4-40.5 55c-7.9 10.7-5.6 25.7 5.1 33.6s25.7 5.6 33.6-5.1L215.1 400l74.5 0-29.3 42.3c-7.5 10.9-4.8 25.8 6.1 33.4s25.8 4.8 33.4-6.1L348 400l80.4 0 38.8 67.9c6.6 11.5 21.2 15.5 32.7 8.9s15.5-21.2 8.9-32.7L483.6 400l12.4 0c44.1 0 79.8-35.7 80-79.7c0-.1 0-.2 0-.3l0-40C576 143 465 32 328 32l-16 0zm50.5 168l17.1 40L333 240l29.5-40zm-87.7 38.1l-1.4 1.9-48.2 0 32.7-41.5 16.9 39.5zM88.8 240C57.4 240 32 265.4 32 296.8c0 15.5 6.3 30 16.9 40.4L126.7 240l-37.9 0zM496 288a16 16 0 1 1 0 32 16 16 0 1 1 0-32z\"]\n};\nconst faSort = {\n prefix: 'fas',\n iconName: 'sort',\n icon: [320, 512, [\"unsorted\"], \"f0dc\", \"M137.4 41.4c12.5-12.5 32.8-12.5 45.3 0l128 128c9.2 9.2 11.9 22.9 6.9 34.9s-16.6 19.8-29.6 19.8L32 224c-12.9 0-24.6-7.8-29.6-19.8s-2.2-25.7 6.9-34.9l128-128zm0 429.3l-128-128c-9.2-9.2-11.9-22.9-6.9-34.9s16.6-19.8 29.6-19.8l256 0c12.9 0 24.6 7.8 29.6 19.8s2.2 25.7-6.9 34.9l-128 128c-12.5 12.5-32.8 12.5-45.3 0z\"]\n};\nconst faUnsorted = faSort;\nconst faListOl = {\n prefix: 'fas',\n iconName: 'list-ol',\n icon: [512, 512, [\"list-1-2\", \"list-numeric\"], \"f0cb\", \"M24 56c0-13.3 10.7-24 24-24l32 0c13.3 0 24 10.7 24 24l0 120 16 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-80 0c-13.3 0-24-10.7-24-24s10.7-24 24-24l16 0 0-96-8 0C34.7 80 24 69.3 24 56zM86.7 341.2c-6.5-7.4-18.3-6.9-24 1.2L51.5 357.9c-7.7 10.8-22.7 13.3-33.5 5.6s-13.3-22.7-5.6-33.5l11.1-15.6c23.7-33.2 72.3-35.6 99.2-4.9c21.3 24.4 20.8 60.9-1.1 84.7L86.8 432l33.2 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-88 0c-9.5 0-18.2-5.6-22-14.4s-2.1-18.9 4.3-25.9l72-78c5.3-5.8 5.4-14.6 .3-20.5zM224 64l256 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-256 0c-17.7 0-32-14.3-32-32s14.3-32 32-32zm0 160l256 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-256 0c-17.7 0-32-14.3-32-32s14.3-32 32-32zm0 160l256 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-256 0c-17.7 0-32-14.3-32-32s14.3-32 32-32z\"]\n};\nconst faList12 = faListOl;\nconst faListNumeric = faListOl;\nconst faPersonDressBurst = {\n prefix: 'fas',\n iconName: 'person-dress-burst',\n icon: [640, 512, [], \"e544\", \"M528 48a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM390.2 384l17.8 0 0 96c0 17.7 14.3 32 32 32s32-14.3 32-32l0-96 16 0 0 96c0 17.7 14.3 32 32 32s32-14.3 32-32l0-96 17.8 0c10.9 0 18.6-10.7 15.2-21.1L546.7 248.1l33.9 56.3c9.1 15.1 28.8 20 43.9 10.9s20-28.8 10.9-43.9l-53.6-89.2c-20.2-33.7-56.7-54.3-96-54.3l-11.6 0c-39.3 0-75.7 20.6-96 54.3l-53.6 89.2c-9.1 15.1-4.2 34.8 10.9 43.9s34.8 4.2 43.9-10.9l33.9-56.3L375 362.9c-3.5 10.4 4.3 21.1 15.2 21.1zM190.9 18.1C188.4 12 182.6 8 176 8s-12.4 4-14.9 10.1l-29.4 74L55.6 68.9c-6.3-1.9-13.1 .2-17.2 5.3s-4.6 12.2-1.4 17.9l39.5 69.1L10.9 206.4c-5.4 3.7-8 10.3-6.5 16.7s6.7 11.2 13.1 12.2l78.7 12.2L90.6 327c-.5 6.5 3.1 12.7 9 15.5s12.9 1.8 17.8-2.6L176 286.1l58.6 53.9c4.8 4.4 11.9 5.5 17.8 2.6s9.5-9 9-15.5l-5.6-79.4 50.5-7.8 24.4-40.5-55.2-38L315 92.2c3.3-5.7 2.7-12.8-1.4-17.9s-10.9-7.2-17.2-5.3L220.3 92.1l-29.4-74z\"]\n};\nconst faMoneyCheckDollar = {\n prefix: 'fas',\n iconName: 'money-check-dollar',\n icon: [576, 512, [\"money-check-alt\"], \"f53d\", \"M64 64C28.7 64 0 92.7 0 128L0 384c0 35.3 28.7 64 64 64l448 0c35.3 0 64-28.7 64-64l0-256c0-35.3-28.7-64-64-64L64 64zM272 192l224 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-224 0c-8.8 0-16-7.2-16-16s7.2-16 16-16zM256 304c0-8.8 7.2-16 16-16l224 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-224 0c-8.8 0-16-7.2-16-16zM164 152l0 13.9c7.5 1.2 14.6 2.9 21.1 4.7c10.7 2.8 17 13.8 14.2 24.5s-13.8 17-24.5 14.2c-11-2.9-21.6-5-31.2-5.2c-7.9-.1-16 1.8-21.5 5c-4.8 2.8-6.2 5.6-6.2 9.3c0 1.8 .1 3.5 5.3 6.7c6.3 3.8 15.5 6.7 28.3 10.5l.7 .2c11.2 3.4 25.6 7.7 37.1 15c12.9 8.1 24.3 21.3 24.6 41.6c.3 20.9-10.5 36.1-24.8 45c-7.2 4.5-15.2 7.3-23.2 9l0 13.8c0 11-9 20-20 20s-20-9-20-20l0-14.6c-10.3-2.2-20-5.5-28.2-8.4c0 0 0 0 0 0s0 0 0 0c-2.1-.7-4.1-1.4-6.1-2.1c-10.5-3.5-16.1-14.8-12.6-25.3s14.8-16.1 25.3-12.6c2.5 .8 4.9 1.7 7.2 2.4c13.6 4.6 24 8.1 35.1 8.5c8.6 .3 16.5-1.6 21.4-4.7c4.1-2.5 6-5.5 5.9-10.5c0-2.9-.8-5-5.9-8.2c-6.3-4-15.4-6.9-28-10.7l-1.7-.5c-10.9-3.3-24.6-7.4-35.6-14c-12.7-7.7-24.6-20.5-24.7-40.7c-.1-21.1 11.8-35.7 25.8-43.9c6.9-4.1 14.5-6.8 22.2-8.5l0-14c0-11 9-20 20-20s20 9 20 20z\"]\n};\nconst faMoneyCheckAlt = faMoneyCheckDollar;\nconst faVectorSquare = {\n prefix: 'fas',\n iconName: 'vector-square',\n icon: [448, 512, [], \"f5cb\", \"M368 80l32 0 0 32-32 0 0-32zM352 32c-17.7 0-32 14.3-32 32L128 64c0-17.7-14.3-32-32-32L32 32C14.3 32 0 46.3 0 64l0 64c0 17.7 14.3 32 32 32l0 192c-17.7 0-32 14.3-32 32l0 64c0 17.7 14.3 32 32 32l64 0c17.7 0 32-14.3 32-32l192 0c0 17.7 14.3 32 32 32l64 0c17.7 0 32-14.3 32-32l0-64c0-17.7-14.3-32-32-32l0-192c17.7 0 32-14.3 32-32l0-64c0-17.7-14.3-32-32-32l-64 0zM96 160c17.7 0 32-14.3 32-32l192 0c0 17.7 14.3 32 32 32l0 192c-17.7 0-32 14.3-32 32l-192 0c0-17.7-14.3-32-32-32l0-192zM48 400l32 0 0 32-32 0 0-32zm320 32l0-32 32 0 0 32-32 0zM48 112l0-32 32 0 0 32-32 0z\"]\n};\nconst faBreadSlice = {\n prefix: 'fas',\n iconName: 'bread-slice',\n icon: [512, 512, [], \"f7ec\", \"M256 32C192 32 0 64 0 192c0 35.3 28.7 64 64 64V432c0 26.5 21.5 48 48 48H400c26.5 0 48-21.5 48-48V256c35.3 0 64-28.7 64-64C512 64 320 32 256 32z\"]\n};\nconst faLanguage = {\n prefix: 'fas',\n iconName: 'language',\n icon: [640, 512, [], \"f1ab\", \"M0 128C0 92.7 28.7 64 64 64l192 0 48 0 16 0 256 0c35.3 0 64 28.7 64 64l0 256c0 35.3-28.7 64-64 64l-256 0-16 0-48 0L64 448c-35.3 0-64-28.7-64-64L0 128zm320 0l0 256 256 0 0-256-256 0zM178.3 175.9c-3.2-7.2-10.4-11.9-18.3-11.9s-15.1 4.7-18.3 11.9l-64 144c-4.5 10.1 .1 21.9 10.2 26.4s21.9-.1 26.4-10.2l8.9-20.1 73.6 0 8.9 20.1c4.5 10.1 16.3 14.6 26.4 10.2s14.6-16.3 10.2-26.4l-64-144zM160 233.2L179 276l-38 0 19-42.8zM448 164c11 0 20 9 20 20l0 4 44 0 16 0c11 0 20 9 20 20s-9 20-20 20l-2 0-1.6 4.5c-8.9 24.4-22.4 46.6-39.6 65.4c.9 .6 1.8 1.1 2.7 1.6l18.9 11.3c9.5 5.7 12.5 18 6.9 27.4s-18 12.5-27.4 6.9l-18.9-11.3c-4.5-2.7-8.8-5.5-13.1-8.5c-10.6 7.5-21.9 14-34 19.4l-3.6 1.6c-10.1 4.5-21.9-.1-26.4-10.2s.1-21.9 10.2-26.4l3.6-1.6c6.4-2.9 12.6-6.1 18.5-9.8l-12.2-12.2c-7.8-7.8-7.8-20.5 0-28.3s20.5-7.8 28.3 0l14.6 14.6 .5 .5c12.4-13.1 22.5-28.3 29.8-45L448 228l-72 0c-11 0-20-9-20-20s9-20 20-20l52 0 0-4c0-11 9-20 20-20z\"]\n};\nconst faFaceKissWinkHeart = {\n prefix: 'fas',\n iconName: 'face-kiss-wink-heart',\n icon: [512, 512, [128536, \"kiss-wink-heart\"], \"f598\", \"M498 339.7c9.1-26.2 14-54.4 14-83.7C512 114.6 397.4 0 256 0S0 114.6 0 256S114.6 512 256 512c35.4 0 69.1-7.2 99.7-20.2c-4.8-5.5-8.5-12.2-10.4-19.7l-22.9-89.3c-10-39 11.8-80.9 51.8-92.1c37.2-10.4 73.8 10.1 87.5 44c12.7-1.6 25.1 .4 36.2 5zM296 332c0 6.9-3.1 13.2-7.3 18.3c-4.3 5.2-10.1 9.7-16.7 13.4c-2.7 1.5-5.7 3-8.7 4.3c3.1 1.3 6 2.7 8.7 4.3c6.6 3.7 12.5 8.2 16.7 13.4c4.3 5.1 7.3 11.4 7.3 18.3s-3.1 13.2-7.3 18.3c-4.3 5.2-10.1 9.7-16.7 13.4C258.7 443.1 241.4 448 224 448c-3.6 0-6.8-2.5-7.7-6s.6-7.2 3.8-9c0 0 0 0 0 0s0 0 0 0s0 0 0 0c0 0 0 0 0 0l.2-.1c.2-.1 .5-.3 .9-.5c.8-.5 2-1.2 3.4-2.1c2.8-1.9 6.5-4.5 10.2-7.6c3.7-3.1 7.2-6.6 9.6-10.1c2.5-3.5 3.5-6.4 3.5-8.6s-1-5-3.5-8.6c-2.5-3.5-5.9-6.9-9.6-10.1c-3.7-3.1-7.4-5.7-10.2-7.6c-1.4-.9-2.6-1.6-3.4-2.1l-.6-.4-.3-.2-.2-.1c0 0 0 0 0 0c0 0 0 0 0 0s0 0 0 0c-2.5-1.4-4.1-4.1-4.1-7s1.6-5.6 4.1-7c0 0 0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0c0 0 0 0 0 0l.2-.1c.2-.1 .5-.3 .9-.5c.8-.5 2-1.2 3.4-2.1c2.8-1.9 6.5-4.5 10.2-7.6c3.7-3.1 7.2-6.6 9.6-10.1c2.5-3.5 3.5-6.4 3.5-8.6s-1-5-3.5-8.6c-2.5-3.5-5.9-6.9-9.6-10.1c-3.7-3.1-7.4-5.7-10.2-7.6c-1.4-.9-2.6-1.6-3.4-2.1c-.4-.2-.7-.4-.9-.5l-.2-.1c0 0 0 0 0 0c0 0 0 0 0 0s0 0 0 0c-3.2-1.8-4.7-5.5-3.8-9s4.1-6 7.7-6c17.4 0 34.7 4.9 47.9 12.3c6.6 3.7 12.5 8.2 16.7 13.4c4.3 5.1 7.3 11.4 7.3 18.3zM176.4 176a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm194.8 57.6c-17.6-23.5-52.8-23.5-70.4 0c-5.3 7.1-15.3 8.5-22.4 3.2s-8.5-15.3-3.2-22.4c30.4-40.5 91.2-40.5 121.6 0c5.3 7.1 3.9 17.1-3.2 22.4s-17.1 3.9-22.4-3.2zM434 352.3c-6-23.2-28.8-37-51.1-30.8s-35.4 30.1-29.5 53.4l22.9 89.3c2.2 8.7 11.2 13.9 19.8 11.4l84.9-23.8c22.2-6.2 35.4-30.1 29.5-53.4s-28.8-37-51.1-30.8l-20.2 5.6-5.4-21z\"]\n};\nconst faKissWinkHeart = faFaceKissWinkHeart;\nconst faFilter = {\n prefix: 'fas',\n iconName: 'filter',\n icon: [512, 512, [], \"f0b0\", \"M3.9 54.9C10.5 40.9 24.5 32 40 32l432 0c15.5 0 29.5 8.9 36.1 22.9s4.6 30.5-5.2 42.5L320 320.9 320 448c0 12.1-6.8 23.2-17.7 28.6s-23.8 4.3-33.5-3l-64-48c-8.1-6-12.8-15.5-12.8-25.6l0-79.1L9 97.3C-.7 85.4-2.8 68.8 3.9 54.9z\"]\n};\nconst faQuestion = {\n prefix: 'fas',\n iconName: 'question',\n icon: [320, 512, [10067, 10068, 61736], \"3f\", \"M80 160c0-35.3 28.7-64 64-64l32 0c35.3 0 64 28.7 64 64l0 3.6c0 21.8-11.1 42.1-29.4 53.8l-42.2 27.1c-25.2 16.2-40.4 44.1-40.4 74l0 1.4c0 17.7 14.3 32 32 32s32-14.3 32-32l0-1.4c0-8.2 4.2-15.8 11-20.2l42.2-27.1c36.6-23.6 58.8-64.1 58.8-107.7l0-3.6c0-70.7-57.3-128-128-128l-32 0C73.3 32 16 89.3 16 160c0 17.7 14.3 32 32 32s32-14.3 32-32zm80 320a40 40 0 1 0 0-80 40 40 0 1 0 0 80z\"]\n};\nconst faFileSignature = {\n prefix: 'fas',\n iconName: 'file-signature',\n icon: [576, 512, [], \"f573\", \"M64 0C28.7 0 0 28.7 0 64L0 448c0 35.3 28.7 64 64 64l256 0c35.3 0 64-28.7 64-64l0-19.3c-2.7 1.1-5.4 2-8.2 2.7l-60.1 15c-3 .7-6 1.2-9 1.4c-.9 .1-1.8 .2-2.7 .2l-64 0c-6.1 0-11.6-3.4-14.3-8.8l-8.8-17.7c-1.7-3.4-5.1-5.5-8.8-5.5s-7.2 2.1-8.8 5.5l-8.8 17.7c-2.9 5.9-9.2 9.4-15.7 8.8s-12.1-5.1-13.9-11.3L144 381l-9.8 32.8c-6.1 20.3-24.8 34.2-46 34.2L80 448c-8.8 0-16-7.2-16-16s7.2-16 16-16l8.2 0c7.1 0 13.3-4.6 15.3-11.4l14.9-49.5c3.4-11.3 13.8-19.1 25.6-19.1s22.2 7.8 25.6 19.1l11.6 38.6c7.4-6.2 16.8-9.7 26.8-9.7c15.9 0 30.4 9 37.5 23.2l4.4 8.8 8.9 0c-3.1-8.8-3.7-18.4-1.4-27.8l15-60.1c2.8-11.3 8.6-21.5 16.8-29.7L384 203.6l0-43.6-128 0c-17.7 0-32-14.3-32-32L224 0 64 0zM256 0l0 128 128 0L256 0zM549.8 139.7c-15.6-15.6-40.9-15.6-56.6 0l-29.4 29.4 71 71 29.4-29.4c15.6-15.6 15.6-40.9 0-56.6l-14.4-14.4zM311.9 321c-4.1 4.1-7 9.2-8.4 14.9l-15 60.1c-1.4 5.5 .2 11.2 4.2 15.2s9.7 5.6 15.2 4.2l60.1-15c5.6-1.4 10.8-4.3 14.9-8.4L512.1 262.7l-71-71L311.9 321z\"]\n};\nconst faUpDownLeftRight = {\n prefix: 'fas',\n iconName: 'up-down-left-right',\n icon: [512, 512, [\"arrows-alt\"], \"f0b2\", \"M278.6 9.4c-12.5-12.5-32.8-12.5-45.3 0l-64 64c-9.2 9.2-11.9 22.9-6.9 34.9s16.6 19.8 29.6 19.8l32 0 0 96-96 0 0-32c0-12.9-7.8-24.6-19.8-29.6s-25.7-2.2-34.9 6.9l-64 64c-12.5 12.5-12.5 32.8 0 45.3l64 64c9.2 9.2 22.9 11.9 34.9 6.9s19.8-16.6 19.8-29.6l0-32 96 0 0 96-32 0c-12.9 0-24.6 7.8-29.6 19.8s-2.2 25.7 6.9 34.9l64 64c12.5 12.5 32.8 12.5 45.3 0l64-64c9.2-9.2 11.9-22.9 6.9-34.9s-16.6-19.8-29.6-19.8l-32 0 0-96 96 0 0 32c0 12.9 7.8 24.6 19.8 29.6s25.7 2.2 34.9-6.9l64-64c12.5-12.5 12.5-32.8 0-45.3l-64-64c-9.2-9.2-22.9-11.9-34.9-6.9s-19.8 16.6-19.8 29.6l0 32-96 0 0-96 32 0c12.9 0 24.6-7.8 29.6-19.8s2.2-25.7-6.9-34.9l-64-64z\"]\n};\nconst faArrowsAlt = faUpDownLeftRight;\nconst faHouseChimneyUser = {\n prefix: 'fas',\n iconName: 'house-chimney-user',\n icon: [576, 512, [], \"e065\", \"M543.8 287.6c17 0 32-14 32-32.1c1-9-3-17-11-24L512 185l0-121c0-17.7-14.3-32-32-32l-32 0c-17.7 0-32 14.3-32 32l0 36.7L309.5 7c-6-5-14-7-21-7s-15 1-22 8L10 231.5c-7 7-10 15-10 24c0 18 14 32.1 32 32.1l32 0 0 160.4c0 35.3 28.7 64 64 64l320.4 0c35.5 0 64.2-28.8 64-64.3l-.7-160.2 32 0zM288 160a64 64 0 1 1 0 128 64 64 0 1 1 0-128zM176 400c0-44.2 35.8-80 80-80l64 0c44.2 0 80 35.8 80 80c0 8.8-7.2 16-16 16l-192 0c-8.8 0-16-7.2-16-16z\"]\n};\nconst faHandHoldingHeart = {\n prefix: 'fas',\n iconName: 'hand-holding-heart',\n icon: [576, 512, [], \"f4be\", \"M163.9 136.9c-29.4-29.8-29.4-78.2 0-108s77-29.8 106.4 0l17.7 18 17.7-18c29.4-29.8 77-29.8 106.4 0s29.4 78.2 0 108L310.5 240.1c-6.2 6.3-14.3 9.4-22.5 9.4s-16.3-3.1-22.5-9.4L163.9 136.9zM568.2 336.3c13.1 17.8 9.3 42.8-8.5 55.9L433.1 485.5c-23.4 17.2-51.6 26.5-80.7 26.5L192 512 32 512c-17.7 0-32-14.3-32-32l0-64c0-17.7 14.3-32 32-32l36.8 0 44.9-36c22.7-18.2 50.9-28 80-28l78.3 0 16 0 64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0-16 0c-8.8 0-16 7.2-16 16s7.2 16 16 16l120.6 0 119.7-88.2c17.8-13.1 42.8-9.3 55.9 8.5zM193.6 384c0 0 0 0 0 0l-.9 0c.3 0 .6 0 .9 0z\"]\n};\nconst faPuzzlePiece = {\n prefix: 'fas',\n iconName: 'puzzle-piece',\n icon: [512, 512, [129513], \"f12e\", \"M192 104.8c0-9.2-5.8-17.3-13.2-22.8C167.2 73.3 160 61.3 160 48c0-26.5 28.7-48 64-48s64 21.5 64 48c0 13.3-7.2 25.3-18.8 34c-7.4 5.5-13.2 13.6-13.2 22.8c0 12.8 10.4 23.2 23.2 23.2l56.8 0c26.5 0 48 21.5 48 48l0 56.8c0 12.8 10.4 23.2 23.2 23.2c9.2 0 17.3-5.8 22.8-13.2c8.7-11.6 20.7-18.8 34-18.8c26.5 0 48 28.7 48 64s-21.5 64-48 64c-13.3 0-25.3-7.2-34-18.8c-5.5-7.4-13.6-13.2-22.8-13.2c-12.8 0-23.2 10.4-23.2 23.2L384 464c0 26.5-21.5 48-48 48l-56.8 0c-12.8 0-23.2-10.4-23.2-23.2c0-9.2 5.8-17.3 13.2-22.8c11.6-8.7 18.8-20.7 18.8-34c0-26.5-28.7-48-64-48s-64 21.5-64 48c0 13.3 7.2 25.3 18.8 34c7.4 5.5 13.2 13.6 13.2 22.8c0 12.8-10.4 23.2-23.2 23.2L48 512c-26.5 0-48-21.5-48-48L0 343.2C0 330.4 10.4 320 23.2 320c9.2 0 17.3 5.8 22.8 13.2C54.7 344.8 66.7 352 80 352c26.5 0 48-28.7 48-64s-21.5-64-48-64c-13.3 0-25.3 7.2-34 18.8C40.5 250.2 32.4 256 23.2 256C10.4 256 0 245.6 0 232.8L0 176c0-26.5 21.5-48 48-48l120.8 0c12.8 0 23.2-10.4 23.2-23.2z\"]\n};\nconst faMoneyCheck = {\n prefix: 'fas',\n iconName: 'money-check',\n icon: [576, 512, [], \"f53c\", \"M64 64C28.7 64 0 92.7 0 128L0 384c0 35.3 28.7 64 64 64l448 0c35.3 0 64-28.7 64-64l0-256c0-35.3-28.7-64-64-64L64 64zm48 160l160 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-160 0c-8.8 0-16-7.2-16-16s7.2-16 16-16zM96 336c0-8.8 7.2-16 16-16l352 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-352 0c-8.8 0-16-7.2-16-16zM376 160l80 0c13.3 0 24 10.7 24 24l0 48c0 13.3-10.7 24-24 24l-80 0c-13.3 0-24-10.7-24-24l0-48c0-13.3 10.7-24 24-24z\"]\n};\nconst faStarHalfStroke = {\n prefix: 'fas',\n iconName: 'star-half-stroke',\n icon: [576, 512, [\"star-half-alt\"], \"f5c0\", \"M288 376.4l.1-.1 26.4 14.1 85.2 45.5-16.5-97.6-4.8-28.7 20.7-20.5 70.1-69.3-96.1-14.2-29.3-4.3-12.9-26.6L288.1 86.9l-.1 .3 0 289.2zm175.1 98.3c2 12-3 24.2-12.9 31.3s-23 8-33.8 2.3L288.1 439.8 159.8 508.3C149 514 135.9 513.1 126 506s-14.9-19.3-12.9-31.3L137.8 329 33.6 225.9c-8.6-8.5-11.7-21.2-7.9-32.7s13.7-19.9 25.7-21.7L195 150.3 259.4 18c5.4-11 16.5-18 28.8-18s23.4 7 28.8 18l64.3 132.3 143.6 21.2c12 1.8 22 10.2 25.7 21.7s.7 24.2-7.9 32.7L438.5 329l24.6 145.7z\"]\n};\nconst faStarHalfAlt = faStarHalfStroke;\nconst faCode = {\n prefix: 'fas',\n iconName: 'code',\n icon: [640, 512, [], \"f121\", \"M392.8 1.2c-17-4.9-34.7 5-39.6 22l-128 448c-4.9 17 5 34.7 22 39.6s34.7-5 39.6-22l128-448c4.9-17-5-34.7-22-39.6zm80.6 120.1c-12.5 12.5-12.5 32.8 0 45.3L562.7 256l-89.4 89.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l112-112c12.5-12.5 12.5-32.8 0-45.3l-112-112c-12.5-12.5-32.8-12.5-45.3 0zm-306.7 0c-12.5-12.5-32.8-12.5-45.3 0l-112 112c-12.5 12.5-12.5 32.8 0 45.3l112 112c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L77.3 256l89.4-89.4c12.5-12.5 12.5-32.8 0-45.3z\"]\n};\nconst faWhiskeyGlass = {\n prefix: 'fas',\n iconName: 'whiskey-glass',\n icon: [512, 512, [129347, \"glass-whiskey\"], \"f7a0\", \"M32 32c-9.3 0-18.1 4-24.2 11.1S-1 59.4 .3 68.6l50 342.9c5.7 39.3 39.4 68.5 79.2 68.5l253 0c39.7 0 73.4-29.1 79.2-68.5l50-342.9c1.3-9.2-1.4-18.5-7.5-25.5S489.3 32 480 32L32 32zM87.7 224L69 96l374 0L424.3 224 87.7 224z\"]\n};\nconst faGlassWhiskey = faWhiskeyGlass;\nconst faBuildingCircleExclamation = {\n prefix: 'fas',\n iconName: 'building-circle-exclamation',\n icon: [640, 512, [], \"e4d3\", \"M48 0C21.5 0 0 21.5 0 48L0 464c0 26.5 21.5 48 48 48l96 0 0-80c0-26.5 21.5-48 48-48s48 21.5 48 48l0 80 96 0c15.1 0 28.5-6.9 37.3-17.8C340.4 462.2 320 417.5 320 368c0-54.7 24.9-103.5 64-135.8L384 48c0-26.5-21.5-48-48-48L48 0zM64 240c0-8.8 7.2-16 16-16l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32zm112-16l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32zM80 96l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32zM272 96l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32c0-8.8 7.2-16 16-16zM496 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm0-96a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0-144c8.8 0 16 7.2 16 16l0 80c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-80c0-8.8 7.2-16 16-16z\"]\n};\nconst faMagnifyingGlassChart = {\n prefix: 'fas',\n iconName: 'magnifying-glass-chart',\n icon: [512, 512, [], \"e522\", \"M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376c-34.4 25.2-76.8 40-122.7 40C93.1 416 0 322.9 0 208S93.1 0 208 0S416 93.1 416 208zm-312 8l0 64c0 13.3 10.7 24 24 24s24-10.7 24-24l0-64c0-13.3-10.7-24-24-24s-24 10.7-24 24zm80-96l0 160c0 13.3 10.7 24 24 24s24-10.7 24-24l0-160c0-13.3-10.7-24-24-24s-24 10.7-24 24zm80 64l0 96c0 13.3 10.7 24 24 24s24-10.7 24-24l0-96c0-13.3-10.7-24-24-24s-24 10.7-24 24z\"]\n};\nconst faArrowUpRightFromSquare = {\n prefix: 'fas',\n iconName: 'arrow-up-right-from-square',\n icon: [512, 512, [\"external-link\"], \"f08e\", \"M320 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l82.7 0L201.4 265.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L448 109.3l0 82.7c0 17.7 14.3 32 32 32s32-14.3 32-32l0-160c0-17.7-14.3-32-32-32L320 0zM80 32C35.8 32 0 67.8 0 112L0 432c0 44.2 35.8 80 80 80l320 0c44.2 0 80-35.8 80-80l0-112c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 112c0 8.8-7.2 16-16 16L80 448c-8.8 0-16-7.2-16-16l0-320c0-8.8 7.2-16 16-16l112 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L80 32z\"]\n};\nconst faExternalLink = faArrowUpRightFromSquare;\nconst faCubesStacked = {\n prefix: 'fas',\n iconName: 'cubes-stacked',\n icon: [448, 512, [], \"e4e6\", \"M192 64l0 64c0 17.7 14.3 32 32 32l64 0c17.7 0 32-14.3 32-32l0-64c0-17.7-14.3-32-32-32l-64 0c-17.7 0-32 14.3-32 32zM82.7 207c-15.3 8.8-20.5 28.4-11.7 43.7l32 55.4c8.8 15.3 28.4 20.5 43.7 11.7l55.4-32c15.3-8.8 20.5-28.4 11.7-43.7l-32-55.4c-8.8-15.3-28.4-20.5-43.7-11.7L82.7 207zM288 192c-17.7 0-32 14.3-32 32l0 64c0 17.7 14.3 32 32 32l64 0c17.7 0 32-14.3 32-32l0-64c0-17.7-14.3-32-32-32l-64 0zm64 160c-17.7 0-32 14.3-32 32l0 64c0 17.7 14.3 32 32 32l64 0c17.7 0 32-14.3 32-32l0-64c0-17.7-14.3-32-32-32l-64 0zM160 384l0 64c0 17.7 14.3 32 32 32l64 0c17.7 0 32-14.3 32-32l0-64c0-17.7-14.3-32-32-32l-64 0c-17.7 0-32 14.3-32 32zM32 352c-17.7 0-32 14.3-32 32l0 64c0 17.7 14.3 32 32 32l64 0c17.7 0 32-14.3 32-32l0-64c0-17.7-14.3-32-32-32l-64 0z\"]\n};\nconst faWonSign = {\n prefix: 'fas',\n iconName: 'won-sign',\n icon: [512, 512, [8361, \"krw\", \"won\"], \"f159\", \"M62.4 53.9C56.8 37.1 38.6 28.1 21.9 33.6S-3.9 57.4 1.6 74.1L51.6 224 32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l40.9 0 56.7 170.1c4.5 13.5 17.4 22.4 31.6 21.9s26.4-10.4 29.8-24.2L233 288l46 0L321 455.8c3.4 13.8 15.6 23.7 29.8 24.2s27.1-8.4 31.6-21.9L439.1 288l40.9 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-19.6 0 50-149.9c5.6-16.8-3.5-34.9-20.2-40.5s-34.9 3.5-40.5 20.2L392.9 224l-64 0L287 56.2C283.5 42 270.7 32 256 32s-27.5 10-31 24.2L183 224l-64 0L62.4 53.9zm78 234.1l26.6 0-11.4 45.6L140.4 288zM249 224l7-28.1 7 28.1-14 0zm96 64l26.6 0-15.2 45.6L345 288z\"]\n};\nconst faKrw = faWonSign;\nconst faWon = faWonSign;\nconst faVirusCovid = {\n prefix: 'fas',\n iconName: 'virus-covid',\n icon: [512, 512, [], \"e4a8\", \"M192 24c0-13.3 10.7-24 24-24l80 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-16 0 0 33.6c30.7 4.2 58.8 16.3 82.3 34.1L386.1 92 374.8 80.6c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l56.6 56.6c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0L420 125.9l-23.8 23.8c17.9 23.5 29.9 51.7 34.1 82.3l33.6 0 0-16c0-13.3 10.7-24 24-24s24 10.7 24 24l0 80c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-16-33.6 0c-4.2 30.7-16.3 58.8-34.1 82.3L420 386.1l11.3-11.3c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-56.6 56.6c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9L386.1 420l-23.8-23.8c-23.5 17.9-51.7 29.9-82.3 34.1l0 33.6 16 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-80 0c-13.3 0-24-10.7-24-24s10.7-24 24-24l16 0 0-33.6c-30.7-4.2-58.8-16.3-82.3-34.1L125.9 420l11.3 11.3c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0L46.7 408.7c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0L92 386.1l23.8-23.8C97.9 338.8 85.8 310.7 81.6 280L48 280l0 16c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-80c0-13.3 10.7-24 24-24s24 10.7 24 24l0 16 33.6 0c4.2-30.7 16.3-58.8 34.1-82.3L92 125.9 80.6 137.2c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l56.6-56.6c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9L125.9 92l23.8 23.8c23.5-17.9 51.7-29.9 82.3-34.1L232 48l-16 0c-13.3 0-24-10.7-24-24zm48 200a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zm64 104a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nconst faAustralSign = {\n prefix: 'fas',\n iconName: 'austral-sign',\n icon: [448, 512, [], \"e0a9\", \"M253.5 51.7C248.6 39.8 236.9 32 224 32s-24.6 7.8-29.5 19.7L122.7 224 32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l64 0L82.7 320 32 320c-17.7 0-32 14.3-32 32s14.3 32 32 32l24 0L34.5 435.7c-6.8 16.3 .9 35 17.2 41.8s35-.9 41.8-17.2L125.3 384l197.3 0 31.8 76.3c6.8 16.3 25.5 24 41.8 17.2s24-25.5 17.2-41.8L392 384l24 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-50.7 0L352 288l64 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-90.7 0L253.5 51.7zM256 224l-64 0 32-76.8L256 224zm-90.7 64l117.3 0L296 320l-144 0 13.3-32z\"]\n};\nconst faF = {\n prefix: 'fas',\n iconName: 'f',\n icon: [320, 512, [102], \"46\", \"M64 32C28.7 32 0 60.7 0 96L0 256 0 448c0 17.7 14.3 32 32 32s32-14.3 32-32l0-160 160 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L64 224 64 96l224 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L64 32z\"]\n};\nconst faLeaf = {\n prefix: 'fas',\n iconName: 'leaf',\n icon: [512, 512, [], \"f06c\", \"M272 96c-78.6 0-145.1 51.5-167.7 122.5c33.6-17 71.5-26.5 111.7-26.5l88 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-16 0-72 0s0 0 0 0c-16.6 0-32.7 1.9-48.3 5.4c-25.9 5.9-49.9 16.4-71.4 30.7c0 0 0 0 0 0C38.3 298.8 0 364.9 0 440l0 16c0 13.3 10.7 24 24 24s24-10.7 24-24l0-16c0-48.7 20.7-92.5 53.8-123.2C121.6 392.3 190.3 448 272 448l1 0c132.1-.7 239-130.9 239-291.4c0-42.6-7.5-83.1-21.1-119.6c-2.6-6.9-12.7-6.6-16.2-.1C455.9 72.1 418.7 96 376 96L272 96z\"]\n};\nconst faRoad = {\n prefix: 'fas',\n iconName: 'road',\n icon: [576, 512, [128739], \"f018\", \"M256 32l-74.8 0c-27.1 0-51.3 17.1-60.3 42.6L3.1 407.2C1.1 413 0 419.2 0 425.4C0 455.5 24.5 480 54.6 480L256 480l0-64c0-17.7 14.3-32 32-32s32 14.3 32 32l0 64 201.4 0c30.2 0 54.6-24.5 54.6-54.6c0-6.2-1.1-12.4-3.1-18.2L455.1 74.6C446 49.1 421.9 32 394.8 32L320 32l0 64c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-64zm64 192l0 64c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-64c0-17.7 14.3-32 32-32s32 14.3 32 32z\"]\n};\nconst faTaxi = {\n prefix: 'fas',\n iconName: 'taxi',\n icon: [512, 512, [128662, \"cab\"], \"f1ba\", \"M192 0c-17.7 0-32 14.3-32 32l0 32 0 .2c-38.6 2.2-72.3 27.3-85.2 64.1L39.6 228.8C16.4 238.4 0 261.3 0 288L0 432l0 48c0 17.7 14.3 32 32 32l32 0c17.7 0 32-14.3 32-32l0-48 320 0 0 48c0 17.7 14.3 32 32 32l32 0c17.7 0 32-14.3 32-32l0-48 0-144c0-26.7-16.4-49.6-39.6-59.2L437.2 128.3c-12.9-36.8-46.6-62-85.2-64.1l0-.2 0-32c0-17.7-14.3-32-32-32L192 0zM165.4 128l181.2 0c13.6 0 25.7 8.6 30.2 21.4L402.9 224l-293.8 0 26.1-74.6c4.5-12.8 16.6-21.4 30.2-21.4zM96 288a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm288 32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nconst faCab = faTaxi;\nconst faPersonCirclePlus = {\n prefix: 'fas',\n iconName: 'person-circle-plus',\n icon: [576, 512, [], \"e541\", \"M112 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm40 304l0 128c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-223.1L59.4 304.5c-9.1 15.1-28.8 20-43.9 10.9s-20-28.8-10.9-43.9l58.3-97c17.4-28.9 48.6-46.6 82.3-46.6l29.7 0c33.7 0 64.9 17.7 82.3 46.6l44.9 74.7c-16.1 17.6-28.6 38.5-36.6 61.5c-1.9-1.8-3.5-3.9-4.9-6.3L232 256.9 232 480c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-128-16 0zM432 224a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm16 80c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 48-48 0c-8.8 0-16 7.2-16 16s7.2 16 16 16l48 0 0 48c0 8.8 7.2 16 16 16s16-7.2 16-16l0-48 48 0c8.8 0 16-7.2 16-16s-7.2-16-16-16l-48 0 0-48z\"]\n};\nconst faChartPie = {\n prefix: 'fas',\n iconName: 'chart-pie',\n icon: [576, 512, [\"pie-chart\"], \"f200\", \"M304 240l0-223.4c0-9 7-16.6 16-16.6C443.7 0 544 100.3 544 224c0 9-7.6 16-16.6 16L304 240zM32 272C32 150.7 122.1 50.3 239 34.3c9.2-1.3 17 6.1 17 15.4L256 288 412.5 444.5c6.7 6.7 6.2 17.7-1.5 23.1C371.8 495.6 323.8 512 272 512C139.5 512 32 404.6 32 272zm526.4 16c9.3 0 16.6 7.8 15.4 17c-7.7 55.9-34.6 105.6-73.9 142.3c-6 5.6-15.4 5.2-21.2-.7L320 288l238.4 0z\"]\n};\nconst faPieChart = faChartPie;\nconst faBoltLightning = {\n prefix: 'fas',\n iconName: 'bolt-lightning',\n icon: [384, 512, [], \"e0b7\", \"M0 256L28.5 28c2-16 15.6-28 31.8-28H228.9c15 0 27.1 12.1 27.1 27.1c0 3.2-.6 6.5-1.7 9.5L208 160H347.3c20.2 0 36.7 16.4 36.7 36.7c0 7.4-2.2 14.6-6.4 20.7l-192.2 281c-5.9 8.6-15.6 13.7-25.9 13.7h-2.9c-15.7 0-28.5-12.8-28.5-28.5c0-2.3 .3-4.6 .9-6.9L176 288H32c-17.7 0-32-14.3-32-32z\"]\n};\nconst faSackXmark = {\n prefix: 'fas',\n iconName: 'sack-xmark',\n icon: [512, 512, [], \"e56a\", \"M192 96l128 0 47.4-71.1C374.5 14.2 366.9 0 354.1 0L157.9 0c-12.8 0-20.4 14.2-13.3 24.9L192 96zm128 32l-128 0c-3.8 2.5-8.1 5.3-13 8.4c0 0 0 0 0 0s0 0 0 0C122.3 172.7 0 250.9 0 416c0 53 43 96 96 96l320 0c53 0 96-43 96-96c0-165.1-122.3-243.3-179-279.6c-4.8-3.1-9.2-5.9-13-8.4zM289.9 336l47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47z\"]\n};\nconst faFileExcel = {\n prefix: 'fas',\n iconName: 'file-excel',\n icon: [384, 512, [], \"f1c3\", \"M64 0C28.7 0 0 28.7 0 64L0 448c0 35.3 28.7 64 64 64l256 0c35.3 0 64-28.7 64-64l0-288-128 0c-17.7 0-32-14.3-32-32L224 0 64 0zM256 0l0 128 128 0L256 0zM155.7 250.2L192 302.1l36.3-51.9c7.6-10.9 22.6-13.5 33.4-5.9s13.5 22.6 5.9 33.4L221.3 344l46.4 66.2c7.6 10.9 5 25.8-5.9 33.4s-25.8 5-33.4-5.9L192 385.8l-36.3 51.9c-7.6 10.9-22.6 13.5-33.4 5.9s-13.5-22.6-5.9-33.4L162.7 344l-46.4-66.2c-7.6-10.9-5-25.8 5.9-33.4s25.8-5 33.4 5.9z\"]\n};\nconst faFileContract = {\n prefix: 'fas',\n iconName: 'file-contract',\n icon: [384, 512, [], \"f56c\", \"M64 0C28.7 0 0 28.7 0 64L0 448c0 35.3 28.7 64 64 64l256 0c35.3 0 64-28.7 64-64l0-288-128 0c-17.7 0-32-14.3-32-32L224 0 64 0zM256 0l0 128 128 0L256 0zM80 64l64 0c8.8 0 16 7.2 16 16s-7.2 16-16 16L80 96c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 64l64 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-64 0c-8.8 0-16-7.2-16-16s7.2-16 16-16zm54.2 253.8c-6.1 20.3-24.8 34.2-46 34.2L80 416c-8.8 0-16-7.2-16-16s7.2-16 16-16l8.2 0c7.1 0 13.3-4.6 15.3-11.4l14.9-49.5c3.4-11.3 13.8-19.1 25.6-19.1s22.2 7.7 25.6 19.1l11.6 38.6c7.4-6.2 16.8-9.7 26.8-9.7c15.9 0 30.4 9 37.5 23.2l4.4 8.8 54.1 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-64 0c-6.1 0-11.6-3.4-14.3-8.8l-8.8-17.7c-1.7-3.4-5.1-5.5-8.8-5.5s-7.2 2.1-8.8 5.5l-8.8 17.7c-2.9 5.9-9.2 9.4-15.7 8.8s-12.1-5.1-13.9-11.3L144 349l-9.8 32.8z\"]\n};\nconst faFishFins = {\n prefix: 'fas',\n iconName: 'fish-fins',\n icon: [576, 512, [], \"e4f2\", \"M275.2 38.4c-10.6-8-25-8.5-36.3-1.5S222 57.3 224.6 70.3l9.7 48.6c-19.4 9-36.9 19.9-52.4 31.5c-15.3 11.5-29 23.9-40.7 36.3L48.1 132.4c-12.5-7.3-28.4-5.3-38.6 4.9S-3 163.3 4.2 175.9L50 256 4.2 336.1c-7.2 12.6-5 28.4 5.3 38.6s26.1 12.2 38.6 4.9l93.1-54.3c11.8 12.3 25.4 24.8 40.7 36.3c15.5 11.6 33 22.5 52.4 31.5l-9.7 48.6c-2.6 13 3.1 26.3 14.3 33.3s25.6 6.5 36.3-1.5l77.6-58.2c54.9-4 101.5-27 137.2-53.8c39.2-29.4 67.2-64.7 81.6-89.5c5.8-9.9 5.8-22.2 0-32.1c-14.4-24.8-42.5-60.1-81.6-89.5c-35.8-26.8-82.3-49.8-137.2-53.8L275.2 38.4zM384 256a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nconst faBuildingFlag = {\n prefix: 'fas',\n iconName: 'building-flag',\n icon: [640, 512, [], \"e4d5\", \"M48 0C21.5 0 0 21.5 0 48L0 464c0 26.5 21.5 48 48 48l96 0 0-80c0-26.5 21.5-48 48-48s48 21.5 48 48l0 80 96 0c26.5 0 48-21.5 48-48l0-416c0-26.5-21.5-48-48-48L48 0zM64 240c0-8.8 7.2-16 16-16l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32zm112-16l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32zM80 96l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32zM272 96l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32c0-8.8 7.2-16 16-16zM448 0c-17.7 0-32 14.3-32 32l0 480 64 0 0-320 144 0c8.8 0 16-7.2 16-16l0-128c0-8.8-7.2-16-16-16L480 32c0-17.7-14.3-32-32-32z\"]\n};\nconst faFaceGrinBeam = {\n prefix: 'fas',\n iconName: 'face-grin-beam',\n icon: [512, 512, [128516, \"grin-beam\"], \"f582\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM388.1 312.8c12.3-3.8 24.3 6.9 19.3 18.7C382.4 390.6 324.2 432 256.3 432s-126.2-41.4-151.1-100.5c-5-11.8 7-22.5 19.3-18.7c39.7 12.2 84.5 19 131.8 19s92.1-6.8 131.8-19zm-170.5-84s0 0 0 0c0 0 0 0 0 0l-.2-.2c-.2-.2-.4-.5-.7-.9c-.6-.8-1.6-2-2.8-3.4c-2.5-2.8-6-6.6-10.2-10.3c-8.8-7.8-18.8-14-27.7-14s-18.9 6.2-27.7 14c-4.2 3.7-7.7 7.5-10.2 10.3c-1.2 1.4-2.2 2.6-2.8 3.4c-.3 .4-.6 .7-.7 .9l-.2 .2c0 0 0 0 0 0c0 0 0 0 0 0s0 0 0 0c-2.1 2.8-5.7 3.9-8.9 2.8s-5.5-4.1-5.5-7.6c0-17.9 6.7-35.6 16.6-48.8c9.8-13 23.9-23.2 39.4-23.2s29.6 10.2 39.4 23.2c9.9 13.2 16.6 30.9 16.6 48.8c0 3.4-2.2 6.5-5.5 7.6s-6.9 0-8.9-2.8c0 0 0 0 0 0s0 0 0 0zm160 0c0 0 0 0 0 0l-.2-.2c-.2-.2-.4-.5-.7-.9c-.6-.8-1.6-2-2.8-3.4c-2.5-2.8-6-6.6-10.2-10.3c-8.8-7.8-18.8-14-27.7-14s-18.9 6.2-27.7 14c-4.2 3.7-7.7 7.5-10.2 10.3c-1.2 1.4-2.2 2.6-2.8 3.4c-.3 .4-.6 .7-.7 .9l-.2 .2c0 0 0 0 0 0c0 0 0 0 0 0s0 0 0 0c-2.1 2.8-5.7 3.9-8.9 2.8s-5.5-4.1-5.5-7.6c0-17.9 6.7-35.6 16.6-48.8c9.8-13 23.9-23.2 39.4-23.2s29.6 10.2 39.4 23.2c9.9 13.2 16.6 30.9 16.6 48.8c0 3.4-2.2 6.5-5.5 7.6s-6.9 0-8.9-2.8c0 0 0 0 0 0s0 0 0 0s0 0 0 0z\"]\n};\nconst faGrinBeam = faFaceGrinBeam;\nconst faObjectUngroup = {\n prefix: 'fas',\n iconName: 'object-ungroup',\n icon: [640, 512, [], \"f248\", \"M32 119.4C12.9 108.4 0 87.7 0 64C0 28.7 28.7 0 64 0c23.7 0 44.4 12.9 55.4 32l209.1 0C339.6 12.9 360.3 0 384 0c35.3 0 64 28.7 64 64c0 23.7-12.9 44.4-32 55.4l0 113.1c19.1 11.1 32 31.7 32 55.4c0 35.3-28.7 64-64 64c-23.7 0-44.4-12.9-55.4-32l-209.1 0c-11.1 19.1-31.7 32-55.4 32c-35.3 0-64-28.7-64-64c0-23.7 12.9-44.4 32-55.4l0-113.1zM119.4 96c-5.6 9.7-13.7 17.8-23.4 23.4l0 113.1c9.7 5.6 17.8 13.7 23.4 23.4l209.1 0c5.6-9.7 13.7-17.8 23.4-23.4l0-113.1c-9.7-5.6-17.8-13.7-23.4-23.4L119.4 96zm192 384c-11.1 19.1-31.7 32-55.4 32c-35.3 0-64-28.7-64-64c0-23.7 12.9-44.4 32-55.4l0-40.6 64 0 0 40.6c9.7 5.6 17.8 13.7 23.4 23.4l209.1 0c5.6-9.7 13.7-17.8 23.4-23.4l0-113.1c-9.7-5.6-17.8-13.7-23.4-23.4l-46 0c-5.4-15.4-14.6-28.9-26.5-39.6l0-24.4 72.6 0c11.1-19.1 31.7-32 55.4-32c35.3 0 64 28.7 64 64c0 23.7-12.9 44.4-32 55.4l0 113.1c19.1 11.1 32 31.7 32 55.4c0 35.3-28.7 64-64 64c-23.7 0-44.4-12.9-55.4-32l-209.1 0z\"]\n};\nconst faPoop = {\n prefix: 'fas',\n iconName: 'poop',\n icon: [512, 512, [], \"f619\", \"M254.4 6.6c3.5-4.3 9-6.5 14.5-5.7C315.8 7.2 352 47.4 352 96c0 11.2-1.9 22-5.5 32l5.5 0c35.3 0 64 28.7 64 64c0 19.1-8.4 36.3-21.7 48l13.7 0c39.8 0 72 32.2 72 72c0 23.2-11 43.8-28 57c34.1 5.7 60 35.3 60 71c0 39.8-32.2 72-72 72L72 512c-39.8 0-72-32.2-72-72c0-35.7 25.9-65.3 60-71c-17-13.2-28-33.8-28-57c0-39.8 32.2-72 72-72l13.7 0C104.4 228.3 96 211.1 96 192c0-35.3 28.7-64 64-64l16.2 0c44.1-.1 79.8-35.9 79.8-80c0-9.2-1.5-17.9-4.3-26.1c-1.8-5.2-.8-11.1 2.8-15.4z\"]\n};\nconst faLocationPin = {\n prefix: 'fas',\n iconName: 'location-pin',\n icon: [384, 512, [\"map-marker\"], \"f041\", \"M384 192c0 87.4-117 243-168.3 307.2c-12.3 15.3-35.1 15.3-47.4 0C117 435 0 279.4 0 192C0 86 86 0 192 0S384 86 384 192z\"]\n};\nconst faMapMarker = faLocationPin;\nconst faKaaba = {\n prefix: 'fas',\n iconName: 'kaaba',\n icon: [576, 512, [128331], \"f66b\", \"M60 120l228 71.2L516 120 288 48.8 60 120zM278.5 1.5c6.2-1.9 12.9-1.9 19.1 0l256 80C566.9 85.6 576 98 576 112l0 16s0 0 0 0l0 21.2L292.8 237.7c-3.1 1-6.4 1-9.5 0L0 149.2 0 128l0-16C0 98 9.1 85.6 22.5 81.5l256-80zm23.9 266.8L576 182.8l0 46.5-52.8 16.5c-8.4 2.6-13.1 11.6-10.5 20s11.6 13.1 20 10.5L576 262.8 576 400c0 14-9.1 26.4-22.5 30.5l-256 80c-6.2 1.9-12.9 1.9-19.1 0l-256-80C9.1 426.4 0 414 0 400L0 262.8l43.2 13.5c8.4 2.6 17.4-2.1 20-10.5s-2.1-17.4-10.5-20L0 229.2l0-46.5 273.7 85.5c9.3 2.9 19.3 2.9 28.6 0zm-185.5-2.6c-8.4-2.6-17.4 2.1-20 10.5s2.1 17.4 10.5 20l64 20c8.4 2.6 17.4-2.1 20-10.5s-2.1-17.4-10.5-20l-64-20zm352 30.5c8.4-2.6 13.1-11.6 10.5-20s-11.6-13.1-20-10.5l-64 20c-8.4 2.6-13.1 11.6-10.5 20s11.6 13.1 20 10.5l64-20zm-224 9.5c-8.4-2.6-17.4 2.1-20 10.5s2.1 17.4 10.5 20l38.5 12c9.3 2.9 19.3 2.9 28.6 0l38.5-12c8.4-2.6 13.1-11.6 10.5-20s-11.6-13.1-20-10.5l-38.5 12c-3.1 1-6.4 1-9.5 0l-38.5-12z\"]\n};\nconst faToiletPaper = {\n prefix: 'fas',\n iconName: 'toilet-paper',\n icon: [640, 512, [129531], \"f71e\", \"M444.2 0C397.2 49.6 384 126.5 384 192c0 158.8-27.3 247-42.7 283.9c-10 24-33.2 36.1-55.4 36.1L48 512c-11.5 0-22.2-6.2-27.8-16.2s-5.6-22.3 .4-32.2c9.8-17.7 15.4-38.2 20.5-57.7C52.3 362.8 64 293.5 64 192C64 86 107 0 160 0L444.2 0zM512 384c-53 0-96-86-96-192S459 0 512 0s96 86 96 192s-43 192-96 192zm0-128c17.7 0 32-28.7 32-64s-14.3-64-32-64s-32 28.7-32 64s14.3 64 32 64zM144 208a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm64 0a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm48 16a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm80-16a16 16 0 1 0 -32 0 16 16 0 1 0 32 0z\"]\n};\nconst faHelmetSafety = {\n prefix: 'fas',\n iconName: 'helmet-safety',\n icon: [576, 512, [\"hard-hat\", \"hat-hard\"], \"f807\", \"M256 32c-17.7 0-32 14.3-32 32l0 2.3 0 99.6c0 5.6-4.5 10.1-10.1 10.1c-3.6 0-7-1.9-8.8-5.1L157.1 87C83 123.5 32 199.8 32 288l0 64 512 0 0-66.4c-.9-87.2-51.7-162.4-125.1-198.6l-48 83.9c-1.8 3.2-5.2 5.1-8.8 5.1c-5.6 0-10.1-4.5-10.1-10.1l0-99.6 0-2.3c0-17.7-14.3-32-32-32l-64 0zM16.6 384C7.4 384 0 391.4 0 400.6c0 4.7 2 9.2 5.8 11.9C27.5 428.4 111.8 480 288 480s260.5-51.6 282.2-67.5c3.8-2.8 5.8-7.2 5.8-11.9c0-9.2-7.4-16.6-16.6-16.6L16.6 384z\"]\n};\nconst faHardHat = faHelmetSafety;\nconst faHatHard = faHelmetSafety;\nconst faEject = {\n prefix: 'fas',\n iconName: 'eject',\n icon: [448, 512, [9167], \"f052\", \"M224 32c13.5 0 26.3 5.6 35.4 15.6l176 192c12.9 14 16.2 34.3 8.6 51.8S419 320 400 320L48 320c-19 0-36.3-11.2-43.9-28.7s-4.3-37.7 8.6-51.8l176-192C197.7 37.6 210.5 32 224 32zM0 432c0-26.5 21.5-48 48-48l352 0c26.5 0 48 21.5 48 48s-21.5 48-48 48L48 480c-26.5 0-48-21.5-48-48z\"]\n};\nconst faCircleRight = {\n prefix: 'fas',\n iconName: 'circle-right',\n icon: [512, 512, [61838, \"arrow-alt-circle-right\"], \"f35a\", \"M0 256a256 256 0 1 0 512 0A256 256 0 1 0 0 256zm395.3 11.3l-112 112c-4.6 4.6-11.5 5.9-17.4 3.5s-9.9-8.3-9.9-14.8l0-64-96 0c-17.7 0-32-14.3-32-32l0-32c0-17.7 14.3-32 32-32l96 0 0-64c0-6.5 3.9-12.3 9.9-14.8s12.9-1.1 17.4 3.5l112 112c6.2 6.2 6.2 16.4 0 22.6z\"]\n};\nconst faArrowAltCircleRight = faCircleRight;\nconst faPlaneCircleCheck = {\n prefix: 'fas',\n iconName: 'plane-circle-check',\n icon: [640, 512, [], \"e555\", \"M256 0c-35 0-64 59.5-64 93.7l0 84.6L8.1 283.4c-5 2.8-8.1 8.2-8.1 13.9l0 65.5c0 10.6 10.2 18.3 20.4 15.4l171.6-49 0 70.9-57.6 43.2c-4 3-6.4 7.8-6.4 12.8l0 42c0 7.8 6.3 14 14 14c1.3 0 2.6-.2 3.9-.5L256 480l110.1 31.5c1.3 .4 2.6 .5 3.9 .5c6 0 11.1-3.7 13.1-9C344.5 470.7 320 422.2 320 368c0-60.6 30.6-114 77.1-145.6L320 178.3l0-84.6C320 59.5 292 0 256 0zM640 368a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zm-76.7-43.3c6.2 6.2 6.2 16.4 0 22.6l-72 72c-6.2 6.2-16.4 6.2-22.6 0l-40-40c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L480 385.4l60.7-60.7c6.2-6.2 16.4-6.2 22.6 0z\"]\n};\nconst faFaceRollingEyes = {\n prefix: 'fas',\n iconName: 'face-rolling-eyes',\n icon: [512, 512, [128580, \"meh-rolling-eyes\"], \"f5a5\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM192 368l128 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-128 0c-8.8 0-16-7.2-16-16s7.2-16 16-16zm32-144c0 35.3-28.7 64-64 64s-64-28.7-64-64c0-26 15.5-48.4 37.8-58.4c-3.7 5.2-5.8 11.6-5.8 18.4c0 17.7 14.3 32 32 32s32-14.3 32-32c0-6.9-2.2-13.2-5.8-18.4C208.5 175.6 224 198 224 224zm128 64c-35.3 0-64-28.7-64-64c0-26 15.5-48.4 37.8-58.4c-3.7 5.2-5.8 11.6-5.8 18.4c0 17.7 14.3 32 32 32s32-14.3 32-32c0-6.9-2.2-13.2-5.8-18.4C400.5 175.6 416 198 416 224c0 35.3-28.7 64-64 64z\"]\n};\nconst faMehRollingEyes = faFaceRollingEyes;\nconst faObjectGroup = {\n prefix: 'fas',\n iconName: 'object-group',\n icon: [576, 512, [], \"f247\", \"M32 119.4C12.9 108.4 0 87.7 0 64C0 28.7 28.7 0 64 0c23.7 0 44.4 12.9 55.4 32l337.1 0C467.6 12.9 488.3 0 512 0c35.3 0 64 28.7 64 64c0 23.7-12.9 44.4-32 55.4l0 273.1c19.1 11.1 32 31.7 32 55.4c0 35.3-28.7 64-64 64c-23.7 0-44.4-12.9-55.4-32l-337.1 0c-11.1 19.1-31.7 32-55.4 32c-35.3 0-64-28.7-64-64c0-23.7 12.9-44.4 32-55.4l0-273.1zM456.6 96L119.4 96c-5.6 9.7-13.7 17.8-23.4 23.4l0 273.1c9.7 5.6 17.8 13.7 23.4 23.4l337.1 0c5.6-9.7 13.7-17.8 23.4-23.4l0-273.1c-9.7-5.6-17.8-13.7-23.4-23.4zM128 160c0-17.7 14.3-32 32-32l128 0c17.7 0 32 14.3 32 32l0 96c0 17.7-14.3 32-32 32l-128 0c-17.7 0-32-14.3-32-32l0-96zM256 320l32 0c35.3 0 64-28.7 64-64l0-32 64 0c17.7 0 32 14.3 32 32l0 96c0 17.7-14.3 32-32 32l-128 0c-17.7 0-32-14.3-32-32l0-32z\"]\n};\nconst faChartLine = {\n prefix: 'fas',\n iconName: 'chart-line',\n icon: [512, 512, [\"line-chart\"], \"f201\", \"M64 64c0-17.7-14.3-32-32-32S0 46.3 0 64L0 400c0 44.2 35.8 80 80 80l400 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L80 416c-8.8 0-16-7.2-16-16L64 64zm406.6 86.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L320 210.7l-57.4-57.4c-12.5-12.5-32.8-12.5-45.3 0l-112 112c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L240 221.3l57.4 57.4c12.5 12.5 32.8 12.5 45.3 0l128-128z\"]\n};\nconst faLineChart = faChartLine;\nconst faMaskVentilator = {\n prefix: 'fas',\n iconName: 'mask-ventilator',\n icon: [640, 512, [], \"e524\", \"M159.1 176C139.4 219.2 128 264.7 128 300.8c0 15.9 2.2 31.4 6.3 46l-31.8-7.9C70.5 330.9 48 302.1 48 269l0-85c0-4.4 3.6-8 8-8l103.1 0zm26-48L56 128c-30.9 0-56 25.1-56 56l0 85c0 55.1 37.5 103.1 90.9 116.4l71.3 17.8c22.7 30.5 55.4 54.1 93.8 66.6l0-76.6c-19.7-16.4-32-40.3-32-66.9c0-49.5 43-134.4 96-134.4c52.5 0 96 84.9 96 134.4c0 26.7-12.4 50.4-32 66.8l0 76.6c38-12.6 70.6-36 93.5-66.4l71.6-17.9C602.5 372.1 640 324.1 640 269l0-85c0-30.9-25.1-56-56-56l-129.5 0C419.7 73.8 372.1 32 320 32c-52.6 0-100.2 41.8-134.9 96zm295.6 48L584 176c4.4 0 8 3.6 8 8l0 85c0 33-22.5 61.8-54.5 69.9l-31.8 8c4.2-14.7 6.4-30.1 6.4-46.1c0-36.1-11.6-81.6-31.3-124.8zM288 320l0 192 64 0 0-192c0-17.7-14.3-32-32-32s-32 14.3-32 32z\"]\n};\nconst faArrowRight = {\n prefix: 'fas',\n iconName: 'arrow-right',\n icon: [448, 512, [8594], \"f061\", \"M438.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-160-160c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L338.8 224 32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l306.7 0L233.4 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l160-160z\"]\n};\nconst faSignsPost = {\n prefix: 'fas',\n iconName: 'signs-post',\n icon: [512, 512, [\"map-signs\"], \"f277\", \"M224 32L64 32C46.3 32 32 46.3 32 64l0 64c0 17.7 14.3 32 32 32l377.4 0c4.2 0 8.3-1.7 11.3-4.7l48-48c6.2-6.2 6.2-16.4 0-22.6l-48-48c-3-3-7.1-4.7-11.3-4.7L288 32c0-17.7-14.3-32-32-32s-32 14.3-32 32zM480 256c0-17.7-14.3-32-32-32l-160 0 0-32-64 0 0 32L70.6 224c-4.2 0-8.3 1.7-11.3 4.7l-48 48c-6.2 6.2-6.2 16.4 0 22.6l48 48c3 3 7.1 4.7 11.3 4.7L448 352c17.7 0 32-14.3 32-32l0-64zM288 480l0-96-64 0 0 96c0 17.7 14.3 32 32 32s32-14.3 32-32z\"]\n};\nconst faMapSigns = faSignsPost;\nconst faCashRegister = {\n prefix: 'fas',\n iconName: 'cash-register',\n icon: [512, 512, [], \"f788\", \"M64 0C46.3 0 32 14.3 32 32l0 64c0 17.7 14.3 32 32 32l80 0 0 32-57 0c-31.6 0-58.5 23.1-63.3 54.4L1.1 364.1C.4 368.8 0 373.6 0 378.4L0 448c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64l0-69.6c0-4.8-.4-9.6-1.1-14.4L488.2 214.4C483.5 183.1 456.6 160 425 160l-217 0 0-32 80 0c17.7 0 32-14.3 32-32l0-64c0-17.7-14.3-32-32-32L64 0zM96 48l160 0c8.8 0 16 7.2 16 16s-7.2 16-16 16L96 80c-8.8 0-16-7.2-16-16s7.2-16 16-16zM64 432c0-8.8 7.2-16 16-16l352 0c8.8 0 16 7.2 16 16s-7.2 16-16 16L80 448c-8.8 0-16-7.2-16-16zm48-168a24 24 0 1 1 0-48 24 24 0 1 1 0 48zm120-24a24 24 0 1 1 -48 0 24 24 0 1 1 48 0zM160 344a24 24 0 1 1 0-48 24 24 0 1 1 0 48zM328 240a24 24 0 1 1 -48 0 24 24 0 1 1 48 0zM256 344a24 24 0 1 1 0-48 24 24 0 1 1 0 48zM424 240a24 24 0 1 1 -48 0 24 24 0 1 1 48 0zM352 344a24 24 0 1 1 0-48 24 24 0 1 1 0 48z\"]\n};\nconst faPersonCircleQuestion = {\n prefix: 'fas',\n iconName: 'person-circle-question',\n icon: [576, 512, [], \"e542\", \"M112 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm40 304l0 128c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-223.1L59.4 304.5c-9.1 15.1-28.8 20-43.9 10.9s-20-28.8-10.9-43.9l58.3-97c17.4-28.9 48.6-46.6 82.3-46.6l29.7 0c33.7 0 64.9 17.7 82.3 46.6l44.9 74.7c-16.1 17.6-28.6 38.5-36.6 61.5c-1.9-1.8-3.5-3.9-4.9-6.3L232 256.9 232 480c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-128-16 0zM432 224a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm0 240a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM368 321.6l0 6.4c0 8.8 7.2 16 16 16s16-7.2 16-16l0-6.4c0-5.3 4.3-9.6 9.6-9.6l40.5 0c7.7 0 13.9 6.2 13.9 13.9c0 5.2-2.9 9.9-7.4 12.3l-32 16.8c-5.3 2.8-8.6 8.2-8.6 14.2l0 14.8c0 8.8 7.2 16 16 16s16-7.2 16-16l0-5.1 23.5-12.3c15.1-7.9 24.5-23.6 24.5-40.6c0-25.4-20.6-45.9-45.9-45.9l-40.5 0c-23 0-41.6 18.6-41.6 41.6z\"]\n};\nconst faH = {\n prefix: 'fas',\n iconName: 'h',\n icon: [384, 512, [104], \"48\", \"M320 256l0 192c0 17.7 14.3 32 32 32s32-14.3 32-32l0-224 0-160c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 128L64 192 64 64c0-17.7-14.3-32-32-32S0 46.3 0 64L0 448c0 17.7 14.3 32 32 32s32-14.3 32-32l0-192 256 0z\"]\n};\nconst faTarp = {\n prefix: 'fas',\n iconName: 'tarp',\n icon: [576, 512, [], \"e57b\", \"M576 128c0-35.3-28.7-64-64-64L64 64C28.7 64 0 92.7 0 128L0 384c0 35.3 28.7 64 64 64l352 0 0-128c0-17.7 14.3-32 32-32l128 0 0-160zM448 448L576 320l-128 0 0 128zM96 128a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nconst faScrewdriverWrench = {\n prefix: 'fas',\n iconName: 'screwdriver-wrench',\n icon: [512, 512, [\"tools\"], \"f7d9\", \"M78.6 5C69.1-2.4 55.6-1.5 47 7L7 47c-8.5 8.5-9.4 22-2.1 31.6l80 104c4.5 5.9 11.6 9.4 19 9.4l54.1 0 109 109c-14.7 29-10 65.4 14.3 89.6l112 112c12.5 12.5 32.8 12.5 45.3 0l64-64c12.5-12.5 12.5-32.8 0-45.3l-112-112c-24.2-24.2-60.6-29-89.6-14.3l-109-109 0-54.1c0-7.5-3.5-14.5-9.4-19L78.6 5zM19.9 396.1C7.2 408.8 0 426.1 0 444.1C0 481.6 30.4 512 67.9 512c18 0 35.3-7.2 48-19.9L233.7 374.3c-7.8-20.9-9-43.6-3.6-65.1l-61.7-61.7L19.9 396.1zM512 144c0-10.5-1.1-20.7-3.2-30.5c-2.4-11.2-16.1-14.1-24.2-6l-63.9 63.9c-3 3-7.1 4.7-11.3 4.7L352 176c-8.8 0-16-7.2-16-16l0-57.4c0-4.2 1.7-8.3 4.7-11.3l63.9-63.9c8.1-8.1 5.2-21.8-6-24.2C388.7 1.1 378.5 0 368 0C288.5 0 224 64.5 224 144l0 .8 85.3 85.3c36-9.1 75.8 .5 104 28.7L429 274.5c49-23 83-72.8 83-130.5zM56 432a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"]\n};\nconst faTools = faScrewdriverWrench;\nconst faArrowsToEye = {\n prefix: 'fas',\n iconName: 'arrows-to-eye',\n icon: [640, 512, [], \"e4bf\", \"M15 15C24.4 5.7 39.6 5.7 49 15l63 63L112 40c0-13.3 10.7-24 24-24s24 10.7 24 24l0 96c0 13.3-10.7 24-24 24l-96 0c-13.3 0-24-10.7-24-24s10.7-24 24-24l38.1 0L15 49C5.7 39.6 5.7 24.4 15 15zM133.5 243.9C158.6 193.6 222.7 112 320 112s161.4 81.6 186.5 131.9c3.8 7.6 3.8 16.5 0 24.2C481.4 318.4 417.3 400 320 400s-161.4-81.6-186.5-131.9c-3.8-7.6-3.8-16.5 0-24.2zM320 320a64 64 0 1 0 0-128 64 64 0 1 0 0 128zM591 15c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-63 63 38.1 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-96 0c-13.3 0-24-10.7-24-24l0-96c0-13.3 10.7-24 24-24s24 10.7 24 24l0 38.1 63-63zM15 497c-9.4-9.4-9.4-24.6 0-33.9l63-63L40 400c-13.3 0-24-10.7-24-24s10.7-24 24-24l96 0c13.3 0 24 10.7 24 24l0 96c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-38.1L49 497c-9.4 9.4-24.6 9.4-33.9 0zm576 0l-63-63 0 38.1c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-96c0-13.3 10.7-24 24-24l96 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-38.1 0 63 63c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0z\"]\n};\nconst faPlugCircleBolt = {\n prefix: 'fas',\n iconName: 'plug-circle-bolt',\n icon: [576, 512, [], \"e55b\", \"M96 0C78.3 0 64 14.3 64 32l0 96 64 0 0-96c0-17.7-14.3-32-32-32zM288 0c-17.7 0-32 14.3-32 32l0 96 64 0 0-96c0-17.7-14.3-32-32-32zM32 160c-17.7 0-32 14.3-32 32s14.3 32 32 32l0 32c0 77.4 55 142 128 156.8l0 67.2c0 17.7 14.3 32 32 32s32-14.3 32-32l0-67.2c12.3-2.5 24.1-6.4 35.1-11.5c-2.1-10.8-3.1-21.9-3.1-33.3c0-80.3 53.8-148 127.3-169.2c.5-2.2 .7-4.5 .7-6.8c0-17.7-14.3-32-32-32L32 160zM432 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm47.9-225c4.3 3.7 5.4 9.9 2.6 14.9L452.4 356l35.6 0c5.2 0 9.8 3.3 11.4 8.2s-.1 10.3-4.2 13.4l-96 72c-4.5 3.4-10.8 3.2-15.1-.6s-5.4-9.9-2.6-14.9L411.6 380 376 380c-5.2 0-9.8-3.3-11.4-8.2s.1-10.3 4.2-13.4l96-72c4.5-3.4 10.8-3.2 15.1 .6z\"]\n};\nconst faHeart = {\n prefix: 'fas',\n iconName: 'heart',\n icon: [512, 512, [128153, 128154, 128155, 128156, 128420, 129293, 129294, 129505, 9829, 10084, 61578], \"f004\", \"M47.6 300.4L228.3 469.1c7.5 7 17.4 10.9 27.7 10.9s20.2-3.9 27.7-10.9L464.4 300.4c30.4-28.3 47.6-68 47.6-109.5v-5.8c0-69.9-50.5-129.5-119.4-141C347 36.5 300.6 51.4 268 84L256 96 244 84c-32.6-32.6-79-47.5-124.6-39.9C50.5 55.6 0 115.2 0 185.1v5.8c0 41.5 17.2 81.2 47.6 109.5z\"]\n};\nconst faMarsAndVenus = {\n prefix: 'fas',\n iconName: 'mars-and-venus',\n icon: [512, 512, [9893], \"f224\", \"M337.8 14.8C341.5 5.8 350.3 0 360 0L472 0c13.3 0 24 10.7 24 24l0 112c0 9.7-5.8 18.5-14.8 22.2s-19.3 1.7-26.2-5.2l-39-39-24.7 24.7C407 163.3 416 192.6 416 224c0 80.2-59 146.6-136 158.2l0 25.8 24 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-24 0 0 32c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-32-24 0c-13.3 0-24-10.7-24-24s10.7-24 24-24l24 0 0-25.8C155 370.6 96 304.2 96 224c0-88.4 71.6-160 160-160c39.6 0 75.9 14.4 103.8 38.2L382.1 80 343 41c-6.9-6.9-8.9-17.2-5.2-26.2zM448 48s0 0 0 0s0 0 0 0s0 0 0 0zM352 224a96 96 0 1 0 -192 0 96 96 0 1 0 192 0z\"]\n};\nconst faHouseUser = {\n prefix: 'fas',\n iconName: 'house-user',\n icon: [576, 512, [\"home-user\"], \"e1b0\", \"M575.8 255.5c0 18-15 32.1-32 32.1l-32 0 .7 160.2c.2 35.5-28.5 64.3-64 64.3l-320.4 0c-35.3 0-64-28.7-64-64l0-160.4-32 0c-18 0-32-14-32-32.1c0-9 3-17 10-24L266.4 8c7-7 15-8 22-8s15 2 21 7L564.8 231.5c8 7 12 15 11 24zM352 224a64 64 0 1 0 -128 0 64 64 0 1 0 128 0zm-96 96c-44.2 0-80 35.8-80 80c0 8.8 7.2 16 16 16l192 0c8.8 0 16-7.2 16-16c0-44.2-35.8-80-80-80l-64 0z\"]\n};\nconst faHomeUser = faHouseUser;\nconst faDumpsterFire = {\n prefix: 'fas',\n iconName: 'dumpster-fire',\n icon: [640, 512, [], \"f794\", \"M49.7 32l90.8 0L114.9 160l-94 0C9.3 160 0 150.7 0 139.1c0-2.1 .3-4.1 .9-6.1L26.8 48.9C29.9 38.9 39.2 32 49.7 32zM272 160l-124.5 0L173.1 32 272 32l0 128zm32 0l0-128 98.9 0 14.4 72.1c-1.7 1.1-3.3 2.4-4.8 3.8c-18.4 16.4-35.4 34-50.5 52.1l-58 0zm209.9-23.7c-1.7 1.6-3.4 3.2-5 4.8C498 129.6 486.7 118.6 475 108c-7.6-6.9-17-10.8-26.6-11.8L435.5 32l90.8 0c10.5 0 19.8 6.9 22.9 16.9L575.1 133c.2 .7 .4 1.4 .5 2.1c-17.8-15-44.3-14.6-61.7 1.2zM325.2 210.7C304.3 244.5 288 282.9 288 318.1c0 49.3 18.6 95.2 49.6 129.9L128 448c0 17.7-14.3 32-32 32s-32-14.3-32-32L44 288l-12 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l4 0-4-32 305.5 0c-4.4 6.2-8.5 12.5-12.3 18.7zm180.6-34.5L518 162.5c5.4-6.1 13.3-8.8 20.9-8.9c7.2 0 14.3 2.6 19.9 7.8c19.7 18.3 39.8 43.2 55 70.6C629 259.2 640 290.2 640 320.2C640 408.8 568.7 480 480 480c-89.6 0-160-71.3-160-159.8c0-37.3 16-73.4 36.8-104.5c20.9-31.3 47.5-59 70.9-80.2c5.7-5.2 13.1-7.7 20.3-7.5c14.1 .3 23.8 11.4 32.7 21.6c0 0 0 0 0 0c2 2.3 4 4.6 6 6.7l19 19.9zM544 368.2c0-36.5-37-73-54.8-88.4c-5.4-4.7-13.1-4.7-18.5 0C453 295.1 416 331.6 416 368.2c0 35.3 28.7 64 64 64s64-28.7 64-64z\"]\n};\nconst faHouseCrack = {\n prefix: 'fas',\n iconName: 'house-crack',\n icon: [576, 512, [], \"e3b1\", \"M543.8 287.6c17 0 32-14 32-32.1c1-9-3-17-11-24L309.5 7c-6-5-14-7-21-7s-15 1-22 8L10 231.5c-7 7-10 15-10 24c0 18 14 32.1 32 32.1l32 0 0 160.4c0 35.3 28.7 64 64 64l102.3 0-31.3-52.2c-4.1-6.8-2.6-15.5 3.5-20.5L288 368l-60.2-82.8c-10.9-15 8.2-33.5 22.8-22l117.9 92.6c8 6.3 8.2 18.4 .4 24.9L288 448l38.4 64 122.1 0c35.5 0 64.2-28.8 64-64.3l-.7-160.2 32 0z\"]\n};\nconst faMartiniGlassCitrus = {\n prefix: 'fas',\n iconName: 'martini-glass-citrus',\n icon: [576, 512, [\"cocktail\"], \"f561\", \"M432 240c53 0 96-43 96-96s-43-96-96-96c-35.5 0-66.6 19.3-83.2 48l-52.6 0C316 40.1 369.3 0 432 0c79.5 0 144 64.5 144 144s-64.5 144-144 144c-27.7 0-53.5-7.8-75.5-21.3l35.4-35.4c12.2 5.6 25.8 8.7 40.1 8.7zM1.8 142.8C5.5 133.8 14.3 128 24 128l368 0c9.7 0 18.5 5.8 22.2 14.8s1.7 19.3-5.2 26.2l-177 177L232 464l64 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-88 0-88 0c-13.3 0-24-10.7-24-24s10.7-24 24-24l64 0 0-118.1L7 169c-6.9-6.9-8.9-17.2-5.2-26.2z\"]\n};\nconst faCocktail = faMartiniGlassCitrus;\nconst faFaceSurprise = {\n prefix: 'fas',\n iconName: 'face-surprise',\n icon: [512, 512, [128558, \"surprise\"], \"f5c2\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM176.4 176a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm128 32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM256 288a64 64 0 1 1 0 128 64 64 0 1 1 0-128z\"]\n};\nconst faSurprise = faFaceSurprise;\nconst faBottleWater = {\n prefix: 'fas',\n iconName: 'bottle-water',\n icon: [320, 512, [], \"e4c5\", \"M120 0l80 0c13.3 0 24 10.7 24 24l0 40L96 64l0-40c0-13.3 10.7-24 24-24zM32 167.5c0-19.5 10-37.6 26.6-47.9l15.8-9.9C88.7 100.7 105.2 96 122.1 96l75.8 0c16.9 0 33.4 4.7 47.7 13.7l15.8 9.9C278 129.9 288 148 288 167.5c0 17-7.5 32.3-19.4 42.6C280.6 221.7 288 238 288 256c0 19.1-8.4 36.3-21.7 48c13.3 11.7 21.7 28.9 21.7 48s-8.4 36.3-21.7 48c13.3 11.7 21.7 28.9 21.7 48c0 35.3-28.7 64-64 64L96 512c-35.3 0-64-28.7-64-64c0-19.1 8.4-36.3 21.7-48C40.4 388.3 32 371.1 32 352s8.4-36.3 21.7-48C40.4 292.3 32 275.1 32 256c0-18 7.4-34.3 19.4-45.9C39.5 199.7 32 184.5 32 167.5zM96 240c0 8.8 7.2 16 16 16l96 0c8.8 0 16-7.2 16-16s-7.2-16-16-16l-96 0c-8.8 0-16 7.2-16 16zm16 112c-8.8 0-16 7.2-16 16s7.2 16 16 16l96 0c8.8 0 16-7.2 16-16s-7.2-16-16-16l-96 0z\"]\n};\nconst faCirclePause = {\n prefix: 'fas',\n iconName: 'circle-pause',\n icon: [512, 512, [62092, \"pause-circle\"], \"f28b\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM224 192l0 128c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-128c0-17.7 14.3-32 32-32s32 14.3 32 32zm128 0l0 128c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-128c0-17.7 14.3-32 32-32s32 14.3 32 32z\"]\n};\nconst faPauseCircle = faCirclePause;\nconst faToiletPaperSlash = {\n prefix: 'fas',\n iconName: 'toilet-paper-slash',\n icon: [640, 512, [], \"e072\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7l-109.7-86C569.9 374 608 291.9 608 192C608 86 565 0 512 0s-96 86-96 192c0 49.1 9.2 93.9 24.4 127.9l-59-46.2c1.6-24.8 2.6-52 2.6-81.6c0-65.5 13.2-142.4 60.2-192L160 0c-24.8 0-47.4 18.8-64.4 49.6L38.8 5.1zM367.3 385.4L66.5 148.4C64.9 162.4 64 177 64 192c0 101.5-11.7 170.8-23 213.9c-5.1 19.4-10.7 39.9-20.5 57.7c-5.9 9.9-6.1 22.1-.4 32.2S36.5 512 48 512l237.9 0c22.3 0 45.4-12.1 55.4-36.1c7.4-17.7 17.5-47.2 26-90.6zM544 192c0 35.3-14.3 64-32 64s-32-28.7-32-64s14.3-64 32-64s32 28.7 32 64z\"]\n};\nconst faAppleWhole = {\n prefix: 'fas',\n iconName: 'apple-whole',\n icon: [448, 512, [127822, 127823, \"apple-alt\"], \"f5d1\", \"M224 112c-8.8 0-16-7.2-16-16l0-16c0-44.2 35.8-80 80-80l16 0c8.8 0 16 7.2 16 16l0 16c0 44.2-35.8 80-80 80l-16 0zM0 288c0-76.3 35.7-160 112-160c27.3 0 59.7 10.3 82.7 19.3c18.8 7.3 39.9 7.3 58.7 0c22.9-8.9 55.4-19.3 82.7-19.3c76.3 0 112 83.7 112 160c0 128-80 224-160 224c-16.5 0-38.1-6.6-51.5-11.3c-8.1-2.8-16.9-2.8-25 0c-13.4 4.7-35 11.3-51.5 11.3C80 512 0 416 0 288z\"]\n};\nconst faAppleAlt = faAppleWhole;\nconst faKitchenSet = {\n prefix: 'fas',\n iconName: 'kitchen-set',\n icon: [576, 512, [], \"e51a\", \"M240 144A96 96 0 1 0 48 144a96 96 0 1 0 192 0zm44.4 32C269.9 240.1 212.5 288 144 288C64.5 288 0 223.5 0 144S64.5 0 144 0c68.5 0 125.9 47.9 140.4 112l71.8 0c8.8-9.8 21.6-16 35.8-16l104 0c26.5 0 48 21.5 48 48s-21.5 48-48 48l-104 0c-14.2 0-27-6.2-35.8-16l-71.8 0zM144 80a64 64 0 1 1 0 128 64 64 0 1 1 0-128zM400 240c13.3 0 24 10.7 24 24l0 8 96 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-240 0c-13.3 0-24-10.7-24-24s10.7-24 24-24l96 0 0-8c0-13.3 10.7-24 24-24zM288 464l0-112 224 0 0 112c0 26.5-21.5 48-48 48l-128 0c-26.5 0-48-21.5-48-48zM48 320l80 0 16 0 32 0c26.5 0 48 21.5 48 48s-21.5 48-48 48l-16 0c0 17.7-14.3 32-32 32l-64 0c-17.7 0-32-14.3-32-32l0-80c0-8.8 7.2-16 16-16zm128 64c8.8 0 16-7.2 16-16s-7.2-16-16-16l-16 0 0 32 16 0zM24 464l176 0c13.3 0 24 10.7 24 24s-10.7 24-24 24L24 512c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nconst faR = {\n prefix: 'fas',\n iconName: 'r',\n icon: [320, 512, [114], \"52\", \"M64 32C28.7 32 0 60.7 0 96L0 288 0 448c0 17.7 14.3 32 32 32s32-14.3 32-32l0-128 95.3 0L261.8 466.4c10.1 14.5 30.1 18 44.6 7.9s18-30.1 7.9-44.6L230.1 309.5C282.8 288.1 320 236.4 320 176c0-79.5-64.5-144-144-144L64 32zM176 256L64 256 64 96l112 0c44.2 0 80 35.8 80 80s-35.8 80-80 80z\"]\n};\nconst faTemperatureQuarter = {\n prefix: 'fas',\n iconName: 'temperature-quarter',\n icon: [320, 512, [\"temperature-1\", \"thermometer-1\", \"thermometer-quarter\"], \"f2ca\", \"M160 64c-26.5 0-48 21.5-48 48l0 164.5c0 17.3-7.1 31.9-15.3 42.5C86.2 332.6 80 349.5 80 368c0 44.2 35.8 80 80 80s80-35.8 80-80c0-18.5-6.2-35.4-16.7-48.9c-8.2-10.6-15.3-25.2-15.3-42.5L208 112c0-26.5-21.5-48-48-48zM48 112C48 50.2 98.1 0 160 0s112 50.1 112 112l0 164.4c0 .1 .1 .3 .2 .6c.2 .6 .8 1.6 1.7 2.8c18.9 24.4 30.1 55 30.1 88.1c0 79.5-64.5 144-144 144S16 447.5 16 368c0-33.2 11.2-63.8 30.1-88.1c.9-1.2 1.5-2.2 1.7-2.8c.1-.3 .2-.5 .2-.6L48 112zM208 368c0 26.5-21.5 48-48 48s-48-21.5-48-48c0-20.9 13.4-38.7 32-45.3l0-50.7c0-8.8 7.2-16 16-16s16 7.2 16 16l0 50.7c18.6 6.6 32 24.4 32 45.3z\"]\n};\nconst faTemperature1 = faTemperatureQuarter;\nconst faThermometer1 = faTemperatureQuarter;\nconst faThermometerQuarter = faTemperatureQuarter;\nconst faCube = {\n prefix: 'fas',\n iconName: 'cube',\n icon: [512, 512, [], \"f1b2\", \"M234.5 5.7c13.9-5 29.1-5 43.1 0l192 68.6C495 83.4 512 107.5 512 134.6l0 242.9c0 27-17 51.2-42.5 60.3l-192 68.6c-13.9 5-29.1 5-43.1 0l-192-68.6C17 428.6 0 404.5 0 377.4L0 134.6c0-27 17-51.2 42.5-60.3l192-68.6zM256 66L82.3 128 256 190l173.7-62L256 66zm32 368.6l160-57.1 0-188L288 246.6l0 188z\"]\n};\nconst faBitcoinSign = {\n prefix: 'fas',\n iconName: 'bitcoin-sign',\n icon: [320, 512, [], \"e0b4\", \"M48 32C48 14.3 62.3 0 80 0s32 14.3 32 32l0 32 32 0 0-32c0-17.7 14.3-32 32-32s32 14.3 32 32l0 32c0 1.5-.1 3.1-.3 4.5C254.1 82.2 288 125.1 288 176c0 24.2-7.7 46.6-20.7 64.9c31.7 19.8 52.7 55 52.7 95.1c0 61.9-50.1 112-112 112l0 32c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-32-32 0 0 32c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-32-6.3 0C18.7 448 0 429.3 0 406.3L0 288l0-22.3L0 224 0 101.6C0 80.8 16.8 64 37.6 64L48 64l0-32zM64 224l112 0c26.5 0 48-21.5 48-48s-21.5-48-48-48L64 128l0 96zm112 64L64 288l0 96 144 0c26.5 0 48-21.5 48-48s-21.5-48-48-48l-32 0z\"]\n};\nconst faShieldDog = {\n prefix: 'fas',\n iconName: 'shield-dog',\n icon: [512, 512, [], \"e573\", \"M269.4 2.9C265.2 1 260.7 0 256 0s-9.2 1-13.4 2.9L54.3 82.8c-22 9.3-38.4 31-38.3 57.2c.5 99.2 41.3 280.7 213.6 363.2c16.7 8 36.1 8 52.8 0C454.7 420.7 495.5 239.2 496 140c.1-26.2-16.3-47.9-38.3-57.2L269.4 2.9zM160.9 286.2c4.8 1.2 9.9 1.8 15.1 1.8c35.3 0 64-28.7 64-64l0-64 44.2 0c12.1 0 23.2 6.8 28.6 17.7L320 192l64 0c8.8 0 16 7.2 16 16l0 32c0 44.2-35.8 80-80 80l-48 0 0 50.7c0 7.3-5.9 13.3-13.3 13.3c-1.8 0-3.6-.4-5.2-1.1l-98.7-42.3c-6.6-2.8-10.8-9.3-10.8-16.4c0-2.8 .6-5.5 1.9-8l15-30zM160 160l40 0 8 0 0 32 0 32c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-48c0-8.8 7.2-16 16-16zm128 48a16 16 0 1 0 -32 0 16 16 0 1 0 32 0z\"]\n};\nconst faSolarPanel = {\n prefix: 'fas',\n iconName: 'solar-panel',\n icon: [640, 512, [], \"f5ba\", \"M122.2 0C91.7 0 65.5 21.5 59.5 51.4L8.3 307.4C.4 347 30.6 384 71 384l217 0 0 64-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l192 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-64 0 0-64 217 0c40.4 0 70.7-36.9 62.8-76.6l-51.2-256C574.5 21.5 548.3 0 517.8 0L122.2 0zM260.9 64l118.2 0 10.4 104-139 0L260.9 64zM202.3 168l-100.8 0L122.2 64l90.4 0L202.3 168zM91.8 216l105.6 0L187.1 320 71 320 91.8 216zm153.9 0l148.6 0 10.4 104-169.4 0 10.4-104zm196.8 0l105.6 0L569 320l-116 0L442.5 216zm96-48l-100.8 0L427.3 64l90.4 0 31.4-6.3L517.8 64l20.8 104z\"]\n};\nconst faLockOpen = {\n prefix: 'fas',\n iconName: 'lock-open',\n icon: [576, 512, [], \"f3c1\", \"M352 144c0-44.2 35.8-80 80-80s80 35.8 80 80l0 48c0 17.7 14.3 32 32 32s32-14.3 32-32l0-48C576 64.5 511.5 0 432 0S288 64.5 288 144l0 48L64 192c-35.3 0-64 28.7-64 64L0 448c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-192c0-35.3-28.7-64-64-64l-32 0 0-48z\"]\n};\nconst faElevator = {\n prefix: 'fas',\n iconName: 'elevator',\n icon: [512, 512, [], \"e16d\", \"M132.7 4.7l-64 64c-4.6 4.6-5.9 11.5-3.5 17.4s8.3 9.9 14.8 9.9l128 0c6.5 0 12.3-3.9 14.8-9.9s1.1-12.9-3.5-17.4l-64-64c-6.2-6.2-16.4-6.2-22.6 0zM64 128c-35.3 0-64 28.7-64 64L0 448c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64l0-256c0-35.3-28.7-64-64-64L64 128zm96 96a48 48 0 1 1 0 96 48 48 0 1 1 0-96zM80 400c0-26.5 21.5-48 48-48l64 0c26.5 0 48 21.5 48 48l0 16c0 17.7-14.3 32-32 32l-96 0c-17.7 0-32-14.3-32-32l0-16zm192 0c0-26.5 21.5-48 48-48l64 0c26.5 0 48 21.5 48 48l0 16c0 17.7-14.3 32-32 32l-96 0c-17.7 0-32-14.3-32-32l0-16zm32-128a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM356.7 91.3c6.2 6.2 16.4 6.2 22.6 0l64-64c4.6-4.6 5.9-11.5 3.5-17.4S438.5 0 432 0L304 0c-6.5 0-12.3 3.9-14.8 9.9s-1.1 12.9 3.5 17.4l64 64z\"]\n};\nconst faMoneyBillTransfer = {\n prefix: 'fas',\n iconName: 'money-bill-transfer',\n icon: [640, 512, [], \"e528\", \"M535 41c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l64 64c4.5 4.5 7 10.6 7 17s-2.5 12.5-7 17l-64 64c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l23-23L384 112c-13.3 0-24-10.7-24-24s10.7-24 24-24l174.1 0L535 41zM105 377l-23 23L256 400c13.3 0 24 10.7 24 24s-10.7 24-24 24L81.9 448l23 23c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0L7 441c-4.5-4.5-7-10.6-7-17s2.5-12.5 7-17l64-64c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9zM96 64l241.9 0c-3.7 7.2-5.9 15.3-5.9 24c0 28.7 23.3 52 52 52l117.4 0c-4 17 .6 35.5 13.8 48.8c20.3 20.3 53.2 20.3 73.5 0L608 169.5 608 384c0 35.3-28.7 64-64 64l-241.9 0c3.7-7.2 5.9-15.3 5.9-24c0-28.7-23.3-52-52-52l-117.4 0c4-17-.6-35.5-13.8-48.8c-20.3-20.3-53.2-20.3-73.5 0L32 342.5 32 128c0-35.3 28.7-64 64-64zm64 64l-64 0 0 64c35.3 0 64-28.7 64-64zM544 320c-35.3 0-64 28.7-64 64l64 0 0-64zM320 352a96 96 0 1 0 0-192 96 96 0 1 0 0 192z\"]\n};\nconst faMoneyBillTrendUp = {\n prefix: 'fas',\n iconName: 'money-bill-trend-up',\n icon: [512, 512, [], \"e529\", \"M470.7 9.4c3 3.1 5.3 6.6 6.9 10.3s2.4 7.8 2.4 12.2c0 0 0 .1 0 .1c0 0 0 0 0 0l0 96c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-18.7L310.6 214.6c-11.8 11.8-30.8 12.6-43.5 1.7L176 138.1 84.8 216.3c-13.4 11.5-33.6 9.9-45.1-3.5s-9.9-33.6 3.5-45.1l112-96c12-10.3 29.7-10.3 41.7 0l89.5 76.7L370.7 64 352 64c-17.7 0-32-14.3-32-32s14.3-32 32-32l96 0s0 0 0 0c8.8 0 16.8 3.6 22.6 9.3l.1 .1zM0 304c0-26.5 21.5-48 48-48l416 0c26.5 0 48 21.5 48 48l0 160c0 26.5-21.5 48-48 48L48 512c-26.5 0-48-21.5-48-48L0 304zM48 416l0 48 48 0c0-26.5-21.5-48-48-48zM96 304l-48 0 0 48c26.5 0 48-21.5 48-48zM464 416c-26.5 0-48 21.5-48 48l48 0 0-48zM416 304c0 26.5 21.5 48 48 48l0-48-48 0zm-96 80a64 64 0 1 0 -128 0 64 64 0 1 0 128 0z\"]\n};\nconst faHouseFloodWaterCircleArrowRight = {\n prefix: 'fas',\n iconName: 'house-flood-water-circle-arrow-right',\n icon: [640, 512, [], \"e50f\", \"M288 144A144 144 0 1 0 0 144a144 144 0 1 0 288 0zM140.7 76.7c6.2-6.2 16.4-6.2 22.6 0l56 56c6.2 6.2 6.2 16.4 0 22.6l-56 56c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L169.4 160 80 160c-8.8 0-16-7.2-16-16s7.2-16 16-16l89.4 0L140.7 99.3c-6.2-6.2-6.2-16.4 0-22.6zM320 144c0 57.3-27.4 108.2-69.8 140.3c11.8-3.6 23-9.4 33-16.2c22.1-15.5 51.6-15.5 73.7 0c18.4 12.7 39.6 20.3 59.2 20.3c19 0 41.2-7.9 59.2-20.3c23.8-16.7 55.8-15.4 78.1 3.4c2.1 1.7 4.2 3.3 6.5 4.9l-.3-84.4 16.6 0c13.9 0 26.1-8.9 30.4-22.1s-.4-27.6-11.6-35.8l-176-128C407.6-2 392.4-2 381.2 6.1L301 64.4c12.1 23.9 19 50.9 19 79.6zm18.5 165.9c-11.1-7.9-25.9-7.9-37 0C279 325.4 251.5 336 224 336c-26.9 0-55.3-10.8-77.4-26.1c0 0 0 0 0 0c-11.9-8.5-28.1-7.8-39.2 1.7c-14.4 11.9-32.5 21-50.6 25.2c-17.2 4-27.9 21.2-23.9 38.4s21.2 27.9 38.4 23.9c24.5-5.7 44.9-16.5 58.2-25C158.5 389.7 191 400 224 400c31.9 0 60.6-9.9 80.4-18.9c5.8-2.7 11.1-5.3 15.6-7.7c4.5 2.4 9.7 5.1 15.6 7.7c19.8 9 48.6 18.9 80.4 18.9c33 0 65.5-10.3 94.5-25.8c13.4 8.4 33.7 19.3 58.2 25c17.2 4 34.4-6.7 38.4-23.9s-6.7-34.4-23.9-38.4c-18.1-4.2-36.2-13.3-50.6-25.2c-11.1-9.5-27.3-10.1-39.2-1.7c0 0 0 0 0 0C471.4 325.2 442.9 336 416 336c-27.5 0-55-10.6-77.5-26.1zm0 112c-11.1-7.9-25.9-7.9-37 0C279 437.4 251.5 448 224 448c-26.9 0-55.3-10.8-77.4-26.1c0 0 0 0 0 0c-11.9-8.5-28.1-7.8-39.2 1.7c-14.4 11.9-32.5 21-50.6 25.2c-17.2 4-27.9 21.2-23.9 38.4s21.2 27.9 38.4 23.9c24.5-5.7 44.9-16.5 58.2-25C158.5 501.7 191 512 224 512c31.9 0 60.6-9.9 80.4-18.9c5.8-2.7 11.1-5.3 15.6-7.7c4.5 2.4 9.7 5.1 15.6 7.7c19.8 9 48.6 18.9 80.4 18.9c33 0 65.5-10.3 94.5-25.8c13.4 8.4 33.7 19.3 58.2 25c17.2 4 34.4-6.7 38.4-23.9s-6.7-34.4-23.9-38.4c-18.1-4.2-36.2-13.3-50.6-25.2c-11.1-9.4-27.3-10.1-39.2-1.7c0 0 0 0 0 0C471.4 437.2 442.9 448 416 448c-27.5 0-55-10.6-77.5-26.1z\"]\n};\nconst faSquarePollHorizontal = {\n prefix: 'fas',\n iconName: 'square-poll-horizontal',\n icon: [448, 512, [\"poll-h\"], \"f682\", \"M448 96c0-35.3-28.7-64-64-64L64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-320zM256 160c0 17.7-14.3 32-32 32l-96 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l96 0c17.7 0 32 14.3 32 32zm64 64c17.7 0 32 14.3 32 32s-14.3 32-32 32l-192 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l192 0zM192 352c0 17.7-14.3 32-32 32l-32 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l32 0c17.7 0 32 14.3 32 32z\"]\n};\nconst faPollH = faSquarePollHorizontal;\nconst faCircle = {\n prefix: 'fas',\n iconName: 'circle',\n icon: [512, 512, [128308, 128309, 128992, 128993, 128994, 128995, 128996, 9679, 9898, 9899, 11044, 61708, 61915], \"f111\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512z\"]\n};\nconst faBackwardFast = {\n prefix: 'fas',\n iconName: 'backward-fast',\n icon: [512, 512, [9198, \"fast-backward\"], \"f049\", \"M493.6 445c-11.2 5.3-24.5 3.6-34.1-4.4L288 297.7 288 416c0 12.4-7.2 23.7-18.4 29s-24.5 3.6-34.1-4.4L64 297.7 64 416c0 17.7-14.3 32-32 32s-32-14.3-32-32L0 96C0 78.3 14.3 64 32 64s32 14.3 32 32l0 118.3L235.5 71.4c9.5-7.9 22.8-9.7 34.1-4.4S288 83.6 288 96l0 118.3L459.5 71.4c9.5-7.9 22.8-9.7 34.1-4.4S512 83.6 512 96l0 320c0 12.4-7.2 23.7-18.4 29z\"]\n};\nconst faFastBackward = faBackwardFast;\nconst faRecycle = {\n prefix: 'fas',\n iconName: 'recycle',\n icon: [512, 512, [9842, 9850, 9851], \"f1b8\", \"M174.7 45.1C192.2 17 223 0 256 0s63.8 17 81.3 45.1l38.6 61.7 27-15.6c8.4-4.9 18.9-4.2 26.6 1.7s11.1 15.9 8.6 25.3l-23.4 87.4c-3.4 12.8-16.6 20.4-29.4 17l-87.4-23.4c-9.4-2.5-16.3-10.4-17.6-20s3.4-19.1 11.8-23.9l28.4-16.4L283 79c-5.8-9.3-16-15-27-15s-21.2 5.7-27 15l-17.5 28c-9.2 14.8-28.6 19.5-43.6 10.5c-15.3-9.2-20.2-29.2-10.7-44.4l17.5-28zM429.5 251.9c15-9 34.4-4.3 43.6 10.5l24.4 39.1c9.4 15.1 14.4 32.4 14.6 50.2c.3 53.1-42.7 96.4-95.8 96.4L320 448l0 32c0 9.7-5.8 18.5-14.8 22.2s-19.3 1.7-26.2-5.2l-64-64c-9.4-9.4-9.4-24.6 0-33.9l64-64c6.9-6.9 17.2-8.9 26.2-5.2s14.8 12.5 14.8 22.2l0 32 96.2 0c17.6 0 31.9-14.4 31.8-32c0-5.9-1.7-11.7-4.8-16.7l-24.4-39.1c-9.5-15.2-4.7-35.2 10.7-44.4zm-364.6-31L36 204.2c-8.4-4.9-13.1-14.3-11.8-23.9s8.2-17.5 17.6-20l87.4-23.4c12.8-3.4 26 4.2 29.4 17L182 241.2c2.5 9.4-.9 19.3-8.6 25.3s-18.2 6.6-26.6 1.7l-26.5-15.3L68.8 335.3c-3.1 5-4.8 10.8-4.8 16.7c-.1 17.6 14.2 32 31.8 32l32.2 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-32.2 0C42.7 448-.3 404.8 0 351.6c.1-17.8 5.1-35.1 14.6-50.2l50.3-80.5z\"]\n};\nconst faUserAstronaut = {\n prefix: 'fas',\n iconName: 'user-astronaut',\n icon: [448, 512, [], \"f4fb\", \"M370.7 96.1C346.1 39.5 289.7 0 224 0S101.9 39.5 77.3 96.1C60.9 97.5 48 111.2 48 128l0 64c0 16.8 12.9 30.5 29.3 31.9C101.9 280.5 158.3 320 224 320s122.1-39.5 146.7-96.1c16.4-1.4 29.3-15.1 29.3-31.9l0-64c0-16.8-12.9-30.5-29.3-31.9zM336 144l0 16c0 53-43 96-96 96l-32 0c-53 0-96-43-96-96l0-16c0-26.5 21.5-48 48-48l128 0c26.5 0 48 21.5 48 48zM189.3 162.7l-6-21.2c-.9-3.3-3.9-5.5-7.3-5.5s-6.4 2.2-7.3 5.5l-6 21.2-21.2 6c-3.3 .9-5.5 3.9-5.5 7.3s2.2 6.4 5.5 7.3l21.2 6 6 21.2c.9 3.3 3.9 5.5 7.3 5.5s6.4-2.2 7.3-5.5l6-21.2 21.2-6c3.3-.9 5.5-3.9 5.5-7.3s-2.2-6.4-5.5-7.3l-21.2-6zM112.7 316.5C46.7 342.6 0 407 0 482.3C0 498.7 13.3 512 29.7 512l98.3 0 0-64c0-17.7 14.3-32 32-32l128 0c17.7 0 32 14.3 32 32l0 64 98.3 0c16.4 0 29.7-13.3 29.7-29.7c0-75.3-46.7-139.7-112.7-165.8C303.9 338.8 265.5 352 224 352s-79.9-13.2-111.3-35.5zM176 448c-8.8 0-16 7.2-16 16l0 48 32 0 0-48c0-8.8-7.2-16-16-16zm96 32a16 16 0 1 0 0-32 16 16 0 1 0 0 32z\"]\n};\nconst faPlaneSlash = {\n prefix: 'fas',\n iconName: 'plane-slash',\n icon: [640, 512, [], \"e069\", \"M514.3 192c34.2 0 93.7 29 93.7 64c0 36-59.5 64-93.7 64l-73.8 0L630.8 469.1c10.4 8.2 12.3 23.3 4.1 33.7s-23.3 12.3-33.7 4.1L9.2 42.9C-1.2 34.7-3.1 19.6 5.1 9.2S28.4-3.1 38.8 5.1L238.1 161.3 197.8 20.4C194.9 10.2 202.6 0 213.2 0l56.2 0c11.5 0 22.1 6.2 27.8 16.1L397.7 192l116.6 0zM41.5 128.7l321 252.9L297.2 495.9c-5.7 10-16.3 16.1-27.8 16.1l-56.2 0c-10.6 0-18.3-10.2-15.4-20.4l49-171.6L144 320l-43.2 57.6c-3 4-7.8 6.4-12.8 6.4l-42 0c-7.8 0-14-6.3-14-14c0-1.3 .2-2.6 .5-3.9L64 256 32.5 145.9c-.4-1.3-.5-2.6-.5-3.9c0-6.2 4-11.4 9.5-13.3z\"]\n};\nconst faTrademark = {\n prefix: 'fas',\n iconName: 'trademark',\n icon: [640, 512, [8482], \"f25c\", \"M345.6 108.8c-8.3-11-22.7-15.5-35.7-11.2S288 114.2 288 128l0 256c0 17.7 14.3 32 32 32s32-14.3 32-32l0-160 86.4 115.2c6 8.1 15.5 12.8 25.6 12.8s19.6-4.7 25.6-12.8L576 224l0 160c0 17.7 14.3 32 32 32s32-14.3 32-32l0-256c0-13.8-8.8-26-21.9-30.4s-27.5 .1-35.7 11.2L464 266.7 345.6 108.8zM0 128c0 17.7 14.3 32 32 32l64 0 0 224c0 17.7 14.3 32 32 32s32-14.3 32-32l0-224 64 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L32 96C14.3 96 0 110.3 0 128z\"]\n};\nconst faBasketball = {\n prefix: 'fas',\n iconName: 'basketball',\n icon: [512, 512, [127936, \"basketball-ball\"], \"f434\", \"M86.6 64l85.2 85.2C194.5 121.7 208 86.4 208 48c0-14.7-2-28.9-5.7-42.4C158.6 15 119 35.5 86.6 64zM64 86.6C35.5 119 15 158.6 5.6 202.3C19.1 206 33.3 208 48 208c38.4 0 73.7-13.5 101.3-36.1L64 86.6zM256 0c-7.3 0-14.6 .3-21.8 .9C238 16 240 31.8 240 48c0 47.3-17.1 90.5-45.4 124L256 233.4 425.4 64C380.2 24.2 320.9 0 256 0zM48 240c-16.2 0-32-2-47.1-5.8C.3 241.4 0 248.7 0 256c0 64.9 24.2 124.2 64 169.4L233.4 256 172 194.6C138.5 222.9 95.3 240 48 240zm463.1 37.8c.6-7.2 .9-14.5 .9-21.8c0-64.9-24.2-124.2-64-169.4L278.6 256 340 317.4c33.4-28.3 76.7-45.4 124-45.4c16.2 0 32 2 47.1 5.8zm-4.7 31.9C492.9 306 478.7 304 464 304c-38.4 0-73.7 13.5-101.3 36.1L448 425.4c28.5-32.3 49.1-71.9 58.4-115.7zM340.1 362.7C317.5 390.3 304 425.6 304 464c0 14.7 2 28.9 5.7 42.4C353.4 497 393 476.5 425.4 448l-85.2-85.2zM317.4 340L256 278.6 86.6 448c45.1 39.8 104.4 64 169.4 64c7.3 0 14.6-.3 21.8-.9C274 496 272 480.2 272 464c0-47.3 17.1-90.5 45.4-124z\"]\n};\nconst faBasketballBall = faBasketball;\nconst faSatelliteDish = {\n prefix: 'fas',\n iconName: 'satellite-dish',\n icon: [512, 512, [128225], \"f7c0\", \"M192 32c0-17.7 14.3-32 32-32C383.1 0 512 128.9 512 288c0 17.7-14.3 32-32 32s-32-14.3-32-32C448 164.3 347.7 64 224 64c-17.7 0-32-14.3-32-32zM60.6 220.6L164.7 324.7l28.4-28.4c-.7-2.6-1.1-5.4-1.1-8.3c0-17.7 14.3-32 32-32s32 14.3 32 32s-14.3 32-32 32c-2.9 0-5.6-.4-8.3-1.1l-28.4 28.4L291.4 451.4c14.5 14.5 11.8 38.8-7.3 46.3C260.5 506.9 234.9 512 208 512C93.1 512 0 418.9 0 304c0-26.9 5.1-52.5 14.4-76.1c7.5-19 31.8-21.8 46.3-7.3zM224 96c106 0 192 86 192 192c0 17.7-14.3 32-32 32s-32-14.3-32-32c0-70.7-57.3-128-128-128c-17.7 0-32-14.3-32-32s14.3-32 32-32z\"]\n};\nconst faCircleUp = {\n prefix: 'fas',\n iconName: 'circle-up',\n icon: [512, 512, [61467, \"arrow-alt-circle-up\"], \"f35b\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm11.3-395.3l112 112c4.6 4.6 5.9 11.5 3.5 17.4s-8.3 9.9-14.8 9.9l-64 0 0 96c0 17.7-14.3 32-32 32l-32 0c-17.7 0-32-14.3-32-32l0-96-64 0c-6.5 0-12.3-3.9-14.8-9.9s-1.1-12.9 3.5-17.4l112-112c6.2-6.2 16.4-6.2 22.6 0z\"]\n};\nconst faArrowAltCircleUp = faCircleUp;\nconst faMobileScreenButton = {\n prefix: 'fas',\n iconName: 'mobile-screen-button',\n icon: [384, 512, [\"mobile-alt\"], \"f3cd\", \"M16 64C16 28.7 44.7 0 80 0L304 0c35.3 0 64 28.7 64 64l0 384c0 35.3-28.7 64-64 64L80 512c-35.3 0-64-28.7-64-64L16 64zM224 448a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM304 64L80 64l0 320 224 0 0-320z\"]\n};\nconst faMobileAlt = faMobileScreenButton;\nconst faVolumeHigh = {\n prefix: 'fas',\n iconName: 'volume-high',\n icon: [640, 512, [128266, \"volume-up\"], \"f028\", \"M533.6 32.5C598.5 85.2 640 165.8 640 256s-41.5 170.7-106.4 223.5c-10.3 8.4-25.4 6.8-33.8-3.5s-6.8-25.4 3.5-33.8C557.5 398.2 592 331.2 592 256s-34.5-142.2-88.7-186.3c-10.3-8.4-11.8-23.5-3.5-33.8s23.5-11.8 33.8-3.5zM473.1 107c43.2 35.2 70.9 88.9 70.9 149s-27.7 113.8-70.9 149c-10.3 8.4-25.4 6.8-33.8-3.5s-6.8-25.4 3.5-33.8C475.3 341.3 496 301.1 496 256s-20.7-85.3-53.2-111.8c-10.3-8.4-11.8-23.5-3.5-33.8s23.5-11.8 33.8-3.5zm-60.5 74.5C434.1 199.1 448 225.9 448 256s-13.9 56.9-35.4 74.5c-10.3 8.4-25.4 6.8-33.8-3.5s-6.8-25.4 3.5-33.8C393.1 284.4 400 271 400 256s-6.9-28.4-17.7-37.3c-10.3-8.4-11.8-23.5-3.5-33.8s23.5-11.8 33.8-3.5zM301.1 34.8C312.6 40 320 51.4 320 64l0 384c0 12.6-7.4 24-18.9 29.2s-25 3.1-34.4-5.3L131.8 352 64 352c-35.3 0-64-28.7-64-64l0-64c0-35.3 28.7-64 64-64l67.8 0L266.7 40.1c9.4-8.4 22.9-10.4 34.4-5.3z\"]\n};\nconst faVolumeUp = faVolumeHigh;\nconst faUsersRays = {\n prefix: 'fas',\n iconName: 'users-rays',\n icon: [640, 512, [], \"e593\", \"M41 7C31.6-2.3 16.4-2.3 7 7S-2.3 31.6 7 41l72 72c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L41 7zM599 7L527 79c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l72-72c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0zM7 505c9.4 9.4 24.6 9.4 33.9 0l72-72c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L7 471c-9.4 9.4-9.4 24.6 0 33.9zm592 0c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-72-72c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l72 72zM320 256a64 64 0 1 0 0-128 64 64 0 1 0 0 128zM212.1 336c-2.7 7.5-4.1 15.6-4.1 24c0 13.3 10.7 24 24 24l176 0c13.3 0 24-10.7 24-24c0-8.4-1.4-16.5-4.1-24c-.5-1.4-1-2.7-1.6-4c-9.4-22.3-29.8-38.9-54.3-43c-3.9-.7-7.9-1-12-1l-80 0c-4.1 0-8.1 .3-12 1c-.8 .1-1.7 .3-2.5 .5c-24.9 5.1-45.1 23-53.4 46.5zM175.8 224a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm-26.5 32C119.9 256 96 279.9 96 309.3c0 14.7 11.9 26.7 26.7 26.7l56.1 0c8-34.1 32.8-61.7 65.2-73.6c-7.5-4.1-16.2-6.4-25.3-6.4l-69.3 0zm368 80c14.7 0 26.7-11.9 26.7-26.7c0-29.5-23.9-53.3-53.3-53.3l-69.3 0c-9.2 0-17.8 2.3-25.3 6.4c32.4 11.9 57.2 39.5 65.2 73.6l56.1 0zM464 224a48 48 0 1 0 0-96 48 48 0 1 0 0 96z\"]\n};\nconst faWallet = {\n prefix: 'fas',\n iconName: 'wallet',\n icon: [512, 512, [], \"f555\", \"M64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64l0-224c0-35.3-28.7-64-64-64L80 128c-8.8 0-16-7.2-16-16s7.2-16 16-16l368 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L64 32zM416 272a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nconst faClipboardCheck = {\n prefix: 'fas',\n iconName: 'clipboard-check',\n icon: [384, 512, [], \"f46c\", \"M192 0c-41.8 0-77.4 26.7-90.5 64L64 64C28.7 64 0 92.7 0 128L0 448c0 35.3 28.7 64 64 64l256 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64l-37.5 0C269.4 26.7 233.8 0 192 0zm0 64a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM305 273L177 401c-9.4 9.4-24.6 9.4-33.9 0L79 337c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L271 239c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z\"]\n};\nconst faFileAudio = {\n prefix: 'fas',\n iconName: 'file-audio',\n icon: [384, 512, [], \"f1c7\", \"M64 0C28.7 0 0 28.7 0 64L0 448c0 35.3 28.7 64 64 64l256 0c35.3 0 64-28.7 64-64l0-288-128 0c-17.7 0-32-14.3-32-32L224 0 64 0zM256 0l0 128 128 0L256 0zm2 226.3c37.1 22.4 62 63.1 62 109.7s-24.9 87.3-62 109.7c-7.6 4.6-17.4 2.1-22-5.4s-2.1-17.4 5.4-22C269.4 401.5 288 370.9 288 336s-18.6-65.5-46.5-82.3c-7.6-4.6-10-14.4-5.4-22s14.4-10 22-5.4zm-91.9 30.9c6 2.5 9.9 8.3 9.9 14.8l0 128c0 6.5-3.9 12.3-9.9 14.8s-12.9 1.1-17.4-3.5L113.4 376 80 376c-8.8 0-16-7.2-16-16l0-48c0-8.8 7.2-16 16-16l33.4 0 35.3-35.3c4.6-4.6 11.5-5.9 17.4-3.5zm51 34.9c6.6-5.9 16.7-5.3 22.6 1.3C249.8 304.6 256 319.6 256 336s-6.2 31.4-16.3 42.7c-5.9 6.6-16 7.1-22.6 1.3s-7.1-16-1.3-22.6c5.1-5.7 8.1-13.1 8.1-21.3s-3.1-15.7-8.1-21.3c-5.9-6.6-5.3-16.7 1.3-22.6z\"]\n};\nconst faBurger = {\n prefix: 'fas',\n iconName: 'burger',\n icon: [512, 512, [\"hamburger\"], \"f805\", \"M61.1 224C45 224 32 211 32 194.9c0-1.9 .2-3.7 .6-5.6C37.9 168.3 78.8 32 256 32s218.1 136.3 223.4 157.3c.5 1.9 .6 3.7 .6 5.6c0 16.1-13 29.1-29.1 29.1L61.1 224zM144 128a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm240 16a16 16 0 1 0 0-32 16 16 0 1 0 0 32zM272 96a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zM16 304c0-26.5 21.5-48 48-48l384 0c26.5 0 48 21.5 48 48s-21.5 48-48 48L64 352c-26.5 0-48-21.5-48-48zm16 96c0-8.8 7.2-16 16-16l416 0c8.8 0 16 7.2 16 16l0 16c0 35.3-28.7 64-64 64L96 480c-35.3 0-64-28.7-64-64l0-16z\"]\n};\nconst faHamburger = faBurger;\nconst faWrench = {\n prefix: 'fas',\n iconName: 'wrench',\n icon: [512, 512, [128295], \"f0ad\", \"M352 320c88.4 0 160-71.6 160-160c0-15.3-2.2-30.1-6.2-44.2c-3.1-10.8-16.4-13.2-24.3-5.3l-76.8 76.8c-3 3-7.1 4.7-11.3 4.7L336 192c-8.8 0-16-7.2-16-16l0-57.4c0-4.2 1.7-8.3 4.7-11.3l76.8-76.8c7.9-7.9 5.4-21.2-5.3-24.3C382.1 2.2 367.3 0 352 0C263.6 0 192 71.6 192 160c0 19.1 3.4 37.5 9.5 54.5L19.9 396.1C7.2 408.8 0 426.1 0 444.1C0 481.6 30.4 512 67.9 512c18 0 35.3-7.2 48-19.9L297.5 310.5c17 6.2 35.4 9.5 54.5 9.5zM80 408a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nconst faBugs = {\n prefix: 'fas',\n iconName: 'bugs',\n icon: [576, 512, [], \"e4d0\", \"M164.5 107.4l33.4-73.5c5.5-12.1 .1-26.3-11.9-31.8s-26.3-.1-31.8 11.9L128 71.7 101.9 14.1C96.4 2 82.1-3.3 70.1 2.1S52.7 21.9 58.1 33.9l33.4 73.5c-10.2 7.1-18.2 17-22.9 28.6l-17 0-4.1-20.7c-2.6-13-15.2-21.4-28.2-18.8S-2.1 111.7 .5 124.7l8 40C10.7 175.9 20.6 184 32 184l32 0 0 23.3-37.8 9.5c-9.5 2.4-16.6 10.2-17.9 19.9l-8 56c-1.9 13.1 7.2 25.3 20.4 27.2s25.3-7.2 27.2-20.4l5.7-40 18.4-4.6C82.7 274.6 103.8 288 128 288s45.3-13.4 56.1-33.2l18.4 4.6 5.7 40c1.9 13.1 14 22.2 27.2 20.4s22.2-14 20.4-27.2l-8-56c-1.4-9.7-8.5-17.5-17.9-19.9L192 207.3l0-23.3 32 0c11.4 0 21.3-8.1 23.5-19.3l8-40c2.6-13-5.8-25.6-18.8-28.2s-25.6 5.8-28.2 18.8L204.3 136l-17 0c-4.7-11.6-12.7-21.5-22.9-28.6zM496 286.5l65.6-47c10.8-7.7 13.3-22.7 5.6-33.5s-22.7-13.3-33.5-5.6l-51.4 36.8 6.1-62.9c1.3-13.2-8.4-24.9-21.6-26.2s-24.9 8.4-26.2 21.6L432.8 250c-12.3 1-24.2 5.6-34.1 13.3L384 254.8l6.8-20c4.2-12.6-2.5-26.2-15-30.4s-26.2 2.5-30.4 15l-13.1 38.6c-3.7 10.8 .8 22.8 10.7 28.5l27.7 16L359 322.7 321.5 312c-9.4-2.7-19.5 .6-25.5 8.3l-34.9 44.5c-8.2 10.4-6.4 25.5 4.1 33.7s25.5 6.4 33.7-4.1l25-31.8 18.2 5.2c-.5 22.6 11 44.7 32 56.8s45.9 11 65.2-.7l13.6 13.2-15.1 37.5c-4.9 12.3 1 26.3 13.3 31.2s26.3-1 31.2-13.3L503.5 440c3.6-9.1 1.4-19.4-5.6-26.2l-28-27.1 11.6-20.1 27.7 16c9.9 5.7 22.5 3.7 30-4.9L566.2 347c8.7-10 7.8-25.1-2.2-33.9s-25.1-7.8-33.9 2.2l-13.9 15.9-14.7-8.5c1.7-12.4-.2-25-5.5-36.2z\"]\n};\nconst faRupeeSign = {\n prefix: 'fas',\n iconName: 'rupee-sign',\n icon: [448, 512, [8360, \"rupee\"], \"f156\", \"M0 64C0 46.3 14.3 32 32 32l80 0c79.5 0 144 64.5 144 144c0 58.8-35.2 109.3-85.7 131.7l51.4 128.4c6.6 16.4-1.4 35-17.8 41.6s-35-1.4-41.6-17.8L106.3 320 64 320l0 128c0 17.7-14.3 32-32 32s-32-14.3-32-32L0 288 0 64zM64 256l48 0c44.2 0 80-35.8 80-80s-35.8-80-80-80L64 96l0 160zm256.5 16.4c-.9 6 0 8.7 .4 9.8c.4 1.1 1.4 2.6 4.2 4.9c7.2 5.7 18.7 10 37.9 16.8l1.3 .5c16 5.6 38.7 13.6 55.7 28.1c9.5 8.1 17.9 18.6 23.1 32.3c5.1 13.7 6.1 28.5 3.8 44c-4.2 28.1-20.5 49.3-43.8 60.9c-22.1 11-48.1 12.5-73.2 8l-.2 0s0 0 0 0c-9.3-1.8-20.5-5.7-29.3-9c-6-2.3-12.6-4.9-17.7-6.9c0 0 0 0 0 0c-2.5-1-4.6-1.8-6.3-2.5c-16.5-6.4-24.6-25-18.2-41.4s24.9-24.6 41.4-18.2c2.6 1 5.2 2 7.9 3.1c0 0 0 0 0 0c4.8 1.9 9.8 3.9 15.4 6c8.8 3.3 15.3 5.4 18.7 6c15.7 2.8 26.7 .8 32.9-2.3c5-2.5 8-6 9.1-13c1-6.9 .2-10.5-.5-12.3c-.6-1.7-1.8-3.6-4.5-5.9c-6.9-5.8-18.2-10.4-36.9-17l-3-1.1c-15.5-5.4-37-13-53.3-25.9c-9.5-7.5-18.3-17.6-23.7-31c-5.5-13.4-6.6-28-4.4-43.2c8.4-57.1 67-78 116.9-68.9c6.9 1.3 27.3 5.8 35.4 8.4c16.9 5.2 26.3 23.2 21.1 40.1s-23.2 26.3-40.1 21.1c-4.7-1.4-22.3-5.5-27.9-6.5c-14.6-2.7-25.8-.4-32.6 3.2c-6.3 3.3-8.9 7.6-9.5 12z\"]\n};\nconst faRupee = faRupeeSign;\nconst faFileImage = {\n prefix: 'fas',\n iconName: 'file-image',\n icon: [384, 512, [128443], \"f1c5\", \"M64 0C28.7 0 0 28.7 0 64L0 448c0 35.3 28.7 64 64 64l256 0c35.3 0 64-28.7 64-64l0-288-128 0c-17.7 0-32-14.3-32-32L224 0 64 0zM256 0l0 128 128 0L256 0zM64 256a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm152 32c5.3 0 10.2 2.6 13.2 6.9l88 128c3.4 4.9 3.7 11.3 1 16.5s-8.2 8.6-14.2 8.6l-88 0-40 0-48 0-48 0c-5.8 0-11.1-3.1-13.9-8.1s-2.8-11.2 .2-16.1l48-80c2.9-4.8 8.1-7.8 13.7-7.8s10.8 2.9 13.7 7.8l12.8 21.4 48.3-70.2c3-4.3 7.9-6.9 13.2-6.9z\"]\n};\nconst faCircleQuestion = {\n prefix: 'fas',\n iconName: 'circle-question',\n icon: [512, 512, [62108, \"question-circle\"], \"f059\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM169.8 165.3c7.9-22.3 29.1-37.3 52.8-37.3l58.3 0c34.9 0 63.1 28.3 63.1 63.1c0 22.6-12.1 43.5-31.7 54.8L280 264.4c-.2 13-10.9 23.6-24 23.6c-13.3 0-24-10.7-24-24l0-13.5c0-8.6 4.6-16.5 12.1-20.8l44.3-25.4c4.7-2.7 7.6-7.7 7.6-13.1c0-8.4-6.8-15.1-15.1-15.1l-58.3 0c-3.4 0-6.4 2.1-7.5 5.3l-.4 1.2c-4.4 12.5-18.2 19-30.6 14.6s-19-18.2-14.6-30.6l.4-1.2zM224 352a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nconst faQuestionCircle = faCircleQuestion;\nconst faPlaneDeparture = {\n prefix: 'fas',\n iconName: 'plane-departure',\n icon: [640, 512, [128747], \"f5b0\", \"M381 114.9L186.1 41.8c-16.7-6.2-35.2-5.3-51.1 2.7L89.1 67.4C78 73 77.2 88.5 87.6 95.2l146.9 94.5L136 240 77.8 214.1c-8.7-3.9-18.8-3.7-27.3 .6L18.3 230.8c-9.3 4.7-11.8 16.8-5 24.7l73.1 85.3c6.1 7.1 15 11.2 24.3 11.2l137.7 0c5 0 9.9-1.2 14.3-3.4L535.6 212.2c46.5-23.3 82.5-63.3 100.8-112C645.9 75 627.2 48 600.2 48l-57.4 0c-20.2 0-40.2 4.8-58.2 14L381 114.9zM0 480c0 17.7 14.3 32 32 32l576 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L32 448c-17.7 0-32 14.3-32 32z\"]\n};\nconst faHandshakeSlash = {\n prefix: 'fas',\n iconName: 'handshake-slash',\n icon: [640, 512, [], \"e060\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7l-135-105.8c-1.1-11.4-6.3-22.3-15.3-30.7l-134.2-123-23.4 18.2-26-20.3 77.2-60.1c7-5.4 17-4.2 22.5 2.8s4.2 17-2.8 22.5l-20.9 16.2L512 316.8 512 128l-.7 0-3.9-2.5L434.8 79c-15.3-9.8-33.2-15-51.4-15c-21.8 0-43 7.5-60 21.2l-89.7 72.6-25.8-20.3 81.8-66.2c-11.6-4.9-24.1-7.4-36.8-7.4C234 64 215.7 69.6 200 80l-35.5 23.7L38.8 5.1zM96 171.6L40.6 128 0 128 0 352c0 17.7 14.3 32 32 32l32 0c17.7 0 32-14.3 32-32l0-180.4zM413.6 421.9L128 196.9 128 352l28.2 0 91.4 83.4c19.6 17.9 49.9 16.5 67.8-3.1c5.5-6.1 9.2-13.2 11.1-20.6l17 15.6c19.5 17.9 49.9 16.6 67.8-2.9c.8-.8 1.5-1.7 2.2-2.6zM48 320a16 16 0 1 1 0 32 16 16 0 1 1 0-32zM544 128l0 224c0 17.7 14.3 32 32 32l32 0c17.7 0 32-14.3 32-32l0-224-96 0zm32 208a16 16 0 1 1 32 0 16 16 0 1 1 -32 0z\"]\n};\nconst faBookBookmark = {\n prefix: 'fas',\n iconName: 'book-bookmark',\n icon: [448, 512, [], \"e0bb\", \"M0 96C0 43 43 0 96 0l96 0 0 190.7c0 13.4 15.5 20.9 26 12.5L272 160l54 43.2c10.5 8.4 26 .9 26-12.5L352 0l32 0 32 0c17.7 0 32 14.3 32 32l0 320c0 17.7-14.3 32-32 32l0 64c17.7 0 32 14.3 32 32s-14.3 32-32 32l-32 0L96 512c-53 0-96-43-96-96L0 96zM64 416c0 17.7 14.3 32 32 32l256 0 0-64L96 384c-17.7 0-32 14.3-32 32z\"]\n};\nconst faCodeBranch = {\n prefix: 'fas',\n iconName: 'code-branch',\n icon: [448, 512, [], \"f126\", \"M80 104a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm80-24c0 32.8-19.7 61-48 73.3l0 87.8c18.8-10.9 40.7-17.1 64-17.1l96 0c35.3 0 64-28.7 64-64l0-6.7C307.7 141 288 112.8 288 80c0-44.2 35.8-80 80-80s80 35.8 80 80c0 32.8-19.7 61-48 73.3l0 6.7c0 70.7-57.3 128-128 128l-96 0c-35.3 0-64 28.7-64 64l0 6.7c28.3 12.3 48 40.5 48 73.3c0 44.2-35.8 80-80 80s-80-35.8-80-80c0-32.8 19.7-61 48-73.3l0-6.7 0-198.7C19.7 141 0 112.8 0 80C0 35.8 35.8 0 80 0s80 35.8 80 80zm232 0a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM80 456a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nconst faHatCowboy = {\n prefix: 'fas',\n iconName: 'hat-cowboy',\n icon: [640, 512, [], \"f8c0\", \"M320 64c14.4 0 22.3-7 30.8-14.4C360.4 41.1 370.7 32 392 32c49.3 0 84.4 152.2 97.9 221.9C447.8 272.1 390.9 288 320 288s-127.8-15.9-169.9-34.1C163.6 184.2 198.7 32 248 32c21.3 0 31.6 9.1 41.2 17.6C297.7 57 305.6 64 320 64zM111.1 270.7c47.2 24.5 117.5 49.3 209 49.3s161.8-24.8 208.9-49.3c24.8-12.9 49.8-28.3 70.1-47.7c7.9-7.9 20.2-9.2 29.6-3.3c9.5 5.9 13.5 17.9 9.9 28.5c-13.5 37.7-38.4 72.3-66.1 100.6C523.7 398.9 443.6 448 320 448s-203.6-49.1-252.5-99.2C39.8 320.4 14.9 285.8 1.4 248.1c-3.6-10.6 .4-22.6 9.9-28.5c9.5-5.9 21.7-4.5 29.6 3.3c20.4 19.4 45.3 34.8 70.1 47.7z\"]\n};\nconst faBridge = {\n prefix: 'fas',\n iconName: 'bridge',\n icon: [576, 512, [], \"e4c8\", \"M32 32C14.3 32 0 46.3 0 64S14.3 96 32 96l40 0 0 64L0 160 0 288c53 0 96 43 96 96l0 64c0 17.7 14.3 32 32 32l32 0c17.7 0 32-14.3 32-32l0-64c0-53 43-96 96-96s96 43 96 96l0 64c0 17.7 14.3 32 32 32l32 0c17.7 0 32-14.3 32-32l0-64c0-53 43-96 96-96l0-128-72 0 0-64 40 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L32 32zM456 96l0 64-80 0 0-64 80 0zM328 96l0 64-80 0 0-64 80 0zM200 96l0 64-80 0 0-64 80 0z\"]\n};\nconst faPhoneFlip = {\n prefix: 'fas',\n iconName: 'phone-flip',\n icon: [512, 512, [128381, \"phone-alt\"], \"f879\", \"M347.1 24.6c7.7-18.6 28-28.5 47.4-23.2l88 24C499.9 30.2 512 46 512 64c0 247.4-200.6 448-448 448c-18 0-33.8-12.1-38.6-29.5l-24-88c-5.3-19.4 4.6-39.7 23.2-47.4l96-40c16.3-6.8 35.2-2.1 46.3 11.6L207.3 368c70.4-33.3 127.4-90.3 160.7-160.7L318.7 167c-13.7-11.2-18.4-30-11.6-46.3l40-96z\"]\n};\nconst faPhoneAlt = faPhoneFlip;\nconst faTruckFront = {\n prefix: 'fas',\n iconName: 'truck-front',\n icon: [512, 512, [], \"e2b7\", \"M0 80C0 35.8 35.8 0 80 0L432 0c44.2 0 80 35.8 80 80l0 288c0 26.2-12.6 49.4-32 64l0 48c0 17.7-14.3 32-32 32l-32 0c-17.7 0-32-14.3-32-32l0-32-256 0 0 32c0 17.7-14.3 32-32 32l-32 0c-17.7 0-32-14.3-32-32l0-48C12.6 417.4 0 394.2 0 368L0 80zm129.9 72.2L112 224l288 0-17.9-71.8C378.5 138 365.7 128 351 128l-190 0c-14.7 0-27.5 10-31 24.2zM128 320a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm288 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nconst faCat = {\n prefix: 'fas',\n iconName: 'cat',\n icon: [576, 512, [128008], \"f6be\", \"M320 192l17.1 0c22.1 38.3 63.5 64 110.9 64c11 0 21.8-1.4 32-4l0 4 0 32 0 192c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-140.8L280 448l56 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-144 0c-53 0-96-43-96-96l0-223.5c0-16.1-12-29.8-28-31.8l-7.9-1c-17.5-2.2-30-18.2-27.8-35.7s18.2-30 35.7-27.8l7.9 1c48 6 84.1 46.8 84.1 95.3l0 85.3c34.4-51.7 93.2-85.8 160-85.8zm160 26.5s0 0 0 0c-10 3.5-20.8 5.5-32 5.5c-28.4 0-54-12.4-71.6-32c0 0 0 0 0 0c-3.7-4.1-7-8.5-9.9-13.2C357.3 164 352 146.6 352 128c0 0 0 0 0 0l0-96 0-20 0-1.3C352 4.8 356.7 .1 362.6 0l.2 0c3.3 0 6.4 1.6 8.4 4.2c0 0 0 0 0 .1L384 21.3l27.2 36.3L416 64l64 0 4.8-6.4L512 21.3 524.8 4.3c0 0 0 0 0-.1c2-2.6 5.1-4.2 8.4-4.2l.2 0C539.3 .1 544 4.8 544 10.7l0 1.3 0 20 0 96c0 17.3-4.6 33.6-12.6 47.6c-11.3 19.8-29.6 35.2-51.4 42.9zM432 128a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm48 16a16 16 0 1 0 0-32 16 16 0 1 0 0 32z\"]\n};\nconst faAnchorCircleExclamation = {\n prefix: 'fas',\n iconName: 'anchor-circle-exclamation',\n icon: [640, 512, [], \"e4ab\", \"M320 96a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zm21.1 80C367 158.8 384 129.4 384 96c0-53-43-96-96-96s-96 43-96 96c0 33.4 17 62.8 42.9 80L224 176c-17.7 0-32 14.3-32 32s14.3 32 32 32l32 0 0 208-48 0c-53 0-96-43-96-96l0-6.1 7 7c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L97 263c-9.4-9.4-24.6-9.4-33.9 0L7 319c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l7-7 0 6.1c0 88.4 71.6 160 160 160l80 0 80 0c8.2 0 16.3-.6 24.2-1.8c-22.2-16.2-40.4-37.5-53-62.2L320 448l0-80 0-128 32 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-10.9 0zM496 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm0-96a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0-144c8.8 0 16 7.2 16 16l0 80c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-80c0-8.8 7.2-16 16-16z\"]\n};\nconst faTruckField = {\n prefix: 'fas',\n iconName: 'truck-field',\n icon: [640, 512, [], \"e58d\", \"M32 96c0-35.3 28.7-64 64-64l224 0c23.7 0 44.4 12.9 55.4 32l51.8 0c25.3 0 48.2 14.9 58.5 38l52.8 118.8c.5 1.1 .9 2.1 1.3 3.2l4.2 0c35.3 0 64 28.7 64 64l0 32c17.7 0 32 14.3 32 32s-14.3 32-32 32l-32 0c0 53-43 96-96 96s-96-43-96-96l-128 0c0 53-43 96-96 96s-96-43-96-96l-32 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l0-32c-17.7 0-32-14.3-32-32l0-96c0-17.7 14.3-32 32-32l0-32zM384 224l85.9 0-42.7-96L384 128l0 96zM160 432a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm368-48a48 48 0 1 0 -96 0 48 48 0 1 0 96 0z\"]\n};\nconst faRoute = {\n prefix: 'fas',\n iconName: 'route',\n icon: [512, 512, [], \"f4d7\", \"M512 96c0 50.2-59.1 125.1-84.6 155c-3.8 4.4-9.4 6.1-14.5 5L320 256c-17.7 0-32 14.3-32 32s14.3 32 32 32l96 0c53 0 96 43 96 96s-43 96-96 96l-276.4 0c8.7-9.9 19.3-22.6 30-36.8c6.3-8.4 12.8-17.6 19-27.2L416 448c17.7 0 32-14.3 32-32s-14.3-32-32-32l-96 0c-53 0-96-43-96-96s43-96 96-96l39.8 0c-21-31.5-39.8-67.7-39.8-96c0-53 43-96 96-96s96 43 96 96zM117.1 489.1c-3.8 4.3-7.2 8.1-10.1 11.3l-1.8 2-.2-.2c-6 4.6-14.6 4-20-1.8C59.8 473 0 402.5 0 352c0-53 43-96 96-96s96 43 96 96c0 30-21.1 67-43.5 97.9c-10.7 14.7-21.7 28-30.8 38.5l-.6 .7zM128 352a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM416 128a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nconst faClipboardQuestion = {\n prefix: 'fas',\n iconName: 'clipboard-question',\n icon: [384, 512, [], \"e4e3\", \"M192 0c-41.8 0-77.4 26.7-90.5 64L64 64C28.7 64 0 92.7 0 128L0 448c0 35.3 28.7 64 64 64l256 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64l-37.5 0C269.4 26.7 233.8 0 192 0zm0 64a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM105.8 229.3c7.9-22.3 29.1-37.3 52.8-37.3l58.3 0c34.9 0 63.1 28.3 63.1 63.1c0 22.6-12.1 43.5-31.7 54.8L216 328.4c-.2 13-10.9 23.6-24 23.6c-13.3 0-24-10.7-24-24l0-13.5c0-8.6 4.6-16.5 12.1-20.8l44.3-25.4c4.7-2.7 7.6-7.7 7.6-13.1c0-8.4-6.8-15.1-15.1-15.1l-58.3 0c-3.4 0-6.4 2.1-7.5 5.3l-.4 1.2c-4.4 12.5-18.2 19-30.6 14.6s-19-18.2-14.6-30.6l.4-1.2zM160 416a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nconst faPanorama = {\n prefix: 'fas',\n iconName: 'panorama',\n icon: [640, 512, [], \"e209\", \"M45.6 32C20.4 32 0 52.4 0 77.6L0 434.4C0 459.6 20.4 480 45.6 480c5.1 0 10-.8 14.7-2.4C74.6 472.8 177.6 440 320 440s245.4 32.8 259.6 37.6c4.7 1.6 9.7 2.4 14.7 2.4c25.2 0 45.6-20.4 45.6-45.6l0-356.7C640 52.4 619.6 32 594.4 32c-5 0-10 .8-14.7 2.4C565.4 39.2 462.4 72 320 72S74.6 39.2 60.4 34.4C55.6 32.8 50.7 32 45.6 32zM96 160a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm272 0c7.9 0 15.4 3.9 19.8 10.5L512.3 353c5.4 8 5.6 18.4 .4 26.5s-14.7 12.3-24.2 10.7C442.7 382.4 385.2 376 320 376c-65.6 0-123.4 6.5-169.3 14.4c-9.8 1.7-19.7-2.9-24.7-11.5s-4.3-19.4 1.9-27.2L197.3 265c4.6-5.7 11.4-9 18.7-9s14.2 3.3 18.7 9l26.4 33.1 87-127.6c4.5-6.6 11.9-10.5 19.8-10.5z\"]\n};\nconst faCommentMedical = {\n prefix: 'fas',\n iconName: 'comment-medical',\n icon: [512, 512, [], \"f7f5\", \"M256 448c141.4 0 256-93.1 256-208S397.4 32 256 32S0 125.1 0 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9c-5.5 9.2-11.1 16.6-15.2 21.6c-2.1 2.5-3.7 4.4-4.9 5.7c-.6 .6-1 1.1-1.3 1.4l-.3 .3c0 0 0 0 0 0c0 0 0 0 0 0s0 0 0 0s0 0 0 0c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c28.7 0 57.6-8.9 81.6-19.3c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9zM224 160c0-8.8 7.2-16 16-16l32 0c8.8 0 16 7.2 16 16l0 48 48 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-48 0 0 48c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-48-48 0c-8.8 0-16-7.2-16-16l0-32c0-8.8 7.2-16 16-16l48 0 0-48z\"]\n};\nconst faTeethOpen = {\n prefix: 'fas',\n iconName: 'teeth-open',\n icon: [576, 512, [], \"f62f\", \"M96 32C43 32 0 75 0 128l0 64c0 35.3 28.7 64 64 64l448 0c35.3 0 64-28.7 64-64l0-64c0-53-43-96-96-96L96 32zM224 96c26.5 0 48 21.5 48 48l0 56c0 13.3-10.7 24-24 24l-48 0c-13.3 0-24-10.7-24-24l0-56c0-26.5 21.5-48 48-48zm80 48c0-26.5 21.5-48 48-48s48 21.5 48 48l0 56c0 13.3-10.7 24-24 24l-48 0c-13.3 0-24-10.7-24-24l0-56zM96 128c26.5 0 48 21.5 48 48l0 24c0 13.3-10.7 24-24 24l-48 0c-13.3 0-24-10.7-24-24l0-24c0-26.5 21.5-48 48-48zm336 48c0-26.5 21.5-48 48-48s48 21.5 48 48l0 24c0 13.3-10.7 24-24 24l-48 0c-13.3 0-24-10.7-24-24l0-24zM96 480l384 0c53 0 96-43 96-96l0-32c0-35.3-28.7-64-64-64L64 288c-35.3 0-64 28.7-64 64l0 32c0 53 43 96 96 96zm0-64c-26.5 0-48-21.5-48-48l0-24c0-13.3 10.7-24 24-24l48 0c13.3 0 24 10.7 24 24l0 24c0 26.5-21.5 48-48 48zm80-48l0-24c0-13.3 10.7-24 24-24l48 0c13.3 0 24 10.7 24 24l0 24c0 26.5-21.5 48-48 48s-48-21.5-48-48zm176 48c-26.5 0-48-21.5-48-48l0-24c0-13.3 10.7-24 24-24l48 0c13.3 0 24 10.7 24 24l0 24c0 26.5-21.5 48-48 48zm80-48l0-24c0-13.3 10.7-24 24-24l48 0c13.3 0 24 10.7 24 24l0 24c0 26.5-21.5 48-48 48s-48-21.5-48-48z\"]\n};\nconst faFileCircleMinus = {\n prefix: 'fas',\n iconName: 'file-circle-minus',\n icon: [576, 512, [], \"e4ed\", \"M0 64C0 28.7 28.7 0 64 0L224 0l0 128c0 17.7 14.3 32 32 32l128 0 0 38.6C310.1 219.5 256 287.4 256 368c0 59.1 29.1 111.3 73.7 143.3c-3.2 .5-6.4 .7-9.7 .7L64 512c-35.3 0-64-28.7-64-64L0 64zm384 64l-128 0L256 0 384 128zM288 368a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm224 0c0-8.8-7.2-16-16-16l-128 0c-8.8 0-16 7.2-16 16s7.2 16 16 16l128 0c8.8 0 16-7.2 16-16z\"]\n};\nconst faTags = {\n prefix: 'fas',\n iconName: 'tags',\n icon: [512, 512, [], \"f02c\", \"M345 39.1L472.8 168.4c52.4 53 52.4 138.2 0 191.2L360.8 472.9c-9.3 9.4-24.5 9.5-33.9 .2s-9.5-24.5-.2-33.9L438.6 325.9c33.9-34.3 33.9-89.4 0-123.7L310.9 72.9c-9.3-9.4-9.2-24.6 .2-33.9s24.6-9.2 33.9 .2zM0 229.5L0 80C0 53.5 21.5 32 48 32l149.5 0c17 0 33.3 6.7 45.3 18.7l168 168c25 25 25 65.5 0 90.5L277.3 442.7c-25 25-65.5 25-90.5 0l-168-168C6.7 262.7 0 246.5 0 229.5zM144 144a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nconst faWineGlass = {\n prefix: 'fas',\n iconName: 'wine-glass',\n icon: [320, 512, [127863], \"f4e3\", \"M32.1 29.3C33.5 12.8 47.4 0 64 0L256 0c16.6 0 30.5 12.8 31.9 29.3l14 168.4c6 72-42.5 135.2-109.9 150.6l0 99.6 48 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-80 0-80 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l48 0 0-99.6C60.6 333 12.1 269.8 18.1 197.8l14-168.4zm56 98.7l143.8 0-5.3-64L93.4 64l-5.3 64z\"]\n};\nconst faForwardFast = {\n prefix: 'fas',\n iconName: 'forward-fast',\n icon: [512, 512, [9197, \"fast-forward\"], \"f050\", \"M18.4 445c11.2 5.3 24.5 3.6 34.1-4.4L224 297.7 224 416c0 12.4 7.2 23.7 18.4 29s24.5 3.6 34.1-4.4L448 297.7 448 416c0 17.7 14.3 32 32 32s32-14.3 32-32l0-320c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 118.3L276.5 71.4c-9.5-7.9-22.8-9.7-34.1-4.4S224 83.6 224 96l0 118.3L52.5 71.4c-9.5-7.9-22.8-9.7-34.1-4.4S0 83.6 0 96L0 416c0 12.4 7.2 23.7 18.4 29z\"]\n};\nconst faFastForward = faForwardFast;\nconst faFaceMehBlank = {\n prefix: 'fas',\n iconName: 'face-meh-blank',\n icon: [512, 512, [128566, \"meh-blank\"], \"f5a4\", \"M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm208.4-48a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm128 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nconst faMehBlank = faFaceMehBlank;\nconst faSquareParking = {\n prefix: 'fas',\n iconName: 'square-parking',\n icon: [448, 512, [127359, \"parking\"], \"f540\", \"M64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32zM192 256l48 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-48 0 0 64zm48 64l-48 0 0 32c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-64 0-120c0-22.1 17.9-40 40-40l72 0c53 0 96 43 96 96s-43 96-96 96z\"]\n};\nconst faParking = faSquareParking;\nconst faHouseSignal = {\n prefix: 'fas',\n iconName: 'house-signal',\n icon: [576, 512, [], \"e012\", \"M357.7 8.5c-12.3-11.3-31.2-11.3-43.4 0l-208 192c-9.4 8.6-12.7 22-8.5 34c87.1 25.3 155.6 94.2 180.3 181.6L464 416c26.5 0 48-21.5 48-48l0-112 32 0c13.2 0 25-8.1 29.8-20.3s1.6-26.2-8.1-35.2l-208-192zM288 208c0-8.8 7.2-16 16-16l64 0c8.8 0 16 7.2 16 16l0 64c0 8.8-7.2 16-16 16l-64 0c-8.8 0-16-7.2-16-16l0-64zM24 256c-13.3 0-24 10.7-24 24s10.7 24 24 24c101.6 0 184 82.4 184 184c0 13.3 10.7 24 24 24s24-10.7 24-24c0-128.1-103.9-232-232-232zm8 256a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM0 376c0 13.3 10.7 24 24 24c48.6 0 88 39.4 88 88c0 13.3 10.7 24 24 24s24-10.7 24-24c0-75.1-60.9-136-136-136c-13.3 0-24 10.7-24 24z\"]\n};\nconst faBarsProgress = {\n prefix: 'fas',\n iconName: 'bars-progress',\n icon: [512, 512, [\"tasks-alt\"], \"f828\", \"M448 160l-128 0 0-32 128 0 0 32zM48 64C21.5 64 0 85.5 0 112l0 64c0 26.5 21.5 48 48 48l416 0c26.5 0 48-21.5 48-48l0-64c0-26.5-21.5-48-48-48L48 64zM448 352l0 32-256 0 0-32 256 0zM48 288c-26.5 0-48 21.5-48 48l0 64c0 26.5 21.5 48 48 48l416 0c26.5 0 48-21.5 48-48l0-64c0-26.5-21.5-48-48-48L48 288z\"]\n};\nconst faTasksAlt = faBarsProgress;\nconst faFaucetDrip = {\n prefix: 'fas',\n iconName: 'faucet-drip',\n icon: [512, 512, [128688], \"e006\", \"M224 0c17.7 0 32 14.3 32 32l0 12 96-12c17.7 0 32 14.3 32 32s-14.3 32-32 32L256 84l-31-3.9-1-.1-1 .1L192 84 96 96C78.3 96 64 81.7 64 64s14.3-32 32-32l96 12 0-12c0-17.7 14.3-32 32-32zM0 224c0-17.7 14.3-32 32-32l96 0 22.6-22.6c6-6 14.1-9.4 22.6-9.4l18.7 0 0-43.8 32-4 32 4 0 43.8 18.7 0c8.5 0 16.6 3.4 22.6 9.4L320 192l32 0c88.4 0 160 71.6 160 160c0 17.7-14.3 32-32 32l-64 0c-17.7 0-32-14.3-32-32s-14.3-32-32-32l-36.1 0c-20.2 29-53.9 48-91.9 48s-71.7-19-91.9-48L32 320c-17.7 0-32-14.3-32-32l0-64zM436.8 423.4c1.9-4.5 6.3-7.4 11.2-7.4s9.2 2.9 11.2 7.4l18.2 42.4c1.8 4.1 2.7 8.6 2.7 13.1l0 1.2c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-1.2c0-4.5 .9-8.9 2.7-13.1l18.2-42.4z\"]\n};\nconst faCartFlatbed = {\n prefix: 'fas',\n iconName: 'cart-flatbed',\n icon: [640, 512, [\"dolly-flatbed\"], \"f474\", \"M32 0C14.3 0 0 14.3 0 32S14.3 64 32 64l16 0c8.8 0 16 7.2 16 16l0 288c0 44.2 35.8 80 80 80l18.7 0c-1.8 5-2.7 10.4-2.7 16c0 26.5 21.5 48 48 48s48-21.5 48-48c0-5.6-1-11-2.7-16l197.5 0c-1.8 5-2.7 10.4-2.7 16c0 26.5 21.5 48 48 48s48-21.5 48-48c0-5.6-1-11-2.7-16l66.7 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-464 0c-8.8 0-16-7.2-16-16l0-288C128 35.8 92.2 0 48 0L32 0zM192 80l0 192c0 26.5 21.5 48 48 48l320 0c26.5 0 48-21.5 48-48l0-192c0-26.5-21.5-48-48-48l-96 0 0 144c0 5.9-3.2 11.3-8.5 14.1s-11.5 2.5-16.4-.8L400 163.2l-39.1 26.1c-4.9 3.3-11.2 3.6-16.4 .8s-8.5-8.2-8.5-14.1l0-144-96 0c-26.5 0-48 21.5-48 48z\"]\n};\nconst faDollyFlatbed = faCartFlatbed;\nconst faBanSmoking = {\n prefix: 'fas',\n iconName: 'ban-smoking',\n icon: [512, 512, [128685, \"smoking-ban\"], \"f54d\", \"M99.5 144.8L178.7 224l96 96 92.5 92.5C335.9 434.9 297.5 448 256 448C150 448 64 362 64 256c0-41.5 13.1-79.9 35.5-111.2zM333.3 288l-32-32 82.7 0 0 32-50.7 0zm32 32l34.7 0c8.8 0 16-7.2 16-16l0-64c0-8.8-7.2-16-16-16l-130.7 0L144.8 99.5C176.1 77.1 214.5 64 256 64c106 0 192 86 192 192c0 41.5-13.1 79.9-35.5 111.2L365.3 320zM256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM272 96c-8.8 0-16 7.2-16 16c0 26.5 21.5 48 48 48l32 0c8.8 0 16 7.2 16 16s7.2 16 16 16s16-7.2 16-16c0-26.5-21.5-48-48-48l-32 0c-8.8 0-16-7.2-16-16s-7.2-16-16-16zM229.5 320l-96-96L112 224c-8.8 0-16 7.2-16 16l0 64c0 8.8 7.2 16 16 16l117.5 0z\"]\n};\nconst faSmokingBan = faBanSmoking;\nconst faTerminal = {\n prefix: 'fas',\n iconName: 'terminal',\n icon: [576, 512, [], \"f120\", \"M9.4 86.6C-3.1 74.1-3.1 53.9 9.4 41.4s32.8-12.5 45.3 0l192 192c12.5 12.5 12.5 32.8 0 45.3l-192 192c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L178.7 256 9.4 86.6zM256 416l288 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-288 0c-17.7 0-32-14.3-32-32s14.3-32 32-32z\"]\n};\nconst faMobileButton = {\n prefix: 'fas',\n iconName: 'mobile-button',\n icon: [384, 512, [], \"f10b\", \"M80 0C44.7 0 16 28.7 16 64l0 384c0 35.3 28.7 64 64 64l224 0c35.3 0 64-28.7 64-64l0-384c0-35.3-28.7-64-64-64L80 0zM192 400a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nconst faHouseMedicalFlag = {\n prefix: 'fas',\n iconName: 'house-medical-flag',\n icon: [640, 512, [], \"e514\", \"M480 0c17.7 0 32 14.3 32 32l112 0c8.8 0 16 7.2 16 16l0 128c0 8.8-7.2 16-16 16l-112 0 0 320-64 0 0-320 0-160c0-17.7 14.3-32 32-32zM276.8 39.7L416 159l0 353 1 0-.2 0L96 512c-17.7 0-32-14.3-32-32l0-192-32 0c-13.4 0-25.4-8.3-30-20.9s-1-26.7 9.2-35.4l224-192c12-10.3 29.7-10.3 41.7 0zM224 208l0 48-48 0c-8.8 0-16 7.2-16 16l0 32c0 8.8 7.2 16 16 16l48 0 0 48c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-48 48 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16l-48 0 0-48c0-8.8-7.2-16-16-16l-32 0c-8.8 0-16 7.2-16 16z\"]\n};\nconst faBasketShopping = {\n prefix: 'fas',\n iconName: 'basket-shopping',\n icon: [576, 512, [\"shopping-basket\"], \"f291\", \"M253.3 35.1c6.1-11.8 1.5-26.3-10.2-32.4s-26.3-1.5-32.4 10.2L117.6 192 32 192c-17.7 0-32 14.3-32 32s14.3 32 32 32L83.9 463.5C91 492 116.6 512 146 512L430 512c29.4 0 55-20 62.1-48.5L544 256c17.7 0 32-14.3 32-32s-14.3-32-32-32l-85.6 0L365.3 12.9C359.2 1.2 344.7-3.4 332.9 2.7s-16.3 20.6-10.2 32.4L404.3 192l-232.6 0L253.3 35.1zM192 304l0 96c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-96c0-8.8 7.2-16 16-16s16 7.2 16 16zm96-16c8.8 0 16 7.2 16 16l0 96c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-96c0-8.8 7.2-16 16-16zm128 16l0 96c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-96c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nconst faShoppingBasket = faBasketShopping;\nconst faTape = {\n prefix: 'fas',\n iconName: 'tape',\n icon: [576, 512, [], \"f4db\", \"M380.8 416c41.5-40.7 67.2-97.3 67.2-160C448 132.3 347.7 32 224 32S0 132.3 0 256S100.3 480 224 480l320 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-163.2 0zM224 160a96 96 0 1 1 0 192 96 96 0 1 1 0-192zm64 96a64 64 0 1 0 -128 0 64 64 0 1 0 128 0z\"]\n};\nconst faBusSimple = {\n prefix: 'fas',\n iconName: 'bus-simple',\n icon: [448, 512, [\"bus-alt\"], \"f55e\", \"M224 0C348.8 0 448 35.2 448 80l0 16 0 320c0 17.7-14.3 32-32 32l0 32c0 17.7-14.3 32-32 32l-32 0c-17.7 0-32-14.3-32-32l0-32-192 0 0 32c0 17.7-14.3 32-32 32l-32 0c-17.7 0-32-14.3-32-32l0-32c-17.7 0-32-14.3-32-32L0 96 0 80C0 35.2 99.2 0 224 0zM64 128l0 128c0 17.7 14.3 32 32 32l256 0c17.7 0 32-14.3 32-32l0-128c0-17.7-14.3-32-32-32L96 96c-17.7 0-32 14.3-32 32zM80 400a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm288 0a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nconst faBusAlt = faBusSimple;\nconst faEye = {\n prefix: 'fas',\n iconName: 'eye',\n icon: [576, 512, [128065], \"f06e\", \"M288 32c-80.8 0-145.5 36.8-192.6 80.6C48.6 156 17.3 208 2.5 243.7c-3.3 7.9-3.3 16.7 0 24.6C17.3 304 48.6 356 95.4 399.4C142.5 443.2 207.2 480 288 480s145.5-36.8 192.6-80.6c46.8-43.5 78.1-95.4 93-131.1c3.3-7.9 3.3-16.7 0-24.6c-14.9-35.7-46.2-87.7-93-131.1C433.5 68.8 368.8 32 288 32zM144 256a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm144-64c0 35.3-28.7 64-64 64c-7.1 0-13.9-1.2-20.3-3.3c-5.5-1.8-11.9 1.6-11.7 7.4c.3 6.9 1.3 13.8 3.2 20.7c13.7 51.2 66.4 81.6 117.6 67.9s81.6-66.4 67.9-117.6c-11.1-41.5-47.8-69.4-88.6-71.1c-5.8-.2-9.2 6.1-7.4 11.7c2.1 6.4 3.3 13.2 3.3 20.3z\"]\n};\nconst faFaceSadCry = {\n prefix: 'fas',\n iconName: 'face-sad-cry',\n icon: [512, 512, [128557, \"sad-cry\"], \"f5b3\", \"M352 493.4c-29.6 12-62.1 18.6-96 18.6s-66.4-6.6-96-18.6L160 288c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 189.8C51.5 433.5 0 350.8 0 256C0 114.6 114.6 0 256 0S512 114.6 512 256c0 94.8-51.5 177.5-128 221.8L384 288c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 205.4zM195.2 233.6c5.3 7.1 15.3 8.5 22.4 3.2s8.5-15.3 3.2-22.4c-30.4-40.5-91.2-40.5-121.6 0c-5.3 7.1-3.9 17.1 3.2 22.4s17.1 3.9 22.4-3.2c17.6-23.5 52.8-23.5 70.4 0zm121.6 0c17.6-23.5 52.8-23.5 70.4 0c5.3 7.1 15.3 8.5 22.4 3.2s8.5-15.3 3.2-22.4c-30.4-40.5-91.2-40.5-121.6 0c-5.3 7.1-3.9 17.1 3.2 22.4s17.1 3.9 22.4-3.2zM208 336l0 32c0 26.5 21.5 48 48 48s48-21.5 48-48l0-32c0-26.5-21.5-48-48-48s-48 21.5-48 48z\"]\n};\nconst faSadCry = faFaceSadCry;\nconst faAudioDescription = {\n prefix: 'fas',\n iconName: 'audio-description',\n icon: [576, 512, [], \"f29e\", \"M64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l448 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32zM213.5 173.3l72 144c5.9 11.9 1.1 26.3-10.7 32.2s-26.3 1.1-32.2-10.7l-9.4-18.9-82.2 0-9.4 18.9c-5.9 11.9-20.3 16.7-32.2 10.7s-16.7-20.3-10.7-32.2l72-144c4.1-8.1 12.4-13.3 21.5-13.3s17.4 5.1 21.5 13.3zm-.4 106.6L192 237.7l-21.1 42.2 42.2 0zM304 184c0-13.3 10.7-24 24-24l56 0c53 0 96 43 96 96s-43 96-96 96l-56 0c-13.3 0-24-10.7-24-24l0-144zm48 24l0 96 32 0c26.5 0 48-21.5 48-48s-21.5-48-48-48l-32 0z\"]\n};\nconst faPersonMilitaryToPerson = {\n prefix: 'fas',\n iconName: 'person-military-to-person',\n icon: [512, 512, [], \"e54c\", \"M71 12.5c-8.6 1-15 8.2-15 16.8c0 9.3 7.5 16.8 16.7 16.9l111.4 0c8.8-.1 15.9-7.2 15.9-16L200 16c0-9.5-8.3-17-17.8-15.9L71 12.5zM189.5 78.1l-122.9 0C64.9 83.8 64 89.8 64 96c0 35.3 28.7 64 64 64s64-28.7 64-64c0-6.2-.9-12.2-2.5-17.9zM32 256l0 32c0 17.7 14.3 32 32 32l128 0c1.8 0 3.5-.1 5.2-.4L53 208.6C40.1 220.3 32 237.2 32 256zm190.2 42.5c1.1-3.3 1.8-6.8 1.8-10.5l0-32c0-35.3-28.7-64-64-64l-64 0c-3.7 0-7.4 .3-10.9 .9L222.2 298.5zM384 160a64 64 0 1 0 0-128 64 64 0 1 0 0 128zm-32 32c-35.3 0-64 28.7-64 64l0 32c0 17.7 14.3 32 32 32l128 0c17.7 0 32-14.3 32-32l0-32c0-35.3-28.7-64-64-64l-64 0zM215.8 450.1c5.2-4.6 8.2-11.1 8.2-18.1s-3-13.5-8.2-18.1l-64-56c-7.1-6.2-17.1-7.7-25.7-3.8S112 366.6 112 376l0 32-88 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l88 0 0 32c0 9.4 5.5 18 14.1 21.9s18.6 2.4 25.7-3.8l64-56zM288 431.9c0 6.9 2.9 13.5 8.1 18.1l64 56.4c7.1 6.2 17.1 7.8 25.7 3.9s14.1-12.4 14.1-21.9l0-32.4 88 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-88 0 0-32c0-9.4-5.5-18-14.1-21.9s-18.6-2.4-25.7 3.8l-64 56c-5.2 4.5-8.2 11.1-8.2 18z\"]\n};\nconst faFileShield = {\n prefix: 'fas',\n iconName: 'file-shield',\n icon: [576, 512, [], \"e4f0\", \"M0 64C0 28.7 28.7 0 64 0L224 0l0 128c0 17.7 14.3 32 32 32l128 0 0 47-92.8 37.1c-21.3 8.5-35.2 29.1-35.2 52c0 56.6 18.9 148 94.2 208.3c-9 4.8-19.3 7.6-30.2 7.6L64 512c-35.3 0-64-28.7-64-64L0 64zm384 64l-128 0L256 0 384 128zm39.1 97.7c5.7-2.3 12.1-2.3 17.8 0l120 48C570 277.4 576 286.2 576 296c0 63.3-25.9 168.8-134.8 214.2c-5.9 2.5-12.6 2.5-18.5 0C313.9 464.8 288 359.3 288 296c0-9.8 6-18.6 15.1-22.3l120-48zM527.4 312L432 273.8l0 187.8c68.2-33 91.5-99 95.4-149.7z\"]\n};\nconst faUserSlash = {\n prefix: 'fas',\n iconName: 'user-slash',\n icon: [640, 512, [], \"f506\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L353.3 251.6C407.9 237 448 187.2 448 128C448 57.3 390.7 0 320 0C250.2 0 193.5 55.8 192 125.2L38.8 5.1zM264.3 304.3C170.5 309.4 96 387.2 96 482.3c0 16.4 13.3 29.7 29.7 29.7l388.6 0c3.9 0 7.6-.7 11-2.1l-261-205.6z\"]\n};\nconst faPen = {\n prefix: 'fas',\n iconName: 'pen',\n icon: [512, 512, [128394], \"f304\", \"M362.7 19.3L314.3 67.7 444.3 197.7l48.4-48.4c25-25 25-65.5 0-90.5L453.3 19.3c-25-25-65.5-25-90.5 0zm-71 71L58.6 323.5c-10.4 10.4-18 23.3-22.2 37.4L1 481.2C-1.5 489.7 .8 498.8 7 505s15.3 8.5 23.7 6.1l120.3-35.4c14.1-4.2 27-11.8 37.4-22.2L421.7 220.3 291.7 90.3z\"]\n};\nconst faTowerObservation = {\n prefix: 'fas',\n iconName: 'tower-observation',\n icon: [512, 512, [], \"e586\", \"M241.7 3.4c9-4.5 19.6-4.5 28.6 0l160 80c15.8 7.9 22.2 27.1 14.3 42.9C439 137.5 427.7 144 416 144l0 80c0 17.7-14.3 32-32 32l-4.9 0 32 192 68.9 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-95.5 0c-.4 0-.8 0-1.1 0l-254.8 0c-.4 0-.8 0-1.1 0L32 512c-17.7 0-32-14.3-32-32s14.3-32 32-32l68.9 0 32-192-4.9 0c-17.7 0-32-14.3-32-32l0-80c-11.7 0-23-6.5-28.6-17.7c-7.9-15.8-1.5-35 14.3-42.9l160-80zM314.5 448L256 399.2 197.5 448l117 0zM197.8 256l-4.7 28.3L256 336.8l62.9-52.5L314.2 256l-116.5 0zm-13.9 83.2l-11.2 67L218.5 368l-34.6-28.8zM293.5 368l45.8 38.1-11.2-67L293.5 368zM176 128c-8.8 0-16 7.2-16 16s7.2 16 16 16l160 0c8.8 0 16-7.2 16-16s-7.2-16-16-16l-160 0z\"]\n};\nconst faFileCode = {\n prefix: 'fas',\n iconName: 'file-code',\n icon: [384, 512, [], \"f1c9\", \"M64 0C28.7 0 0 28.7 0 64L0 448c0 35.3 28.7 64 64 64l256 0c35.3 0 64-28.7 64-64l0-288-128 0c-17.7 0-32-14.3-32-32L224 0 64 0zM256 0l0 128 128 0L256 0zM153 289l-31 31 31 31c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0L71 337c-9.4-9.4-9.4-24.6 0-33.9l48-48c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9zM265 255l48 48c9.4 9.4 9.4 24.6 0 33.9l-48 48c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l31-31-31-31c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0z\"]\n};\nconst faSignal = {\n prefix: 'fas',\n iconName: 'signal',\n icon: [640, 512, [128246, \"signal-5\", \"signal-perfect\"], \"f012\", \"M576 0c17.7 0 32 14.3 32 32l0 448c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-448c0-17.7 14.3-32 32-32zM448 96c17.7 0 32 14.3 32 32l0 352c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-352c0-17.7 14.3-32 32-32zM352 224l0 256c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-256c0-17.7 14.3-32 32-32s32 14.3 32 32zM192 288c17.7 0 32 14.3 32 32l0 160c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-160c0-17.7 14.3-32 32-32zM96 416l0 64c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-64c0-17.7 14.3-32 32-32s32 14.3 32 32z\"]\n};\nconst faSignal5 = faSignal;\nconst faSignalPerfect = faSignal;\nconst faBus = {\n prefix: 'fas',\n iconName: 'bus',\n icon: [576, 512, [128653], \"f207\", \"M288 0C422.4 0 512 35.2 512 80l0 16 0 32c17.7 0 32 14.3 32 32l0 64c0 17.7-14.3 32-32 32l0 160c0 17.7-14.3 32-32 32l0 32c0 17.7-14.3 32-32 32l-32 0c-17.7 0-32-14.3-32-32l0-32-192 0 0 32c0 17.7-14.3 32-32 32l-32 0c-17.7 0-32-14.3-32-32l0-32c-17.7 0-32-14.3-32-32l0-160c-17.7 0-32-14.3-32-32l0-64c0-17.7 14.3-32 32-32c0 0 0 0 0 0l0-32s0 0 0 0l0-16C64 35.2 153.6 0 288 0zM128 160l0 96c0 17.7 14.3 32 32 32l112 0 0-160-112 0c-17.7 0-32 14.3-32 32zM304 288l112 0c17.7 0 32-14.3 32-32l0-96c0-17.7-14.3-32-32-32l-112 0 0 160zM144 400a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm288 0a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM384 80c0-8.8-7.2-16-16-16L208 64c-8.8 0-16 7.2-16 16s7.2 16 16 16l160 0c8.8 0 16-7.2 16-16z\"]\n};\nconst faHeartCircleXmark = {\n prefix: 'fas',\n iconName: 'heart-circle-xmark',\n icon: [576, 512, [], \"e501\", \"M47.6 300.4L228.3 469.1c7.5 7 17.4 10.9 27.7 10.9s20.2-3.9 27.7-10.9l2.6-2.4C267.2 438.6 256 404.6 256 368c0-97.2 78.8-176 176-176c28.3 0 55 6.7 78.7 18.5c.9-6.5 1.3-13 1.3-19.6l0-5.8c0-69.9-50.5-129.5-119.4-141C347 36.5 300.6 51.4 268 84L256 96 244 84c-32.6-32.6-79-47.5-124.6-39.9C50.5 55.6 0 115.2 0 185.1l0 5.8c0 41.5 17.2 81.2 47.6 109.5zM432 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm59.3-180.7L454.6 368l36.7 36.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L432 390.6l-36.7 36.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L409.4 368l-36.7-36.7c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L432 345.4l36.7-36.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z\"]\n};\nconst faHouseChimney = {\n prefix: 'fas',\n iconName: 'house-chimney',\n icon: [576, 512, [63499, \"home-lg\"], \"e3af\", \"M543.8 287.6c17 0 32-14 32-32.1c1-9-3-17-11-24L512 185l0-121c0-17.7-14.3-32-32-32l-32 0c-17.7 0-32 14.3-32 32l0 36.7L309.5 7c-6-5-14-7-21-7s-15 1-22 8L10 231.5c-7 7-10 15-10 24c0 18 14 32.1 32 32.1l32 0 0 69.7c-.1 .9-.1 1.8-.1 2.8l0 112c0 22.1 17.9 40 40 40l16 0c1.2 0 2.4-.1 3.6-.2c1.5 .1 3 .2 4.5 .2l31.9 0 24 0c22.1 0 40-17.9 40-40l0-24 0-64c0-17.7 14.3-32 32-32l64 0c17.7 0 32 14.3 32 32l0 64 0 24c0 22.1 17.9 40 40 40l24 0 32.5 0c1.4 0 2.8 0 4.2-.1c1.1 .1 2.2 .1 3.3 .1l16 0c22.1 0 40-17.9 40-40l0-16.2c.3-2.6 .5-5.3 .5-8.1l-.7-160.2 32 0z\"]\n};\nconst faHomeLg = faHouseChimney;\nconst faWindowMaximize = {\n prefix: 'fas',\n iconName: 'window-maximize',\n icon: [512, 512, [128470], \"f2d0\", \"M64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32zM96 96l320 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L96 160c-17.7 0-32-14.3-32-32s14.3-32 32-32z\"]\n};\nconst faFaceFrown = {\n prefix: 'fas',\n iconName: 'face-frown',\n icon: [512, 512, [9785, \"frown\"], \"f119\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM159.3 388.7c-2.6 8.4-11.6 13.2-20 10.5s-13.2-11.6-10.5-20C145.2 326.1 196.3 288 256 288s110.8 38.1 127.3 91.3c2.6 8.4-2.1 17.4-10.5 20s-17.4-2.1-20-10.5C340.5 349.4 302.1 320 256 320s-84.5 29.4-96.7 68.7zM144.4 208a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm192-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nconst faFrown = faFaceFrown;\nconst faPrescription = {\n prefix: 'fas',\n iconName: 'prescription',\n icon: [448, 512, [], \"f5b1\", \"M32 0C14.3 0 0 14.3 0 32L0 192l0 96c0 17.7 14.3 32 32 32s32-14.3 32-32l0-64 50.7 0 128 128L137.4 457.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L288 397.3 393.4 502.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L333.3 352 438.6 246.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L288 306.7l-85.8-85.8C251.4 209.1 288 164.8 288 112C288 50.1 237.9 0 176 0L32 0zM176 160L64 160l0-96 112 0c26.5 0 48 21.5 48 48s-21.5 48-48 48z\"]\n};\nconst faShop = {\n prefix: 'fas',\n iconName: 'shop',\n icon: [640, 512, [\"store-alt\"], \"f54f\", \"M36.8 192l566.3 0c20.3 0 36.8-16.5 36.8-36.8c0-7.3-2.2-14.4-6.2-20.4L558.2 21.4C549.3 8 534.4 0 518.3 0L121.7 0c-16 0-31 8-39.9 21.4L6.2 134.7c-4 6.1-6.2 13.2-6.2 20.4C0 175.5 16.5 192 36.8 192zM64 224l0 160 0 80c0 26.5 21.5 48 48 48l224 0c26.5 0 48-21.5 48-48l0-80 0-160-64 0 0 160-192 0 0-160-64 0zm448 0l0 256c0 17.7 14.3 32 32 32s32-14.3 32-32l0-256-64 0z\"]\n};\nconst faStoreAlt = faShop;\nconst faFloppyDisk = {\n prefix: 'fas',\n iconName: 'floppy-disk',\n icon: [448, 512, [128190, 128426, \"save\"], \"f0c7\", \"M64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-242.7c0-17-6.7-33.3-18.7-45.3L352 50.7C340 38.7 323.7 32 306.7 32L64 32zm0 96c0-17.7 14.3-32 32-32l192 0c17.7 0 32 14.3 32 32l0 64c0 17.7-14.3 32-32 32L96 224c-17.7 0-32-14.3-32-32l0-64zM224 288a64 64 0 1 1 0 128 64 64 0 1 1 0-128z\"]\n};\nconst faSave = faFloppyDisk;\nconst faVihara = {\n prefix: 'fas',\n iconName: 'vihara',\n icon: [640, 512, [], \"f6a7\", \"M281 22L305.8 4.7c1.3-.9 2.7-1.8 4.1-2.4C313.1 .7 316.6 0 320 0s6.9 .7 10.1 2.2c1.4 .7 2.8 1.5 4.1 2.4L359 22C393 45.8 430.8 63.5 470.8 74.4l23 6.3c1.8 .5 3.6 1.1 5.2 2c3.2 1.7 5.9 4 8.1 6.8c3.8 4.9 5.6 11.3 4.7 17.8c-.4 2.8-1.2 5.4-2.5 7.8c-1.7 3.2-4 5.9-6.8 8.1c-4.3 3.2-9.6 5.1-15.1 4.9l-7.5 0 0 56.1 6.4 5.1 5.2 4.1c21.1 16.7 45 29.6 70.5 38.1l28.9 9.6c1.6 .5 3.2 1.2 4.6 2c3.1 1.7 5.8 4.1 7.8 6.9s3.5 6.1 4.1 9.6c.5 2.7 .6 5.5 .1 8.3s-1.4 5.4-2.7 7.8c-1.7 3.1-4.1 5.8-6.9 7.8s-6.1 3.5-9.6 4.1c-1.6 .3-3.3 .4-5 .4L544 288l0 65.9c20.5 22.8 47.4 39.2 77.4 46.7C632 403 640 412.6 640 424c0 13.3-10.7 24-24 24l-40 0 0 32c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-32-160 0 0 32c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-32-160 0 0 32c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-32-40 0c-13.3 0-24-10.7-24-24c0-11.4 8-21 18.6-23.4c30-7.6 56.9-23.9 77.4-46.7L96 288l-39.4 0c-1.7 0-3.4-.1-5-.4c-3.5-.7-6.8-2.1-9.6-4.1s-5.2-4.7-7-7.8c-1.3-2.4-2.3-5-2.7-7.8s-.4-5.6 .1-8.3c.7-3.5 2.1-6.8 4.1-9.6s4.7-5.2 7.8-6.9c1.4-.8 3-1.5 4.6-2l28.9-9.6c25.5-8.5 49.4-21.4 70.5-38.1l5.2-4.1 6.4-5.1 0-8.1 0-48-7.5 0c-5.5 .1-10.8-1.7-15.1-4.9c-2.8-2.1-5.1-4.8-6.8-8.1c-1.2-2.4-2.1-5-2.5-7.8c-.9-6.5 .9-12.8 4.7-17.8c2.1-2.8 4.8-5.1 8.1-6.8c1.6-.8 3.4-1.5 5.2-2l23-6.3C209.2 63.5 247 45.8 281 22zM416 128l-96 0-96 0 0 64 72 0 48 0 72 0 0-64zM160 288l0 64 136 0 24 0 24 0 136 0 0-64-136 0-24 0s0 0 0 0l-24 0-136 0z\"]\n};\nconst faScaleUnbalanced = {\n prefix: 'fas',\n iconName: 'scale-unbalanced',\n icon: [640, 512, [\"balance-scale-left\"], \"f515\", \"M522.1 62.4c16.8-5.6 25.8-23.7 20.2-40.5S518.6-3.9 501.9 1.6l-113 37.7C375 15.8 349.3 0 320 0c-44.2 0-80 35.8-80 80c0 3 .2 5.9 .5 8.8L117.9 129.6c-16.8 5.6-25.8 23.7-20.2 40.5s23.7 25.8 40.5 20.2l135.5-45.2c4.5 3.2 9.3 5.9 14.4 8.2L288 480c0 17.7 14.3 32 32 32l192 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-160 0 0-294.7c21-9.2 37.2-27 44.2-49l125.9-42zM439.6 288L512 163.8 584.4 288l-144.9 0zM512 384c62.9 0 115.2-34 126-78.9c2.6-11-1-22.3-6.7-32.1L536.1 109.8c-5-8.6-14.2-13.8-24.1-13.8s-19.1 5.3-24.1 13.8L392.7 273.1c-5.7 9.8-9.3 21.1-6.7 32.1C396.8 350 449.1 384 512 384zM129.2 291.8L201.6 416 56.7 416l72.4-124.2zM3.2 433.1C14 478 66.3 512 129.2 512s115.2-34 126-78.9c2.6-11-1-22.3-6.7-32.1L153.2 237.8c-5-8.6-14.2-13.8-24.1-13.8s-19.1 5.3-24.1 13.8L9.9 401.1c-5.7 9.8-9.3 21.1-6.7 32.1z\"]\n};\nconst faBalanceScaleLeft = faScaleUnbalanced;\nconst faSortUp = {\n prefix: 'fas',\n iconName: 'sort-up',\n icon: [320, 512, [\"sort-asc\"], \"f0de\", \"M182.6 41.4c-12.5-12.5-32.8-12.5-45.3 0l-128 128c-9.2 9.2-11.9 22.9-6.9 34.9s16.6 19.8 29.6 19.8l256 0c12.9 0 24.6-7.8 29.6-19.8s2.2-25.7-6.9-34.9l-128-128z\"]\n};\nconst faSortAsc = faSortUp;\nconst faCommentDots = {\n prefix: 'fas',\n iconName: 'comment-dots',\n icon: [512, 512, [128172, 62075, \"commenting\"], \"f4ad\", \"M256 448c141.4 0 256-93.1 256-208S397.4 32 256 32S0 125.1 0 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9c-5.5 9.2-11.1 16.6-15.2 21.6c-2.1 2.5-3.7 4.4-4.9 5.7c-.6 .6-1 1.1-1.3 1.4l-.3 .3c0 0 0 0 0 0c0 0 0 0 0 0s0 0 0 0s0 0 0 0c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c28.7 0 57.6-8.9 81.6-19.3c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9zM128 208a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm128 0a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm96 32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nconst faCommenting = faCommentDots;\nconst faPlantWilt = {\n prefix: 'fas',\n iconName: 'plant-wilt',\n icon: [512, 512, [], \"e5aa\", \"M288 120c0-30.9 25.1-56 56-56s56 25.1 56 56l0 13c-29.3 10-48 34.5-48 70.1c0 27.9 25.3 74.8 66 111.6c3.8 3.5 8.9 5.3 14 5.3s10.2-1.8 14-5.3c40.7-36.8 66-83.7 66-111.6c0-35.6-18.7-60.2-48-70.1l0-13C464 53.7 410.3 0 344 0S224 53.7 224 120l0 21.8C207.3 133 188.2 128 168 128c-66.3 0-120 53.7-120 120l0 13c-29.3 10-48 34.5-48 70.1C0 359 25.3 405.9 66 442.7c3.8 3.5 8.9 5.3 14 5.3s10.2-1.8 14-5.3c40.7-36.8 66-83.7 66-111.6c0-35.6-18.7-60.2-48-70.1l0-13c0-30.9 25.1-56 56-56s56 25.1 56 56l0 32 0 200c0 17.7 14.3 32 32 32s32-14.3 32-32l0-200 0-32 0-128z\"]\n};\nconst faDiamond = {\n prefix: 'fas',\n iconName: 'diamond',\n icon: [512, 512, [9830], \"f219\", \"M284.3 11.7c-15.6-15.6-40.9-15.6-56.6 0l-216 216c-15.6 15.6-15.6 40.9 0 56.6l216 216c15.6 15.6 40.9 15.6 56.6 0l216-216c15.6-15.6 15.6-40.9 0-56.6l-216-216z\"]\n};\nconst faFaceGrinSquint = {\n prefix: 'fas',\n iconName: 'face-grin-squint',\n icon: [512, 512, [128518, \"grin-squint\"], \"f585\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM388.1 312.8c12.3-3.8 24.3 6.9 19.3 18.7C382.4 390.6 324.2 432 256.3 432s-126.2-41.4-151.1-100.5c-5-11.8 7-22.5 19.3-18.7c39.7 12.2 84.5 19 131.8 19s92.1-6.8 131.8-19zM133.5 146.7l89.9 47.9c10.7 5.7 10.7 21.1 0 26.8l-89.9 47.9c-7.9 4.2-17.5-1.5-17.5-10.5c0-2.8 1-5.5 2.8-7.6l36-43.2-36-43.2c-1.8-2.1-2.8-4.8-2.8-7.6c0-9 9.6-14.7 17.5-10.5zM396 157.1c0 2.8-1 5.5-2.8 7.6l-36 43.2 36 43.2c1.8 2.1 2.8 4.8 2.8 7.6c0 9-9.6 14.7-17.5 10.5l-89.9-47.9c-10.7-5.7-10.7-21.1 0-26.8l89.9-47.9c7.9-4.2 17.5 1.5 17.5 10.5z\"]\n};\nconst faGrinSquint = faFaceGrinSquint;\nconst faHandHoldingDollar = {\n prefix: 'fas',\n iconName: 'hand-holding-dollar',\n icon: [576, 512, [\"hand-holding-usd\"], \"f4c0\", \"M312 24l0 10.5c6.4 1.2 12.6 2.7 18.2 4.2c12.8 3.4 20.4 16.6 17 29.4s-16.6 20.4-29.4 17c-10.9-2.9-21.1-4.9-30.2-5c-7.3-.1-14.7 1.7-19.4 4.4c-2.1 1.3-3.1 2.4-3.5 3c-.3 .5-.7 1.2-.7 2.8c0 .3 0 .5 0 .6c.2 .2 .9 1.2 3.3 2.6c5.8 3.5 14.4 6.2 27.4 10.1l.9 .3s0 0 0 0c11.1 3.3 25.9 7.8 37.9 15.3c13.7 8.6 26.1 22.9 26.4 44.9c.3 22.5-11.4 38.9-26.7 48.5c-6.7 4.1-13.9 7-21.3 8.8l0 10.6c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-11.4c-9.5-2.3-18.2-5.3-25.6-7.8c-2.1-.7-4.1-1.4-6-2c-12.6-4.2-19.4-17.8-15.2-30.4s17.8-19.4 30.4-15.2c2.6 .9 5 1.7 7.3 2.5c13.6 4.6 23.4 7.9 33.9 8.3c8 .3 15.1-1.6 19.2-4.1c1.9-1.2 2.8-2.2 3.2-2.9c.4-.6 .9-1.8 .8-4.1l0-.2c0-1 0-2.1-4-4.6c-5.7-3.6-14.3-6.4-27.1-10.3l-1.9-.6c-10.8-3.2-25-7.5-36.4-14.4c-13.5-8.1-26.5-22-26.6-44.1c-.1-22.9 12.9-38.6 27.7-47.4c6.4-3.8 13.3-6.4 20.2-8.2L264 24c0-13.3 10.7-24 24-24s24 10.7 24 24zM568.2 336.3c13.1 17.8 9.3 42.8-8.5 55.9L433.1 485.5c-23.4 17.2-51.6 26.5-80.7 26.5L192 512 32 512c-17.7 0-32-14.3-32-32l0-64c0-17.7 14.3-32 32-32l36.8 0 44.9-36c22.7-18.2 50.9-28 80-28l78.3 0 16 0 64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0-16 0c-8.8 0-16 7.2-16 16s7.2 16 16 16l120.6 0 119.7-88.2c17.8-13.1 42.8-9.3 55.9 8.5zM193.6 384c0 0 0 0 0 0l-.9 0c.3 0 .6 0 .9 0z\"]\n};\nconst faHandHoldingUsd = faHandHoldingDollar;\nconst faChartDiagram = {\n prefix: 'fas',\n iconName: 'chart-diagram',\n icon: [512, 512, [], \"e695\", \"M80 32C53.5 32 32 53.5 32 80s21.5 48 48 48l152 0 0 40-48 48-56 0c-48.6 0-88 39.4-88 88l0 48-8 0c-17.7 0-32 14.3-32 32l0 64c0 17.7 14.3 32 32 32l64 0c17.7 0 32-14.3 32-32l0-64c0-17.7-14.3-32-32-32l-8 0 0-48c0-22.1 17.9-40 40-40l56 0 48 48 0 40-8 0c-17.7 0-32 14.3-32 32l0 64c0 17.7 14.3 32 32 32l64 0c17.7 0 32-14.3 32-32l0-64c0-17.7-14.3-32-32-32l-8 0 0-40 48-48 56 0c22.1 0 40 17.9 40 40l0 48-8 0c-17.7 0-32 14.3-32 32l0 64c0 17.7 14.3 32 32 32l64 0c17.7 0 32-14.3 32-32l0-64c0-17.7-14.3-32-32-32l-8 0 0-48c0-48.6-39.4-88-88-88l-56 0-48-48 0-40 152 0c26.5 0 48-21.5 48-48s-21.5-48-48-48L80 32z\"]\n};\nconst faBacterium = {\n prefix: 'fas',\n iconName: 'bacterium',\n icon: [512, 512, [], \"e05a\", \"M423.1 30.6c3.6-12.7-3.7-26-16.5-29.7s-26 3.7-29.7 16.5l-4.2 14.7c-9.8-.4-19.9 .5-29.9 2.8c-12.1 2.8-23.7 5.9-34.9 9.4l-5.9-13.7c-5.2-12.2-19.3-17.8-31.5-12.6s-17.8 19.3-12.6 31.5l4.9 11.3c-22 9.4-42 20.1-60.2 31.8L196 82.7c-7.4-11-22.3-14-33.3-6.7s-14 22.3-6.7 33.3l7.8 11.6c-18 15-33.7 30.8-47.3 47.1L103 157.3c-10.4-8.3-25.5-6.6-33.7 3.7s-6.6 25.5 3.7 33.7l15 12c-2.1 3.2-4.1 6.5-6 9.7c-9.4 15.7-17 31-23.2 45.3l-9.9-3.9c-12.3-4.9-26.3 1.1-31.2 13.4s1.1 26.3 13.4 31.2l11.6 4.6c-.3 1.1-.6 2.1-.9 3.1c-3.5 12.5-5.7 23.2-7.1 31.3c-.7 4.1-1.2 7.5-1.6 10.3c-.2 1.4-.3 2.6-.4 3.6l-.1 1.4-.1 .6 0 .3 0 .1c0 0 0 .1 39.2 3.7c0 0 0 0 0 0l-39.2-3.6c-.5 5-.6 10-.4 14.9l-14.7 4.2C4.7 380.6-2.7 393.8 .9 406.6s16.9 20.1 29.7 16.5l13.8-3.9c10.6 20.7 27.6 37.8 48.5 48.5l-3.9 13.7c-3.6 12.7 3.7 26 16.5 29.7s26-3.7 29.7-16.5l4.2-14.7c23.8 1 46.3-5.5 65.1-17.6L215 473c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-10.6-10.6c9.1-14.1 15.1-30.5 17-48.3l.1-.8c.3-1.7 1-5.1 2.3-9.8l.2-.8 12.6 5.4c12.2 5.2 26.3-.4 31.5-12.6s-.4-26.3-12.6-31.5l-11.3-4.8c9.9-14.9 24.9-31.6 48.6-46l2.1 7.5c3.6 12.7 16.9 20.1 29.7 16.5s20.1-16.9 16.5-29.7L371 259.2c6.9-2.2 14.3-4.3 22.2-6.1c12.9-3 24.7-8 35.2-14.8L439 249c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-10.6-10.6c12.2-19 18.6-41.6 17.6-65.1l14.7-4.2c12.7-3.6 20.1-16.9 16.5-29.7s-16.9-20.1-29.7-16.5l-13.7 3.9c-10.8-21.2-28-38-48.5-48.5l3.9-13.8zM92.1 363.3s0 0 0 0L144 368l-51.9-4.7zM112 320a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM240 184a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nconst faHandPointer = {\n prefix: 'fas',\n iconName: 'hand-pointer',\n icon: [448, 512, [], \"f25a\", \"M128 40c0-22.1 17.9-40 40-40s40 17.9 40 40l0 148.2c8.5-7.6 19.7-12.2 32-12.2c20.6 0 38.2 13 45 31.2c8.8-9.3 21.2-15.2 35-15.2c25.3 0 46 19.5 47.9 44.3c8.5-7.7 19.8-12.3 32.1-12.3c26.5 0 48 21.5 48 48l0 48 0 16 0 48c0 70.7-57.3 128-128 128l-16 0-64 0-.1 0-5.2 0c-5 0-9.9-.3-14.7-1c-55.3-5.6-106.2-34-140-79L8 336c-13.3-17.7-9.7-42.7 8-56s42.7-9.7 56 8l56 74.7L128 40zM240 304c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 96c0 8.8 7.2 16 16 16s16-7.2 16-16l0-96zm48-16c-8.8 0-16 7.2-16 16l0 96c0 8.8 7.2 16 16 16s16-7.2 16-16l0-96c0-8.8-7.2-16-16-16zm80 16c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 96c0 8.8 7.2 16 16 16s16-7.2 16-16l0-96z\"]\n};\nconst faDrumSteelpan = {\n prefix: 'fas',\n iconName: 'drum-steelpan',\n icon: [576, 512, [], \"f56a\", \"M288 32c159.1 0 288 48 288 128l0 192c0 80-128.9 128-288 128S0 432 0 352L0 160C0 80 128.9 32 288 32zM528 160c0-9.9-8-29.9-55-49.8c-18.6-7.9-40.9-14.4-66-19.4l-27.8 43.6c-7.3 11.5-11.2 24.8-11.2 38.4c0 17.5 6.4 34.4 18.1 47.5l9.8 11c29.8-5.2 55.9-12.5 77.2-21.5c47.1-19.9 55-39.9 55-49.8zM349.2 237.3c-8-26.2-32.4-45.3-61.2-45.3s-53.3 19.1-61.2 45.3c19.4 1.7 39.9 2.7 61.2 2.7s41.8-.9 61.2-2.7zM169 90.8c-25.2 5-47.4 11.6-66 19.4C56 130.1 48 150.1 48 160s8 29.9 55 49.8c21.3 9 47.4 16.3 77.2 21.5l9.8-11c11.6-13.1 18.1-30 18.1-47.5c0-13.6-3.9-26.9-11.2-38.4L169 90.8zm56.3-8C224.5 87 224 91.5 224 96c0 35.3 28.7 64 64 64s64-28.7 64-64c0-4.5-.5-9-1.4-13.2C330.8 81 309.8 80 288 80s-42.8 1-62.6 2.8z\"]\n};\nconst faHandScissors = {\n prefix: 'fas',\n iconName: 'hand-scissors',\n icon: [512, 512, [], \"f257\", \"M40 208c-22.1 0-40 17.9-40 40s17.9 40 40 40l180.2 0c-7.6 8.5-12.2 19.7-12.2 32c0 25.3 19.5 46 44.3 47.9c-7.7 8.5-12.3 19.8-12.3 32.1c0 26.5 21.5 48 48 48l32 0 64 0c70.7 0 128-57.3 128-128l0-113.1c0-40.2-16-78.8-44.4-107.3C444.8 76.8 413.9 64 381.7 64L336 64c-21.3 0-39.3 13.9-45.6 33.1l74.5 23.7c8.4 2.7 13.1 11.7 10.4 20.1s-11.7 13.1-20.1 10.4L288 129.9c0 0 0 .1 0 .1L84 65.8C62.9 59.2 40.5 70.9 33.8 92s5.1 43.5 26.2 50.2L269.5 208 40 208z\"]\n};\nconst faHandsPraying = {\n prefix: 'fas',\n iconName: 'hands-praying',\n icon: [640, 512, [\"praying-hands\"], \"f684\", \"M351.2 4.8c3.2-2 6.6-3.3 10-4.1c4.7-1 9.6-.9 14.1 .1c7.7 1.8 14.8 6.5 19.4 13.6L514.6 194.2c8.8 13.1 13.4 28.6 13.4 44.4l0 73.5c0 6.9 4.4 13 10.9 15.2l79.2 26.4C631.2 358 640 370.2 640 384l0 96c0 9.9-4.6 19.3-12.5 25.4s-18.1 8.1-27.7 5.5L431 465.9c-56-14.9-95-65.7-95-123.7L336 224c0-17.7 14.3-32 32-32s32 14.3 32 32l0 80c0 8.8 7.2 16 16 16s16-7.2 16-16l0-84.9c0-7-1.8-13.8-5.3-19.8L340.3 48.1c-1.7-3-2.9-6.1-3.6-9.3c-1-4.7-1-9.6 .1-14.1c1.9-8 6.8-15.2 14.3-19.9zm-62.4 0c7.5 4.6 12.4 11.9 14.3 19.9c1.1 4.6 1.2 9.4 .1 14.1c-.7 3.2-1.9 6.3-3.6 9.3L213.3 199.3c-3.5 6-5.3 12.9-5.3 19.8l0 84.9c0 8.8 7.2 16 16 16s16-7.2 16-16l0-80c0-17.7 14.3-32 32-32s32 14.3 32 32l0 118.2c0 58-39 108.7-95 123.7l-168.7 45c-9.6 2.6-19.9 .5-27.7-5.5S0 490 0 480l0-96c0-13.8 8.8-26 21.9-30.4l79.2-26.4c6.5-2.2 10.9-8.3 10.9-15.2l0-73.5c0-15.8 4.7-31.2 13.4-44.4L245.2 14.5c4.6-7.1 11.7-11.8 19.4-13.6c4.6-1.1 9.4-1.2 14.1-.1c3.5 .8 6.9 2.1 10 4.1z\"]\n};\nconst faPrayingHands = faHandsPraying;\nconst faArrowRotateRight = {\n prefix: 'fas',\n iconName: 'arrow-rotate-right',\n icon: [512, 512, [8635, \"arrow-right-rotate\", \"arrow-rotate-forward\", \"redo\"], \"f01e\", \"M386.3 160L336 160c-17.7 0-32 14.3-32 32s14.3 32 32 32l128 0c17.7 0 32-14.3 32-32l0-128c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 51.2L414.4 97.6c-87.5-87.5-229.3-87.5-316.8 0s-87.5 229.3 0 316.8s229.3 87.5 316.8 0c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0c-62.5 62.5-163.8 62.5-226.3 0s-62.5-163.8 0-226.3s163.8-62.5 226.3 0L386.3 160z\"]\n};\nconst faArrowRightRotate = faArrowRotateRight;\nconst faArrowRotateForward = faArrowRotateRight;\nconst faRedo = faArrowRotateRight;\nconst faWebAwesome = {\n prefix: 'fas',\n iconName: 'web-awesome',\n icon: [640, 512, [], \"e682\", \"M372.2 52c0 20.9-12.4 39-30.2 47.2L448 192l104.4-20.9c-5.3-7.7-8.4-17.1-8.4-27.1c0-26.5 21.5-48 48-48s48 21.5 48 48c0 26-20.6 47.1-46.4 48L481 442.3c-10.3 23-33.2 37.7-58.4 37.7l-205.2 0c-25.2 0-48-14.8-58.4-37.7L46.4 192C20.6 191.1 0 170 0 144c0-26.5 21.5-48 48-48s48 21.5 48 48c0 10.1-3.1 19.4-8.4 27.1L192 192 298.1 99.1c-17.7-8.3-30-26.3-30-47.1c0-28.7 23.3-52 52-52s52 23.3 52 52z\"]\n};\nconst faBiohazard = {\n prefix: 'fas',\n iconName: 'biohazard',\n icon: [576, 512, [9763], \"f780\", \"M173.2 0c-1.8 0-3.5 .7-4.8 2C138.5 32.3 120 74 120 120c0 26.2 6 50.9 16.6 73c-22 2.4-43.8 9.1-64.2 20.5C37.9 232.8 13.3 262.4 .4 296c-.7 1.7-.5 3.7 .5 5.2c2.2 3.7 7.4 4.3 10.6 1.3C64.2 254.3 158 245.1 205 324s-8.1 153.1-77.6 173.2c-4.2 1.2-6.3 5.9-4.1 9.6c1 1.6 2.6 2.7 4.5 3c36.5 5.9 75.2 .1 109.7-19.2c20.4-11.4 37.4-26.5 50.5-43.8c13.1 17.3 30.1 32.4 50.5 43.8c34.5 19.3 73.3 25.2 109.7 19.2c1.9-.3 3.5-1.4 4.5-3c2.2-3.7 .1-8.4-4.1-9.6C379.1 477.1 324 403 371 324s140.7-69.8 193.5-21.4c3.2 2.9 8.4 2.3 10.6-1.3c1-1.6 1.1-3.5 .5-5.2c-12.9-33.6-37.5-63.2-72.1-82.5c-20.4-11.4-42.2-18.1-64.2-20.5C450 170.9 456 146.2 456 120c0-46-18.5-87.7-48.4-118c-1.3-1.3-3-2-4.8-2c-5 0-8.4 5.2-6.7 9.9C421.7 80.5 385.6 176 288 176S154.3 80.5 179.9 9.9c1.7-4.7-1.6-9.9-6.7-9.9zM240 272a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM181.7 417.6c6.3-11.8 9.8-25.1 8.6-39.8c-19.5-18-34-41.4-41.2-67.8c-12.5-8.1-26.2-11.8-40-12.4c-9-.4-18.1 .6-27.1 2.7c7.8 57.1 38.7 106.8 82.9 139.4c6.8-6.7 12.6-14.1 16.8-22.1zM288 64c-28.8 0-56.3 5.9-81.2 16.5c2 8.3 5 16.2 9 23.5c6.8 12.4 16.7 23.1 30.1 30.3c13.3-4.1 27.5-6.3 42.2-6.3s28.8 2.2 42.2 6.3c13.4-7.2 23.3-17.9 30.1-30.3c4-7.3 7-15.2 9-23.5C344.3 69.9 316.8 64 288 64zM426.9 310c-7.2 26.4-21.7 49.7-41.2 67.8c-1.2 14.7 2.2 28.1 8.6 39.8c4.3 8 10 15.4 16.8 22.1c44.3-32.6 75.2-82.3 82.9-139.4c-9-2.2-18.1-3.1-27.1-2.7c-13.8 .6-27.5 4.4-40 12.4z\"]\n};\nconst faLocationCrosshairs = {\n prefix: 'fas',\n iconName: 'location-crosshairs',\n icon: [512, 512, [\"location\"], \"f601\", \"M256 0c17.7 0 32 14.3 32 32l0 34.7C368.4 80.1 431.9 143.6 445.3 224l34.7 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-34.7 0C431.9 368.4 368.4 431.9 288 445.3l0 34.7c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-34.7C143.6 431.9 80.1 368.4 66.7 288L32 288c-17.7 0-32-14.3-32-32s14.3-32 32-32l34.7 0C80.1 143.6 143.6 80.1 224 66.7L224 32c0-17.7 14.3-32 32-32zM128 256a128 128 0 1 0 256 0 128 128 0 1 0 -256 0zm128-80a80 80 0 1 1 0 160 80 80 0 1 1 0-160z\"]\n};\nconst faLocation = faLocationCrosshairs;\nconst faMarsDouble = {\n prefix: 'fas',\n iconName: 'mars-double',\n icon: [640, 512, [9891], \"f227\", \"M312 32c-9.7 0-18.5 5.8-22.2 14.8s-1.7 19.3 5.2 26.2l33.4 33.4L275.8 159c-28.4-19.5-62.7-31-99.8-31C78.8 128 0 206.8 0 304s78.8 176 176 176s176-78.8 176-176c0-37-11.4-71.4-31-99.8l52.6-52.6L407 185c6.9 6.9 17.2 8.9 26.2 5.2s14.8-12.5 14.8-22.2l0-112c0-13.3-10.7-24-24-24L312 32zm88 48s0 0 0 0s0 0 0 0s0 0 0 0zM64 304a112 112 0 1 1 224 0A112 112 0 1 1 64 304zM368 480c97.2 0 176-78.8 176-176c0-37-11.4-71.4-31-99.8l52.6-52.6L599 185c6.9 6.9 17.2 8.9 26.2 5.2s14.8-12.5 14.8-22.2l0-112c0-13.3-10.7-24-24-24L504 32c-9.7 0-18.5 5.8-22.2 14.8c-1.2 2.9-1.8 6-1.8 9l0 .2 0 .2c0 6.2 2.5 12.2 7 16.8l33.4 33.4L480 146.7l0 21.3c0 22.6-13.6 43.1-34.6 51.7c-.8 .3-1.7 .7-2.5 1C465.7 241.2 480 270.9 480 304c0 61.9-50.1 112-112 112c-5.4 0-10.8-.4-16-1.1c-12.9 20.4-29.1 38.3-48.1 53.1c19.8 7.8 41.4 12 64 12z\"]\n};\nconst faChildDress = {\n prefix: 'fas',\n iconName: 'child-dress',\n icon: [320, 512, [], \"e59c\", \"M224 64A64 64 0 1 0 96 64a64 64 0 1 0 128 0zM88 400l0 80c0 17.7 14.3 32 32 32s32-14.3 32-32l0-80 16 0 0 80c0 17.7 14.3 32 32 32s32-14.3 32-32l0-80 17.8 0c10.9 0 18.6-10.7 15.2-21.1l-31.1-93.4 28.6 37.8c10.7 14.1 30.8 16.8 44.8 6.2s16.8-30.7 6.2-44.8L254.6 207c-22.4-29.6-57.5-47-94.6-47s-72.2 17.4-94.6 47L6.5 284.7c-10.7 14.1-7.9 34.2 6.2 44.8s34.2 7.9 44.8-6.2l28.7-37.8L55 378.9C51.6 389.3 59.3 400 70.2 400L88 400z\"]\n};\nconst faUsersBetweenLines = {\n prefix: 'fas',\n iconName: 'users-between-lines',\n icon: [640, 512, [], \"e591\", \"M0 24C0 10.7 10.7 0 24 0L616 0c13.3 0 24 10.7 24 24s-10.7 24-24 24L24 48C10.7 48 0 37.3 0 24zM0 488c0-13.3 10.7-24 24-24l592 0c13.3 0 24 10.7 24 24s-10.7 24-24 24L24 512c-13.3 0-24-10.7-24-24zM83.2 160a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zM32 320c0-35.3 28.7-64 64-64l96 0c12.2 0 23.7 3.4 33.4 9.4c-37.2 15.1-65.6 47.2-75.8 86.6L64 352c-17.7 0-32-14.3-32-32zm461.6 32c-10.3-40.1-39.6-72.6-77.7-87.4c9.4-5.5 20.4-8.6 32.1-8.6l96 0c35.3 0 64 28.7 64 64c0 17.7-14.3 32-32 32l-82.4 0zM391.2 290.4c32.1 7.4 58.1 30.9 68.9 61.6c3.5 10 5.5 20.8 5.5 32c0 17.7-14.3 32-32 32l-224 0c-17.7 0-32-14.3-32-32c0-11.2 1.9-22 5.5-32c10.5-29.7 35.3-52.8 66.1-60.9c7.8-2.1 16-3.1 24.5-3.1l96 0c7.4 0 14.7 .8 21.6 2.4zm44-130.4a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zM321.6 96a80 80 0 1 1 0 160 80 80 0 1 1 0-160z\"]\n};\nconst faLungsVirus = {\n prefix: 'fas',\n iconName: 'lungs-virus',\n icon: [640, 512, [], \"e067\", \"M320 0c17.7 0 32 14.3 32 32l0 124.2c-8.5-7.6-19.7-12.2-32-12.2s-23.5 4.6-32 12.2L288 32c0-17.7 14.3-32 32-32zM444.5 195.5c-16.4-16.4-41.8-18.5-60.5-6.1l0-24.1C384 127 415 96 453.3 96c21.7 0 42.8 10.2 55.8 28.8c15.4 22.1 44.3 65.4 71 116.9c26.5 50.9 52.4 112.5 59.6 170.3c.2 1.3 .2 2.6 .2 4l0 7c0 49.1-39.8 89-89 89c-7.3 0-14.5-.9-21.6-2.7l-72.7-18.2c-20.9-5.2-38.7-17.1-51.5-32.9c14 1.5 28.5-3 39.2-13.8l-22.6-22.6 22.6 22.6c18.7-18.7 18.7-49.1 0-67.9c-1.1-1.1-1.4-2-1.5-2.5c-.1-.8-.1-1.8 .4-2.9s1.2-1.9 1.8-2.3c.5-.3 1.3-.8 2.9-.8c26.5 0 48-21.5 48-48s-21.5-48-48-48c-1.6 0-2.4-.4-2.9-.8c-.6-.4-1.3-1.2-1.8-2.3s-.5-2.2-.4-2.9c.1-.6 .4-1.4 1.5-2.5c18.7-18.7 18.7-49.1 0-67.9zM421.8 421.8c-6.2 6.2-16.4 6.2-22.6 0C375.9 398.5 336 415 336 448c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-33-39.9-49.5-63.2-26.2c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6C241.5 375.9 225 336 192 336c-8.8 0-16-7.2-16-16s7.2-16 16-16c33 0 49.5-39.9 26.2-63.2c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0C264.1 241.5 304 225 304 192c0-8.8 7.2-16 16-16s16 7.2 16 16c0 33 39.9 49.5 63.2 26.2c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6C398.5 264.1 415 304 448 304c8.8 0 16 7.2 16 16s-7.2 16-16 16c-33 0-49.5 39.9-26.2 63.2c6.2 6.2 6.2 16.4 0 22.6zM183.3 491.2l-72.7 18.2c-7.1 1.8-14.3 2.7-21.6 2.7c-49.1 0-89-39.8-89-89l0-7c0-1.3 .1-2.7 .2-4c7.2-57.9 33.1-119.4 59.6-170.3c26.8-51.5 55.6-94.8 71-116.9c13-18.6 34-28.8 55.8-28.8C225 96 256 127 256 165.3l0 24.1c-18.6-12.4-44-10.3-60.5 6.1c-18.7 18.7-18.7 49.1 0 67.9c1.1 1.1 1.4 2 1.5 2.5c.1 .8 .1 1.8-.4 2.9s-1.2 1.9-1.8 2.3c-.5 .3-1.3 .8-2.9 .8c-26.5 0-48 21.5-48 48s21.5 48 48 48c1.6 0 2.4 .4 2.9 .8c.6 .4 1.3 1.2 1.8 2.3s.5 2.2 .4 2.9c-.1 .6-.4 1.4-1.5 2.5c-18.7 18.7-18.7 49.1 0 67.9c10.7 10.7 25.3 15.3 39.2 13.8c-12.8 15.9-30.6 27.7-51.5 32.9zM296 320a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm72 32a16 16 0 1 0 -32 0 16 16 0 1 0 32 0z\"]\n};\nconst faFaceGrinTears = {\n prefix: 'fas',\n iconName: 'face-grin-tears',\n icon: [640, 512, [128514, \"grin-tears\"], \"f588\", \"M548.6 371.4C506.4 454.8 419.9 512 320 512s-186.4-57.2-228.6-140.6c4.5-2.9 8.7-6.3 12.7-10.3c8.1-8.1 13.2-18.6 16.5-26.6c3.6-8.8 6.5-18.4 8.8-27.5c4.6-18.2 7.7-37 9.3-48.2c3.9-26.5-18.8-49.2-45.2-45.4c-6.8 .9-16.2 2.4-26.6 4.4C85.3 94.5 191.6 0 320 0S554.7 94.5 573.2 217.7c-10.3-2-19.8-3.5-26.6-4.4c-26.5-3.9-49.2 18.8-45.2 45.4c1.6 11.3 4.6 30 9.3 48.2c2.3 9.1 5.2 18.8 8.8 27.5c3.3 8.1 8.4 18.5 16.5 26.6c3.9 3.9 8.2 7.4 12.7 10.3zM107 254.1c-3.1 21.5-11.4 70.2-25.5 84.4c-.9 1-1.9 1.8-2.9 2.7C60 356.7 32 355.5 14.3 337.7c-18.7-18.7-19.1-48.8-.7-67.2c8.6-8.6 30.1-15.1 50.5-19.6c13-2.8 25.5-4.8 33.9-6c5.4-.8 9.9 3.7 9 9zm454.5 87.1c-.8-.6-1.5-1.3-2.3-2c-.2-.2-.5-.4-.7-.7c-14.1-14.1-22.5-62.9-25.5-84.4c-.8-5.4 3.7-9.9 9-9c1 .1 2.2 .3 3.3 .5c8.2 1.2 19.2 3 30.6 5.5c20.4 4.4 41.9 10.9 50.5 19.6c18.4 18.4 18 48.5-.7 67.2c-17.7 17.7-45.7 19-64.2 3.4zm-90.1-9.7c5-11.8-7-22.5-19.3-18.7c-39.7 12.2-84.5 19-131.8 19s-92.1-6.8-131.8-19c-12.3-3.8-24.3 6.9-19.3 18.7c25 59.1 83.2 100.5 151.1 100.5s126.2-41.4 151.1-100.5zM281.6 228.8s0 0 0 0s0 0 0 0s0 0 0 0c2.1 2.8 5.7 3.9 8.9 2.8s5.5-4.1 5.5-7.6c0-17.9-6.7-35.6-16.6-48.8c-9.8-13-23.9-23.2-39.4-23.2s-29.6 10.2-39.4 23.2C190.7 188.4 184 206.1 184 224c0 3.4 2.2 6.5 5.5 7.6s6.9 0 8.9-2.8c0 0 0 0 0 0s0 0 0 0c0 0 0 0 0 0l.2-.2c.2-.2 .4-.5 .7-.9c.6-.8 1.6-2 2.8-3.4c2.5-2.8 6-6.6 10.2-10.3c8.8-7.8 18.8-14 27.7-14s18.9 6.2 27.7 14c4.2 3.7 7.7 7.5 10.2 10.3c1.2 1.4 2.2 2.6 2.8 3.4c.3 .4 .6 .7 .7 .9l.2 .2c0 0 0 0 0 0zm160 0s0 0 0 0s0 0 0 0c2.1 2.8 5.7 3.9 8.9 2.8s5.5-4.1 5.5-7.6c0-17.9-6.7-35.6-16.6-48.8c-9.8-13-23.9-23.2-39.4-23.2s-29.6 10.2-39.4 23.2C350.7 188.4 344 206.1 344 224c0 3.4 2.2 6.5 5.5 7.6s6.9 0 8.9-2.8c0 0 0 0 0 0s0 0 0 0c0 0 0 0 0 0l.2-.2c.2-.2 .4-.5 .7-.9c.6-.8 1.6-2 2.8-3.4c2.5-2.8 6-6.6 10.2-10.3c8.8-7.8 18.8-14 27.7-14s18.9 6.2 27.7 14c4.2 3.7 7.7 7.5 10.2 10.3c1.2 1.4 2.2 2.6 2.8 3.4c.3 .4 .6 .7 .7 .9l.2 .2c0 0 0 0 0 0c0 0 0 0 0 0z\"]\n};\nconst faGrinTears = faFaceGrinTears;\nconst faPhone = {\n prefix: 'fas',\n iconName: 'phone',\n icon: [512, 512, [128222, 128379], \"f095\", \"M164.9 24.6c-7.7-18.6-28-28.5-47.4-23.2l-88 24C12.1 30.2 0 46 0 64C0 311.4 200.6 512 448 512c18 0 33.8-12.1 38.6-29.5l24-88c5.3-19.4-4.6-39.7-23.2-47.4l-96-40c-16.3-6.8-35.2-2.1-46.3 11.6L304.7 368C234.3 334.7 177.3 277.7 144 207.3L193.3 167c13.7-11.2 18.4-30 11.6-46.3l-40-96z\"]\n};\nconst faCalendarXmark = {\n prefix: 'fas',\n iconName: 'calendar-xmark',\n icon: [448, 512, [\"calendar-times\"], \"f273\", \"M128 0c17.7 0 32 14.3 32 32l0 32 128 0 0-32c0-17.7 14.3-32 32-32s32 14.3 32 32l0 32 48 0c26.5 0 48 21.5 48 48l0 48L0 160l0-48C0 85.5 21.5 64 48 64l48 0 0-32c0-17.7 14.3-32 32-32zM0 192l448 0 0 272c0 26.5-21.5 48-48 48L48 512c-26.5 0-48-21.5-48-48L0 192zM305 305c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-47 47-47-47c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l47 47-47 47c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l47-47 47 47c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-47-47 47-47z\"]\n};\nconst faCalendarTimes = faCalendarXmark;\nconst faChildReaching = {\n prefix: 'fas',\n iconName: 'child-reaching',\n icon: [384, 512, [], \"e59d\", \"M256 64A64 64 0 1 0 128 64a64 64 0 1 0 128 0zM152.9 169.3c-23.7-8.4-44.5-24.3-58.8-45.8L74.6 94.2C64.8 79.5 45 75.6 30.2 85.4s-18.7 29.7-8.9 44.4L40.9 159c18.1 27.1 42.8 48.4 71.1 62.4L112 480c0 17.7 14.3 32 32 32s32-14.3 32-32l0-96 32 0 0 96c0 17.7 14.3 32 32 32s32-14.3 32-32l0-258.4c29.1-14.2 54.4-36.2 72.7-64.2l18.2-27.9c9.6-14.8 5.4-34.6-9.4-44.3s-34.6-5.5-44.3 9.4L291 122.4c-21.8 33.4-58.9 53.6-98.8 53.6c-12.6 0-24.9-2-36.6-5.8c-.9-.3-1.8-.7-2.7-.9z\"]\n};\nconst faHeadSideVirus = {\n prefix: 'fas',\n iconName: 'head-side-virus',\n icon: [512, 512, [], \"e064\", \"M0 224.2C0 100.6 100.2 0 224 0l24 0c95.2 0 181.2 69.3 197.3 160.2c2.3 13 6.8 25.7 15.1 36l42 52.6c6.2 7.8 9.6 17.4 9.6 27.4c0 24.2-19.6 43.8-43.8 43.8L448 320l0 64c0 35.3-28.7 64-64 64l-64 0 0 32c0 17.7-14.3 32-32 32L96 512c-17.7 0-32-14.3-32-32l0-72.7c0-16.7-6.9-32.5-17.1-45.8C16.6 322.4 0 274.1 0 224.2zM224 64c-8.8 0-16 7.2-16 16c0 33-39.9 49.5-63.2 26.2c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6C145.5 152.1 129 192 96 192c-8.8 0-16 7.2-16 16s7.2 16 16 16c33 0 49.5 39.9 26.2 63.2c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0C168.1 286.5 208 303 208 336c0 8.8 7.2 16 16 16s16-7.2 16-16c0-33 39.9-49.5 63.2-26.2c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6C302.5 263.9 319 224 352 224c8.8 0 16-7.2 16-16s-7.2-16-16-16c-33 0-49.5-39.9-26.2-63.2c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0C279.9 129.5 240 113 240 80c0-8.8-7.2-16-16-16zm-24 96a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm40 80a16 16 0 1 1 32 0 16 16 0 1 1 -32 0z\"]\n};\nconst faUserGear = {\n prefix: 'fas',\n iconName: 'user-gear',\n icon: [640, 512, [\"user-cog\"], \"f4fe\", \"M224 0a128 128 0 1 1 0 256A128 128 0 1 1 224 0zM178.3 304l91.4 0c11.8 0 23.4 1.2 34.5 3.3c-2.1 18.5 7.4 35.6 21.8 44.8c-16.6 10.6-26.7 31.6-20 53.3c4 12.9 9.4 25.5 16.4 37.6s15.2 23.1 24.4 33c15.7 16.9 39.6 18.4 57.2 8.7l0 .9c0 9.2 2.7 18.5 7.9 26.3L29.7 512C13.3 512 0 498.7 0 482.3C0 383.8 79.8 304 178.3 304zM436 218.2c0-7 4.5-13.3 11.3-14.8c10.5-2.4 21.5-3.7 32.7-3.7s22.2 1.3 32.7 3.7c6.8 1.5 11.3 7.8 11.3 14.8l0 30.6c7.9 3.4 15.4 7.7 22.3 12.8l24.9-14.3c6.1-3.5 13.7-2.7 18.5 2.4c7.6 8.1 14.3 17.2 20.1 27.2s10.3 20.4 13.5 31c2.1 6.7-1.1 13.7-7.2 17.2l-25 14.4c.4 4 .7 8.1 .7 12.3s-.2 8.2-.7 12.3l25 14.4c6.1 3.5 9.2 10.5 7.2 17.2c-3.3 10.6-7.8 21-13.5 31s-12.5 19.1-20.1 27.2c-4.8 5.1-12.5 5.9-18.5 2.4l-24.9-14.3c-6.9 5.1-14.3 9.4-22.3 12.8l0 30.6c0 7-4.5 13.3-11.3 14.8c-10.5 2.4-21.5 3.7-32.7 3.7s-22.2-1.3-32.7-3.7c-6.8-1.5-11.3-7.8-11.3-14.8l0-30.5c-8-3.4-15.6-7.7-22.5-12.9l-24.7 14.3c-6.1 3.5-13.7 2.7-18.5-2.4c-7.6-8.1-14.3-17.2-20.1-27.2s-10.3-20.4-13.5-31c-2.1-6.7 1.1-13.7 7.2-17.2l24.8-14.3c-.4-4.1-.7-8.2-.7-12.4s.2-8.3 .7-12.4L343.8 325c-6.1-3.5-9.2-10.5-7.2-17.2c3.3-10.6 7.7-21 13.5-31s12.5-19.1 20.1-27.2c4.8-5.1 12.4-5.9 18.5-2.4l24.8 14.3c6.9-5.1 14.5-9.4 22.5-12.9l0-30.5zm92.1 133.5a48.1 48.1 0 1 0 -96.1 0 48.1 48.1 0 1 0 96.1 0z\"]\n};\nconst faUserCog = faUserGear;\nconst faArrowUp19 = {\n prefix: 'fas',\n iconName: 'arrow-up-1-9',\n icon: [576, 512, [\"sort-numeric-up\"], \"f163\", \"M450.7 38c8.3 6 13.3 15.7 13.3 26l0 96 16 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-48 0-48 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l16 0 0-51.6-5.9 2c-16.8 5.6-34.9-3.5-40.5-20.2s3.5-34.9 20.2-40.5l48-16c9.8-3.3 20.5-1.6 28.8 4.4zM160 32c9 0 17.5 3.8 23.6 10.4l88 96c11.9 13 11.1 33.3-2 45.2s-33.3 11.1-45.2-2L192 146.3 192 448c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-301.7L95.6 181.6c-11.9 13-32.2 13.9-45.2 2s-13.9-32.2-2-45.2l88-96C142.5 35.8 151 32 160 32zM445.7 364.9A32 32 0 1 0 418.3 307a32 32 0 1 0 27.4 57.9zm-40.7 54.9C369.6 408.4 344 375.2 344 336c0-48.6 39.4-88 88-88s88 39.4 88 88c0 23.5-7.5 46.3-21.5 65.2L449.7 467c-10.5 14.2-30.6 17.2-44.8 6.7s-17.2-30.6-6.7-44.8l6.8-9.2z\"]\n};\nconst faSortNumericUp = faArrowUp19;\nconst faDoorClosed = {\n prefix: 'fas',\n iconName: 'door-closed',\n icon: [576, 512, [128682], \"f52a\", \"M96 64c0-35.3 28.7-64 64-64L416 0c35.3 0 64 28.7 64 64l0 384 64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-112 0-288 0L32 512c-17.7 0-32-14.3-32-32s14.3-32 32-32l64 0L96 64zM384 288a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nconst faShieldVirus = {\n prefix: 'fas',\n iconName: 'shield-virus',\n icon: [512, 512, [], \"e06c\", \"M269.4 2.9C265.2 1 260.7 0 256 0s-9.2 1-13.4 2.9L54.3 82.8c-22 9.3-38.4 31-38.3 57.2c.5 99.2 41.3 280.7 213.6 363.2c16.7 8 36.1 8 52.8 0C454.7 420.7 495.5 239.2 496 140c.1-26.2-16.3-47.9-38.3-57.2L269.4 2.9zM256 112c8.8 0 16 7.2 16 16c0 33 39.9 49.5 63.2 26.2c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6C334.5 200.1 351 240 384 240c8.8 0 16 7.2 16 16s-7.2 16-16 16c-33 0-49.5 39.9-26.2 63.2c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0C311.9 334.5 272 351 272 384c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-33-39.9-49.5-63.2-26.2c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6C177.5 311.9 161 272 128 272c-8.8 0-16-7.2-16-16s7.2-16 16-16c33 0 49.5-39.9 26.2-63.2c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0C200.1 177.5 240 161 240 128c0-8.8 7.2-16 16-16zM232 256a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm72 32a16 16 0 1 0 -32 0 16 16 0 1 0 32 0z\"]\n};\nconst faDiceSix = {\n prefix: 'fas',\n iconName: 'dice-six',\n icon: [448, 512, [9861], \"f526\", \"M0 96C0 60.7 28.7 32 64 32l320 0c35.3 0 64 28.7 64 64l0 320c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64L0 96zm160 64a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM128 288a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm32 64a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM320 192a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm32 64a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM320 384a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nconst faMosquitoNet = {\n prefix: 'fas',\n iconName: 'mosquito-net',\n icon: [640, 512, [], \"e52c\", \"M168.8 462.3c-7.9-4-11.1-13.6-7.2-21.5L192 380.2l0-44.2c0-4.2 1.7-8.3 4.7-11.3L256 265.4l0-23.1L139.2 344C87.8 395.3 0 358.9 0 286.3c0-41.1 30.6-75.8 71.4-80.9l159.9-23.9-49.6-41.3c-5.1-4.2-7-11.1-4.9-17.4l13.9-41.7-29-58.1c-4-7.9-.7-17.5 7.2-21.5s17.5-.7 21.5 7.2l32 64c1.9 3.8 2.2 8.2 .9 12.2l-12.5 37.6L256 160.5l0-22.6c0-14.9 10.1-27.3 23.8-31l0-43.3c0-4.5 3.7-8.2 8.2-8.2s8.2 3.7 8.2 8.2l0 43.3c13.7 3.6 23.8 16.1 23.8 31l0 22.6 45.4-37.8L352.8 85.1c-1.3-4-1-8.4 .9-12.2l32-64c4-7.9 13.6-11.1 21.5-7.2s11.1 13.6 7.2 21.5l-29 58.1 13.9 41.7c2.1 6.2 .1 13.1-4.9 17.4l-49.6 41.3 159.9 23.9c22.5 2.8 41.8 14.6 54.7 31.4c-2.7 2.6-5.2 5.4-7.3 8.6c-8.6-12.9-23.3-21.5-40-21.5s-31.4 8.5-40 21.5c-8.6-12.9-23.3-21.5-40-21.5c-21.7 0-40 14.3-45.9 34.1c-10.7 3.2-19.8 10.1-25.9 19.2l-40.2-35 0 23.1 32.4 32.4c-.3 2-.4 4.1-.4 6.2c0 16.7 8.5 31.4 21.5 40c-4 2.6-7.5 5.9-10.6 9.5L320 310.6l0 50c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-50-32 32 0 41.4c0 2.5-.6 4.9-1.7 7.2l-32 64c-4 7.9-13.6 11.1-21.5 7.2zM512 256c8.8 0 16 7.2 16 16l0 16 48 0 0-16c0-8.8 7.2-16 16-16s16 7.2 16 16l0 16 16 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-16 0 0 48 16 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-16 0 0 48 16 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-16 0 0 16c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-16-48 0 0 16c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-16-48 0 0 16c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-16-16 0c-8.8 0-16-7.2-16-16s7.2-16 16-16l16 0 0-48-16 0c-8.8 0-16-7.2-16-16s7.2-16 16-16l16 0 0-48-16 0c-8.8 0-16-7.2-16-16s7.2-16 16-16l16 0 0-16c0-8.8 7.2-16 16-16s16 7.2 16 16l0 16 48 0 0-16c0-8.8 7.2-16 16-16zm16 112l48 0 0-48-48 0 0 48zm0 80l48 0 0-48-48 0 0 48zM448 320l0 48 48 0 0-48-48 0zm0 80l0 48 48 0 0-48-48 0z\"]\n};\nconst faFileFragment = {\n prefix: 'fas',\n iconName: 'file-fragment',\n icon: [384, 512, [], \"e697\", \"M0 64C0 28.7 28.7 0 64 0L224 0l0 128c0 17.7 14.3 32 32 32l128 0 0 288c0 35.3-28.7 64-64 64l-128 0 0-128c0-35.3-28.7-64-64-64L0 320 0 64zm384 64l-128 0L256 0 384 128zM32 352l96 0c17.7 0 32 14.3 32 32l0 96c0 17.7-14.3 32-32 32l-96 0c-17.7 0-32-14.3-32-32l0-96c0-17.7 14.3-32 32-32z\"]\n};\nconst faBridgeWater = {\n prefix: 'fas',\n iconName: 'bridge-water',\n icon: [576, 512, [], \"e4ce\", \"M0 96C0 78.3 14.3 64 32 64l512 0c17.7 0 32 14.3 32 32l0 35.6c0 15.7-12.7 28.4-28.4 28.4c-37.3 0-67.6 30.2-67.6 67.6l0 124.9c-12.9 0-25.8 3.9-36.8 11.7c-18 12.4-40.1 20.3-59.2 20.3c0 0 0 0 0 0l0-.5 0-128c0-53-43-96-96-96s-96 43-96 96l0 128 0 .5c-19 0-41.2-7.9-59.1-20.3c-11.1-7.8-24-11.7-36.9-11.7l0-124.9C96 190.2 65.8 160 28.4 160C12.7 160 0 147.3 0 131.6L0 96zM306.5 389.9C329 405.4 356.5 416 384 416c26.9 0 55.4-10.8 77.4-26.1c0 0 0 0 0 0c11.9-8.5 28.1-7.8 39.2 1.7c14.4 11.9 32.5 21 50.6 25.2c17.2 4 27.9 21.2 23.9 38.4s-21.2 27.9-38.4 23.9c-24.5-5.7-44.9-16.5-58.2-25C449.5 469.7 417 480 384 480c-31.9 0-60.6-9.9-80.4-18.9c-5.8-2.7-11.1-5.3-15.6-7.7c-4.5 2.4-9.7 5.1-15.6 7.7c-19.8 9-48.5 18.9-80.4 18.9c-33 0-65.5-10.3-94.5-25.8c-13.4 8.4-33.7 19.3-58.2 25c-17.2 4-34.4-6.7-38.4-23.9s6.7-34.4 23.9-38.4c18.1-4.2 36.2-13.3 50.6-25.2c11.1-9.4 27.3-10.1 39.2-1.7c0 0 0 0 0 0C136.7 405.2 165.1 416 192 416c27.5 0 55-10.6 77.5-26.1c11.1-7.9 25.9-7.9 37 0z\"]\n};\nconst faPersonBooth = {\n prefix: 'fas',\n iconName: 'person-booth',\n icon: [576, 512, [], \"f756\", \"M256 32c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 160 64 0 0-160zm320 0c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 448c0 17.7 14.3 32 32 32s32-14.3 32-32l0-448zM224 512c17.7 0 32-14.3 32-32l0-160-64 0 0 160c0 17.7 14.3 32 32 32zM320 0c-9.3 0-18.1 4-24.2 11s-8.8 16.3-7.5 25.5l31.2 218.6L288.6 409.7c-3.5 17.3 7.8 34.2 25.1 37.7s34.2-7.8 37.7-25.1l.7-3.6c1.3 16.4 15.1 29.4 31.9 29.4c17.7 0 32-14.3 32-32c0 17.7 14.3 32 32 32s32-14.3 32-32l0-384c0-17.7-14.3-32-32-32L320 0zM112 80A48 48 0 1 0 16 80a48 48 0 1 0 96 0zm0 261.3l0-72.1 4.7 4.7c9 9 21.2 14.1 33.9 14.1l73.4 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-66.7 0-41.6-41.6c-14.3-14.3-33.8-22.4-54-22.4C27.6 160 0 187.6 0 221.6l0 55.7 0 .9L0 480c0 17.7 14.3 32 32 32s32-14.3 32-32l0-96 32 42.7L96 480c0 17.7 14.3 32 32 32s32-14.3 32-32l0-58.7c0-10.4-3.4-20.5-9.6-28.8L112 341.3z\"]\n};\nconst faTextWidth = {\n prefix: 'fas',\n iconName: 'text-width',\n icon: [448, 512, [], \"f035\", \"M64 128l0-32 128 0 0 128-16 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l96 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-16 0 0-128 128 0 0 32c0 17.7 14.3 32 32 32s32-14.3 32-32l0-48c0-26.5-21.5-48-48-48L224 32 48 32C21.5 32 0 53.5 0 80l0 48c0 17.7 14.3 32 32 32s32-14.3 32-32zM9.4 361.4c-12.5 12.5-12.5 32.8 0 45.3l64 64c9.2 9.2 22.9 11.9 34.9 6.9s19.8-16.6 19.8-29.6l0-32 192 0 0 32c0 12.9 7.8 24.6 19.8 29.6s25.7 2.2 34.9-6.9l64-64c12.5-12.5 12.5-32.8 0-45.3l-64-64c-9.2-9.2-22.9-11.9-34.9-6.9s-19.8 16.6-19.8 29.6l0 32-192 0 0-32c0-12.9-7.8-24.6-19.8-29.6s-25.7-2.2-34.9 6.9l-64 64z\"]\n};\nconst faHatWizard = {\n prefix: 'fas',\n iconName: 'hat-wizard',\n icon: [512, 512, [], \"f6e8\", \"M64 416L168.6 180.7c15.3-34.4 40.3-63.5 72-83.7l146.9-94c3-1.9 6.5-2.9 10-2.9C407.7 0 416 8.3 416 18.6l0 1.6c0 2.6-.5 5.1-1.4 7.5L354.8 176.9c-1.9 4.7-2.8 9.7-2.8 14.7c0 5.5 1.2 11 3.4 16.1L448 416l-207.1 0 11.8-35.4 40.4-13.5c6.5-2.2 10.9-8.3 10.9-15.2s-4.4-13-10.9-15.2l-40.4-13.5-13.5-40.4C237 276.4 230.9 272 224 272s-13 4.4-15.2 10.9l-13.5 40.4-40.4 13.5C148.4 339 144 345.1 144 352s4.4 13 10.9 15.2l40.4 13.5L207.1 416 64 416zM279.6 141.5c-1.1-3.3-4.1-5.5-7.6-5.5s-6.5 2.2-7.6 5.5l-6.7 20.2-20.2 6.7c-3.3 1.1-5.5 4.1-5.5 7.6s2.2 6.5 5.5 7.6l20.2 6.7 6.7 20.2c1.1 3.3 4.1 5.5 7.6 5.5s6.5-2.2 7.6-5.5l6.7-20.2 20.2-6.7c3.3-1.1 5.5-4.1 5.5-7.6s-2.2-6.5-5.5-7.6l-20.2-6.7-6.7-20.2zM32 448l448 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 512c-17.7 0-32-14.3-32-32s14.3-32 32-32z\"]\n};\nconst faPenFancy = {\n prefix: 'fas',\n iconName: 'pen-fancy',\n icon: [512, 512, [128395, 10002], \"f5ac\", \"M373.5 27.1C388.5 9.9 410.2 0 433 0c43.6 0 79 35.4 79 79c0 22.8-9.9 44.6-27.1 59.6L277.7 319l-10.3-10.3-64-64L193 234.3 373.5 27.1zM170.3 256.9l10.4 10.4 64 64 10.4 10.4-19.2 83.4c-3.9 17.1-16.9 30.7-33.8 35.4L24.3 510.3l95.4-95.4c2.6 .7 5.4 1.1 8.3 1.1c17.7 0 32-14.3 32-32s-14.3-32-32-32s-32 14.3-32 32c0 2.9 .4 5.6 1.1 8.3L1.7 487.6 51.5 310c4.7-16.9 18.3-29.9 35.4-33.8l83.4-19.2z\"]\n};\nconst faPersonDigging = {\n prefix: 'fas',\n iconName: 'person-digging',\n icon: [576, 512, [\"digging\"], \"f85e\", \"M208 64a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM9.8 214.8c5.1-12.2 19.1-18 31.4-12.9L60.7 210l22.9-38.1C99.9 144.6 129.3 128 161 128c51.4 0 97 32.9 113.3 81.7l34.6 103.7 79.3 33.1 34.2-45.6c6.4-8.5 16.6-13.3 27.2-12.8s20.3 6.4 25.8 15.5l96 160c5.9 9.9 6.1 22.2 .4 32.2s-16.3 16.2-27.8 16.2l-256 0c-11.1 0-21.4-5.7-27.2-15.2s-6.4-21.2-1.4-31.1l16-32c5.4-10.8 16.5-17.7 28.6-17.7l32 0 22.5-30L22.8 246.2c-12.2-5.1-18-19.1-12.9-31.4zm82.8 91.8l112 48c11.8 5 19.4 16.6 19.4 29.4l0 96c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-74.9-60.6-26-37 111c-5.6 16.8-23.7 25.8-40.5 20.2S-3.9 486.6 1.6 469.9l48-144 11-33 32 13.7z\"]\n};\nconst faDigging = faPersonDigging;\nconst faTrash = {\n prefix: 'fas',\n iconName: 'trash',\n icon: [448, 512, [], \"f1f8\", \"M135.2 17.7L128 32 32 32C14.3 32 0 46.3 0 64S14.3 96 32 96l384 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-96 0-7.2-14.3C307.4 6.8 296.3 0 284.2 0L163.8 0c-12.1 0-23.2 6.8-28.6 17.7zM416 128L32 128 53.2 467c1.6 25.3 22.6 45 47.9 45l245.8 0c25.3 0 46.3-19.7 47.9-45L416 128z\"]\n};\nconst faGaugeSimple = {\n prefix: 'fas',\n iconName: 'gauge-simple',\n icon: [512, 512, [\"gauge-simple-med\", \"tachometer-average\"], \"f629\", \"M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm320 96c0-26.9-16.5-49.9-40-59.3L280 88c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 204.7c-23.5 9.5-40 32.5-40 59.3c0 35.3 28.7 64 64 64s64-28.7 64-64z\"]\n};\nconst faGaugeSimpleMed = faGaugeSimple;\nconst faTachometerAverage = faGaugeSimple;\nconst faBookMedical = {\n prefix: 'fas',\n iconName: 'book-medical',\n icon: [448, 512, [], \"f7e6\", \"M0 96C0 43 43 0 96 0L384 0l32 0c17.7 0 32 14.3 32 32l0 320c0 17.7-14.3 32-32 32l0 64c17.7 0 32 14.3 32 32s-14.3 32-32 32l-32 0L96 512c-53 0-96-43-96-96L0 96zM64 416c0 17.7 14.3 32 32 32l256 0 0-64L96 384c-17.7 0-32 14.3-32 32zM208 112l0 48-48 0c-8.8 0-16 7.2-16 16l0 32c0 8.8 7.2 16 16 16l48 0 0 48c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-48 48 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16l-48 0 0-48c0-8.8-7.2-16-16-16l-32 0c-8.8 0-16 7.2-16 16z\"]\n};\nconst faPoo = {\n prefix: 'fas',\n iconName: 'poo',\n icon: [512, 512, [128169], \"f2fe\", \"M268.9 .9c-5.5-.7-11 1.4-14.5 5.7s-4.6 10.1-2.8 15.4c2.8 8.2 4.3 16.9 4.3 26.1c0 44.1-35.7 79.9-79.8 80L160 128c-35.3 0-64 28.7-64 64c0 19.1 8.4 36.3 21.7 48L104 240c-39.8 0-72 32.2-72 72c0 23.2 11 43.8 28 57c-34.1 5.7-60 35.3-60 71c0 39.8 32.2 72 72 72l368 0c39.8 0 72-32.2 72-72c0-35.7-25.9-65.3-60-71c17-13.2 28-33.8 28-57c0-39.8-32.2-72-72-72l-13.7 0c13.3-11.7 21.7-28.9 21.7-48c0-35.3-28.7-64-64-64l-5.5 0c3.5-10 5.5-20.8 5.5-32c0-48.6-36.2-88.8-83.1-95.1zM192 256a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm96 32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm64 108.3c0 2.4-.7 4.8-2.2 6.7c-8.2 10.5-39.5 45-93.8 45s-85.6-34.6-93.8-45c-1.5-1.9-2.2-4.3-2.2-6.7c0-6.8 5.5-12.3 12.3-12.3l167.4 0c6.8 0 12.3 5.5 12.3 12.3z\"]\n};\nconst faQuoteRight = {\n prefix: 'fas',\n iconName: 'quote-right',\n icon: [448, 512, [8221, \"quote-right-alt\"], \"f10e\", \"M448 296c0 66.3-53.7 120-120 120l-8 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l8 0c30.9 0 56-25.1 56-56l0-8-64 0c-35.3 0-64-28.7-64-64l0-64c0-35.3 28.7-64 64-64l64 0c35.3 0 64 28.7 64 64l0 32 0 32 0 72zm-256 0c0 66.3-53.7 120-120 120l-8 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l8 0c30.9 0 56-25.1 56-56l0-8-64 0c-35.3 0-64-28.7-64-64l0-64c0-35.3 28.7-64 64-64l64 0c35.3 0 64 28.7 64 64l0 32 0 32 0 72z\"]\n};\nconst faQuoteRightAlt = faQuoteRight;\nconst faShirt = {\n prefix: 'fas',\n iconName: 'shirt',\n icon: [640, 512, [128085, \"t-shirt\", \"tshirt\"], \"f553\", \"M211.8 0c7.8 0 14.3 5.7 16.7 13.2C240.8 51.9 277.1 80 320 80s79.2-28.1 91.5-66.8C413.9 5.7 420.4 0 428.2 0l12.6 0c22.5 0 44.2 7.9 61.5 22.3L628.5 127.4c6.6 5.5 10.7 13.5 11.4 22.1s-2.1 17.1-7.8 23.6l-56 64c-11.4 13.1-31.2 14.6-44.6 3.5L480 197.7 480 448c0 35.3-28.7 64-64 64l-192 0c-35.3 0-64-28.7-64-64l0-250.3-51.5 42.9c-13.3 11.1-33.1 9.6-44.6-3.5l-56-64c-5.7-6.5-8.5-15-7.8-23.6s4.8-16.6 11.4-22.1L137.7 22.3C155 7.9 176.7 0 199.2 0l12.6 0z\"]\n};\nconst faTShirt = faShirt;\nconst faTshirt = faShirt;\nconst faCubes = {\n prefix: 'fas',\n iconName: 'cubes',\n icon: [576, 512, [], \"f1b3\", \"M290.8 48.6l78.4 29.7L288 109.5 206.8 78.3l78.4-29.7c1.8-.7 3.8-.7 5.7 0zM136 92.5l0 112.2c-1.3 .4-2.6 .8-3.9 1.3l-96 36.4C14.4 250.6 0 271.5 0 294.7L0 413.9c0 22.2 13.1 42.3 33.5 51.3l96 42.2c14.4 6.3 30.7 6.3 45.1 0L288 457.5l113.5 49.9c14.4 6.3 30.7 6.3 45.1 0l96-42.2c20.3-8.9 33.5-29.1 33.5-51.3l0-119.1c0-23.3-14.4-44.1-36.1-52.4l-96-36.4c-1.3-.5-2.6-.9-3.9-1.3l0-112.2c0-23.3-14.4-44.1-36.1-52.4l-96-36.4c-12.8-4.8-26.9-4.8-39.7 0l-96 36.4C150.4 48.4 136 69.3 136 92.5zM392 210.6l-82.4 31.2 0-89.2L392 121l0 89.6zM154.8 250.9l78.4 29.7L152 311.7 70.8 280.6l78.4-29.7c1.8-.7 3.8-.7 5.7 0zm18.8 204.4l0-100.5L256 323.2l0 95.9-82.4 36.2zM421.2 250.9c1.8-.7 3.8-.7 5.7 0l78.4 29.7L424 311.7l-81.2-31.1 78.4-29.7zM523.2 421.2l-77.6 34.1 0-100.5L528 323.2l0 90.7c0 3.2-1.9 6-4.8 7.3z\"]\n};\nconst faDivide = {\n prefix: 'fas',\n iconName: 'divide',\n icon: [448, 512, [10135, 247], \"f529\", \"M272 96a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zm0 320a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM400 288c17.7 0 32-14.3 32-32s-14.3-32-32-32L48 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l352 0z\"]\n};\nconst faTengeSign = {\n prefix: 'fas',\n iconName: 'tenge-sign',\n icon: [384, 512, [8376, \"tenge\"], \"f7d7\", \"M0 64C0 46.3 14.3 32 32 32l320 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 96C14.3 96 0 81.7 0 64zM0 192c0-17.7 14.3-32 32-32l160 0 160 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-128 0 0 224c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-224L32 224c-17.7 0-32-14.3-32-32z\"]\n};\nconst faTenge = faTengeSign;\nconst faHeadphones = {\n prefix: 'fas',\n iconName: 'headphones',\n icon: [512, 512, [127911], \"f025\", \"M256 80C149.9 80 62.4 159.4 49.6 262c9.4-3.8 19.6-6 30.4-6c26.5 0 48 21.5 48 48l0 128c0 26.5-21.5 48-48 48c-44.2 0-80-35.8-80-80l0-16 0-48 0-48C0 146.6 114.6 32 256 32s256 114.6 256 256l0 48 0 48 0 16c0 44.2-35.8 80-80 80c-26.5 0-48-21.5-48-48l0-128c0-26.5 21.5-48 48-48c10.8 0 21 2.1 30.4 6C449.6 159.4 362.1 80 256 80z\"]\n};\nconst faHandsHolding = {\n prefix: 'fas',\n iconName: 'hands-holding',\n icon: [640, 512, [], \"f4c2\", \"M80 104c0-22.1-17.9-40-40-40S0 81.9 0 104l0 56 0 64L0 325.5c0 25.5 10.1 49.9 28.1 67.9L128 493.3c12 12 28.3 18.7 45.3 18.7l66.7 0c26.5 0 48-21.5 48-48l0-78.9c0-29.7-11.8-58.2-32.8-79.2l-25.3-25.3c0 0 0 0 0 0l-15.2-15.2-32-32c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l32 32 15.2 15.2c11 11 9.2 29.2-3.7 37.8c-9.7 6.5-22.7 5.2-31-3.1L98.7 309.5c-12-12-18.7-28.3-18.7-45.3L80 224l0-80 0-40zm480 0l0 40 0 80 0 40.2c0 17-6.7 33.3-18.7 45.3l-51.1 51.1c-8.3 8.3-21.3 9.6-31 3.1c-12.9-8.6-14.7-26.9-3.7-37.8l15.2-15.2 32-32c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-32 32-15.2 15.2c0 0 0 0 0 0l-25.3 25.3c-21 21-32.8 49.5-32.8 79.2l0 78.9c0 26.5 21.5 48 48 48l66.7 0c17 0 33.3-6.7 45.3-18.7l99.9-99.9c18-18 28.1-42.4 28.1-67.9L640 224l0-64 0-56c0-22.1-17.9-40-40-40s-40 17.9-40 40z\"]\n};\nconst faHandsClapping = {\n prefix: 'fas',\n iconName: 'hands-clapping',\n icon: [512, 512, [], \"e1a8\", \"M336 16l0 64c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-64c0-8.8 7.2-16 16-16s16 7.2 16 16zm-98.7 7.1l32 48c4.9 7.4 2.9 17.3-4.4 22.2s-17.3 2.9-22.2-4.4l-32-48c-4.9-7.4-2.9-17.3 4.4-22.2s17.3-2.9 22.2 4.4zM135 119c9.4-9.4 24.6-9.4 33.9 0L292.7 242.7c10.1 10.1 27.3 2.9 27.3-11.3l0-39.4c0-17.7 14.3-32 32-32s32 14.3 32 32l0 153.6c0 57.1-30 110-78.9 139.4c-64 38.4-145.8 28.3-198.5-24.4L7 361c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l53 53c6.1 6.1 16 6.1 22.1 0s6.1-16 0-22.1L23 265c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l93 93c6.1 6.1 16 6.1 22.1 0s6.1-16 0-22.1L55 185c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l117 117c6.1 6.1 16 6.1 22.1 0s6.1-16 0-22.1l-93-93c-9.4-9.4-9.4-24.6 0-33.9zM433.1 484.9c-24.2 14.5-50.9 22.1-77.7 23.1c48.1-39.6 76.6-99 76.6-162.4l0-98.1c8.2-.1 16-6.4 16-16l0-39.4c0-17.7 14.3-32 32-32s32 14.3 32 32l0 153.6c0 57.1-30 110-78.9 139.4zM424.9 18.7c7.4 4.9 9.3 14.8 4.4 22.2l-32 48c-4.9 7.4-14.8 9.3-22.2 4.4s-9.3-14.8-4.4-22.2l32-48c4.9-7.4 14.8-9.3 22.2-4.4z\"]\n};\nconst faRepublican = {\n prefix: 'fas',\n iconName: 'republican',\n icon: [640, 512, [], \"f75e\", \"M0 192C0 103.6 71.6 32 160 32l224 0c88.4 0 160 71.6 160 160l0 64L0 256l0-64zm415.9-64c-2.4 0-4.7 1.3-5.7 3.4l-12.6 24.6-28.2 4c-2.4 .3-4.4 2-5.2 4.2s-.1 4.7 1.6 6.3l20.4 19.2-4.8 27.1c-.4 2.3 .6 4.7 2.5 6s4.6 1.6 6.7 .5l25.2-12.8 25.2 12.8c2.2 1.1 4.8 .9 6.7-.5s3-3.7 2.5-6l-4.8-27.1L466 170.5c1.7-1.6 2.4-4.1 1.6-6.3s-2.8-3.9-5.2-4.2l-28.2-4-12.6-24.6c-1.1-2.1-3.3-3.4-5.7-3.4zm-138.3 3.4c-1.1-2.1-3.3-3.4-5.7-3.4s-4.7 1.3-5.7 3.4l-12.6 24.6-28.2 4c-2.4 .3-4.4 2-5.2 4.2s-.1 4.7 1.6 6.3l20.4 19.2-4.8 27.1c-.4 2.3 .6 4.7 2.5 6s4.6 1.6 6.7 .5l25.2-12.8 25.2 12.8c2.2 1.1 4.8 .9 6.7-.5s3-3.7 2.5-6l-4.8-27.1L322 170.5c1.7-1.6 2.4-4.1 1.6-6.3s-2.8-3.9-5.2-4.2l-28.2-4-12.6-24.6zM127.9 128c-2.4 0-4.7 1.3-5.7 3.4l-12.6 24.6-28.2 4c-2.4 .3-4.4 2-5.2 4.2s-.1 4.7 1.6 6.3l20.4 19.2-4.8 27.1c-.4 2.3 .6 4.7 2.5 6s4.6 1.6 6.7 .5l25.2-12.8 25.2 12.8c2.2 1.1 4.8 .9 6.7-.5s3-3.7 2.5-6l-4.8-27.1L178 170.5c1.7-1.6 2.4-4.1 1.6-6.3s-2.8-3.9-5.2-4.2l-28.2-4-12.6-24.6c-1.1-2.1-3.3-3.4-5.7-3.4zm.1 160l192 0 96 0 32 0 64 0 32 0 0 32 0 80c0 8.8 7.2 16 16 16s16-7.2 16-16l0-48c0-17.7 14.3-32 32-32s32 14.3 32 32l0 48c0 44.2-35.8 80-80 80s-80-35.8-80-80l0-48-32 0 0 32 0 64c0 17.7-14.3 32-32 32l-64 0c-17.7 0-32-14.3-32-32l0-64-192 0 0 64c0 17.7-14.3 32-32 32l-64 0c-17.7 0-32-14.3-32-32l0-64 0-96 128 0z\"]\n};\nconst faArrowLeft = {\n prefix: 'fas',\n iconName: 'arrow-left',\n icon: [448, 512, [8592], \"f060\", \"M9.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l160 160c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L109.2 288 416 288c17.7 0 32-14.3 32-32s-14.3-32-32-32l-306.7 0L214.6 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-160 160z\"]\n};\nconst faPersonCircleXmark = {\n prefix: 'fas',\n iconName: 'person-circle-xmark',\n icon: [576, 512, [], \"e543\", \"M112 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm40 304l0 128c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-223.1L59.4 304.5c-9.1 15.1-28.8 20-43.9 10.9s-20-28.8-10.9-43.9l58.3-97c17.4-28.9 48.6-46.6 82.3-46.6l29.7 0c33.7 0 64.9 17.7 82.3 46.6l44.9 74.7c-16.1 17.6-28.6 38.5-36.6 61.5c-1.9-1.8-3.5-3.9-4.9-6.3L232 256.9 232 480c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-128-16 0zM432 224a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm59.3 107.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L432 345.4l-36.7-36.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L409.4 368l-36.7 36.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L432 390.6l36.7 36.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L454.6 368l36.7-36.7z\"]\n};\nconst faRuler = {\n prefix: 'fas',\n iconName: 'ruler',\n icon: [512, 512, [128207], \"f545\", \"M177.9 494.1c-18.7 18.7-49.1 18.7-67.9 0L17.9 401.9c-18.7-18.7-18.7-49.1 0-67.9l50.7-50.7 48 48c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-48-48 41.4-41.4 48 48c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-48-48 41.4-41.4 48 48c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-48-48 41.4-41.4 48 48c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-48-48 50.7-50.7c18.7-18.7 49.1-18.7 67.9 0l92.1 92.1c18.7 18.7 18.7 49.1 0 67.9L177.9 494.1z\"]\n};\nconst faAlignLeft = {\n prefix: 'fas',\n iconName: 'align-left',\n icon: [448, 512, [], \"f036\", \"M288 64c0 17.7-14.3 32-32 32L32 96C14.3 96 0 81.7 0 64S14.3 32 32 32l224 0c17.7 0 32 14.3 32 32zm0 256c0 17.7-14.3 32-32 32L32 352c-17.7 0-32-14.3-32-32s14.3-32 32-32l224 0c17.7 0 32 14.3 32 32zM0 192c0-17.7 14.3-32 32-32l384 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 224c-17.7 0-32-14.3-32-32zM448 448c0 17.7-14.3 32-32 32L32 480c-17.7 0-32-14.3-32-32s14.3-32 32-32l384 0c17.7 0 32 14.3 32 32z\"]\n};\nconst faDiceD6 = {\n prefix: 'fas',\n iconName: 'dice-d6',\n icon: [448, 512, [], \"f6d1\", \"M201 10.3c14.3-7.8 31.6-7.8 46 0L422.3 106c5.1 2.8 8.3 8.2 8.3 14s-3.2 11.2-8.3 14L231.7 238c-4.8 2.6-10.5 2.6-15.3 0L25.7 134c-5.1-2.8-8.3-8.2-8.3-14s3.2-11.2 8.3-14L201 10.3zM23.7 170l176 96c5.1 2.8 8.3 8.2 8.3 14l0 216c0 5.6-3 10.9-7.8 13.8s-10.9 3-15.8 .3L25 423.1C9.6 414.7 0 398.6 0 381L0 184c0-5.6 3-10.9 7.8-13.8s10.9-3 15.8-.3zm400.7 0c5-2.7 11-2.6 15.8 .3s7.8 8.1 7.8 13.8l0 197c0 17.6-9.6 33.7-25 42.1L263.7 510c-5 2.7-11 2.6-15.8-.3s-7.8-8.1-7.8-13.8l0-216c0-5.9 3.2-11.2 8.3-14l176-96z\"]\n};\nconst faRestroom = {\n prefix: 'fas',\n iconName: 'restroom',\n icon: [640, 512, [], \"f7bd\", \"M80 48a48 48 0 1 1 96 0A48 48 0 1 1 80 48zm40 304l0 128c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-154.8c-8.1 9.2-21.1 13.2-33.5 9.4c-16.9-5.3-26.3-23.2-21-40.1l30.9-99.1C44.9 155.3 82 128 124 128l8 0c42 0 79.1 27.3 91.6 67.4l30.9 99.1c5.3 16.9-4.1 34.8-21 40.1c-12.4 3.9-25.4-.2-33.5-9.4L200 480c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-128-16 0zM320 0c13.3 0 24 10.7 24 24l0 464c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-464c0-13.3 10.7-24 24-24zM464 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM440 480l0-96-17.8 0c-10.9 0-18.6-10.7-15.2-21.1l9-26.9c-3.2 0-6.4-.5-9.5-1.5c-16.9-5.3-26.3-23.2-21-40.1l29.7-95.2C428.4 156.9 467.6 128 512 128s83.6 28.9 96.8 71.2l29.7 95.2c5.3 16.9-4.1 34.8-21 40.1c-3.2 1-6.4 1.5-9.5 1.5l9 26.9c3.5 10.4-4.3 21.1-15.2 21.1L584 384l0 96c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-96-16 0 0 96c0 17.7-14.3 32-32 32s-32-14.3-32-32z\"]\n};\nconst faJ = {\n prefix: 'fas',\n iconName: 'j',\n icon: [320, 512, [106], \"4a\", \"M288 32c17.7 0 32 14.3 32 32l0 256c0 88.4-71.6 160-160 160S0 408.4 0 320l0-32c0-17.7 14.3-32 32-32s32 14.3 32 32l0 32c0 53 43 96 96 96s96-43 96-96l0-256c0-17.7 14.3-32 32-32z\"]\n};\nconst faUsersViewfinder = {\n prefix: 'fas',\n iconName: 'users-viewfinder',\n icon: [640, 512, [], \"e595\", \"M48 48l88 0c13.3 0 24-10.7 24-24s-10.7-24-24-24L32 0C14.3 0 0 14.3 0 32L0 136c0 13.3 10.7 24 24 24s24-10.7 24-24l0-88zM175.8 224a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm-26.5 32C119.9 256 96 279.9 96 309.3c0 14.7 11.9 26.7 26.7 26.7l56.1 0c8-34.1 32.8-61.7 65.2-73.6c-7.5-4.1-16.2-6.4-25.3-6.4l-69.3 0zm368 80c14.7 0 26.7-11.9 26.7-26.7c0-29.5-23.9-53.3-53.3-53.3l-69.3 0c-9.2 0-17.8 2.3-25.3 6.4c32.4 11.9 57.2 39.5 65.2 73.6l56.1 0zm-89.4 0c-8.6-24.3-29.9-42.6-55.9-47c-3.9-.7-7.9-1-12-1l-80 0c-4.1 0-8.1 .3-12 1c-26 4.4-47.3 22.7-55.9 47c-2.7 7.5-4.1 15.6-4.1 24c0 13.3 10.7 24 24 24l176 0c13.3 0 24-10.7 24-24c0-8.4-1.4-16.5-4.1-24zM464 224a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm-80-32a64 64 0 1 0 -128 0 64 64 0 1 0 128 0zM504 48l88 0 0 88c0 13.3 10.7 24 24 24s24-10.7 24-24l0-104c0-17.7-14.3-32-32-32L504 0c-13.3 0-24 10.7-24 24s10.7 24 24 24zM48 464l0-88c0-13.3-10.7-24-24-24s-24 10.7-24 24L0 480c0 17.7 14.3 32 32 32l104 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-88 0zm456 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l104 0c17.7 0 32-14.3 32-32l0-104c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 88-88 0z\"]\n};\nconst faFileVideo = {\n prefix: 'fas',\n iconName: 'file-video',\n icon: [384, 512, [], \"f1c8\", \"M64 0C28.7 0 0 28.7 0 64L0 448c0 35.3 28.7 64 64 64l256 0c35.3 0 64-28.7 64-64l0-288-128 0c-17.7 0-32-14.3-32-32L224 0 64 0zM256 0l0 128 128 0L256 0zM64 288c0-17.7 14.3-32 32-32l96 0c17.7 0 32 14.3 32 32l0 96c0 17.7-14.3 32-32 32l-96 0c-17.7 0-32-14.3-32-32l0-96zM300.9 397.9L256 368l0-64 44.9-29.9c2-1.3 4.4-2.1 6.8-2.1c6.8 0 12.3 5.5 12.3 12.3l0 103.4c0 6.8-5.5 12.3-12.3 12.3c-2.4 0-4.8-.7-6.8-2.1z\"]\n};\nconst faUpRightFromSquare = {\n prefix: 'fas',\n iconName: 'up-right-from-square',\n icon: [512, 512, [\"external-link-alt\"], \"f35d\", \"M352 0c-12.9 0-24.6 7.8-29.6 19.8s-2.2 25.7 6.9 34.9L370.7 96 201.4 265.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L416 141.3l41.4 41.4c9.2 9.2 22.9 11.9 34.9 6.9s19.8-16.6 19.8-29.6l0-128c0-17.7-14.3-32-32-32L352 0zM80 32C35.8 32 0 67.8 0 112L0 432c0 44.2 35.8 80 80 80l320 0c44.2 0 80-35.8 80-80l0-112c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 112c0 8.8-7.2 16-16 16L80 448c-8.8 0-16-7.2-16-16l0-320c0-8.8 7.2-16 16-16l112 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L80 32z\"]\n};\nconst faExternalLinkAlt = faUpRightFromSquare;\nconst faTableCells = {\n prefix: 'fas',\n iconName: 'table-cells',\n icon: [512, 512, [\"th\"], \"f00a\", \"M64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32zm88 64l0 64-88 0 0-64 88 0zm56 0l88 0 0 64-88 0 0-64zm240 0l0 64-88 0 0-64 88 0zM64 224l88 0 0 64-88 0 0-64zm232 0l0 64-88 0 0-64 88 0zm64 0l88 0 0 64-88 0 0-64zM152 352l0 64-88 0 0-64 88 0zm56 0l88 0 0 64-88 0 0-64zm240 0l0 64-88 0 0-64 88 0z\"]\n};\nconst faTh = faTableCells;\nconst faFilePdf = {\n prefix: 'fas',\n iconName: 'file-pdf',\n icon: [512, 512, [], \"f1c1\", \"M0 64C0 28.7 28.7 0 64 0L224 0l0 128c0 17.7 14.3 32 32 32l128 0 0 144-208 0c-35.3 0-64 28.7-64 64l0 144-48 0c-35.3 0-64-28.7-64-64L0 64zm384 64l-128 0L256 0 384 128zM176 352l32 0c30.9 0 56 25.1 56 56s-25.1 56-56 56l-16 0 0 32c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-48 0-80c0-8.8 7.2-16 16-16zm32 80c13.3 0 24-10.7 24-24s-10.7-24-24-24l-16 0 0 48 16 0zm96-80l32 0c26.5 0 48 21.5 48 48l0 64c0 26.5-21.5 48-48 48l-32 0c-8.8 0-16-7.2-16-16l0-128c0-8.8 7.2-16 16-16zm32 128c8.8 0 16-7.2 16-16l0-64c0-8.8-7.2-16-16-16l-16 0 0 96 16 0zm80-112c0-8.8 7.2-16 16-16l48 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-32 0 0 32 32 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-32 0 0 48c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-64 0-64z\"]\n};\nconst faBookBible = {\n prefix: 'fas',\n iconName: 'book-bible',\n icon: [448, 512, [\"bible\"], \"f647\", \"M96 0C43 0 0 43 0 96L0 416c0 53 43 96 96 96l288 0 32 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l0-64c17.7 0 32-14.3 32-32l0-320c0-17.7-14.3-32-32-32L384 0 96 0zm0 384l256 0 0 64L96 448c-17.7 0-32-14.3-32-32s14.3-32 32-32zM208 80c0-8.8 7.2-16 16-16l32 0c8.8 0 16 7.2 16 16l0 48 48 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-48 0 0 112c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-112-48 0c-8.8 0-16-7.2-16-16l0-32c0-8.8 7.2-16 16-16l48 0 0-48z\"]\n};\nconst faBible = faBookBible;\nconst faO = {\n prefix: 'fas',\n iconName: 'o',\n icon: [448, 512, [111], \"4f\", \"M224 96a160 160 0 1 0 0 320 160 160 0 1 0 0-320zM448 256A224 224 0 1 1 0 256a224 224 0 1 1 448 0z\"]\n};\nconst faSuitcaseMedical = {\n prefix: 'fas',\n iconName: 'suitcase-medical',\n icon: [512, 512, [\"medkit\"], \"f0fa\", \"M184 48l144 0c4.4 0 8 3.6 8 8l0 40L176 96l0-40c0-4.4 3.6-8 8-8zm-56 8l0 40 0 32 0 352 256 0 0-352 0-32 0-40c0-30.9-25.1-56-56-56L184 0c-30.9 0-56 25.1-56 56zM96 96L64 96C28.7 96 0 124.7 0 160L0 416c0 35.3 28.7 64 64 64l32 0L96 96zM416 480l32 0c35.3 0 64-28.7 64-64l0-256c0-35.3-28.7-64-64-64l-32 0 0 384zM224 208c0-8.8 7.2-16 16-16l32 0c8.8 0 16 7.2 16 16l0 48 48 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-48 0 0 48c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-48-48 0c-8.8 0-16-7.2-16-16l0-32c0-8.8 7.2-16 16-16l48 0 0-48z\"]\n};\nconst faMedkit = faSuitcaseMedical;\nconst faUserSecret = {\n prefix: 'fas',\n iconName: 'user-secret',\n icon: [448, 512, [128373], \"f21b\", \"M224 16c-6.7 0-10.8-2.8-15.5-6.1C201.9 5.4 194 0 176 0c-30.5 0-52 43.7-66 89.4C62.7 98.1 32 112.2 32 128c0 14.3 25 27.1 64.6 35.9c-.4 4-.6 8-.6 12.1c0 17 3.3 33.2 9.3 48l-59.9 0C38 224 32 230 32 237.4c0 1.7 .3 3.4 1 5l38.8 96.9C28.2 371.8 0 423.8 0 482.3C0 498.7 13.3 512 29.7 512l388.6 0c16.4 0 29.7-13.3 29.7-29.7c0-58.5-28.2-110.4-71.7-143L415 242.4c.6-1.6 1-3.3 1-5c0-7.4-6-13.4-13.4-13.4l-59.9 0c6-14.8 9.3-31 9.3-48c0-4.1-.2-8.1-.6-12.1C391 155.1 416 142.3 416 128c0-15.8-30.7-29.9-78-38.6C324 43.7 302.5 0 272 0c-18 0-25.9 5.4-32.5 9.9c-4.8 3.3-8.8 6.1-15.5 6.1zm56 208l-12.4 0c-16.5 0-31.1-10.6-36.3-26.2c-2.3-7-12.2-7-14.5 0c-5.2 15.6-19.9 26.2-36.3 26.2L168 224c-22.1 0-40-17.9-40-40l0-14.4c28.2 4.1 61 6.4 96 6.4s67.8-2.3 96-6.4l0 14.4c0 22.1-17.9 40-40 40zm-88 96l16 32L176 480 128 288l64 32zm128-32L272 480 240 352l16-32 64-32z\"]\n};\nconst faOtter = {\n prefix: 'fas',\n iconName: 'otter',\n icon: [640, 512, [129446], \"f700\", \"M181.5 197.1l12.9 6.4c5.9 3 12.4 4.5 19.1 4.5c23.5 0 42.6-19.1 42.6-42.6l0-21.4c0-35.3-28.7-64-64-64l-64 0c-35.3 0-64 28.7-64 64l0 21.4c0 23.5 19.1 42.6 42.6 42.6c6.6 0 13.1-1.5 19.1-4.5l12.9-6.4 8.4-4.2L135.1 185c-4.5-3-7.1-8-7.1-13.3l0-3.7c0-13.3 10.7-24 24-24l16 0c13.3 0 24 10.7 24 24l0 3.7c0 5.3-2.7 10.3-7.1 13.3l-11.8 7.9 8.4 4.2zm-8.6 49.4L160 240l-12.9 6.4c-12.6 6.3-26.5 9.6-40.5 9.6c-3.6 0-7.1-.2-10.6-.6l0 .6c0 35.3 28.7 64 64 64l64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l160 0 0-48 0-16c0-23.7 12.9-44.4 32-55.4c9.4-5.4 20.3-8.6 32-8.6l0-16c0-26.5 21.5-48 48-48c8.8 0 16 7.2 16 16l0 32 0 16 0 48c0 8.8 7.2 16 16 16s16-7.2 16-16l0-99.7c0-48.2-30.8-91-76.6-106.3l-8.5-2.8c-8-2.7-12.6-11.1-10.4-19.3s10.3-13.2 18.6-11.6l19.9 4C576 86.1 640 164.2 640 254.9l0 1.1s0 0 0 0c0 123.7-100.3 224-224 224l-1.1 0L256 480l-.6 0C132 480 32 380 32 256.6l0-.6 0-39.2c-10.1-14.6-16-32.3-16-51.4L16 144l0-1.4C6.7 139.3 0 130.5 0 120c0-13.3 10.7-24 24-24l2.8 0C44.8 58.2 83.3 32 128 32l64 0c44.7 0 83.2 26.2 101.2 64l2.8 0c13.3 0 24 10.7 24 24c0 10.5-6.7 19.3-16 22.6l0 1.4 0 21.4c0 1.4 0 2.8-.1 4.3c12-6.2 25.7-9.6 40.1-9.6l8 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-8 0c-13.3 0-24 10.7-24 24l0 8 56.4 0c-15.2 17-24.4 39.4-24.4 64l-32 0c-42.3 0-78.2-27.4-91-65.3c-5.1 .9-10.3 1.3-15.6 1.3c-14.1 0-27.9-3.3-40.5-9.6zM96 128a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm112 16a16 16 0 1 1 32 0 16 16 0 1 1 -32 0z\"]\n};\nconst faPersonDress = {\n prefix: 'fas',\n iconName: 'person-dress',\n icon: [320, 512, [\"female\"], \"f182\", \"M160 0a48 48 0 1 1 0 96 48 48 0 1 1 0-96zM88 384l-17.8 0c-10.9 0-18.6-10.7-15.2-21.1L93.3 248.1 59.4 304.5c-9.1 15.1-28.8 20-43.9 10.9s-20-28.8-10.9-43.9l53.6-89.2c20.3-33.7 56.7-54.3 96-54.3l11.6 0c39.3 0 75.7 20.6 96 54.3l53.6 89.2c9.1 15.1 4.2 34.8-10.9 43.9s-34.8 4.2-43.9-10.9l-33.9-56.3L265 362.9c3.5 10.4-4.3 21.1-15.2 21.1L232 384l0 96c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-96-16 0 0 96c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-96z\"]\n};\nconst faFemale = faPersonDress;\nconst faCommentDollar = {\n prefix: 'fas',\n iconName: 'comment-dollar',\n icon: [512, 512, [], \"f651\", \"M256 448c141.4 0 256-93.1 256-208S397.4 32 256 32S0 125.1 0 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9c-5.5 9.2-11.1 16.6-15.2 21.6c-2.1 2.5-3.7 4.4-4.9 5.7c-.6 .6-1 1.1-1.3 1.4l-.3 .3c0 0 0 0 0 0c0 0 0 0 0 0s0 0 0 0s0 0 0 0c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c28.7 0 57.6-8.9 81.6-19.3c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9zm20-312l0 13.9c7.5 1.2 14.6 2.9 21.1 4.7c10.7 2.8 17 13.8 14.2 24.5s-13.8 17-24.5 14.2c-11-2.9-21.6-5-31.2-5.2c-7.9-.1-16 1.8-21.5 5c-4.8 2.8-6.2 5.6-6.2 9.3c0 1.8 .1 3.5 5.3 6.7c6.3 3.8 15.5 6.7 28.3 10.5l.7 .2c11.2 3.4 25.6 7.7 37.1 15c12.9 8.1 24.3 21.3 24.6 41.6c.3 20.9-10.5 36.1-24.8 45c-7.2 4.5-15.2 7.3-23.2 9l0 13.8c0 11-9 20-20 20s-20-9-20-20l0-14.6c-10.3-2.2-20-5.5-28.2-8.4c0 0 0 0 0 0s0 0 0 0c-2.1-.7-4.1-1.4-6.1-2.1c-10.5-3.5-16.1-14.8-12.6-25.3s14.8-16.1 25.3-12.6c2.5 .8 4.9 1.7 7.2 2.4c0 0 0 0 0 0c13.6 4.6 24 8.1 35.1 8.5c8.6 .3 16.5-1.6 21.4-4.7c4.1-2.5 6-5.5 5.9-10.5c0-2.9-.8-5-5.9-8.2c-6.3-4-15.4-6.9-28-10.7l-1.7-.5c-10.9-3.3-24.6-7.4-35.6-14c-12.7-7.7-24.6-20.5-24.7-40.7c-.1-21.1 11.8-35.7 25.8-43.9c6.9-4.1 14.5-6.8 22.2-8.5l0-14c0-11 9-20 20-20s20 9 20 20z\"]\n};\nconst faBusinessTime = {\n prefix: 'fas',\n iconName: 'business-time',\n icon: [640, 512, [\"briefcase-clock\"], \"f64a\", \"M184 48l144 0c4.4 0 8 3.6 8 8l0 40L176 96l0-40c0-4.4 3.6-8 8-8zm-56 8l0 40L64 96C28.7 96 0 124.7 0 160l0 96 192 0 160 0 8.2 0c32.3-39.1 81.1-64 135.8-64c5.4 0 10.7 .2 16 .7l0-32.7c0-35.3-28.7-64-64-64l-64 0 0-40c0-30.9-25.1-56-56-56L184 0c-30.9 0-56 25.1-56 56zM320 352l-96 0c-17.7 0-32-14.3-32-32l0-32L0 288 0 416c0 35.3 28.7 64 64 64l296.2 0C335.1 449.6 320 410.5 320 368c0-5.4 .2-10.7 .7-16l-.7 0zm320 16a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zM496 288c8.8 0 16 7.2 16 16l0 48 32 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-48 0c-8.8 0-16-7.2-16-16l0-64c0-8.8 7.2-16 16-16z\"]\n};\nconst faBriefcaseClock = faBusinessTime;\nconst faTableCellsLarge = {\n prefix: 'fas',\n iconName: 'table-cells-large',\n icon: [512, 512, [\"th-large\"], \"f009\", \"M448 96l0 128-160 0 0-128 160 0zm0 192l0 128-160 0 0-128 160 0zM224 224L64 224 64 96l160 0 0 128zM64 288l160 0 0 128L64 416l0-128zM64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32z\"]\n};\nconst faThLarge = faTableCellsLarge;\nconst faBookTanakh = {\n prefix: 'fas',\n iconName: 'book-tanakh',\n icon: [448, 512, [\"tanakh\"], \"f827\", \"M352 0c53 0 96 43 96 96l0 320c0 53-43 96-96 96L64 512l-32 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l0-64c-17.7 0-32-14.3-32-32L0 32C0 14.3 14.3 0 32 0L64 0 352 0zm0 384L96 384l0 64 256 0c17.7 0 32-14.3 32-32s-14.3-32-32-32zM138.7 208l13.9 24-27.7 0 13.9-24zm-13.9-24L97.1 232c-6.2 10.7 1.5 24 13.9 24l55.4 0 27.7 48c6.2 10.7 21.6 10.7 27.7 0l27.7-48 55.4 0c12.3 0 20-13.3 13.9-24l-27.7-48 27.7-48c6.2-10.7-1.5-24-13.9-24l-55.4 0L221.9 64c-6.2-10.7-21.6-10.7-27.7 0l-27.7 48L111 112c-12.3 0-20 13.3-13.9 24l27.7 48zm27.7 0l27.7-48 55.4 0 27.7 48-27.7 48-55.4 0-27.7-48zm0-48l-13.9 24-13.9-24 27.7 0zm41.6-24L208 88l13.9 24-27.7 0zm69.3 24l27.7 0-13.9 24-13.9-24zm13.9 72l13.9 24-27.7 0 13.9-24zm-55.4 48L208 280l-13.9-24 27.7 0z\"]\n};\nconst faTanakh = faBookTanakh;\nconst faPhoneVolume = {\n prefix: 'fas',\n iconName: 'phone-volume',\n icon: [512, 512, [\"volume-control-phone\"], \"f2a0\", \"M280 0C408.1 0 512 103.9 512 232c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-101.6-82.4-184-184-184c-13.3 0-24-10.7-24-24s10.7-24 24-24zm8 192a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm-32-72c0-13.3 10.7-24 24-24c75.1 0 136 60.9 136 136c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-48.6-39.4-88-88-88c-13.3 0-24-10.7-24-24zM117.5 1.4c19.4-5.3 39.7 4.6 47.4 23.2l40 96c6.8 16.3 2.1 35.2-11.6 46.3L144 207.3c33.3 70.4 90.3 127.4 160.7 160.7L345 318.7c11.2-13.7 30-18.4 46.3-11.6l96 40c18.6 7.7 28.5 28 23.2 47.4l-24 88C481.8 499.9 466 512 448 512C200.6 512 0 311.4 0 64C0 46 12.1 30.2 29.5 25.4l88-24z\"]\n};\nconst faVolumeControlPhone = faPhoneVolume;\nconst faHatCowboySide = {\n prefix: 'fas',\n iconName: 'hat-cowboy-side',\n icon: [640, 512, [], \"f8c1\", \"M152.7 135.9l-10.4 57.2c6.8-.7 13.6-1.1 20.5-1.1l10.7 0c39.4 0 77.8 12.1 110.1 34.7L562.4 421.8l35.1 24.6c24.4-6 42.5-28.1 42.5-54.4c0-75.8-94.7-126.6-134.6-144.7L474 83.9C468.2 53.8 441.8 32 411.1 32l-2.7 0c-5.6 0-11.1 .7-16.5 2.2L199.2 85.5c-23.9 6.4-42 26-46.5 50.4zM0 384c0 35.3 28.7 64 64 64l480 0L265.3 252.9c-26.9-18.8-58.9-28.9-91.8-28.9l-10.7 0c-60.6 0-116 34.2-143.1 88.4L13.5 325C4.6 342.7 0 362.3 0 382.2L0 384z\"]\n};\nconst faClipboardUser = {\n prefix: 'fas',\n iconName: 'clipboard-user',\n icon: [384, 512, [], \"f7f3\", \"M192 0c-41.8 0-77.4 26.7-90.5 64L64 64C28.7 64 0 92.7 0 128L0 448c0 35.3 28.7 64 64 64l256 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64l-37.5 0C269.4 26.7 233.8 0 192 0zm0 64a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM128 256a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zM80 432c0-44.2 35.8-80 80-80l64 0c44.2 0 80 35.8 80 80c0 8.8-7.2 16-16 16L96 448c-8.8 0-16-7.2-16-16z\"]\n};\nconst faChild = {\n prefix: 'fas',\n iconName: 'child',\n icon: [320, 512, [], \"f1ae\", \"M96 64a64 64 0 1 1 128 0A64 64 0 1 1 96 64zm48 320l0 96c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-192.2L59.1 321c-9.4 15-29.2 19.4-44.1 10S-4.5 301.9 4.9 287l39.9-63.3C69.7 184 113.2 160 160 160s90.3 24 115.2 63.6L315.1 287c9.4 15 4.9 34.7-10 44.1s-34.7 4.9-44.1-10L240 287.8 240 480c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-96-32 0z\"]\n};\nconst faLiraSign = {\n prefix: 'fas',\n iconName: 'lira-sign',\n icon: [320, 512, [8356], \"f195\", \"M112 160.4c0-35.5 28.8-64.4 64.4-64.4c6.9 0 13.8 1.1 20.4 3.3l81.2 27.1c16.8 5.6 34.9-3.5 40.5-20.2s-3.5-34.9-20.2-40.5L217 38.6c-13.1-4.4-26.8-6.6-40.6-6.6C105.5 32 48 89.5 48 160.4L48 192l-16 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l16 0 0 32-16 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l14 0c-2.2 10.5-6.1 20.6-11.7 29.9L4.6 431.5c-5.9 9.9-6.1 22.2-.4 32.2S20.5 480 32 480l256 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L88.5 416l.7-1.1c11.6-19.3 18.9-40.7 21.6-62.9L224 352c17.7 0 32-14.3 32-32s-14.3-32-32-32l-112 0 0-32 112 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-112 0 0-31.6z\"]\n};\nconst faSatellite = {\n prefix: 'fas',\n iconName: 'satellite',\n icon: [512, 512, [128752], \"f7bf\", \"M233 7c-9.4-9.4-24.6-9.4-33.9 0l-96 96c-9.4 9.4-9.4 24.6 0 33.9l89.4 89.4-15.5 15.5C152.3 230.4 124.9 224 96 224c-31.7 0-61.5 7.7-87.8 21.2c-9 4.7-10.3 16.7-3.1 23.8L112.7 376.7 96.3 393.1c-2.6-.7-5.4-1.1-8.3-1.1c-17.7 0-32 14.3-32 32s14.3 32 32 32s32-14.3 32-32c0-2.9-.4-5.6-1.1-8.3l16.4-16.4L242.9 506.9c7.2 7.2 19.2 5.9 23.8-3.1C280.3 477.5 288 447.7 288 416c0-28.9-6.4-56.3-17.8-80.9l15.5-15.5L375 409c9.4 9.4 24.6 9.4 33.9 0l96-96c9.4-9.4 9.4-24.6 0-33.9l-89.4-89.4 55-55c12.5-12.5 12.5-32.8 0-45.3l-48-48c-12.5-12.5-32.8-12.5-45.3 0l-55 55L233 7zm159 351l-72.4-72.4 62.1-62.1L454.1 296 392 358.1zM226.3 192.4L153.9 120 216 57.9l72.4 72.4-62.1 62.1z\"]\n};\nconst faPlaneLock = {\n prefix: 'fas',\n iconName: 'plane-lock',\n icon: [640, 512, [], \"e558\", \"M192 93.7C192 59.5 221 0 256 0c36 0 64 59.5 64 93.7l0 84.6 101.8 58.2C418 247.6 416 259.6 416 272l0 24.6c-17.9 10.4-30.3 29.1-31.8 50.9L320 329.1l0 70.9 57.6 43.2c4 3 6.4 7.8 6.4 12.8l0 24 0 18c0 7.8-6.3 14-14 14c-1.3 0-2.6-.2-3.9-.5L256 480 145.9 511.5c-1.3 .4-2.6 .5-3.9 .5c-7.8 0-14-6.3-14-14l0-42c0-5 2.4-9.8 6.4-12.8L192 400l0-70.9-171.6 49C10.2 381.1 0 373.4 0 362.8l0-65.5c0-5.7 3.1-11 8.1-13.9L192 178.3l0-84.6zM528 240c-17.7 0-32 14.3-32 32l0 48 64 0 0-48c0-17.7-14.3-32-32-32zm-80 32c0-44.2 35.8-80 80-80s80 35.8 80 80l0 48c17.7 0 32 14.3 32 32l0 128c0 17.7-14.3 32-32 32l-160 0c-17.7 0-32-14.3-32-32l0-128c0-17.7 14.3-32 32-32l0-48z\"]\n};\nconst faTag = {\n prefix: 'fas',\n iconName: 'tag',\n icon: [448, 512, [127991], \"f02b\", \"M0 80L0 229.5c0 17 6.7 33.3 18.7 45.3l176 176c25 25 65.5 25 90.5 0L418.7 317.3c25-25 25-65.5 0-90.5l-176-176c-12-12-28.3-18.7-45.3-18.7L48 32C21.5 32 0 53.5 0 80zm112 32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nconst faComment = {\n prefix: 'fas',\n iconName: 'comment',\n icon: [512, 512, [128489, 61669], \"f075\", \"M512 240c0 114.9-114.6 208-256 208c-37.1 0-72.3-6.4-104.1-17.9c-11.9 8.7-31.3 20.6-54.3 30.6C73.6 471.1 44.7 480 16 480c-6.5 0-12.3-3.9-14.8-9.9c-2.5-6-1.1-12.8 3.4-17.4c0 0 0 0 0 0s0 0 0 0s0 0 0 0c0 0 0 0 0 0l.3-.3c.3-.3 .7-.7 1.3-1.4c1.1-1.2 2.8-3.1 4.9-5.7c4.1-5 9.6-12.4 15.2-21.6c10-16.6 19.5-38.4 21.4-62.9C17.7 326.8 0 285.1 0 240C0 125.1 114.6 32 256 32s256 93.1 256 208z\"]\n};\nconst faCakeCandles = {\n prefix: 'fas',\n iconName: 'cake-candles',\n icon: [448, 512, [127874, \"birthday-cake\", \"cake\"], \"f1fd\", \"M86.4 5.5L61.8 47.6C58 54.1 56 61.6 56 69.2L56 72c0 22.1 17.9 40 40 40s40-17.9 40-40l0-2.8c0-7.6-2-15-5.8-21.6L105.6 5.5C103.6 2.1 100 0 96 0s-7.6 2.1-9.6 5.5zm128 0L189.8 47.6c-3.8 6.5-5.8 14-5.8 21.6l0 2.8c0 22.1 17.9 40 40 40s40-17.9 40-40l0-2.8c0-7.6-2-15-5.8-21.6L233.6 5.5C231.6 2.1 228 0 224 0s-7.6 2.1-9.6 5.5zM317.8 47.6c-3.8 6.5-5.8 14-5.8 21.6l0 2.8c0 22.1 17.9 40 40 40s40-17.9 40-40l0-2.8c0-7.6-2-15-5.8-21.6L361.6 5.5C359.6 2.1 356 0 352 0s-7.6 2.1-9.6 5.5L317.8 47.6zM128 176c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 48c-35.3 0-64 28.7-64 64l0 71c8.3 5.2 18.1 9 28.8 9c13.5 0 27.2-6.1 38.4-13.4c5.4-3.5 9.9-7.1 13-9.7c1.5-1.3 2.7-2.4 3.5-3.1c.4-.4 .7-.6 .8-.8l.1-.1s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0c3.1-3.2 7.4-4.9 11.9-4.8s8.6 2.1 11.6 5.4c0 0 0 0 0 0s0 0 0 0l.1 .1c.1 .1 .4 .4 .7 .7c.7 .7 1.7 1.7 3.1 3c2.8 2.6 6.8 6.1 11.8 9.5c10.2 7.1 23 13.1 36.3 13.1s26.1-6 36.3-13.1c5-3.5 9-6.9 11.8-9.5c1.4-1.3 2.4-2.3 3.1-3c.3-.3 .6-.6 .7-.7l.1-.1c3-3.5 7.4-5.4 12-5.4s9 2 12 5.4l.1 .1c.1 .1 .4 .4 .7 .7c.7 .7 1.7 1.7 3.1 3c2.8 2.6 6.8 6.1 11.8 9.5c10.2 7.1 23 13.1 36.3 13.1s26.1-6 36.3-13.1c5-3.5 9-6.9 11.8-9.5c1.4-1.3 2.4-2.3 3.1-3c.3-.3 .6-.6 .7-.7l.1-.1c2.9-3.4 7.1-5.3 11.6-5.4s8.7 1.6 11.9 4.8c0 0 0 0 0 0s0 0 0 0s0 0 0 0l.1 .1c.2 .2 .4 .4 .8 .8c.8 .7 1.9 1.8 3.5 3.1c3.1 2.6 7.5 6.2 13 9.7c11.2 7.3 24.9 13.4 38.4 13.4c10.7 0 20.5-3.9 28.8-9l0-71c0-35.3-28.7-64-64-64l0-48c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 48-64 0 0-48c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 48-64 0 0-48zM448 394.6c-8.5 3.3-18.2 5.4-28.8 5.4c-22.5 0-42.4-9.9-55.8-18.6c-4.1-2.7-7.8-5.4-10.9-7.8c-2.8 2.4-6.1 5-9.8 7.5C329.8 390 310.6 400 288 400s-41.8-10-54.6-18.9c-3.5-2.4-6.7-4.9-9.4-7.2c-2.7 2.3-5.9 4.7-9.4 7.2C201.8 390 182.6 400 160 400s-41.8-10-54.6-18.9c-3.7-2.6-7-5.2-9.8-7.5c-3.1 2.4-6.8 5.1-10.9 7.8C71.2 390.1 51.3 400 28.8 400c-10.6 0-20.3-2.2-28.8-5.4L0 480c0 17.7 14.3 32 32 32l384 0c17.7 0 32-14.3 32-32l0-85.4z\"]\n};\nconst faBirthdayCake = faCakeCandles;\nconst faCake = faCakeCandles;\nconst faEnvelope = {\n prefix: 'fas',\n iconName: 'envelope',\n icon: [512, 512, [128386, 9993, 61443], \"f0e0\", \"M48 64C21.5 64 0 85.5 0 112c0 15.1 7.1 29.3 19.2 38.4L236.8 313.6c11.4 8.5 27 8.5 38.4 0L492.8 150.4c12.1-9.1 19.2-23.3 19.2-38.4c0-26.5-21.5-48-48-48L48 64zM0 176L0 384c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64l0-208L294.4 339.2c-22.8 17.1-54 17.1-76.8 0L0 176z\"]\n};\nconst faAnglesUp = {\n prefix: 'fas',\n iconName: 'angles-up',\n icon: [448, 512, [\"angle-double-up\"], \"f102\", \"M246.6 41.4c-12.5-12.5-32.8-12.5-45.3 0l-160 160c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L224 109.3 361.4 246.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-160-160zm160 352l-160-160c-12.5-12.5-32.8-12.5-45.3 0l-160 160c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L224 301.3 361.4 438.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3z\"]\n};\nconst faAngleDoubleUp = faAnglesUp;\nconst faPaperclip = {\n prefix: 'fas',\n iconName: 'paperclip',\n icon: [448, 512, [128206], \"f0c6\", \"M364.2 83.8c-24.4-24.4-64-24.4-88.4 0l-184 184c-42.1 42.1-42.1 110.3 0 152.4s110.3 42.1 152.4 0l152-152c10.9-10.9 28.7-10.9 39.6 0s10.9 28.7 0 39.6l-152 152c-64 64-167.6 64-231.6 0s-64-167.6 0-231.6l184-184c46.3-46.3 121.3-46.3 167.6 0s46.3 121.3 0 167.6l-176 176c-28.6 28.6-75 28.6-103.6 0s-28.6-75 0-103.6l144-144c10.9-10.9 28.7-10.9 39.6 0s10.9 28.7 0 39.6l-144 144c-6.7 6.7-6.7 17.7 0 24.4s17.7 6.7 24.4 0l176-176c24.4-24.4 24.4-64 0-88.4z\"]\n};\nconst faArrowRightToCity = {\n prefix: 'fas',\n iconName: 'arrow-right-to-city',\n icon: [640, 512, [], \"e4b3\", \"M288 48c0-26.5 21.5-48 48-48l96 0c26.5 0 48 21.5 48 48l0 144 40 0 0-72c0-13.3 10.7-24 24-24s24 10.7 24 24l0 72 24 0c26.5 0 48 21.5 48 48l0 224c0 26.5-21.5 48-48 48l-160 0-96 0c-26.5 0-48-21.5-48-48l0-416zm64 32l0 32c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16l-32 0c-8.8 0-16 7.2-16 16zm16 80c-8.8 0-16 7.2-16 16l0 32c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16l-32 0zM352 272l0 32c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16l-32 0c-8.8 0-16 7.2-16 16zm176-16c-8.8 0-16 7.2-16 16l0 32c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16l-32 0zM512 368l0 32c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16l-32 0c-8.8 0-16 7.2-16 16zM166.6 153.4l80 80c12.5 12.5 12.5 32.8 0 45.3l-80 80c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L146.7 288 32 288c-17.7 0-32-14.3-32-32s14.3-32 32-32l114.7 0-25.4-25.4c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0z\"]\n};\nconst faRibbon = {\n prefix: 'fas',\n iconName: 'ribbon',\n icon: [448, 512, [127895], \"f4d6\", \"M333.2 322.8s0 0 0 0l-133.9-146s0 0 0 0L146 118.6c7.8-5.1 37-22.6 78-22.6s70.2 17.4 78 22.6L245.7 180l85.6 93.4 27.4-29.8c16.3-17.7 25.3-40.9 25.3-65l0-29.5c0-19-5.6-37.5-16.1-53.3L327.8 35.6C312.9 13.4 287.9 0 261.2 0l-76 0c-25.8 0-50.1 12.5-65.1 33.5L81.9 87C70.3 103.2 64 122.8 64 142.8L64 164c0 23.2 8.4 45.6 23.6 63.1l56 64.2s0 0 0 0l83.3 95.6s0 0 0 0l91.8 105.3c10 11.5 26.8 14.3 40 6.8l54.5-31.1c17.8-10.2 21.6-34.3 7.7-49.4l-87.7-95.7zM205.2 410.6l-83.3-95.6L27.1 418.5c-13.9 15.1-10.1 39.2 7.7 49.4l55.1 31.5c13 7.4 29.3 4.9 39.4-6.1l75.9-82.6z\"]\n};\nconst faLungs = {\n prefix: 'fas',\n iconName: 'lungs',\n icon: [640, 512, [129729], \"f604\", \"M320 0c17.7 0 32 14.3 32 32l0 132.1c0 16.4 8.4 31.7 22.2 40.5l9.8 6.2 0-45.5C384 127 415 96 453.3 96c21.7 0 42.8 10.2 55.8 28.8c15.4 22.1 44.3 65.4 71 116.9c26.5 50.9 52.4 112.5 59.6 170.3c.2 1.3 .2 2.6 .2 4l0 7c0 49.1-39.8 89-89 89c-7.3 0-14.5-.9-21.6-2.7l-72.7-18.2C414 480.5 384 442.1 384 398l0-73 90.5 57.6c7.5 4.7 17.3 2.5 22.1-4.9s2.5-17.3-4.9-22.1L384 287.1l0-.4-44.1-28.1c-7.3-4.6-13.9-10.1-19.9-16.1c-5.9 6-12.6 11.5-19.9 16.1L256 286.7 161.2 347l-13.5 8.6c0 0 0 0-.1 0c-7.4 4.8-9.6 14.6-4.8 22.1c4.7 7.5 14.6 9.7 22.1 4.9l91.1-58 0 73.4c0 44.1-30 82.5-72.7 93.1l-72.7 18.2c-7.1 1.8-14.3 2.7-21.6 2.7c-49.1 0-89-39.8-89-89l0-7c0-1.3 .1-2.7 .2-4c7.2-57.9 33.1-119.4 59.6-170.3c26.8-51.5 55.6-94.8 71-116.9c13-18.6 34-28.8 55.8-28.8C225 96 256 127 256 165.3l0 45.5 9.8-6.2c13.8-8.8 22.2-24.1 22.2-40.5L288 32c0-17.7 14.3-32 32-32z\"]\n};\nconst faArrowUp91 = {\n prefix: 'fas',\n iconName: 'arrow-up-9-1',\n icon: [576, 512, [\"sort-numeric-up-alt\"], \"f887\", \"M160 32c9 0 17.5 3.8 23.6 10.4l88 96c11.9 13 11.1 33.3-2 45.2s-33.3 11.1-45.2-2L192 146.3 192 448c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-301.7L95.6 181.6c-11.9 13-32.2 13.9-45.2 2s-13.9-32.2-2-45.2l88-96C142.5 35.8 151 32 160 32zM450.7 294c8.3 6 13.3 15.7 13.3 26l0 96 16 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-48 0-48 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l16 0 0-51.6-5.9 2c-16.8 5.6-34.9-3.5-40.5-20.2s3.5-34.9 20.2-40.5l48-16c9.8-3.3 20.5-1.6 28.8 4.4zm-5-145.1A32 32 0 1 0 418.3 91a32 32 0 1 0 27.4 57.9zm-40.7 54.9C369.6 192.4 344 159.2 344 120c0-48.6 39.4-88 88-88s88 39.4 88 88c0 23.5-7.5 46.3-21.5 65.2L449.7 251c-10.5 14.2-30.6 17.2-44.8 6.7s-17.2-30.6-6.7-44.8l6.8-9.2z\"]\n};\nconst faSortNumericUpAlt = faArrowUp91;\nconst faLitecoinSign = {\n prefix: 'fas',\n iconName: 'litecoin-sign',\n icon: [384, 512, [], \"e1d3\", \"M128 64c0-17.7-14.3-32-32-32S64 46.3 64 64l0 149.6L23.2 225.2c-17 4.9-26.8 22.6-22 39.6s22.6 26.8 39.6 22L64 280.1 64 448c0 17.7 14.3 32 32 32l256 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-224 0 0-154.1 136.8-39.1c17-4.9 26.8-22.6 22-39.6s-22.6-26.8-39.6-22L128 195.3 128 64z\"]\n};\nconst faBorderNone = {\n prefix: 'fas',\n iconName: 'border-none',\n icon: [448, 512, [], \"f850\", \"M32 480a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm96-64a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0-384a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0 256a32 32 0 1 1 0-64 32 32 0 1 1 0 64zM320 416a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0-320a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm0 128a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM224 480a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm0-448a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0 256a32 32 0 1 1 0-64 32 32 0 1 1 0 64zM416 416a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0-384a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM32 96a32 32 0 1 1 0-64 32 32 0 1 1 0 64zM416 224a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM32 288a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm192 32a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm192 64a32 32 0 1 1 0-64 32 32 0 1 1 0 64zM32 320a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM416 192a32 32 0 1 1 0-64 32 32 0 1 1 0 64zM32 128a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm192 64a32 32 0 1 1 0-64 32 32 0 1 1 0 64z\"]\n};\nconst faCircleNodes = {\n prefix: 'fas',\n iconName: 'circle-nodes',\n icon: [512, 512, [], \"e4e2\", \"M418.4 157.9c35.3-8.3 61.6-40 61.6-77.9c0-44.2-35.8-80-80-80c-43.4 0-78.7 34.5-80 77.5L136.2 151.1C121.7 136.8 101.9 128 80 128c-44.2 0-80 35.8-80 80s35.8 80 80 80c12.2 0 23.8-2.7 34.1-7.6L259.7 407.8c-2.4 7.6-3.7 15.8-3.7 24.2c0 44.2 35.8 80 80 80s80-35.8 80-80c0-27.7-14-52.1-35.4-66.4l37.8-207.7zM156.3 232.2c2.2-6.9 3.5-14.2 3.7-21.7l183.8-73.5c3.6 3.5 7.4 6.7 11.6 9.5L317.6 354.1c-5.5 1.3-10.8 3.1-15.8 5.5L156.3 232.2z\"]\n};\nconst faParachuteBox = {\n prefix: 'fas',\n iconName: 'parachute-box',\n icon: [512, 512, [], \"f4cd\", \"M383.5 192c.3-5.3 .5-10.6 .5-16c0-51-15.9-96-40.2-127.6C319.5 16.9 288.2 0 256 0s-63.5 16.9-87.8 48.4C143.9 80 128 125 128 176c0 5.4 .2 10.7 .5 16L240 192l0 128-32 0c-7 0-13.7 1.5-19.7 4.2L68.2 192l28.3 0c-.3-5.3-.5-10.6-.5-16c0-64 22.2-121.2 57.1-159.3C62 49.3 18.6 122.6 4.2 173.6C1.5 183.1 9 192 18.9 192l6 0L165.2 346.3c-3.3 6.5-5.2 13.9-5.2 21.7l0 96c0 26.5 21.5 48 48 48l96 0c26.5 0 48-21.5 48-48l0-96c0-7.8-1.9-15.2-5.2-21.7L487.1 192l6 0c9.9 0 17.4-8.9 14.7-18.4C493.4 122.6 450 49.3 358.9 16.7C393.8 54.8 416 112.1 416 176c0 5.4-.2 10.7-.5 16l28.3 0L323.7 324.2c-6-2.7-12.7-4.2-19.7-4.2l-32 0 0-128 111.5 0z\"]\n};\nconst faIndent = {\n prefix: 'fas',\n iconName: 'indent',\n icon: [448, 512, [], \"f03c\", \"M0 64C0 46.3 14.3 32 32 32l384 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 96C14.3 96 0 81.7 0 64zM192 192c0-17.7 14.3-32 32-32l192 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-192 0c-17.7 0-32-14.3-32-32zm32 96l192 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-192 0c-17.7 0-32-14.3-32-32s14.3-32 32-32zM0 448c0-17.7 14.3-32 32-32l384 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 480c-17.7 0-32-14.3-32-32zM127.8 268.6L25.8 347.9C15.3 356.1 0 348.6 0 335.3L0 176.7c0-13.3 15.3-20.8 25.8-12.6l101.9 79.3c8.2 6.4 8.2 18.9 0 25.3z\"]\n};\nconst faTruckFieldUn = {\n prefix: 'fas',\n iconName: 'truck-field-un',\n icon: [640, 512, [], \"e58e\", \"M96 32C60.7 32 32 60.7 32 96l0 32c-17.7 0-32 14.3-32 32l0 96c0 17.7 14.3 32 32 32l0 32c-17.7 0-32 14.3-32 32s14.3 32 32 32l32 0c0 53 43 96 96 96s96-43 96-96l128 0c0 53 43 96 96 96s96-43 96-96l32 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l0-32c0-35.3-28.7-64-64-64l-4.2 0c-.4-1.1-.9-2.1-1.3-3.2L485.7 102c-10.3-23.1-33.2-38-58.5-38l-51.8 0C364.4 44.9 343.7 32 320 32L96 32zm288 96l43.2 0 42.7 96L384 224l0-96zM112 384a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm368-48a48 48 0 1 1 0 96 48 48 0 1 1 0-96zM253.3 135.1l34.7 52 0-43.2c0-8.8 7.2-16 16-16s16 7.2 16 16l0 96c0 7.1-4.6 13.3-11.4 15.3s-14-.6-17.9-6.4l-34.7-52 0 43.2c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-96c0-7.1 4.6-13.3 11.4-15.3s14 .6 17.9 6.4zM128 144l0 64c0 8.8 7.2 16 16 16s16-7.2 16-16l0-64c0-8.8 7.2-16 16-16s16 7.2 16 16l0 64c0 26.5-21.5 48-48 48s-48-21.5-48-48l0-64c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nconst faHourglass = {\n prefix: 'fas',\n iconName: 'hourglass',\n icon: [384, 512, [9203, 62032, \"hourglass-empty\"], \"f254\", \"M0 32C0 14.3 14.3 0 32 0L64 0 320 0l32 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l0 11c0 42.4-16.9 83.1-46.9 113.1L237.3 256l67.9 67.9c30 30 46.9 70.7 46.9 113.1l0 11c17.7 0 32 14.3 32 32s-14.3 32-32 32l-32 0L64 512l-32 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l0-11c0-42.4 16.9-83.1 46.9-113.1L146.7 256 78.9 188.1C48.9 158.1 32 117.4 32 75l0-11C14.3 64 0 49.7 0 32zM96 64l0 11c0 25.5 10.1 49.9 28.1 67.9L192 210.7l67.9-67.9c18-18 28.1-42.4 28.1-67.9l0-11L96 64zm0 384l192 0 0-11c0-25.5-10.1-49.9-28.1-67.9L192 301.3l-67.9 67.9c-18 18-28.1 42.4-28.1 67.9l0 11z\"]\n};\nconst faHourglassEmpty = faHourglass;\nconst faMountain = {\n prefix: 'fas',\n iconName: 'mountain',\n icon: [512, 512, [127956], \"f6fc\", \"M256 32c12.5 0 24.1 6.4 30.8 17L503.4 394.4c5.6 8.9 8.6 19.2 8.6 29.7c0 30.9-25 55.9-55.9 55.9L55.9 480C25 480 0 455 0 424.1c0-10.5 3-20.8 8.6-29.7L225.2 49c6.6-10.6 18.3-17 30.8-17zm65 192L256 120.4 176.9 246.5l18.3 24.4c6.4 8.5 19.2 8.5 25.6 0l25.6-34.1c6-8.1 15.5-12.8 25.6-12.8l49 0z\"]\n};\nconst faUserDoctor = {\n prefix: 'fas',\n iconName: 'user-doctor',\n icon: [448, 512, [\"user-md\"], \"f0f0\", \"M224 256A128 128 0 1 0 224 0a128 128 0 1 0 0 256zm-96 55.2C54 332.9 0 401.3 0 482.3C0 498.7 13.3 512 29.7 512l388.6 0c16.4 0 29.7-13.3 29.7-29.7c0-81-54-149.4-128-171.1l0 50.8c27.6 7.1 48 32.2 48 62l0 40c0 8.8-7.2 16-16 16l-16 0c-8.8 0-16-7.2-16-16s7.2-16 16-16l0-24c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 24c8.8 0 16 7.2 16 16s-7.2 16-16 16l-16 0c-8.8 0-16-7.2-16-16l0-40c0-29.8 20.4-54.9 48-62l0-57.1c-6-.6-12.1-.9-18.3-.9l-91.4 0c-6.2 0-12.3 .3-18.3 .9l0 65.4c23.1 6.9 40 28.3 40 53.7c0 30.9-25.1 56-56 56s-56-25.1-56-56c0-25.4 16.9-46.8 40-53.7l0-59.1zM144 448a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nconst faUserMd = faUserDoctor;\nconst faCircleInfo = {\n prefix: 'fas',\n iconName: 'circle-info',\n icon: [512, 512, [\"info-circle\"], \"f05a\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM216 336l24 0 0-64-24 0c-13.3 0-24-10.7-24-24s10.7-24 24-24l48 0c13.3 0 24 10.7 24 24l0 88 8 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-80 0c-13.3 0-24-10.7-24-24s10.7-24 24-24zm40-208a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nconst faInfoCircle = faCircleInfo;\nconst faCloudMeatball = {\n prefix: 'fas',\n iconName: 'cloud-meatball',\n icon: [512, 512, [], \"f73b\", \"M0 224c0 53 43 96 96 96l44.7 0c9.5-23.5 32.5-40 59.3-40c2 0 3.9 .1 5.8 .3C217.6 265.5 235.7 256 256 256s38.4 9.5 50.2 24.3c1.9-.2 3.9-.3 5.8-.3c26.9 0 49.9 16.5 59.3 40l44.7 0c53 0 96-43 96-96s-43-96-96-96c-.5 0-1.1 0-1.6 0c1.1-5.2 1.6-10.5 1.6-16c0-44.2-35.8-80-80-80c-24.3 0-46.1 10.9-60.8 28C256.5 24.3 219.1 0 176 0C114.1 0 64 50.1 64 112c0 7.1 .7 14.1 1.9 20.8C27.6 145.4 0 181.5 0 224zm288 96c0-17.7-14.3-32-32-32s-32 14.3-32 32c0 1 .1 2.1 .1 3.1c-.7-.8-1.4-1.6-2.1-2.3c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3c.7 .7 1.5 1.4 2.3 2.1c-1-.1-2.1-.1-3.1-.1c-17.7 0-32 14.3-32 32s14.3 32 32 32c1 0 2.1-.1 3.1-.1c-.8 .7-1.6 1.3-2.3 2.1c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0c.7-.7 1.4-1.5 2.1-2.3c-.1 1-.1 2.1-.1 3.1c0 17.7 14.3 32 32 32s32-14.3 32-32c0-1-.1-2.1-.1-3.1c.7 .8 1.3 1.6 2.1 2.3c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3c-.7-.7-1.5-1.4-2.3-2.1c1 .1 2.1 .1 3.1 .1c17.7 0 32-14.3 32-32s-14.3-32-32-32c-1 0-2.1 .1-3.1 .1c.8-.7 1.6-1.3 2.3-2.1c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0c-.7 .7-1.4 1.5-2.1 2.3c.1-1 .1-2.1 .1-3.1zM48 448a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm416 0a48 48 0 1 0 0-96 48 48 0 1 0 0 96z\"]\n};\nconst faCamera = {\n prefix: 'fas',\n iconName: 'camera',\n icon: [512, 512, [62258, \"camera-alt\"], \"f030\", \"M149.1 64.8L138.7 96 64 96C28.7 96 0 124.7 0 160L0 416c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64l0-256c0-35.3-28.7-64-64-64l-74.7 0L362.9 64.8C356.4 45.2 338.1 32 317.4 32L194.6 32c-20.7 0-39 13.2-45.5 32.8zM256 192a96 96 0 1 1 0 192 96 96 0 1 1 0-192z\"]\n};\nconst faCameraAlt = faCamera;\nconst faSquareVirus = {\n prefix: 'fas',\n iconName: 'square-virus',\n icon: [448, 512, [], \"e578\", \"M64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32zM223.8 93.7c13.3 0 24 10.7 24 24c0 29.3 35.4 43.9 56.1 23.2c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9c-20.7 20.7-6 56.1 23.2 56.1c13.3 0 24 10.7 24 24s-10.7 24-24 24c-29.3 0-43.9 35.4-23.2 56.1c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0c-20.7-20.7-56.1-6-56.1 23.2c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-29.3-35.4-43.9-56.1-23.2c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9c20.7-20.7 6-56.1-23.2-56.1c-13.3 0-24-10.7-24-24s10.7-24 24-24c29.3 0 43.9-35.4 23.2-56.1c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0c20.7 20.7 56.1 6 56.1-23.2c0-13.3 10.7-24 24-24zM192 256a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm88 32a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nconst faMeteor = {\n prefix: 'fas',\n iconName: 'meteor',\n icon: [512, 512, [9732], \"f753\", \"M493.7 .9L299.4 75.6l2.3-29.3c1-12.8-12.8-21.5-24-15.1L101.3 133.4C38.6 169.7 0 236.6 0 309C0 421.1 90.9 512 203 512c72.4 0 139.4-38.6 175.7-101.3L480.8 234.3c6.5-11.1-2.2-25-15.1-24l-29.3 2.3L511.1 18.3c.6-1.5 .9-3.2 .9-4.8C512 6 506 0 498.5 0c-1.7 0-3.3 .3-4.8 .9zM192 192a128 128 0 1 1 0 256 128 128 0 1 1 0-256zm0 96a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm16 96a16 16 0 1 0 0-32 16 16 0 1 0 0 32z\"]\n};\nconst faCarOn = {\n prefix: 'fas',\n iconName: 'car-on',\n icon: [512, 512, [], \"e4dd\", \"M280 24c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 80c0 13.3 10.7 24 24 24s24-10.7 24-24l0-80zM185.8 224l140.3 0c6.8 0 12.8 4.3 15.1 10.6L360.3 288l-208.6 0 19.1-53.4c2.3-6.4 8.3-10.6 15.1-10.6zm-75.3-10.9L82.2 292.4C62.1 300.9 48 320.8 48 344l0 40 0 64 0 32c0 17.7 14.3 32 32 32l16 0c17.7 0 32-14.3 32-32l0-32 256 0 0 32c0 17.7 14.3 32 32 32l16 0c17.7 0 32-14.3 32-32l0-32 0-64 0-40c0-23.2-14.1-43.1-34.2-51.6l-28.3-79.3C390.1 181.3 360 160 326.2 160l-140.3 0c-33.8 0-64 21.3-75.3 53.1zM128 344a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm232 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM39 39c-9.4 9.4-9.4 24.6 0 33.9l48 48c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L73 39c-9.4-9.4-24.6-9.4-33.9 0zm400 0L391 87c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l48-48c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0z\"]\n};\nconst faSleigh = {\n prefix: 'fas',\n iconName: 'sleigh',\n icon: [640, 512, [], \"f7cc\", \"M32 32C14.3 32 0 46.3 0 64S14.3 96 32 96l0 160c0 53 43 96 96 96l0 32 64 0 0-32 192 0 0 32 64 0 0-32c53 0 96-43 96-96l0-96c17.7 0 32-14.3 32-32s-14.3-32-32-32l-32 0-32 0c-17.7 0-32 14.3-32 32l0 41.3c0 30.2-24.5 54.7-54.7 54.7c-75.5 0-145.6-38.9-185.6-102.9l-4.3-6.9C174.2 67.6 125 37.6 70.7 32.7c-2.2-.5-4.4-.7-6.7-.7l-9 0L32 32zM640 384c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 8c0 13.3-10.7 24-24 24L64 416c-17.7 0-32 14.3-32 32s14.3 32 32 32l488 0c48.6 0 88-39.4 88-88l0-8z\"]\n};\nconst faArrowDown19 = {\n prefix: 'fas',\n iconName: 'arrow-down-1-9',\n icon: [576, 512, [\"sort-numeric-asc\", \"sort-numeric-down\"], \"f162\", \"M450.7 38c-8.3-6-19.1-7.7-28.8-4.4l-48 16c-16.8 5.6-25.8 23.7-20.2 40.5s23.7 25.8 40.5 20.2l5.9-2 0 51.6-16 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l48 0 48 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-16 0 0-96c0-10.3-4.9-19.9-13.3-26zM160 480c9 0 17.5-3.8 23.6-10.4l88-96c11.9-13 11.1-33.3-2-45.2s-33.3-11.1-45.2 2L192 365.7 192 64c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 301.7L95.6 330.4c-11.9-13-32.2-13.9-45.2-2s-13.9 32.2-2 45.2l88 96C142.5 476.2 151 480 160 480zM418.3 307a32 32 0 1 1 27.4 57.9A32 32 0 1 1 418.3 307zM405.1 419.8l-6.8 9.2c-10.5 14.2-7.5 34.2 6.7 44.8s34.2 7.5 44.8-6.7l48.8-65.8c14-18.9 21.5-41.7 21.5-65.2c0-48.6-39.4-88-88-88s-88 39.4-88 88c0 39.2 25.6 72.4 61.1 83.8z\"]\n};\nconst faSortNumericAsc = faArrowDown19;\nconst faSortNumericDown = faArrowDown19;\nconst faHandHoldingDroplet = {\n prefix: 'fas',\n iconName: 'hand-holding-droplet',\n icon: [576, 512, [\"hand-holding-water\"], \"f4c1\", \"M275.5 6.6C278.3 2.5 283 0 288 0s9.7 2.5 12.5 6.6L366.8 103C378 119.3 384 138.6 384 158.3l0 1.7c0 53-43 96-96 96s-96-43-96-96l0-1.7c0-19.8 6-39 17.2-55.3L275.5 6.6zM568.2 336.3c13.1 17.8 9.3 42.8-8.5 55.9L433.1 485.5c-23.4 17.2-51.6 26.5-80.7 26.5L192 512 32 512c-17.7 0-32-14.3-32-32l0-64c0-17.7 14.3-32 32-32l36.8 0 44.9-36c22.7-18.2 50.9-28 80-28l78.3 0 16 0 64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0-16 0c-8.8 0-16 7.2-16 16s7.2 16 16 16l120.6 0 119.7-88.2c17.8-13.1 42.8-9.3 55.9 8.5zM193.6 384c0 0 0 0 0 0l-.9 0c.3 0 .6 0 .9 0z\"]\n};\nconst faHandHoldingWater = faHandHoldingDroplet;\nconst faWater = {\n prefix: 'fas',\n iconName: 'water',\n icon: [576, 512, [], \"f773\", \"M269.5 69.9c11.1-7.9 25.9-7.9 37 0C329 85.4 356.5 96 384 96c26.9 0 55.4-10.8 77.4-26.1c0 0 0 0 0 0c11.9-8.5 28.1-7.8 39.2 1.7c14.4 11.9 32.5 21 50.6 25.2c17.2 4 27.9 21.2 23.9 38.4s-21.2 27.9-38.4 23.9c-24.5-5.7-44.9-16.5-58.2-25C449.5 149.7 417 160 384 160c-31.9 0-60.6-9.9-80.4-18.9c-5.8-2.7-11.1-5.3-15.6-7.7c-4.5 2.4-9.7 5.1-15.6 7.7c-19.8 9-48.5 18.9-80.4 18.9c-33 0-65.5-10.3-94.5-25.8c-13.4 8.4-33.7 19.3-58.2 25c-17.2 4-34.4-6.7-38.4-23.9s6.7-34.4 23.9-38.4C42.8 92.6 61 83.5 75.3 71.6c11.1-9.5 27.3-10.1 39.2-1.7c0 0 0 0 0 0C136.7 85.2 165.1 96 192 96c27.5 0 55-10.6 77.5-26.1zm37 288C329 373.4 356.5 384 384 384c26.9 0 55.4-10.8 77.4-26.1c0 0 0 0 0 0c11.9-8.5 28.1-7.8 39.2 1.7c14.4 11.9 32.5 21 50.6 25.2c17.2 4 27.9 21.2 23.9 38.4s-21.2 27.9-38.4 23.9c-24.5-5.7-44.9-16.5-58.2-25C449.5 437.7 417 448 384 448c-31.9 0-60.6-9.9-80.4-18.9c-5.8-2.7-11.1-5.3-15.6-7.7c-4.5 2.4-9.7 5.1-15.6 7.7c-19.8 9-48.5 18.9-80.4 18.9c-33 0-65.5-10.3-94.5-25.8c-13.4 8.4-33.7 19.3-58.2 25c-17.2 4-34.4-6.7-38.4-23.9s6.7-34.4 23.9-38.4c18.1-4.2 36.2-13.3 50.6-25.2c11.1-9.4 27.3-10.1 39.2-1.7c0 0 0 0 0 0C136.7 373.2 165.1 384 192 384c27.5 0 55-10.6 77.5-26.1c11.1-7.9 25.9-7.9 37 0zm0-144C329 229.4 356.5 240 384 240c26.9 0 55.4-10.8 77.4-26.1c0 0 0 0 0 0c11.9-8.5 28.1-7.8 39.2 1.7c14.4 11.9 32.5 21 50.6 25.2c17.2 4 27.9 21.2 23.9 38.4s-21.2 27.9-38.4 23.9c-24.5-5.7-44.9-16.5-58.2-25C449.5 293.7 417 304 384 304c-31.9 0-60.6-9.9-80.4-18.9c-5.8-2.7-11.1-5.3-15.6-7.7c-4.5 2.4-9.7 5.1-15.6 7.7c-19.8 9-48.5 18.9-80.4 18.9c-33 0-65.5-10.3-94.5-25.8c-13.4 8.4-33.7 19.3-58.2 25c-17.2 4-34.4-6.7-38.4-23.9s6.7-34.4 23.9-38.4c18.1-4.2 36.2-13.3 50.6-25.2c11.1-9.5 27.3-10.1 39.2-1.7c0 0 0 0 0 0C136.7 229.2 165.1 240 192 240c27.5 0 55-10.6 77.5-26.1c11.1-7.9 25.9-7.9 37 0z\"]\n};\nconst faCalendarCheck = {\n prefix: 'fas',\n iconName: 'calendar-check',\n icon: [448, 512, [], \"f274\", \"M128 0c17.7 0 32 14.3 32 32l0 32 128 0 0-32c0-17.7 14.3-32 32-32s32 14.3 32 32l0 32 48 0c26.5 0 48 21.5 48 48l0 48L0 160l0-48C0 85.5 21.5 64 48 64l48 0 0-32c0-17.7 14.3-32 32-32zM0 192l448 0 0 272c0 26.5-21.5 48-48 48L48 512c-26.5 0-48-21.5-48-48L0 192zM329 305c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-95 95-47-47c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l64 64c9.4 9.4 24.6 9.4 33.9 0L329 305z\"]\n};\nconst faBraille = {\n prefix: 'fas',\n iconName: 'braille',\n icon: [640, 512, [], \"f2a1\", \"M0 96a64 64 0 1 1 128 0A64 64 0 1 1 0 96zM224 272a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm0-80a64 64 0 1 1 0 128 64 64 0 1 1 0-128zM80 416a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zM0 416a64 64 0 1 1 128 0A64 64 0 1 1 0 416zm240 0a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm-80 0a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zM64 192a64 64 0 1 1 0 128 64 64 0 1 1 0-128zM224 32a64 64 0 1 1 0 128 64 64 0 1 1 0-128zM352 96a64 64 0 1 1 128 0A64 64 0 1 1 352 96zm240 0a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm-80 0a64 64 0 1 1 128 0A64 64 0 1 1 512 96zm64 176a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm0-80a64 64 0 1 1 0 128 64 64 0 1 1 0-128zm16 224a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm-80 0a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zM416 272a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm0-80a64 64 0 1 1 0 128 64 64 0 1 1 0-128zm16 224a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm-80 0a64 64 0 1 1 128 0 64 64 0 1 1 -128 0z\"]\n};\nconst faPrescriptionBottleMedical = {\n prefix: 'fas',\n iconName: 'prescription-bottle-medical',\n icon: [384, 512, [\"prescription-bottle-alt\"], \"f486\", \"M0 32C0 14.3 14.3 0 32 0L352 0c17.7 0 32 14.3 32 32l0 32c0 17.7-14.3 32-32 32L32 96C14.3 96 0 81.7 0 64L0 32zm32 96l320 0 0 320c0 35.3-28.7 64-64 64L96 512c-35.3 0-64-28.7-64-64l0-320zM160 240l0 48-48 0c-8.8 0-16 7.2-16 16l0 32c0 8.8 7.2 16 16 16l48 0 0 48c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-48 48 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16l-48 0 0-48c0-8.8-7.2-16-16-16l-32 0c-8.8 0-16 7.2-16 16z\"]\n};\nconst faPrescriptionBottleAlt = faPrescriptionBottleMedical;\nconst faLandmark = {\n prefix: 'fas',\n iconName: 'landmark',\n icon: [512, 512, [127963], \"f66f\", \"M240.1 4.2c9.8-5.6 21.9-5.6 31.8 0l171.8 98.1L448 104l0 .9 47.9 27.4c12.6 7.2 18.8 22 15.1 36s-16.4 23.8-30.9 23.8L32 192c-14.5 0-27.2-9.8-30.9-23.8s2.5-28.8 15.1-36L64 104.9l0-.9 4.4-1.6L240.1 4.2zM64 224l64 0 0 192 40 0 0-192 64 0 0 192 48 0 0-192 64 0 0 192 40 0 0-192 64 0 0 196.3c.6 .3 1.2 .7 1.8 1.1l48 32c11.7 7.8 17 22.4 12.9 35.9S494.1 512 480 512L32 512c-14.1 0-26.5-9.2-30.6-22.7s1.1-28.1 12.9-35.9l48-32c.6-.4 1.2-.7 1.8-1.1L64 224z\"]\n};\nconst faTruck = {\n prefix: 'fas',\n iconName: 'truck',\n icon: [640, 512, [128666, 9951], \"f0d1\", \"M48 0C21.5 0 0 21.5 0 48L0 368c0 26.5 21.5 48 48 48l16 0c0 53 43 96 96 96s96-43 96-96l128 0c0 53 43 96 96 96s96-43 96-96l32 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l0-64 0-32 0-18.7c0-17-6.7-33.3-18.7-45.3L512 114.7c-12-12-28.3-18.7-45.3-18.7L416 96l0-48c0-26.5-21.5-48-48-48L48 0zM416 160l50.7 0L544 237.3l0 18.7-128 0 0-96zM112 416a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm368-48a48 48 0 1 1 0 96 48 48 0 1 1 0-96z\"]\n};\nconst faCrosshairs = {\n prefix: 'fas',\n iconName: 'crosshairs',\n icon: [512, 512, [], \"f05b\", \"M256 0c17.7 0 32 14.3 32 32l0 10.4c93.7 13.9 167.7 88 181.6 181.6l10.4 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-10.4 0c-13.9 93.7-88 167.7-181.6 181.6l0 10.4c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-10.4C130.3 455.7 56.3 381.7 42.4 288L32 288c-17.7 0-32-14.3-32-32s14.3-32 32-32l10.4 0C56.3 130.3 130.3 56.3 224 42.4L224 32c0-17.7 14.3-32 32-32zM107.4 288c12.5 58.3 58.4 104.1 116.6 116.6l0-20.6c0-17.7 14.3-32 32-32s32 14.3 32 32l0 20.6c58.3-12.5 104.1-58.4 116.6-116.6L384 288c-17.7 0-32-14.3-32-32s14.3-32 32-32l20.6 0C392.1 165.7 346.3 119.9 288 107.4l0 20.6c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-20.6C165.7 119.9 119.9 165.7 107.4 224l20.6 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-20.6 0zM256 224a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nconst faPersonCane = {\n prefix: 'fas',\n iconName: 'person-cane',\n icon: [448, 512, [], \"e53c\", \"M272 48a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zm-8 187.3l47.4 57.1c11.3 13.6 31.5 15.5 45.1 4.2s15.5-31.5 4.2-45.1l-73.7-88.9c-18.2-22-45.3-34.7-73.9-34.7l-35.9 0c-33.7 0-64.9 17.7-82.3 46.6l-58.3 97c-9.1 15.1-4.2 34.8 10.9 43.9s34.8 4.2 43.9-10.9L120 256.9 120 480c0 17.7 14.3 32 32 32s32-14.3 32-32l0-128 16 0 0 128c0 17.7 14.3 32 32 32s32-14.3 32-32l0-244.7zM352 376c0-4.4 3.6-8 8-8s8 3.6 8 8l0 112c0 13.3 10.7 24 24 24s24-10.7 24-24l0-112c0-30.9-25.1-56-56-56s-56 25.1-56 56l0 8c0 13.3 10.7 24 24 24s24-10.7 24-24l0-8z\"]\n};\nconst faTent = {\n prefix: 'fas',\n iconName: 'tent',\n icon: [576, 512, [], \"e57d\", \"M269.4 6C280.5-2 295.5-2 306.6 6l224 160c7.4 5.3 12.2 13.5 13.2 22.5l32 288c1 9-1.9 18.1-8 24.9s-14.7 10.7-23.8 10.7l-80 0-28.2 0c-12.1 0-23.2-6.8-28.6-17.7L306.7 293.5c-1.7-3.4-5.1-5.5-8.8-5.5c-5.5 0-9.9 4.4-9.9 9.9L288 480c0 17.7-14.3 32-32 32l-16 0L32 512c-9.1 0-17.8-3.9-23.8-10.7s-9-15.8-8-24.9l32-288c1-9 5.8-17.2 13.2-22.5L269.4 6z\"]\n};\nconst faVestPatches = {\n prefix: 'fas',\n iconName: 'vest-patches',\n icon: [448, 512, [], \"e086\", \"M151.2 69.7l55.9 167.7-11 33.1c-2.7 8.2-4.1 16.7-4.1 25.3L192 464c0 14.5 3.9 28.2 10.7 39.9C195 509 185.9 512 176 512L48 512c-26.5 0-48-21.5-48-48L0 270.5c0-9.5 2.8-18.7 8.1-26.6l47.9-71.8c5.3-7.9 8.1-17.1 8.1-26.6L64 128l0-73.7L64 48C64 21.5 85.5 0 112 0l4.5 0c.2 0 .4 0 .6 0c.4 0 .8 0 1.2 0c18.8 0 34.1 9.7 44.1 18.8C171.6 27.2 190.8 40 224 40s52.4-12.8 61.7-21.2C295.7 9.7 311 0 329.7 0c.4 0 .8 0 1.2 0c.2 0 .4 0 .6 0L336 0c26.5 0 48 21.5 48 48l0 6.3 0 73.7 0 17.5c0 9.5 2.8 18.7 8.1 26.6l47.9 71.8c5.3 7.9 8.1 17.1 8.1 26.6L448 464c0 26.5-21.5 48-48 48l-128 0c-26.5 0-48-21.5-48-48l0-168.2c0-5.2 .8-10.3 2.5-15.2L296.8 69.7C279.4 79.7 255.4 88 224 88s-55.4-8.3-72.8-18.3zM96 456a40 40 0 1 0 0-80 40 40 0 1 0 0 80zM63.5 255.5c-4.7 4.7-4.7 12.3 0 17L79 288 63.5 303.5c-4.7 4.7-4.7 12.3 0 17s12.3 4.7 17 0L96 305l15.5 15.5c4.7 4.7 12.3 4.7 17 0s4.7-12.3 0-17L113 288l15.5-15.5c4.7-4.7 4.7-12.3 0-17s-12.3-4.7-17 0L96 271 80.5 255.5c-4.7-4.7-12.3-4.7-17 0zM304 280l0 8 0 32c0 8.8 7.2 16 16 16l32 0 8 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-8 0 0-8c0-13.3-10.7-24-24-24s-24 10.7-24 24z\"]\n};\nconst faCheckDouble = {\n prefix: 'fas',\n iconName: 'check-double',\n icon: [448, 512, [], \"f560\", \"M342.6 86.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L160 178.7l-57.4-57.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l80 80c12.5 12.5 32.8 12.5 45.3 0l160-160zm96 128c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L160 402.7 54.6 297.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l128 128c12.5 12.5 32.8 12.5 45.3 0l256-256z\"]\n};\nconst faArrowDownAZ = {\n prefix: 'fas',\n iconName: 'arrow-down-a-z',\n icon: [576, 512, [\"sort-alpha-asc\", \"sort-alpha-down\"], \"f15d\", \"M183.6 469.6C177.5 476.2 169 480 160 480s-17.5-3.8-23.6-10.4l-88-96c-11.9-13-11.1-33.3 2-45.2s33.3-11.1 45.2 2L128 365.7 128 64c0-17.7 14.3-32 32-32s32 14.3 32 32l0 301.7 32.4-35.4c11.9-13 32.2-13.9 45.2-2s13.9 32.2 2 45.2l-88 96zM320 320c0-17.7 14.3-32 32-32l128 0c12.9 0 24.6 7.8 29.6 19.8s2.2 25.7-6.9 34.9L429.3 416l50.7 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-128 0c-12.9 0-24.6-7.8-29.6-19.8s-2.2-25.7 6.9-34.9L402.7 352 352 352c-17.7 0-32-14.3-32-32zM416 32c12.1 0 23.2 6.8 28.6 17.7l64 128 16 32c7.9 15.8 1.5 35-14.3 42.9s-35 1.5-42.9-14.3L460.2 224l-88.4 0-7.2 14.3c-7.9 15.8-27.1 22.2-42.9 14.3s-22.2-27.1-14.3-42.9l16-32 64-128C392.8 38.8 403.9 32 416 32zM395.8 176l40.4 0L416 135.6 395.8 176z\"]\n};\nconst faSortAlphaAsc = faArrowDownAZ;\nconst faSortAlphaDown = faArrowDownAZ;\nconst faMoneyBillWheat = {\n prefix: 'fas',\n iconName: 'money-bill-wheat',\n icon: [512, 512, [], \"e52a\", \"M176 0c44.2 0 80 35.8 80 80c0 8.8-7.2 16-16 16c-44.2 0-80-35.8-80-80c0-8.8 7.2-16 16-16zM56 16l48 0c13.3 0 24 10.7 24 24s-10.7 24-24 24L56 64C42.7 64 32 53.3 32 40s10.7-24 24-24zM24 88l112 0c13.3 0 24 10.7 24 24s-10.7 24-24 24L24 136c-13.3 0-24-10.7-24-24S10.7 88 24 88zm8 96c0-13.3 10.7-24 24-24l48 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-48 0c-13.3 0-24-10.7-24-24zM272 16c0-8.8 7.2-16 16-16c44.2 0 80 35.8 80 80c0 8.8-7.2 16-16 16c-44.2 0-80-35.8-80-80zM400 0c44.2 0 80 35.8 80 80c0 8.8-7.2 16-16 16c-44.2 0-80-35.8-80-80c0-8.8 7.2-16 16-16zm80 144c0 44.2-35.8 80-80 80c-8.8 0-16-7.2-16-16c0-44.2 35.8-80 80-80c8.8 0 16 7.2 16 16zM352 128c8.8 0 16 7.2 16 16c0 44.2-35.8 80-80 80c-8.8 0-16-7.2-16-16c0-44.2 35.8-80 80-80zm-96 16c0 44.2-35.8 80-80 80c-8.8 0-16-7.2-16-16c0-44.2 35.8-80 80-80c8.8 0 16 7.2 16 16zM0 304c0-26.5 21.5-48 48-48l416 0c26.5 0 48 21.5 48 48l0 160c0 26.5-21.5 48-48 48L48 512c-26.5 0-48-21.5-48-48L0 304zM48 416l0 48 48 0c0-26.5-21.5-48-48-48zM96 304l-48 0 0 48c26.5 0 48-21.5 48-48zM464 416c-26.5 0-48 21.5-48 48l48 0 0-48zM416 304c0 26.5 21.5 48 48 48l0-48-48 0zm-96 80a64 64 0 1 0 -128 0 64 64 0 1 0 128 0z\"]\n};\nconst faCookie = {\n prefix: 'fas',\n iconName: 'cookie',\n icon: [512, 512, [127850], \"f563\", \"M247.2 17c-22.1-3.1-44.6 .9-64.4 11.4l-74 39.5C89.1 78.4 73.2 94.9 63.4 115L26.7 190.6c-9.8 20.1-13 42.9-9.1 64.9l14.5 82.8c3.9 22.1 14.6 42.3 30.7 57.9l60.3 58.4c16.1 15.6 36.6 25.6 58.7 28.7l83 11.7c22.1 3.1 44.6-.9 64.4-11.4l74-39.5c19.7-10.5 35.6-27 45.4-47.2l36.7-75.5c9.8-20.1 13-42.9 9.1-64.9l-14.6-82.8c-3.9-22.1-14.6-42.3-30.7-57.9L388.9 57.5c-16.1-15.6-36.6-25.6-58.7-28.7L247.2 17zM208 144a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM144 336a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm224-64a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nconst faArrowRotateLeft = {\n prefix: 'fas',\n iconName: 'arrow-rotate-left',\n icon: [512, 512, [8634, \"arrow-left-rotate\", \"arrow-rotate-back\", \"arrow-rotate-backward\", \"undo\"], \"f0e2\", \"M125.7 160l50.3 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L48 224c-17.7 0-32-14.3-32-32L16 64c0-17.7 14.3-32 32-32s32 14.3 32 32l0 51.2L97.6 97.6c87.5-87.5 229.3-87.5 316.8 0s87.5 229.3 0 316.8s-229.3 87.5-316.8 0c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0c62.5 62.5 163.8 62.5 226.3 0s62.5-163.8 0-226.3s-163.8-62.5-226.3 0L125.7 160z\"]\n};\nconst faArrowLeftRotate = faArrowRotateLeft;\nconst faArrowRotateBack = faArrowRotateLeft;\nconst faArrowRotateBackward = faArrowRotateLeft;\nconst faUndo = faArrowRotateLeft;\nconst faHardDrive = {\n prefix: 'fas',\n iconName: 'hard-drive',\n icon: [512, 512, [128436, \"hdd\"], \"f0a0\", \"M0 96C0 60.7 28.7 32 64 32l384 0c35.3 0 64 28.7 64 64l0 184.4c-17-15.2-39.4-24.4-64-24.4L64 256c-24.6 0-47 9.2-64 24.4L0 96zM64 288l384 0c35.3 0 64 28.7 64 64l0 64c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64l0-64c0-35.3 28.7-64 64-64zM320 416a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm128-32a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nconst faHdd = faHardDrive;\nconst faFaceGrinSquintTears = {\n prefix: 'fas',\n iconName: 'face-grin-squint-tears',\n icon: [512, 512, [129315, \"grin-squint-tears\"], \"f586\", \"M426.8 14.2C446-5 477.5-4.6 497.1 14.9s20 51 .7 70.3c-6.8 6.8-21.4 12.4-37.4 16.7c-16.3 4.4-34.1 7.5-46.3 9.3c-1.6 .2-3.1 .5-4.6 .6c-4.9 .8-9.1-2.8-9.5-7.4c-.1-.7 0-1.4 .1-2.1c1.6-11.2 4.6-29.6 9-47c.3-1.3 .7-2.6 1-3.9c4.3-15.9 9.8-30.5 16.7-37.4zm-44.7 19c-1.5 4.8-2.9 9.6-4.1 14.3c-4.8 18.9-8 38.5-9.7 50.3c-4 26.8 18.9 49.7 45.7 45.8c11.9-1.6 31.5-4.8 50.4-9.7c4.7-1.2 9.5-2.5 14.3-4.1C534.2 227.5 520.2 353.8 437 437c-83.2 83.2-209.5 97.2-307.2 41.8c1.5-4.8 2.8-9.6 4-14.3c4.8-18.9 8-38.5 9.7-50.3c4-26.8-18.9-49.7-45.7-45.8c-11.9 1.6-31.5 4.8-50.4 9.7c-4.7 1.2-9.5 2.5-14.3 4.1C-22.2 284.5-8.2 158.2 75 75C158.2-8.3 284.5-22.2 382.2 33.2zM51.5 410.1c18.5-5 38.8-8.3 50.9-10c.4-.1 .7-.1 1-.1c5.1-.2 9.2 4.3 8.4 9.6c-1.7 12.1-5 32.4-10 50.9C97.6 476.4 92 491 85.2 497.8C66 517 34.5 516.6 14.9 497.1s-20-51-.7-70.3c6.8-6.8 21.4-12.4 37.4-16.7zM416.9 209c-4.7-11.9-20.8-11-26.8 .3c-19 35.5-45 70.8-77.5 103.3S244.8 371.1 209.3 390c-11.3 6-12.2 22.1-.3 26.8c57.6 22.9 125.8 11 172.3-35.5s58.4-114.8 35.5-172.3zM87.1 285.1c2 2 4.6 3.2 7.3 3.4l56.1 5.1 5.1 56.1c.3 2.8 1.5 5.4 3.4 7.3c6.3 6.3 17.2 3.6 19.8-4.9l29.7-97.4c3.5-11.6-7.3-22.5-19-19L92 265.3c-8.6 2.6-11.3 13.4-4.9 19.8zM265.3 92l-29.7 97.4c-3.5 11.6 7.3 22.5 19 19l97.4-29.7c8.6-2.6 11.3-13.4 4.9-19.8c-2-2-4.6-3.2-7.3-3.4l-56.1-5.1-5.1-56.1c-.3-2.8-1.5-5.4-3.4-7.3c-6.3-6.3-17.2-3.6-19.8 4.9z\"]\n};\nconst faGrinSquintTears = faFaceGrinSquintTears;\nconst faDumbbell = {\n prefix: 'fas',\n iconName: 'dumbbell',\n icon: [640, 512, [], \"f44b\", \"M96 64c0-17.7 14.3-32 32-32l32 0c17.7 0 32 14.3 32 32l0 160 0 64 0 160c0 17.7-14.3 32-32 32l-32 0c-17.7 0-32-14.3-32-32l0-64-32 0c-17.7 0-32-14.3-32-32l0-64c-17.7 0-32-14.3-32-32s14.3-32 32-32l0-64c0-17.7 14.3-32 32-32l32 0 0-64zm448 0l0 64 32 0c17.7 0 32 14.3 32 32l0 64c17.7 0 32 14.3 32 32s-14.3 32-32 32l0 64c0 17.7-14.3 32-32 32l-32 0 0 64c0 17.7-14.3 32-32 32l-32 0c-17.7 0-32-14.3-32-32l0-160 0-64 0-160c0-17.7 14.3-32 32-32l32 0c17.7 0 32 14.3 32 32zM416 224l0 64-192 0 0-64 192 0z\"]\n};\nconst faRectangleList = {\n prefix: 'fas',\n iconName: 'rectangle-list',\n icon: [576, 512, [\"list-alt\"], \"f022\", \"M0 96C0 60.7 28.7 32 64 32l448 0c35.3 0 64 28.7 64 64l0 320c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64L0 96zM128 288a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm32-128a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM128 384a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm96-248c-13.3 0-24 10.7-24 24s10.7 24 24 24l224 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-224 0zm0 96c-13.3 0-24 10.7-24 24s10.7 24 24 24l224 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-224 0zm0 96c-13.3 0-24 10.7-24 24s10.7 24 24 24l224 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-224 0z\"]\n};\nconst faListAlt = faRectangleList;\nconst faTarpDroplet = {\n prefix: 'fas',\n iconName: 'tarp-droplet',\n icon: [576, 512, [], \"e57c\", \"M288 160c-35.3 0-64-26.9-64-60c0-24 33.7-70.1 52.2-93.5c6.1-7.7 17.5-7.7 23.6 0C318.3 29.9 352 76 352 100c0 33.1-28.7 60-64 60zM64 128l133.5 0c13.2 37.3 48.7 64 90.5 64s77.4-26.7 90.5-64L512 128c35.3 0 64 28.7 64 64l0 160-128 0c-17.7 0-32 14.3-32 32l0 128L64 512c-35.3 0-64-28.7-64-64L0 192c0-35.3 28.7-64 64-64zM448 512l0-128 128 0L448 512zM96 256a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nconst faHouseMedicalCircleCheck = {\n prefix: 'fas',\n iconName: 'house-medical-circle-check',\n icon: [640, 512, [], \"e511\", \"M320 368c0 59.5 29.5 112.1 74.8 144l-266.7 0c-35.3 0-64-28.7-64-64l0-160.4-32 0c-18 0-32-14-32-32.1c0-9 3-17 10-24L266.4 8c7-7 15-8 22-8s15 2 21 7L522.1 193.9c-8.5-1.3-17.3-1.9-26.1-1.9c-54.7 0-103.5 24.9-135.8 64L320 256l0-48c0-8.8-7.2-16-16-16l-32 0c-8.8 0-16 7.2-16 16l0 48-48 0c-8.8 0-16 7.2-16 16l0 32c0 8.8 7.2 16 16 16l48 0 0 48c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16zm32 0a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm211.3-43.3c-6.2-6.2-16.4-6.2-22.6 0L480 385.4l-28.7-28.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l40 40c6.2 6.2 16.4 6.2 22.6 0l72-72c6.2-6.2 6.2-16.4 0-22.6z\"]\n};\nconst faPersonSkiingNordic = {\n prefix: 'fas',\n iconName: 'person-skiing-nordic',\n icon: [576, 512, [\"skiing-nordic\"], \"f7ca\", \"M336 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM227.2 160c1.9 0 3.8 .1 5.6 .3L201.6 254c-9.3 28 1.7 58.8 26.8 74.5l86.2 53.9L291.3 464l-88.5 0 41.1-88.1-32.4-20.3c-7.8-4.9-14.7-10.7-20.6-17.3L132.2 464l-32.4 0 54.2-257.6c4.6-1.5 9-4.1 12.7-7.8l23.1-23.1c9.9-9.9 23.4-15.5 37.5-15.5zM121.4 198.6c.4 .4 .8 .8 1.3 1.2L67 464l-43 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l135.3 0c.5 0 .9 0 1.4 0l158.6 0c.5 0 1 0 1.4 0L504 512c39.8 0 72-32.2 72-72l0-8c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 8c0 13.3-10.7 24-24 24l-69.4 0 27.6-179.3c10.5-5.2 17.8-16.1 17.8-28.7c0-17.7-14.3-32-32-32l-21.3 0c-12.9 0-24.6-7.8-29.5-19.7l-6.3-15c-14.6-35.1-44.1-61.9-80.5-73.1l-48.7-15c-11.1-3.4-22.7-5.2-34.4-5.2c-31 0-60.8 12.3-82.7 34.3l-23.1 23.1c-12.5 12.5-12.5 32.8 0 45.3zm308 89.4L402.3 464l-44.4 0 21.6-75.6c5.9-20.6-2.6-42.6-20.7-53.9L302 299l30.9-82.4 5.1 12.3C353 264.7 387.9 288 426.7 288l2.7 0z\"]\n};\nconst faSkiingNordic = faPersonSkiingNordic;\nconst faCalendarPlus = {\n prefix: 'fas',\n iconName: 'calendar-plus',\n icon: [448, 512, [], \"f271\", \"M96 32l0 32L48 64C21.5 64 0 85.5 0 112l0 48 448 0 0-48c0-26.5-21.5-48-48-48l-48 0 0-32c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 32L160 64l0-32c0-17.7-14.3-32-32-32S96 14.3 96 32zM448 192L0 192 0 464c0 26.5 21.5 48 48 48l352 0c26.5 0 48-21.5 48-48l0-272zM224 248c13.3 0 24 10.7 24 24l0 56 56 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-56 0 0 56c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-56-56 0c-13.3 0-24-10.7-24-24s10.7-24 24-24l56 0 0-56c0-13.3 10.7-24 24-24z\"]\n};\nconst faPlaneArrival = {\n prefix: 'fas',\n iconName: 'plane-arrival',\n icon: [640, 512, [128748], \"f5af\", \"M.3 166.9L0 68C0 57.7 9.5 50.1 19.5 52.3l35.6 7.9c10.6 2.3 19.2 9.9 23 20L96 128l127.3 37.6L181.8 20.4C178.9 10.2 186.6 0 197.2 0l40.1 0c11.6 0 22.2 6.2 27.9 16.3l109 193.8 107.2 31.7c15.9 4.7 30.8 12.5 43.7 22.8l34.4 27.6c24 19.2 18.1 57.3-10.7 68.2c-41.2 15.6-86.2 18.1-128.8 7L121.7 289.8c-11.1-2.9-21.2-8.7-29.3-16.9L9.5 189.4c-5.9-6-9.3-14.1-9.3-22.5zM32 448l576 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 512c-17.7 0-32-14.3-32-32s14.3-32 32-32zm96-80a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm128-16a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nconst faCircleLeft = {\n prefix: 'fas',\n iconName: 'circle-left',\n icon: [512, 512, [61840, \"arrow-alt-circle-left\"], \"f359\", \"M512 256A256 256 0 1 0 0 256a256 256 0 1 0 512 0zM116.7 244.7l112-112c4.6-4.6 11.5-5.9 17.4-3.5s9.9 8.3 9.9 14.8l0 64 96 0c17.7 0 32 14.3 32 32l0 32c0 17.7-14.3 32-32 32l-96 0 0 64c0 6.5-3.9 12.3-9.9 14.8s-12.9 1.1-17.4-3.5l-112-112c-6.2-6.2-6.2-16.4 0-22.6z\"]\n};\nconst faArrowAltCircleLeft = faCircleLeft;\nconst faTrainSubway = {\n prefix: 'fas',\n iconName: 'train-subway',\n icon: [448, 512, [\"subway\"], \"f239\", \"M96 0C43 0 0 43 0 96L0 352c0 48 35.2 87.7 81.1 94.9l-46 46C28.1 499.9 33.1 512 43 512l39.7 0c8.5 0 16.6-3.4 22.6-9.4L160 448l128 0 54.6 54.6c6 6 14.1 9.4 22.6 9.4l39.7 0c10 0 15-12.1 7.9-19.1l-46-46c46-7.1 81.1-46.9 81.1-94.9l0-256c0-53-43-96-96-96L96 0zM64 128c0-17.7 14.3-32 32-32l80 0c17.7 0 32 14.3 32 32l0 96c0 17.7-14.3 32-32 32l-80 0c-17.7 0-32-14.3-32-32l0-96zM272 96l80 0c17.7 0 32 14.3 32 32l0 96c0 17.7-14.3 32-32 32l-80 0c-17.7 0-32-14.3-32-32l0-96c0-17.7 14.3-32 32-32zM64 352a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm288-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nconst faSubway = faTrainSubway;\nconst faChartGantt = {\n prefix: 'fas',\n iconName: 'chart-gantt',\n icon: [512, 512, [], \"e0e4\", \"M32 32c17.7 0 32 14.3 32 32l0 336c0 8.8 7.2 16 16 16l400 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L80 480c-44.2 0-80-35.8-80-80L0 64C0 46.3 14.3 32 32 32zm96 96c0-17.7 14.3-32 32-32l96 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-96 0c-17.7 0-32-14.3-32-32zm96 64l128 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-128 0c-17.7 0-32-14.3-32-32s14.3-32 32-32zm160 96l64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0c-17.7 0-32-14.3-32-32s14.3-32 32-32z\"]\n};\nconst faIndianRupeeSign = {\n prefix: 'fas',\n iconName: 'indian-rupee-sign',\n icon: [320, 512, [\"indian-rupee\", \"inr\"], \"e1bc\", \"M0 64C0 46.3 14.3 32 32 32l64 0 16 0 176 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-56.2 0c9.6 14.4 16.7 30.6 20.7 48l35.6 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-35.6 0c-13.2 58.3-61.9 103.2-122.2 110.9L274.6 422c14.4 10.3 17.7 30.3 7.4 44.6s-30.3 17.7-44.6 7.4L13.4 314C2.1 306-2.7 291.5 1.5 278.2S18.1 256 32 256l80 0c32.8 0 61-19.7 73.3-48L32 208c-17.7 0-32-14.3-32-32s14.3-32 32-32l153.3 0C173 115.7 144.8 96 112 96L96 96 32 96C14.3 96 0 81.7 0 64z\"]\n};\nconst faIndianRupee = faIndianRupeeSign;\nconst faInr = faIndianRupeeSign;\nconst faCropSimple = {\n prefix: 'fas',\n iconName: 'crop-simple',\n icon: [512, 512, [\"crop-alt\"], \"f565\", \"M128 32c0-17.7-14.3-32-32-32S64 14.3 64 32l0 32L32 64C14.3 64 0 78.3 0 96s14.3 32 32 32l32 0 0 256c0 35.3 28.7 64 64 64l224 0 0-64-224 0 0-352zM384 480c0 17.7 14.3 32 32 32s32-14.3 32-32l0-32 32 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-32 0 0-256c0-35.3-28.7-64-64-64L160 64l0 64 224 0 0 352z\"]\n};\nconst faCropAlt = faCropSimple;\nconst faMoneyBill1 = {\n prefix: 'fas',\n iconName: 'money-bill-1',\n icon: [576, 512, [\"money-bill-alt\"], \"f3d1\", \"M64 64C28.7 64 0 92.7 0 128L0 384c0 35.3 28.7 64 64 64l448 0c35.3 0 64-28.7 64-64l0-256c0-35.3-28.7-64-64-64L64 64zm64 320l-64 0 0-64c35.3 0 64 28.7 64 64zM64 192l0-64 64 0c0 35.3-28.7 64-64 64zM448 384c0-35.3 28.7-64 64-64l0 64-64 0zm64-192c-35.3 0-64-28.7-64-64l64 0 0 64zM176 256a112 112 0 1 1 224 0 112 112 0 1 1 -224 0zm76-48c0 9.7 6.9 17.7 16 19.6l0 48.4-4 0c-11 0-20 9-20 20s9 20 20 20l24 0 24 0c11 0 20-9 20-20s-9-20-20-20l-4 0 0-68c0-11-9-20-20-20l-16 0c-11 0-20 9-20 20z\"]\n};\nconst faMoneyBillAlt = faMoneyBill1;\nconst faLeftLong = {\n prefix: 'fas',\n iconName: 'left-long',\n icon: [512, 512, [\"long-arrow-alt-left\"], \"f30a\", \"M177.5 414c-8.8 3.8-19 2-26-4.6l-144-136C2.7 268.9 0 262.6 0 256s2.7-12.9 7.5-17.4l144-136c7-6.6 17.2-8.4 26-4.6s14.5 12.5 14.5 22l0 72 288 0c17.7 0 32 14.3 32 32l0 64c0 17.7-14.3 32-32 32l-288 0 0 72c0 9.6-5.7 18.2-14.5 22z\"]\n};\nconst faLongArrowAltLeft = faLeftLong;\nconst faDna = {\n prefix: 'fas',\n iconName: 'dna',\n icon: [448, 512, [129516], \"f471\", \"M416 0c17.7 0 32 14.3 32 32c0 59.8-30.3 107.5-69.4 146.6c-28 28-62.5 53.5-97.3 77.4l-2.5 1.7c-11.9 8.1-23.8 16.1-35.5 23.9c0 0 0 0 0 0s0 0 0 0s0 0 0 0l-1.6 1c-6 4-11.9 7.9-17.8 11.9c-20.9 14-40.8 27.7-59.3 41.5l118.5 0c-9.8-7.4-20.1-14.7-30.7-22.1l7-4.7 3-2c15.1-10.1 30.9-20.6 46.7-31.6c25 18.1 48.9 37.3 69.4 57.7C417.7 372.5 448 420.2 448 480c0 17.7-14.3 32-32 32s-32-14.3-32-32L64 480c0 17.7-14.3 32-32 32s-32-14.3-32-32c0-59.8 30.3-107.5 69.4-146.6c28-28 62.5-53.5 97.3-77.4c-34.8-23.9-69.3-49.3-97.3-77.4C30.3 139.5 0 91.8 0 32C0 14.3 14.3 0 32 0S64 14.3 64 32l320 0c0-17.7 14.3-32 32-32zM338.6 384l-229.2 0c-10.1 10.6-18.6 21.3-25.5 32l280.2 0c-6.8-10.7-15.3-21.4-25.5-32zM109.4 128l229.2 0c10.1-10.7 18.6-21.3 25.5-32L83.9 96c6.8 10.7 15.3 21.3 25.5 32zm55.4 48c18.4 13.8 38.4 27.5 59.3 41.5c20.9-14 40.8-27.7 59.3-41.5l-118.5 0z\"]\n};\nconst faVirusSlash = {\n prefix: 'fas',\n iconName: 'virus-slash',\n icon: [640, 512, [], \"e075\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7l-154.3-121c-2-30.1 20.8-60.1 56-60.1l11.5 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-11.5 0c-49.9 0-74.9-60.3-39.6-95.6l8.2-8.2c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-8.2 8.2C412.3 118.4 352 93.4 352 43.5L352 32c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 11.5c0 49.9-60.3 74.9-95.6 39.6L184.2 75c-12.5-12.5-32.8-12.5-45.3 0c-1.6 1.6-3.1 3.4-4.3 5.3L38.8 5.1zm225.8 177c6.9-3.9 14.9-6.1 23.4-6.1c26.5 0 48 21.5 48 48c0 4.4-.6 8.7-1.7 12.7l-69.7-54.6zM402 412.7L144.7 210c-9.5 8.5-22.2 14-37.2 14L96 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l11.5 0c49.9 0 74.9 60.3 39.6 95.6l-8.2 8.2c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l8.2-8.2c35.3-35.3 95.6-10.3 95.6 39.6l0 11.5c0 17.7 14.3 32 32 32s32-14.3 32-32l0-11.5c0-31.2 23.6-52.7 50-55.7z\"]\n};\nconst faMinus = {\n prefix: 'fas',\n iconName: 'minus',\n icon: [448, 512, [8211, 8722, 10134, \"subtract\"], \"f068\", \"M432 256c0 17.7-14.3 32-32 32L48 288c-17.7 0-32-14.3-32-32s14.3-32 32-32l352 0c17.7 0 32 14.3 32 32z\"]\n};\nconst faSubtract = faMinus;\nconst faChess = {\n prefix: 'fas',\n iconName: 'chess',\n icon: [512, 512, [], \"f439\", \"M144 16c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 16L96 32c-8.8 0-16 7.2-16 16s7.2 16 16 16l16 0 0 32L60.2 96C49.1 96 40 105.1 40 116.2c0 2.5 .5 4.9 1.3 7.3L73.8 208 72 208c-13.3 0-24 10.7-24 24s10.7 24 24 24l4 0L60 384l136 0L180 256l4 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-1.8 0 32.5-84.5c.9-2.3 1.3-4.8 1.3-7.3c0-11.2-9.1-20.2-20.2-20.2L144 96l0-32 16 0c8.8 0 16-7.2 16-16s-7.2-16-16-16l-16 0 0-16zM48 416L4.8 473.6C1.7 477.8 0 482.8 0 488c0 13.3 10.7 24 24 24l208 0c13.3 0 24-10.7 24-24c0-5.2-1.7-10.2-4.8-14.4L208 416 48 416zm288 0l-43.2 57.6c-3.1 4.2-4.8 9.2-4.8 14.4c0 13.3 10.7 24 24 24l176 0c13.3 0 24-10.7 24-24c0-5.2-1.7-10.2-4.8-14.4L464 416l-128 0zM304 208l0 51.9c0 7.8 2.8 15.3 8 21.1L339.2 312 337 384l125.5 0-3.3-72 28.3-30.8c5.4-5.9 8.5-13.6 8.5-21.7l0-51.5c0-8.8-7.2-16-16-16l-16 0c-8.8 0-16 7.2-16 16l0 16-24 0 0-16c0-8.8-7.2-16-16-16l-16 0c-8.8 0-16 7.2-16 16l0 16-24 0 0-16c0-8.8-7.2-16-16-16l-16 0c-8.8 0-16 7.2-16 16zm80 96c0-8.8 7.2-16 16-16s16 7.2 16 16l0 32-32 0 0-32z\"]\n};\nconst faArrowLeftLong = {\n prefix: 'fas',\n iconName: 'arrow-left-long',\n icon: [512, 512, [\"long-arrow-left\"], \"f177\", \"M9.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l128 128c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L109.3 288 480 288c17.7 0 32-14.3 32-32s-14.3-32-32-32l-370.7 0 73.4-73.4c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-128 128z\"]\n};\nconst faLongArrowLeft = faArrowLeftLong;\nconst faPlugCircleCheck = {\n prefix: 'fas',\n iconName: 'plug-circle-check',\n icon: [576, 512, [], \"e55c\", \"M96 0C78.3 0 64 14.3 64 32l0 96 64 0 0-96c0-17.7-14.3-32-32-32zM288 0c-17.7 0-32 14.3-32 32l0 96 64 0 0-96c0-17.7-14.3-32-32-32zM32 160c-17.7 0-32 14.3-32 32s14.3 32 32 32l0 32c0 77.4 55 142 128 156.8l0 67.2c0 17.7 14.3 32 32 32s32-14.3 32-32l0-67.2c12.3-2.5 24.1-6.4 35.1-11.5c-2.1-10.8-3.1-21.9-3.1-33.3c0-80.3 53.8-148 127.3-169.2c.5-2.2 .7-4.5 .7-6.8c0-17.7-14.3-32-32-32L32 160zM576 368a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zm-76.7-43.3c6.2 6.2 6.2 16.4 0 22.6l-72 72c-6.2 6.2-16.4 6.2-22.6 0l-40-40c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L416 385.4l60.7-60.7c6.2-6.2 16.4-6.2 22.6 0z\"]\n};\nconst faStreetView = {\n prefix: 'fas',\n iconName: 'street-view',\n icon: [512, 512, [], \"f21d\", \"M320 64A64 64 0 1 0 192 64a64 64 0 1 0 128 0zm-96 96c-35.3 0-64 28.7-64 64l0 48c0 17.7 14.3 32 32 32l1.8 0 11.1 99.5c1.8 16.2 15.5 28.5 31.8 28.5l38.7 0c16.3 0 30-12.3 31.8-28.5L318.2 304l1.8 0c17.7 0 32-14.3 32-32l0-48c0-35.3-28.7-64-64-64l-64 0zM132.3 394.2c13-2.4 21.7-14.9 19.3-27.9s-14.9-21.7-27.9-19.3c-32.4 5.9-60.9 14.2-82 24.8c-10.5 5.3-20.3 11.7-27.8 19.6C6.4 399.5 0 410.5 0 424c0 21.4 15.5 36.1 29.1 45c14.7 9.6 34.3 17.3 56.4 23.4C130.2 504.7 190.4 512 256 512s125.8-7.3 170.4-19.6c22.1-6.1 41.8-13.8 56.4-23.4c13.7-8.9 29.1-23.6 29.1-45c0-13.5-6.4-24.5-14-32.6c-7.5-7.9-17.3-14.3-27.8-19.6c-21-10.6-49.5-18.9-82-24.8c-13-2.4-25.5 6.3-27.9 19.3s6.3 25.5 19.3 27.9c30.2 5.5 53.7 12.8 69 20.5c3.2 1.6 5.8 3.1 7.9 4.5c3.6 2.4 3.6 7.2 0 9.6c-8.8 5.7-23.1 11.8-43 17.3C374.3 457 318.5 464 256 464s-118.3-7-157.7-17.9c-19.9-5.5-34.2-11.6-43-17.3c-3.6-2.4-3.6-7.2 0-9.6c2.1-1.4 4.8-2.9 7.9-4.5c15.3-7.7 38.8-14.9 69-20.5z\"]\n};\nconst faFrancSign = {\n prefix: 'fas',\n iconName: 'franc-sign',\n icon: [320, 512, [], \"e18f\", \"M80 32C62.3 32 48 46.3 48 64l0 160 0 96-16 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l16 0 0 64c0 17.7 14.3 32 32 32s32-14.3 32-32l0-64 80 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-80 0 0-64 144 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-144 0 0-96 176 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L80 32z\"]\n};\nconst faVolumeOff = {\n prefix: 'fas',\n iconName: 'volume-off',\n icon: [320, 512, [], \"f026\", \"M320 64c0-12.6-7.4-24-18.9-29.2s-25-3.1-34.4 5.3L131.8 160 64 160c-35.3 0-64 28.7-64 64l0 64c0 35.3 28.7 64 64 64l67.8 0L266.7 471.9c9.4 8.4 22.9 10.4 34.4 5.3S320 460.6 320 448l0-384z\"]\n};\nconst faHandsAslInterpreting = {\n prefix: 'fas',\n iconName: 'hands-asl-interpreting',\n icon: [640, 512, [\"american-sign-language-interpreting\", \"asl-interpreting\", \"hands-american-sign-language-interpreting\"], \"f2a3\", \"M156.6 46.3c7.9-15.8 1.5-35-14.3-42.9s-35-1.5-42.9 14.3L13.5 189.4C4.6 207.2 0 226.8 0 246.7L0 256c0 70.7 57.3 128 128 128l72 0 8 0 0-.3c35.2-2.7 65.4-22.8 82.1-51.7c8.8-15.3 3.6-34.9-11.7-43.7s-34.9-3.6-43.7 11.7c-7 12-19.9 20-34.7 20c-22.1 0-40-17.9-40-40s17.9-40 40-40c14.8 0 27.7 8 34.7 20c8.8 15.3 28.4 20.5 43.7 11.7s20.5-28.4 11.7-43.7c-12.8-22.1-33.6-39.1-58.4-47.1l80.8-22c17-4.6 27.1-22.2 22.5-39.3s-22.2-27.1-39.3-22.5L194.9 124.6l81.6-68c13.6-11.3 15.4-31.5 4.1-45.1S249.1-3.9 235.5 7.4L133.6 92.3l23-46zM483.4 465.7c-7.9 15.8-1.5 35 14.3 42.9s35 1.5 42.9-14.3l85.9-171.7c8.9-17.8 13.5-37.4 13.5-57.2l0-9.3c0-70.7-57.3-128-128-128l-72 0-8 0 0 .3c-35.2 2.7-65.4 22.8-82.1 51.7c-8.9 15.3-3.6 34.9 11.7 43.7s34.9 3.6 43.7-11.7c7-12 19.9-20 34.7-20c22.1 0 40 17.9 40 40s-17.9 40-40 40c-14.8 0-27.7-8-34.7-20c-8.9-15.3-28.4-20.5-43.7-11.7s-20.5 28.4-11.7 43.7c12.8 22.1 33.6 39.1 58.4 47.1l-80.8 22c-17.1 4.7-27.1 22.2-22.5 39.3s22.2 27.1 39.3 22.5l100.7-27.5-81.6 68c-13.6 11.3-15.4 31.5-4.1 45.1s31.5 15.4 45.1 4.1l101.9-84.9-23 46z\"]\n};\nconst faAmericanSignLanguageInterpreting = faHandsAslInterpreting;\nconst faAslInterpreting = faHandsAslInterpreting;\nconst faHandsAmericanSignLanguageInterpreting = faHandsAslInterpreting;\nconst faGear = {\n prefix: 'fas',\n iconName: 'gear',\n icon: [512, 512, [9881, \"cog\"], \"f013\", \"M495.9 166.6c3.2 8.7 .5 18.4-6.4 24.6l-43.3 39.4c1.1 8.3 1.7 16.8 1.7 25.4s-.6 17.1-1.7 25.4l43.3 39.4c6.9 6.2 9.6 15.9 6.4 24.6c-4.4 11.9-9.7 23.3-15.8 34.3l-4.7 8.1c-6.6 11-14 21.4-22.1 31.2c-5.9 7.2-15.7 9.6-24.5 6.8l-55.7-17.7c-13.4 10.3-28.2 18.9-44 25.4l-12.5 57.1c-2 9.1-9 16.3-18.2 17.8c-13.8 2.3-28 3.5-42.5 3.5s-28.7-1.2-42.5-3.5c-9.2-1.5-16.2-8.7-18.2-17.8l-12.5-57.1c-15.8-6.5-30.6-15.1-44-25.4L83.1 425.9c-8.8 2.8-18.6 .3-24.5-6.8c-8.1-9.8-15.5-20.2-22.1-31.2l-4.7-8.1c-6.1-11-11.4-22.4-15.8-34.3c-3.2-8.7-.5-18.4 6.4-24.6l43.3-39.4C64.6 273.1 64 264.6 64 256s.6-17.1 1.7-25.4L22.4 191.2c-6.9-6.2-9.6-15.9-6.4-24.6c4.4-11.9 9.7-23.3 15.8-34.3l4.7-8.1c6.6-11 14-21.4 22.1-31.2c5.9-7.2 15.7-9.6 24.5-6.8l55.7 17.7c13.4-10.3 28.2-18.9 44-25.4l12.5-57.1c2-9.1 9-16.3 18.2-17.8C227.3 1.2 241.5 0 256 0s28.7 1.2 42.5 3.5c9.2 1.5 16.2 8.7 18.2 17.8l12.5 57.1c15.8 6.5 30.6 15.1 44 25.4l55.7-17.7c8.8-2.8 18.6-.3 24.5 6.8c8.1 9.8 15.5 20.2 22.1 31.2l4.7 8.1c6.1 11 11.4 22.4 15.8 34.3zM256 336a80 80 0 1 0 0-160 80 80 0 1 0 0 160z\"]\n};\nconst faCog = faGear;\nconst faDropletSlash = {\n prefix: 'fas',\n iconName: 'droplet-slash',\n icon: [640, 512, [\"tint-slash\"], \"f5c7\", \"M320 512c53.2 0 101.4-21.6 136.1-56.6l-298.3-235C140 257.1 128 292.3 128 320c0 106 86 192 192 192zM505.2 370.7c4.4-16.2 6.8-33.1 6.8-50.7c0-91.2-130.2-262.3-166.6-308.3C339.4 4.2 330.5 0 320.9 0l-1.8 0c-9.6 0-18.5 4.2-24.5 11.7C277.8 33 240.7 81.3 205.8 136L38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L505.2 370.7zM224 336c0 44.2 35.8 80 80 80c8.8 0 16 7.2 16 16s-7.2 16-16 16c-61.9 0-112-50.1-112-112c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nconst faTintSlash = faDropletSlash;\nconst faMosque = {\n prefix: 'fas',\n iconName: 'mosque',\n icon: [640, 512, [128332], \"f678\", \"M400 0c5 0 9.8 2.4 12.8 6.4c34.7 46.3 78.1 74.9 133.5 111.5c0 0 0 0 0 0s0 0 0 0c5.2 3.4 10.5 7 16 10.6c28.9 19.2 45.7 51.7 45.7 86.1c0 28.6-11.3 54.5-29.8 73.4l-356.4 0c-18.4-19-29.8-44.9-29.8-73.4c0-34.4 16.7-66.9 45.7-86.1c5.4-3.6 10.8-7.1 16-10.6c0 0 0 0 0 0s0 0 0 0C309.1 81.3 352.5 52.7 387.2 6.4c3-4 7.8-6.4 12.8-6.4zM288 512l0-72c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 72-48 0c-17.7 0-32-14.3-32-32l0-128c0-17.7 14.3-32 32-32l416 0c17.7 0 32 14.3 32 32l0 128c0 17.7-14.3 32-32 32l-48 0 0-72c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 72-64 0 0-58c0-19-8.4-37-23-49.2L400 384l-25 20.8C360.4 417 352 435 352 454l0 58-64 0zM70.4 5.2c5.7-4.3 13.5-4.3 19.2 0l16 12C139.8 42.9 160 83.2 160 126l0 2L0 128l0-2C0 83.2 20.2 42.9 54.4 17.2l16-12zM0 160l160 0 0 136.6c-19.1 11.1-32 31.7-32 55.4l0 128c0 9.6 2.1 18.6 5.8 26.8c-6.6 3.4-14 5.2-21.8 5.2l-64 0c-26.5 0-48-21.5-48-48L0 176l0-16z\"]\n};\nconst faMosquito = {\n prefix: 'fas',\n iconName: 'mosquito',\n icon: [640, 512, [], \"e52b\", \"M463.7 505.9c9.8-8.9 10.7-24.3 2.1-34.3l-42.1-49 0-54.7c0-5.5-1.8-10.8-5.1-15.1L352 266.3l0-.3L485.4 387.8C542.4 447.6 640 405.2 640 320.6c0-47.9-34-88.3-79.4-94.2l-153-23.9 40.8-40.9c7.8-7.8 9.4-20.1 3.9-29.8L428.5 90.1l38.2-50.9c8-10.6 6.1-25.9-4.3-34.1s-25.2-6.3-33.2 4.4l-48 63.9c-5.9 7.9-6.6 18.6-1.7 27.2L402.2 140 352 190.3l0-38.2c0-14.9-10.2-27.4-24-31l0-57.2c0-4.4-3.6-8-8-8s-8 3.6-8 8l0 57.2c-13.8 3.6-24 16.1-24 31l0 38.1L237.8 140l22.6-39.5c4.9-8.6 4.2-19.3-1.7-27.2l-48-63.9c-8-10.6-22.8-12.6-33.2-4.4s-12.2 23.5-4.3 34.1l38.2 50.9-23.9 41.7c-5.5 9.7-3.9 22 3.9 29.8l40.8 40.9-153 23.9C34 232.3 0 272.7 0 320.6c0 84.6 97.6 127 154.6 67.1L288 266l0 .3-66.5 86.4c-3.3 4.3-5.1 9.6-5.1 15.1l0 54.7-42.1 49c-8.6 10.1-7.7 25.5 2.1 34.3s24.7 7.9 33.4-2.1l48-55.9c3.8-4.4 5.9-10.2 5.9-16.1l0-55.4L288 344.7l0 63.1c0 17.7 14.3 32 32 32s32-14.3 32-32l0-63.1 24.3 31.6 0 55.4c0 5.9 2.1 11.7 5.9 16.1l48 55.9c8.6 10.1 23.6 11 33.4 2.1z\"]\n};\nconst faStarOfDavid = {\n prefix: 'fas',\n iconName: 'star-of-david',\n icon: [512, 512, [10017], \"f69a\", \"M404.2 309.5L383.1 344l42.3 0-21.1-34.5zM371.4 256l-54-88-122.8 0-54 88 54 88 122.8 0 54-88zm65.7 0l53.4 87c3.6 5.9 5.5 12.7 5.5 19.6c0 20.7-16.8 37.4-37.4 37.4l-109.8 0-56.2 91.5C284.8 504.3 270.9 512 256 512s-28.8-7.7-36.6-20.5L163.3 400 53.4 400C32.8 400 16 383.2 16 362.6c0-6.9 1.9-13.7 5.5-19.6l53.4-87L21.5 169c-3.6-5.9-5.5-12.7-5.5-19.6C16 128.8 32.8 112 53.4 112l109.8 0 56.2-91.5C227.2 7.7 241.1 0 256 0s28.8 7.7 36.6 20.5L348.7 112l109.8 0c20.7 0 37.4 16.8 37.4 37.4c0 6.9-1.9 13.7-5.5 19.6l-53.4 87zm-54-88l21.1 34.5L425.4 168l-42.3 0zM283 112L256 68l-27 44 54 0zM128.9 168l-42.3 0 21.1 34.5L128.9 168zM107.8 309.5L86.6 344l42.3 0-21.1-34.5zM229 400l27 44 27-44-54 0z\"]\n};\nconst faPersonMilitaryRifle = {\n prefix: 'fas',\n iconName: 'person-military-rifle',\n icon: [512, 512, [], \"e54b\", \"M160 39c0-13 10-23.8 22.9-24.9L334.7 1.4C344 .7 352 8 352 17.4L352 48c0 8.8-7.2 16-16 16L185 64c-13.8 0-25-11.2-25-25zm17.6 57l156.8 0c1 5.2 1.6 10.5 1.6 16c0 44.2-35.8 80-80 80s-80-35.8-80-80c0-5.5 .6-10.8 1.6-16zm228 364.3L352 369.7 352 480c0 1.3-.1 2.5-.2 3.8L177.5 234.9c16.6-7.1 34.6-10.9 53.3-10.9l50.4 0c15.9 0 31.3 2.8 45.8 7.9L421.9 67.7c-7.7-4.4-10.3-14.2-5.9-21.9s14.2-10.3 21.9-5.9l13.9 8 13.9 8c7.7 4.4 10.3 14.2 5.9 21.9L416 173.9l1.6 .9c15.3 8.8 20.6 28.4 11.7 43.7L392.6 282c2 2.8 3.9 5.8 5.7 8.8l76.1 128.8c11.2 19 4.9 43.5-14.1 54.8s-43.5 4.9-54.8-14.1zM320 512l-128 0c-17.7 0-32-14.3-32-32l0-110.3-53.6 90.6c-11.2 19-35.8 25.3-54.8 14.1s-25.3-35.8-14.1-54.8l76.1-128.8c9.4-15.8 21.7-29.3 36-40L331.1 510c-3.5 1.3-7.2 2-11.1 2zM296 320a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nconst faCartShopping = {\n prefix: 'fas',\n iconName: 'cart-shopping',\n icon: [576, 512, [128722, \"shopping-cart\"], \"f07a\", \"M0 24C0 10.7 10.7 0 24 0L69.5 0c22 0 41.5 12.8 50.6 32l411 0c26.3 0 45.5 25 38.6 50.4l-41 152.3c-8.5 31.4-37 53.3-69.5 53.3l-288.5 0 5.4 28.5c2.2 11.3 12.1 19.5 23.6 19.5L488 336c13.3 0 24 10.7 24 24s-10.7 24-24 24l-288.3 0c-34.6 0-64.3-24.6-70.7-58.5L77.4 54.5c-.7-3.8-4-6.5-7.9-6.5L24 48C10.7 48 0 37.3 0 24zM128 464a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm336-48a48 48 0 1 1 0 96 48 48 0 1 1 0-96z\"]\n};\nconst faShoppingCart = faCartShopping;\nconst faVials = {\n prefix: 'fas',\n iconName: 'vials',\n icon: [512, 512, [], \"f493\", \"M0 64C0 46.3 14.3 32 32 32l56 0 48 0 56 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l0 304c0 44.2-35.8 80-80 80s-80-35.8-80-80L32 96C14.3 96 0 81.7 0 64zM136 96L88 96l0 160 48 0 0-160zM288 64c0-17.7 14.3-32 32-32l56 0 48 0 56 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l0 304c0 44.2-35.8 80-80 80s-80-35.8-80-80l0-304c-17.7 0-32-14.3-32-32zM424 96l-48 0 0 160 48 0 0-160z\"]\n};\nconst faPlugCirclePlus = {\n prefix: 'fas',\n iconName: 'plug-circle-plus',\n icon: [576, 512, [], \"e55f\", \"M96 0C78.3 0 64 14.3 64 32l0 96 64 0 0-96c0-17.7-14.3-32-32-32zM288 0c-17.7 0-32 14.3-32 32l0 96 64 0 0-96c0-17.7-14.3-32-32-32zM32 160c-17.7 0-32 14.3-32 32s14.3 32 32 32l0 32c0 77.4 55 142 128 156.8l0 67.2c0 17.7 14.3 32 32 32s32-14.3 32-32l0-67.2c12.3-2.5 24.1-6.4 35.1-11.5c-2.1-10.8-3.1-21.9-3.1-33.3c0-80.3 53.8-148 127.3-169.2c.5-2.2 .7-4.5 .7-6.8c0-17.7-14.3-32-32-32L32 160zM432 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm16-208l0 48 48 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-48 0 0 48c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-48-48 0c-8.8 0-16-7.2-16-16s7.2-16 16-16l48 0 0-48c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nconst faPlaceOfWorship = {\n prefix: 'fas',\n iconName: 'place-of-worship',\n icon: [640, 512, [], \"f67f\", \"M224 109.3l0 108.3L183.3 242c-14.5 8.7-23.3 24.3-23.3 41.2L160 512l96 0 0-96c0-35.3 28.7-64 64-64s64 28.7 64 64l0 96 96 0 0-228.8c0-16.9-8.8-32.5-23.3-41.2L416 217.6l0-108.3c0-8.5-3.4-16.6-9.4-22.6L331.3 11.3c-6.2-6.2-16.4-6.2-22.6 0L233.4 86.6c-6 6-9.4 14.1-9.4 22.6zM24.9 330.3C9.5 338.8 0 354.9 0 372.4L0 464c0 26.5 21.5 48 48 48l80 0 0-238.4L24.9 330.3zM592 512c26.5 0 48-21.5 48-48l0-91.6c0-17.5-9.5-33.6-24.9-42.1L512 273.6 512 512l80 0z\"]\n};\nconst faGripVertical = {\n prefix: 'fas',\n iconName: 'grip-vertical',\n icon: [320, 512, [], \"f58e\", \"M40 352l48 0c22.1 0 40 17.9 40 40l0 48c0 22.1-17.9 40-40 40l-48 0c-22.1 0-40-17.9-40-40l0-48c0-22.1 17.9-40 40-40zm192 0l48 0c22.1 0 40 17.9 40 40l0 48c0 22.1-17.9 40-40 40l-48 0c-22.1 0-40-17.9-40-40l0-48c0-22.1 17.9-40 40-40zM40 320c-22.1 0-40-17.9-40-40l0-48c0-22.1 17.9-40 40-40l48 0c22.1 0 40 17.9 40 40l0 48c0 22.1-17.9 40-40 40l-48 0zM232 192l48 0c22.1 0 40 17.9 40 40l0 48c0 22.1-17.9 40-40 40l-48 0c-22.1 0-40-17.9-40-40l0-48c0-22.1 17.9-40 40-40zM40 160c-22.1 0-40-17.9-40-40L0 72C0 49.9 17.9 32 40 32l48 0c22.1 0 40 17.9 40 40l0 48c0 22.1-17.9 40-40 40l-48 0zM232 32l48 0c22.1 0 40 17.9 40 40l0 48c0 22.1-17.9 40-40 40l-48 0c-22.1 0-40-17.9-40-40l0-48c0-22.1 17.9-40 40-40z\"]\n};\nconst faHexagonNodes = {\n prefix: 'fas',\n iconName: 'hexagon-nodes',\n icon: [448, 512, [], \"e699\", \"M248 106.6c18.9-9 32-28.3 32-50.6c0-30.9-25.1-56-56-56s-56 25.1-56 56c0 22.3 13.1 41.6 32 50.6l0 98.8c-2.8 1.3-5.5 2.9-8 4.7l-80.1-45.8c1.6-20.8-8.6-41.6-27.9-52.8C57.2 96 23 105.2 7.5 132S1.2 193 28 208.5c1.3 .8 2.6 1.5 4 2.1l0 90.8c-1.3 .6-2.7 1.3-4 2.1C1.2 319-8 353.2 7.5 380S57.2 416 84 400.5c19.3-11.1 29.4-32 27.8-52.8l50.5-28.9c-11.5-11.2-19.9-25.6-23.8-41.7L88 306.1c-2.6-1.8-5.2-3.3-8-4.7l0-90.8c2.8-1.3 5.5-2.9 8-4.7l80.1 45.8c-.1 1.4-.2 2.8-.2 4.3c0 22.3 13.1 41.6 32 50.6l0 98.8c-18.9 9-32 28.3-32 50.6c0 30.9 25.1 56 56 56s56-25.1 56-56c0-22.3-13.1-41.6-32-50.6l0-98.8c2.8-1.3 5.5-2.9 8-4.7l80.1 45.8c-1.6 20.8 8.6 41.6 27.8 52.8c26.8 15.5 61 6.3 76.5-20.5s6.3-61-20.5-76.5c-1.3-.8-2.7-1.5-4-2.1l0-90.8c1.4-.6 2.7-1.3 4-2.1c26.8-15.5 36-49.7 20.5-76.5S390.8 96 364 111.5c-19.3 11.1-29.4 32-27.8 52.8l-50.6 28.9c11.5 11.2 19.9 25.6 23.8 41.7L360 205.9c2.6 1.8 5.2 3.3 8 4.7l0 90.8c-2.8 1.3-5.5 2.9-8 4.6l-80.1-45.8c.1-1.4 .2-2.8 .2-4.3c0-22.3-13.1-41.6-32-50.6l0-98.8z\"]\n};\nconst faArrowTurnUp = {\n prefix: 'fas',\n iconName: 'arrow-turn-up',\n icon: [384, 512, [\"level-up\"], \"f148\", \"M32 448c-17.7 0-32 14.3-32 32s14.3 32 32 32l96 0c53 0 96-43 96-96l0-306.7 73.4 73.4c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-128-128c-12.5-12.5-32.8-12.5-45.3 0l-128 128c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L160 109.3 160 416c0 17.7-14.3 32-32 32l-96 0z\"]\n};\nconst faLevelUp = faArrowTurnUp;\nconst faU = {\n prefix: 'fas',\n iconName: 'u',\n icon: [384, 512, [117], \"55\", \"M32 32c17.7 0 32 14.3 32 32l0 224c0 70.7 57.3 128 128 128s128-57.3 128-128l0-224c0-17.7 14.3-32 32-32s32 14.3 32 32l0 224c0 106-86 192-192 192S0 394 0 288L0 64C0 46.3 14.3 32 32 32z\"]\n};\nconst faSquareRootVariable = {\n prefix: 'fas',\n iconName: 'square-root-variable',\n icon: [576, 512, [\"square-root-alt\"], \"f698\", \"M282.6 78.1c8-27.3 33-46.1 61.4-46.1l200 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L344 96 238.7 457c-3.6 12.3-14.1 21.2-26.8 22.8s-25.1-4.6-31.5-15.6L77.6 288 32 288c-17.7 0-32-14.3-32-32s14.3-32 32-32l45.6 0c22.8 0 43.8 12.1 55.3 31.8l65.2 111.8L282.6 78.1zM393.4 233.4c12.5-12.5 32.8-12.5 45.3 0L480 274.7l41.4-41.4c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3L525.3 320l41.4 41.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L480 365.3l-41.4 41.4c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L434.7 320l-41.4-41.4c-12.5-12.5-12.5-32.8 0-45.3z\"]\n};\nconst faSquareRootAlt = faSquareRootVariable;\nconst faClock = {\n prefix: 'fas',\n iconName: 'clock',\n icon: [512, 512, [128339, \"clock-four\"], \"f017\", \"M256 0a256 256 0 1 1 0 512A256 256 0 1 1 256 0zM232 120l0 136c0 8 4 15.5 10.7 20l96 64c11 7.4 25.9 4.4 33.3-6.7s4.4-25.9-6.7-33.3L280 243.2 280 120c0-13.3-10.7-24-24-24s-24 10.7-24 24z\"]\n};\nconst faClockFour = faClock;\nconst faBackwardStep = {\n prefix: 'fas',\n iconName: 'backward-step',\n icon: [320, 512, [\"step-backward\"], \"f048\", \"M267.5 440.6c9.5 7.9 22.8 9.7 34.1 4.4s18.4-16.6 18.4-29l0-320c0-12.4-7.2-23.7-18.4-29s-24.5-3.6-34.1 4.4l-192 160L64 241 64 96c0-17.7-14.3-32-32-32S0 78.3 0 96L0 416c0 17.7 14.3 32 32 32s32-14.3 32-32l0-145 11.5 9.6 192 160z\"]\n};\nconst faStepBackward = faBackwardStep;\nconst faPallet = {\n prefix: 'fas',\n iconName: 'pallet',\n icon: [640, 512, [], \"f482\", \"M32 320c-17.7 0-32 14.3-32 32s14.3 32 32 32l32 0 0 64-32 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l64 0 224 0 224 0 64 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-32 0 0-64 32 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-64 0-224 0L96 320l-64 0zm96 64l160 0 0 64-160 0 0-64zm224 0l160 0 0 64-160 0 0-64z\"]\n};\nconst faFaucet = {\n prefix: 'fas',\n iconName: 'faucet',\n icon: [512, 512, [], \"e005\", \"M192 96l0 12L96 96c-17.7 0-32 14.3-32 32s14.3 32 32 32l96-12 31-3.9 1-.1 1 .1 31 3.9 96 12c17.7 0 32-14.3 32-32s-14.3-32-32-32l-96 12 0-12c0-17.7-14.3-32-32-32s-32 14.3-32 32zM32 256c-17.7 0-32 14.3-32 32l0 64c0 17.7 14.3 32 32 32l100.1 0c20.2 29 53.9 48 91.9 48s71.7-19 91.9-48l36.1 0c17.7 0 32 14.3 32 32s14.3 32 32 32l64 0c17.7 0 32-14.3 32-32c0-88.4-71.6-160-160-160l-32 0-22.6-22.6c-6-6-14.1-9.4-22.6-9.4L256 224l0-43.8-32-4-32 4 0 43.8-18.7 0c-8.5 0-16.6 3.4-22.6 9.4L128 256l-96 0z\"]\n};\nconst faBaseballBatBall = {\n prefix: 'fas',\n iconName: 'baseball-bat-ball',\n icon: [512, 512, [], \"f432\", \"M424 0c-12.4 0-24.2 4.9-33 13.7L233.5 171.2c-10.5 10.5-19.8 22.1-27.7 34.6L132.7 321.6c-7.3 11.5-15.8 22.2-25.5 31.9L69.9 390.7l51.3 51.3 37.3-37.3c9.6-9.6 20.3-18.2 31.9-25.5l115.8-73.1c12.5-7.9 24.1-17.2 34.6-27.7L498.3 121c8.7-8.7 13.7-20.6 13.7-33s-4.9-24.2-13.7-33L457 13.7C448.2 4.9 436.4 0 424 0zm88 432a80 80 0 1 0 -160 0 80 80 0 1 0 160 0zM15 399c-9.4 9.4-9.4 24.6 0 33.9l64 64c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L49 399c-9.4-9.4-24.6-9.4-33.9 0z\"]\n};\nconst faS = {\n prefix: 'fas',\n iconName: 's',\n icon: [320, 512, [115], \"53\", \"M99.1 105.4C79 114 68.2 127.2 65.2 144.8c-2.4 14.1-.7 23.2 2 29.4c2.8 6.3 7.9 12.4 16.7 18.6c19.2 13.4 48.3 22.1 84.9 32.5c1 .3 1.9 .6 2.9 .8c32.7 9.3 72 20.6 100.9 40.7c15.7 10.9 29.9 25.5 38.6 45.1c8.8 19.8 10.8 42 6.6 66.3c-7.3 42.5-35.3 71.7-71.8 87.3c-35.4 15.2-79.1 17.9-123.7 10.9l-.2 0s0 0 0 0c-24-3.9-62.7-17.1-87.6-25.6c-4.8-1.7-9.2-3.1-12.8-4.3C5.1 440.8-3.9 422.7 1.6 405.9s23.7-25.8 40.5-20.3c4.9 1.6 10.2 3.4 15.9 5.4c25.4 8.6 56.4 19.2 74.4 22.1c36.8 5.7 67.5 2.5 88.5-6.5c20.1-8.6 30.8-21.8 33.9-39.4c2.4-14.1 .7-23.2-2-29.4c-2.8-6.3-7.9-12.4-16.7-18.6c-19.2-13.4-48.3-22.1-84.9-32.5c-1-.3-1.9-.6-2.9-.8c-32.7-9.3-72-20.6-100.9-40.7c-15.7-10.9-29.9-25.5-38.6-45.1c-8.8-19.8-10.8-42-6.6-66.3l31.5 5.5L2.1 133.9C9.4 91.4 37.4 62.2 73.9 46.6c35.4-15.2 79.1-17.9 123.7-10.9c13 2 52.4 9.6 66.6 13.4c17.1 4.5 27.2 22.1 22.7 39.2s-22.1 27.2-39.2 22.7c-11.2-3-48.1-10.2-60.1-12l4.9-31.5-4.9 31.5c-36.9-5.8-67.5-2.5-88.6 6.5z\"]\n};\nconst faTimeline = {\n prefix: 'fas',\n iconName: 'timeline',\n icon: [640, 512, [], \"e29c\", \"M128 72a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm32 97.3c28.3-12.3 48-40.5 48-73.3c0-44.2-35.8-80-80-80S48 51.8 48 96c0 32.8 19.7 61 48 73.3L96 224l-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l256 0 0 54.7c-28.3 12.3-48 40.5-48 73.3c0 44.2 35.8 80 80 80s80-35.8 80-80c0-32.8-19.7-61-48-73.3l0-54.7 256 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-64 0 0-54.7c28.3-12.3 48-40.5 48-73.3c0-44.2-35.8-80-80-80s-80 35.8-80 80c0 32.8 19.7 61 48 73.3l0 54.7-320 0 0-54.7zM488 96a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM320 392a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nconst faKeyboard = {\n prefix: 'fas',\n iconName: 'keyboard',\n icon: [576, 512, [9000], \"f11c\", \"M64 64C28.7 64 0 92.7 0 128L0 384c0 35.3 28.7 64 64 64l448 0c35.3 0 64-28.7 64-64l0-256c0-35.3-28.7-64-64-64L64 64zm16 64l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32c0-8.8 7.2-16 16-16zM64 240c0-8.8 7.2-16 16-16l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32zm16 80l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32c0-8.8 7.2-16 16-16zm80-176c0-8.8 7.2-16 16-16l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32zm16 80l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32c0-8.8 7.2-16 16-16zM160 336c0-8.8 7.2-16 16-16l224 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-224 0c-8.8 0-16-7.2-16-16l0-32zM272 128l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32c0-8.8 7.2-16 16-16zM256 240c0-8.8 7.2-16 16-16l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32zM368 128l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32c0-8.8 7.2-16 16-16zM352 240c0-8.8 7.2-16 16-16l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32zM464 128l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32c0-8.8 7.2-16 16-16zM448 240c0-8.8 7.2-16 16-16l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32zm16 80l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32c0-8.8 7.2-16 16-16z\"]\n};\nconst faCaretDown = {\n prefix: 'fas',\n iconName: 'caret-down',\n icon: [320, 512, [], \"f0d7\", \"M137.4 374.6c12.5 12.5 32.8 12.5 45.3 0l128-128c9.2-9.2 11.9-22.9 6.9-34.9s-16.6-19.8-29.6-19.8L32 192c-12.9 0-24.6 7.8-29.6 19.8s-2.2 25.7 6.9 34.9l128 128z\"]\n};\nconst faHouseChimneyMedical = {\n prefix: 'fas',\n iconName: 'house-chimney-medical',\n icon: [576, 512, [\"clinic-medical\"], \"f7f2\", \"M575.8 255.5c0 18-15 32.1-32 32.1l-32 0 .7 160.2c.2 35.5-28.5 64.3-64 64.3l-320.4 0c-35.3 0-64-28.7-64-64l0-160.4-32 0c-18 0-32-14-32-32.1c0-9 3-17 10-24L266.4 8c7-7 15-8 22-8s15 2 21 7L416 100.7 416 64c0-17.7 14.3-32 32-32l32 0c17.7 0 32 14.3 32 32l0 121 52.8 46.4c8 7 12 15 11 24zM272 192c-8.8 0-16 7.2-16 16l0 48-48 0c-8.8 0-16 7.2-16 16l0 32c0 8.8 7.2 16 16 16l48 0 0 48c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-48 48 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16l-48 0 0-48c0-8.8-7.2-16-16-16l-32 0z\"]\n};\nconst faClinicMedical = faHouseChimneyMedical;\nconst faTemperatureThreeQuarters = {\n prefix: 'fas',\n iconName: 'temperature-three-quarters',\n icon: [320, 512, [\"temperature-3\", \"thermometer-3\", \"thermometer-three-quarters\"], \"f2c8\", \"M160 64c-26.5 0-48 21.5-48 48l0 164.5c0 17.3-7.1 31.9-15.3 42.5C86.2 332.6 80 349.5 80 368c0 44.2 35.8 80 80 80s80-35.8 80-80c0-18.5-6.2-35.4-16.7-48.9c-8.2-10.6-15.3-25.2-15.3-42.5L208 112c0-26.5-21.5-48-48-48zM48 112C48 50.2 98.1 0 160 0s112 50.1 112 112l0 164.4c0 .1 .1 .3 .2 .6c.2 .6 .8 1.6 1.7 2.8c18.9 24.4 30.1 55 30.1 88.1c0 79.5-64.5 144-144 144S16 447.5 16 368c0-33.2 11.2-63.8 30.1-88.1c.9-1.2 1.5-2.2 1.7-2.8c.1-.3 .2-.5 .2-.6L48 112zM208 368c0 26.5-21.5 48-48 48s-48-21.5-48-48c0-20.9 13.4-38.7 32-45.3L144 144c0-8.8 7.2-16 16-16s16 7.2 16 16l0 178.7c18.6 6.6 32 24.4 32 45.3z\"]\n};\nconst faTemperature3 = faTemperatureThreeQuarters;\nconst faThermometer3 = faTemperatureThreeQuarters;\nconst faThermometerThreeQuarters = faTemperatureThreeQuarters;\nconst faMobileScreen = {\n prefix: 'fas',\n iconName: 'mobile-screen',\n icon: [384, 512, [\"mobile-android-alt\"], \"f3cf\", \"M16 64C16 28.7 44.7 0 80 0L304 0c35.3 0 64 28.7 64 64l0 384c0 35.3-28.7 64-64 64L80 512c-35.3 0-64-28.7-64-64L16 64zM144 448c0 8.8 7.2 16 16 16l64 0c8.8 0 16-7.2 16-16s-7.2-16-16-16l-64 0c-8.8 0-16 7.2-16 16zM304 64L80 64l0 320 224 0 0-320z\"]\n};\nconst faMobileAndroidAlt = faMobileScreen;\nconst faPlaneUp = {\n prefix: 'fas',\n iconName: 'plane-up',\n icon: [512, 512, [], \"e22d\", \"M192 93.7C192 59.5 221 0 256 0c36 0 64 59.5 64 93.7l0 66.3L497.8 278.5c8.9 5.9 14.2 15.9 14.2 26.6l0 56.7c0 10.9-10.7 18.6-21.1 15.2L320 320l0 80 57.6 43.2c4 3 6.4 7.8 6.4 12.8l0 42c0 7.8-6.3 14-14 14c-1.3 0-2.6-.2-3.9-.5L256 480 145.9 511.5c-1.3 .4-2.6 .5-3.9 .5c-7.8 0-14-6.3-14-14l0-42c0-5 2.4-9.8 6.4-12.8L192 400l0-80L21.1 377C10.7 380.4 0 372.7 0 361.8l0-56.7c0-10.7 5.3-20.7 14.2-26.6L192 160l0-66.3z\"]\n};\nconst faPiggyBank = {\n prefix: 'fas',\n iconName: 'piggy-bank',\n icon: [576, 512, [], \"f4d3\", \"M400 96l0 .7c-5.3-.4-10.6-.7-16-.7L256 96c-16.5 0-32.5 2.1-47.8 6c-.1-2-.2-4-.2-6c0-53 43-96 96-96s96 43 96 96zm-16 32c3.5 0 7 .1 10.4 .3c4.2 .3 8.4 .7 12.6 1.3C424.6 109.1 450.8 96 480 96l11.5 0c10.4 0 18 9.8 15.5 19.9l-13.8 55.2c15.8 14.8 28.7 32.8 37.5 52.9l13.3 0c17.7 0 32 14.3 32 32l0 96c0 17.7-14.3 32-32 32l-32 0c-9.1 12.1-19.9 22.9-32 32l0 64c0 17.7-14.3 32-32 32l-32 0c-17.7 0-32-14.3-32-32l0-32-128 0 0 32c0 17.7-14.3 32-32 32l-32 0c-17.7 0-32-14.3-32-32l0-64c-34.9-26.2-58.7-66.3-63.2-112L68 304c-37.6 0-68-30.4-68-68s30.4-68 68-68l4 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-4 0c-11 0-20 9-20 20s9 20 20 20l31.2 0c12.1-59.8 57.7-107.5 116.3-122.8c12.9-3.4 26.5-5.2 40.5-5.2l128 0zm64 136a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nconst faBatteryHalf = {\n prefix: 'fas',\n iconName: 'battery-half',\n icon: [576, 512, [\"battery-3\"], \"f242\", \"M464 160c8.8 0 16 7.2 16 16l0 160c0 8.8-7.2 16-16 16L80 352c-8.8 0-16-7.2-16-16l0-160c0-8.8 7.2-16 16-16l384 0zM80 96C35.8 96 0 131.8 0 176L0 336c0 44.2 35.8 80 80 80l384 0c44.2 0 80-35.8 80-80l0-16c17.7 0 32-14.3 32-32l0-64c0-17.7-14.3-32-32-32l0-16c0-44.2-35.8-80-80-80L80 96zm208 96L96 192l0 128 192 0 0-128z\"]\n};\nconst faBattery3 = faBatteryHalf;\nconst faMountainCity = {\n prefix: 'fas',\n iconName: 'mountain-city',\n icon: [640, 512, [], \"e52e\", \"M336 0c-26.5 0-48 21.5-48 48l0 92.1 71.4 118.4c2.5-1.6 5.4-2.5 8.6-2.5l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-3.5 0 73.8 122.4c12.4 20.6 12.9 46.3 1.2 67.3c-.4 .8-.9 1.6-1.4 2.3L592 512c26.5 0 48-21.5 48-48l0-224c0-26.5-21.5-48-48-48l-24 0 0-72c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 72-40 0 0-144c0-26.5-21.5-48-48-48L336 0zm32 64l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32c0-8.8 7.2-16 16-16zM352 176c0-8.8 7.2-16 16-16l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32zm160 96c0-8.8 7.2-16 16-16l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32zm16 80l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32c0-8.8 7.2-16 16-16zM224 188.9L283.8 288 223 288l-48 64-24.6-41.2L224 188.9zm29.4-44.2C247.1 134.3 236 128 224 128s-23.1 6.3-29.4 16.7L5.1 458.9c-6.5 10.8-6.7 24.3-.7 35.3S22 512 34.5 512l379.1 0c12.5 0 24-6.8 30.1-17.8s5.8-24.5-.7-35.3L253.4 144.7z\"]\n};\nconst faCoins = {\n prefix: 'fas',\n iconName: 'coins',\n icon: [512, 512, [], \"f51e\", \"M512 80c0 18-14.3 34.6-38.4 48c-29.1 16.1-72.5 27.5-122.3 30.9c-3.7-1.8-7.4-3.5-11.3-5C300.6 137.4 248.2 128 192 128c-8.3 0-16.4 .2-24.5 .6l-1.1-.6C142.3 114.6 128 98 128 80c0-44.2 86-80 192-80S512 35.8 512 80zM160.7 161.1c10.2-.7 20.7-1.1 31.3-1.1c62.2 0 117.4 12.3 152.5 31.4C369.3 204.9 384 221.7 384 240c0 4-.7 7.9-2.1 11.7c-4.6 13.2-17 25.3-35 35.5c0 0 0 0 0 0c-.1 .1-.3 .1-.4 .2c0 0 0 0 0 0s0 0 0 0c-.3 .2-.6 .3-.9 .5c-35 19.4-90.8 32-153.6 32c-59.6 0-112.9-11.3-148.2-29.1c-1.9-.9-3.7-1.9-5.5-2.9C14.3 274.6 0 258 0 240c0-34.8 53.4-64.5 128-75.4c10.5-1.5 21.4-2.7 32.7-3.5zM416 240c0-21.9-10.6-39.9-24.1-53.4c28.3-4.4 54.2-11.4 76.2-20.5c16.3-6.8 31.5-15.2 43.9-25.5l0 35.4c0 19.3-16.5 37.1-43.8 50.9c-14.6 7.4-32.4 13.7-52.4 18.5c.1-1.8 .2-3.5 .2-5.3zm-32 96c0 18-14.3 34.6-38.4 48c-1.8 1-3.6 1.9-5.5 2.9C304.9 404.7 251.6 416 192 416c-62.8 0-118.6-12.6-153.6-32C14.3 370.6 0 354 0 336l0-35.4c12.5 10.3 27.6 18.7 43.9 25.5C83.4 342.6 135.8 352 192 352s108.6-9.4 148.1-25.9c7.8-3.2 15.3-6.9 22.4-10.9c6.1-3.4 11.8-7.2 17.2-11.2c1.5-1.1 2.9-2.3 4.3-3.4l0 3.4 0 5.7 0 26.3zm32 0l0-32 0-25.9c19-4.2 36.5-9.5 52.1-16c16.3-6.8 31.5-15.2 43.9-25.5l0 35.4c0 10.5-5 21-14.9 30.9c-16.3 16.3-45 29.7-81.3 38.4c.1-1.7 .2-3.5 .2-5.3zM192 448c56.2 0 108.6-9.4 148.1-25.9c16.3-6.8 31.5-15.2 43.9-25.5l0 35.4c0 44.2-86 80-192 80S0 476.2 0 432l0-35.4c12.5 10.3 27.6 18.7 43.9 25.5C83.4 438.6 135.8 448 192 448z\"]\n};\nconst faKhanda = {\n prefix: 'fas',\n iconName: 'khanda',\n icon: [512, 512, [9772], \"f66d\", \"M245.8 3.7c5.9-4.9 14.6-4.9 20.5 0l48 40c5.9 4.9 7.5 13.2 3.8 19.9c0 0 0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0l-.1 .1-.3 .6c-.3 .5-.7 1.3-1.2 2.3c-1 2-2.6 5-4.4 8.6c-.5 .9-.9 1.9-1.4 2.9C344.9 97.4 368 134 368 176s-23.1 78.6-57.3 97.8c.5 1 1 2 1.4 2.9c1.8 3.7 3.3 6.6 4.4 8.6c.5 1 .9 1.8 1.2 2.3l.3 .6 .1 .1s0 0 0 0s0 0 0 0c3.6 6.7 2 15-3.8 19.9L272 343.5l0 19.8 35.6-24.5 41.1-28.2c42.8-29.4 68.4-78 68.4-130c0-31.1-9.2-61.6-26.5-87.5l-2.8-4.2c-4-6-3.5-14 1.3-19.5s12.7-7 19.2-3.7L401.1 80c7.2-14.3 7.2-14.3 7.2-14.3s0 0 0 0s0 0 0 0l.1 0 .3 .2 1 .5c.8 .4 2 1.1 3.5 1.9c2.9 1.7 7 4.1 11.8 7.3c9.6 6.4 22.5 16.1 35.4 29c25.7 25.7 52.7 65.6 52.7 119.3c0 53.1-26.4 100.5-51.2 133.6c-12.6 16.7-25.1 30.3-34.5 39.7c-4.7 4.7-8.7 8.4-11.5 10.9c-1.4 1.3-2.5 2.2-3.3 2.9l-.9 .8-.3 .2-.1 .1c0 0 0 0 0 0s0 0 0 0L401.1 400l10.2 12.3c-5.1 4.3-12.4 4.9-18.2 1.6l-75.6-43-32.7 22.5 45.5 31.3c1.8-.4 3.7-.7 5.7-.7c13.3 0 24 10.7 24 24s-10.7 24-24 24c-12.2 0-22.3-9.1-23.8-21L272 423.4l0 28.9c9.6 5.5 16 15.9 16 27.7c0 17.7-14.3 32-32 32s-32-14.3-32-32c0-11.8 6.4-22.2 16-27.7l0-28.1-40.3 27.7C197.8 463.3 187.9 472 176 472c-13.3 0-24-10.7-24-24s10.7-24 24-24c2.2 0 4.4 .3 6.5 .9l45.8-31.5-32.7-22.5-75.6 43c-5.8 3.3-13 2.7-18.2-1.6L112 400c-10.2 12.3-10.2 12.3-10.3 12.3s0 0 0 0s0 0 0 0l-.1-.1-.3-.2-.9-.8c-.8-.7-1.9-1.7-3.3-2.9c-2.8-2.5-6.7-6.2-11.5-10.9c-9.4-9.4-21.9-23-34.5-39.7C26.4 324.5 0 277.1 0 224c0-53.7 26.9-93.6 52.7-119.3c12.9-12.9 25.8-22.6 35.4-29C93 72.5 97 70 99.9 68.4c1.5-.8 2.6-1.5 3.5-1.9l1-.5 .3-.2 .1 0c0 0 0 0 0 0s0 0 0 0L112 80l-7.2-14.3c6.5-3.2 14.3-1.7 19.2 3.7s5.3 13.4 1.3 19.5l-2.8 4.2C105.2 119 96 149.5 96 180.6c0 51.9 25.6 100.6 68.4 130l41.1 28.2L240 362.6l0-19.1-42.2-35.2c-5.9-4.9-7.5-13.2-3.8-19.9c0 0 0 0 0 0s0 0 0 0s0 0 0 0l.1-.1 .3-.6c.3-.5 .7-1.3 1.2-2.3c1-2 2.6-5 4.4-8.6c.5-.9 .9-1.9 1.4-2.9C167.1 254.6 144 218 144 176s23.1-78.6 57.3-97.8c-.5-1-1-2-1.4-2.9c-1.8-3.7-3.3-6.6-4.4-8.6c-.5-1-.9-1.8-1.2-2.3l-.3-.6-.1-.1s0 0 0 0s0 0 0 0s0 0 0 0c-3.6-6.7-2-15 3.8-19.9l48-40zM220.2 122.9c-17 11.5-28.2 31-28.2 53.1s11.2 41.6 28.2 53.1C227 210.2 232 190.9 232 176s-5-34.2-11.8-53.1zm71.5 106.2c17-11.5 28.2-31 28.2-53.1s-11.2-41.6-28.2-53.1C285 141.8 280 161.1 280 176s5 34.2 11.8 53.1z\"]\n};\nconst faSliders = {\n prefix: 'fas',\n iconName: 'sliders',\n icon: [512, 512, [\"sliders-h\"], \"f1de\", \"M0 416c0 17.7 14.3 32 32 32l54.7 0c12.3 28.3 40.5 48 73.3 48s61-19.7 73.3-48L480 448c17.7 0 32-14.3 32-32s-14.3-32-32-32l-246.7 0c-12.3-28.3-40.5-48-73.3-48s-61 19.7-73.3 48L32 384c-17.7 0-32 14.3-32 32zm128 0a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM320 256a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm32-80c-32.8 0-61 19.7-73.3 48L32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l246.7 0c12.3 28.3 40.5 48 73.3 48s61-19.7 73.3-48l54.7 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-54.7 0c-12.3-28.3-40.5-48-73.3-48zM192 128a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm73.3-64C253 35.7 224.8 16 192 16s-61 19.7-73.3 48L32 64C14.3 64 0 78.3 0 96s14.3 32 32 32l86.7 0c12.3 28.3 40.5 48 73.3 48s61-19.7 73.3-48L480 128c17.7 0 32-14.3 32-32s-14.3-32-32-32L265.3 64z\"]\n};\nconst faSlidersH = faSliders;\nconst faFolderTree = {\n prefix: 'fas',\n iconName: 'folder-tree',\n icon: [576, 512, [], \"f802\", \"M64 32C64 14.3 49.7 0 32 0S0 14.3 0 32l0 96L0 384c0 35.3 28.7 64 64 64l192 0 0-64L64 384l0-224 192 0 0-64L64 96l0-64zM288 192c0 17.7 14.3 32 32 32l224 0c17.7 0 32-14.3 32-32l0-128c0-17.7-14.3-32-32-32l-98.7 0c-8.5 0-16.6-3.4-22.6-9.4L409.4 9.4c-6-6-14.1-9.4-22.6-9.4L320 0c-17.7 0-32 14.3-32 32l0 160zm0 288c0 17.7 14.3 32 32 32l224 0c17.7 0 32-14.3 32-32l0-128c0-17.7-14.3-32-32-32l-98.7 0c-8.5 0-16.6-3.4-22.6-9.4l-13.3-13.3c-6-6-14.1-9.4-22.6-9.4L320 288c-17.7 0-32 14.3-32 32l0 160z\"]\n};\nconst faNetworkWired = {\n prefix: 'fas',\n iconName: 'network-wired',\n icon: [640, 512, [], \"f6ff\", \"M256 64l128 0 0 64-128 0 0-64zM240 0c-26.5 0-48 21.5-48 48l0 96c0 26.5 21.5 48 48 48l48 0 0 32L32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l96 0 0 32-48 0c-26.5 0-48 21.5-48 48l0 96c0 26.5 21.5 48 48 48l160 0c26.5 0 48-21.5 48-48l0-96c0-26.5-21.5-48-48-48l-48 0 0-32 256 0 0 32-48 0c-26.5 0-48 21.5-48 48l0 96c0 26.5 21.5 48 48 48l160 0c26.5 0 48-21.5 48-48l0-96c0-26.5-21.5-48-48-48l-48 0 0-32 96 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-256 0 0-32 48 0c26.5 0 48-21.5 48-48l0-96c0-26.5-21.5-48-48-48L240 0zM96 448l0-64 128 0 0 64L96 448zm320-64l128 0 0 64-128 0 0-64z\"]\n};\nconst faMapPin = {\n prefix: 'fas',\n iconName: 'map-pin',\n icon: [320, 512, [128205], \"f276\", \"M16 144a144 144 0 1 1 288 0A144 144 0 1 1 16 144zM160 80c8.8 0 16-7.2 16-16s-7.2-16-16-16c-53 0-96 43-96 96c0 8.8 7.2 16 16 16s16-7.2 16-16c0-35.3 28.7-64 64-64zM128 480l0-162.9c10.4 1.9 21.1 2.9 32 2.9s21.6-1 32-2.9L192 480c0 17.7-14.3 32-32 32s-32-14.3-32-32z\"]\n};\nconst faHamsa = {\n prefix: 'fas',\n iconName: 'hamsa',\n icon: [512, 512, [], \"f665\", \"M34.6 288L80 288c8.8 0 16-7.2 16-16L96 72c0-22.1 17.9-40 40-40s40 17.9 40 40l0 132c0 11 9 20 20 20s20-9 20-20l0-164c0-22.1 17.9-40 40-40s40 17.9 40 40l0 164c0 11 9 20 20 20s20-9 20-20l0-132c0-22.1 17.9-40 40-40s40 17.9 40 40l0 200c0 8.8 7.2 16 16 16l45.4 0c19.1 0 34.6 15.5 34.6 34.6c0 8.6-3.2 16.9-9 23.3L416.6 441c-41.1 45.2-99.4 71-160.6 71s-119.4-25.8-160.6-71L9 345.9c-5.8-6.4-9-14.7-9-23.3C0 303.5 15.5 288 34.6 288zM256 288c-38.4 0-76.8 35.8-90.6 50.2c-3.6 3.7-5.4 8.7-5.4 13.8s1.8 10.1 5.4 13.8C179.2 380.2 217.6 416 256 416s76.8-35.8 90.6-50.2c3.6-3.7 5.4-8.7 5.4-13.8s-1.8-10.1-5.4-13.8C332.8 323.8 294.4 288 256 288zm0 32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nconst faCentSign = {\n prefix: 'fas',\n iconName: 'cent-sign',\n icon: [384, 512, [], \"e3f5\", \"M224 0c17.7 0 32 14.3 32 32l0 34.7c30.9 5.2 59.2 17.7 83.2 35.8c14.1 10.6 17 30.7 6.4 44.8s-30.7 17-44.8 6.4C279.4 137.5 252.9 128 224 128c-70.7 0-128 57.3-128 128s57.3 128 128 128c28.9 0 55.4-9.5 76.8-25.6c14.1-10.6 34.2-7.8 44.8 6.4s7.8 34.2-6.4 44.8c-24 18-52.4 30.6-83.2 35.8l0 34.7c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-34.7C101.2 430.1 32 351.1 32 256s69.2-174.1 160-189.3L192 32c0-17.7 14.3-32 32-32z\"]\n};\nconst faFlask = {\n prefix: 'fas',\n iconName: 'flask',\n icon: [448, 512, [], \"f0c3\", \"M288 0L160 0 128 0C110.3 0 96 14.3 96 32s14.3 32 32 32l0 132.8c0 11.8-3.3 23.5-9.5 33.5L10.3 406.2C3.6 417.2 0 429.7 0 442.6C0 480.9 31.1 512 69.4 512l309.2 0c38.3 0 69.4-31.1 69.4-69.4c0-12.8-3.6-25.4-10.3-36.4L329.5 230.4c-6.2-10.1-9.5-21.7-9.5-33.5L320 64c17.7 0 32-14.3 32-32s-14.3-32-32-32L288 0zM192 196.8L192 64l64 0 0 132.8c0 23.7 6.6 46.9 19 67.1L309.5 320l-171 0L173 263.9c12.4-20.2 19-43.4 19-67.1z\"]\n};\nconst faPersonPregnant = {\n prefix: 'fas',\n iconName: 'person-pregnant',\n icon: [384, 512, [], \"e31e\", \"M192 0a48 48 0 1 1 0 96 48 48 0 1 1 0-96zM120 383c-13.8-3.6-24-16.1-24-31l0-55.1-4.6 7.6c-9.1 15.1-28.8 20-43.9 10.9s-20-28.8-10.9-43.9l58.3-97c15-24.9 40.3-41.5 68.7-45.6c4.1-.6 8.2-1 12.5-1l1.1 0 12.5 0 2.4 0c1.4 0 2.8 .1 4.1 .3c35.7 2.9 65.4 29.3 72.1 65l6.1 32.5c44.3 8.6 77.7 47.5 77.7 94.3l0 32c0 17.7-14.3 32-32 32l-16 0-40 0 0 96c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-96-8 0-8 0 0 96c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-97z\"]\n};\nconst faWandSparkles = {\n prefix: 'fas',\n iconName: 'wand-sparkles',\n icon: [512, 512, [], \"f72b\", \"M464 6.1c9.5-8.5 24-8.1 33 .9l8 8c9 9 9.4 23.5 .9 33l-85.8 95.9c-2.6 2.9-4.1 6.7-4.1 10.7l0 21.4c0 8.8-7.2 16-16 16l-15.8 0c-4.6 0-8.9 1.9-11.9 5.3L100.7 500.9C94.3 508 85.3 512 75.8 512c-8.8 0-17.3-3.5-23.5-9.8L9.7 459.7C3.5 453.4 0 445 0 436.2c0-9.5 4-18.5 11.1-24.8l111.6-99.8c3.4-3 5.3-7.4 5.3-11.9l0-27.6c0-8.8 7.2-16 16-16l34.6 0c3.9 0 7.7-1.5 10.7-4.1L464 6.1zM432 288c3.6 0 6.7 2.4 7.7 5.8l14.8 51.7 51.7 14.8c3.4 1 5.8 4.1 5.8 7.7s-2.4 6.7-5.8 7.7l-51.7 14.8-14.8 51.7c-1 3.4-4.1 5.8-7.7 5.8s-6.7-2.4-7.7-5.8l-14.8-51.7-51.7-14.8c-3.4-1-5.8-4.1-5.8-7.7s2.4-6.7 5.8-7.7l51.7-14.8 14.8-51.7c1-3.4 4.1-5.8 7.7-5.8zM87.7 69.8l14.8 51.7 51.7 14.8c3.4 1 5.8 4.1 5.8 7.7s-2.4 6.7-5.8 7.7l-51.7 14.8L87.7 218.2c-1 3.4-4.1 5.8-7.7 5.8s-6.7-2.4-7.7-5.8L57.5 166.5 5.8 151.7c-3.4-1-5.8-4.1-5.8-7.7s2.4-6.7 5.8-7.7l51.7-14.8L72.3 69.8c1-3.4 4.1-5.8 7.7-5.8s6.7 2.4 7.7 5.8zM208 0c3.7 0 6.9 2.5 7.8 6.1l6.8 27.3 27.3 6.8c3.6 .9 6.1 4.1 6.1 7.8s-2.5 6.9-6.1 7.8l-27.3 6.8-6.8 27.3c-.9 3.6-4.1 6.1-7.8 6.1s-6.9-2.5-7.8-6.1l-6.8-27.3-27.3-6.8c-3.6-.9-6.1-4.1-6.1-7.8s2.5-6.9 6.1-7.8l27.3-6.8 6.8-27.3c.9-3.6 4.1-6.1 7.8-6.1z\"]\n};\nconst faEllipsisVertical = {\n prefix: 'fas',\n iconName: 'ellipsis-vertical',\n icon: [128, 512, [\"ellipsis-v\"], \"f142\", \"M64 360a56 56 0 1 0 0 112 56 56 0 1 0 0-112zm0-160a56 56 0 1 0 0 112 56 56 0 1 0 0-112zM120 96A56 56 0 1 0 8 96a56 56 0 1 0 112 0z\"]\n};\nconst faEllipsisV = faEllipsisVertical;\nconst faTicket = {\n prefix: 'fas',\n iconName: 'ticket',\n icon: [576, 512, [127903], \"f145\", \"M64 64C28.7 64 0 92.7 0 128l0 64c0 8.8 7.4 15.7 15.7 18.6C34.5 217.1 48 235 48 256s-13.5 38.9-32.3 45.4C7.4 304.3 0 311.2 0 320l0 64c0 35.3 28.7 64 64 64l448 0c35.3 0 64-28.7 64-64l0-64c0-8.8-7.4-15.7-15.7-18.6C541.5 294.9 528 277 528 256s13.5-38.9 32.3-45.4c8.3-2.9 15.7-9.8 15.7-18.6l0-64c0-35.3-28.7-64-64-64L64 64zm64 112l0 160c0 8.8 7.2 16 16 16l288 0c8.8 0 16-7.2 16-16l0-160c0-8.8-7.2-16-16-16l-288 0c-8.8 0-16 7.2-16 16zM96 160c0-17.7 14.3-32 32-32l320 0c17.7 0 32 14.3 32 32l0 192c0 17.7-14.3 32-32 32l-320 0c-17.7 0-32-14.3-32-32l0-192z\"]\n};\nconst faPowerOff = {\n prefix: 'fas',\n iconName: 'power-off',\n icon: [512, 512, [9211], \"f011\", \"M288 32c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 224c0 17.7 14.3 32 32 32s32-14.3 32-32l0-224zM143.5 120.6c13.6-11.3 15.4-31.5 4.1-45.1s-31.5-15.4-45.1-4.1C49.7 115.4 16 181.8 16 256c0 132.5 107.5 240 240 240s240-107.5 240-240c0-74.2-33.8-140.6-86.6-184.6c-13.6-11.3-33.8-9.4-45.1 4.1s-9.4 33.8 4.1 45.1c38.9 32.3 63.5 81 63.5 135.4c0 97.2-78.8 176-176 176s-176-78.8-176-176c0-54.4 24.7-103.1 63.5-135.4z\"]\n};\nconst faRightLong = {\n prefix: 'fas',\n iconName: 'right-long',\n icon: [512, 512, [\"long-arrow-alt-right\"], \"f30b\", \"M334.5 414c8.8 3.8 19 2 26-4.6l144-136c4.8-4.5 7.5-10.8 7.5-17.4s-2.7-12.9-7.5-17.4l-144-136c-7-6.6-17.2-8.4-26-4.6s-14.5 12.5-14.5 22l0 72L32 192c-17.7 0-32 14.3-32 32l0 64c0 17.7 14.3 32 32 32l288 0 0 72c0 9.6 5.7 18.2 14.5 22z\"]\n};\nconst faLongArrowAltRight = faRightLong;\nconst faFlagUsa = {\n prefix: 'fas',\n iconName: 'flag-usa',\n icon: [448, 512, [], \"f74d\", \"M32 0C49.7 0 64 14.3 64 32l0 16 69-17.2c38.1-9.5 78.3-5.1 113.5 12.5c46.3 23.2 100.8 23.2 147.1 0l9.6-4.8C423.8 28.1 448 43.1 448 66.1l0 36.1-44.7 16.2c-42.8 15.6-90 13.9-131.6-4.6l-16.1-7.2c-20.3-9-41.8-14.7-63.6-16.9l0 32.2c17.4 2.1 34.4 6.7 50.6 13.9l16.1 7.2c49.2 21.9 105 23.8 155.6 5.4L448 136.3l0 62-44.7 16.2c-42.8 15.6-90 13.9-131.6-4.6l-16.1-7.2c-40.2-17.9-85-22.5-128.1-13.3L64 203.1l0 32.7 70.2-15.1c36.4-7.8 74.3-3.9 108.4 11.3l16.1 7.2c49.2 21.9 105 23.8 155.6 5.4L448 232.3l0 62-44.7 16.2c-42.8 15.6-90 13.9-131.6-4.6l-16.1-7.2c-40.2-17.9-85-22.5-128.1-13.3L64 299.1l0 32.7 70.2-15.1c36.4-7.8 74.3-3.9 108.4 11.3l16.1 7.2c49.2 21.9 105 23.8 155.6 5.4L448 328.3l0 33.5c0 13.3-8.3 25.3-20.8 30l-34.7 13c-46.2 17.3-97.6 14.6-141.7-7.4c-37.9-19-81.3-23.7-122.5-13.4L64 400l0 80c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-64 0-70.5 0-32.7 0-63.3 0-32.7 0-63.3 0-32.7L0 64 0 32C0 14.3 14.3 0 32 0zm80 96A16 16 0 1 0 80 96a16 16 0 1 0 32 0zm32 0a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm-32 48a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm32 0a16 16 0 1 0 0-32 16 16 0 1 0 0 32z\"]\n};\nconst faLaptopFile = {\n prefix: 'fas',\n iconName: 'laptop-file',\n icon: [640, 512, [], \"e51d\", \"M128 0C92.7 0 64 28.7 64 64l0 224-44.8 0C8.6 288 0 296.6 0 307.2C0 349.6 34.4 384 76.8 384L320 384l0-96-192 0 0-224 320 0 0 32 64 0 0-32c0-35.3-28.7-64-64-64L128 0zM512 128l-112 0c-26.5 0-48 21.5-48 48l0 288c0 26.5 21.5 48 48 48l192 0c26.5 0 48-21.5 48-48l0-208-96 0c-17.7 0-32-14.3-32-32l0-96zm32 0l0 96 96 0-96-96z\"]\n};\nconst faTty = {\n prefix: 'fas',\n iconName: 'tty',\n icon: [512, 512, [\"teletype\"], \"f1e4\", \"M38.3 241.3L15.1 200.6c-9.2-16.2-8.4-36.5 4.5-50C61.4 106.8 144.7 48 256 48s194.6 58.8 236.4 102.6c12.9 13.5 13.7 33.8 4.5 50l-23.1 40.7c-7.5 13.2-23.3 19.3-37.8 14.6l-81.1-26.6c-13.1-4.3-22-16.6-22-30.4l0-54.8c-49.6-18.1-104-18.1-153.6 0l0 54.8c0 13.8-8.9 26.1-22 30.4L76.1 255.8c-14.5 4.7-30.3-1.4-37.8-14.6zM32 336c0-8.8 7.2-16 16-16l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32zm0 96c0-8.8 7.2-16 16-16l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32zM144 320l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32zm112-16l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32zm16 80l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32c0-8.8 7.2-16 16-16zM128 432c0-8.8 7.2-16 16-16l224 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-224 0c-8.8 0-16-7.2-16-16l0-32z\"]\n};\nconst faTeletype = faTty;\nconst faDiagramNext = {\n prefix: 'fas',\n iconName: 'diagram-next',\n icon: [512, 512, [], \"e476\", \"M512 160c0 35.3-28.7 64-64 64l-168 0 0 64 46.1 0c21.4 0 32.1 25.9 17 41L273 399c-9.4 9.4-24.6 9.4-33.9 0L169 329c-15.1-15.1-4.4-41 17-41l46.1 0 0-64L64 224c-35.3 0-64-28.7-64-64L0 96C0 60.7 28.7 32 64 32l384 0c35.3 0 64 28.7 64 64l0 64zM448 416l0-64-82.7 0 .4-.4c18.4-18.4 20.4-43.7 11-63.6l71.3 0c35.3 0 64 28.7 64 64l0 64c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64l0-64c0-35.3 28.7-64 64-64l71.3 0c-9.4 19.9-7.4 45.2 11 63.6l.4 .4L64 352l0 64 146.7 0 5.7 5.7c21.9 21.9 57.3 21.9 79.2 0l5.7-5.7L448 416z\"]\n};\nconst faPersonRifle = {\n prefix: 'fas',\n iconName: 'person-rifle',\n icon: [576, 512, [], \"e54e\", \"M265.2 192c25.4 0 49.8 7.1 70.8 19.9L336 512l-192 0 0-174.3L90.4 428.3c-11.2 19-35.8 25.3-54.8 14.1s-25.3-35.8-14.1-54.8L97.7 258.8c24.5-41.4 69-66.8 117.1-66.8l50.4 0zM160 80a80 80 0 1 1 160 0A80 80 0 1 1 160 80zM448 0c8.8 0 16 7.2 16 16l0 116.3c9.6 5.5 16 15.9 16 27.7l0 109.3 16-5.3 0-56c0-8.8 7.2-16 16-16l16 0c8.8 0 16 7.2 16 16l0 84.5c0 6.9-4.4 13-10.9 15.2L480 325.3l0 26.7 48 0c8.8 0 16 7.2 16 16l0 16c0 8.8-7.2 16-16 16l-44 0 23 92.1c2.5 10.1-5.1 19.9-15.5 19.9L432 512c-8.8 0-16-7.2-16-16l0-96-16 0c-17.7 0-32-14.3-32-32l0-144c0-17.7 14.3-32 32-32l0-32c0-11.8 6.4-22.2 16-27.7L416 32c-8.8 0-16-7.2-16-16s7.2-16 16-16l16 0 16 0z\"]\n};\nconst faHouseMedicalCircleExclamation = {\n prefix: 'fas',\n iconName: 'house-medical-circle-exclamation',\n icon: [640, 512, [], \"e512\", \"M320 368c0 59.5 29.5 112.1 74.8 144l-266.7 0c-35.3 0-64-28.7-64-64l0-160.4-32 0c-18 0-32-14-32-32.1c0-9 3-17 10-24L266.4 8c7-7 15-8 22-8s15 2 21 7L522.1 193.9c-8.5-1.3-17.3-1.9-26.1-1.9c-54.7 0-103.5 24.9-135.8 64L320 256l0-48c0-8.8-7.2-16-16-16l-32 0c-8.8 0-16 7.2-16 16l0 48-48 0c-8.8 0-16 7.2-16 16l0 32c0 8.8 7.2 16 16 16l48 0 0 48c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16zM496 224a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm0 240a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm0-192c-8.8 0-16 7.2-16 16l0 80c0 8.8 7.2 16 16 16s16-7.2 16-16l0-80c0-8.8-7.2-16-16-16z\"]\n};\nconst faClosedCaptioning = {\n prefix: 'fas',\n iconName: 'closed-captioning',\n icon: [576, 512, [], \"f20a\", \"M0 96C0 60.7 28.7 32 64 32l448 0c35.3 0 64 28.7 64 64l0 320c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64L0 96zM200 208c14.2 0 27 6.1 35.8 16c8.8 9.9 24 10.7 33.9 1.9s10.7-24 1.9-33.9c-17.5-19.6-43.1-32-71.5-32c-53 0-96 43-96 96s43 96 96 96c28.4 0 54-12.4 71.5-32c8.8-9.9 8-25-1.9-33.9s-25-8-33.9 1.9c-8.8 9.9-21.6 16-35.8 16c-26.5 0-48-21.5-48-48s21.5-48 48-48zm144 48c0-26.5 21.5-48 48-48c14.2 0 27 6.1 35.8 16c8.8 9.9 24 10.7 33.9 1.9s10.7-24 1.9-33.9c-17.5-19.6-43.1-32-71.5-32c-53 0-96 43-96 96s43 96 96 96c28.4 0 54-12.4 71.5-32c8.8-9.9 8-25-1.9-33.9s-25-8-33.9 1.9c-8.8 9.9-21.6 16-35.8 16c-26.5 0-48-21.5-48-48z\"]\n};\nconst faPersonHiking = {\n prefix: 'fas',\n iconName: 'person-hiking',\n icon: [384, 512, [\"hiking\"], \"f6ec\", \"M192 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm51.3 182.7L224.2 307l49.7 49.7c9 9 14.1 21.2 14.1 33.9l0 89.4c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-82.7-73.9-73.9c-15.8-15.8-22.2-38.6-16.9-60.3l20.4-84c8.3-34.1 42.7-54.9 76.7-46.4c19 4.8 35.6 16.4 46.4 32.7L305.1 208l30.9 0 0-24c0-13.3 10.7-24 24-24s24 10.7 24 24l0 55.8c0 .1 0 .2 0 .2s0 .2 0 .2L384 488c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-216-39.4 0c-16 0-31-8-39.9-21.4l-13.3-20zM81.1 471.9L117.3 334c3 4.2 6.4 8.2 10.1 11.9l41.9 41.9L142.9 488.1c-4.5 17.1-22 27.3-39.1 22.8s-27.3-22-22.8-39.1zm55.5-346L101.4 266.5c-3 12.1-14.9 19.9-27.2 17.9l-47.9-8c-14-2.3-22.9-16.3-19.2-30L31.9 155c9.5-34.8 41.1-59 77.2-59l4.2 0c15.6 0 27.1 14.7 23.3 29.8z\"]\n};\nconst faHiking = faPersonHiking;\nconst faVenusDouble = {\n prefix: 'fas',\n iconName: 'venus-double',\n icon: [640, 512, [9890], \"f226\", \"M192 288a112 112 0 1 0 0-224 112 112 0 1 0 0 224zM368 176c0 86.3-62.1 158.1-144 173.1l0 34.9 32 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-32 0 0 32c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-32-32 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l32 0 0-34.9C78.1 334.1 16 262.3 16 176C16 78.8 94.8 0 192 0s176 78.8 176 176zM344 318c14.6-15.6 26.8-33.4 36-53c18.8 14.4 42.4 23 68 23c61.9 0 112-50.1 112-112s-50.1-112-112-112c-25.6 0-49.1 8.6-68 23c-9.3-19.5-21.5-37.4-36-53C373.1 12.6 409.1 0 448 0c97.2 0 176 78.8 176 176c0 86.3-62.1 158.1-144 173.1l0 34.9 32 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-32 0 0 32c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-32-32 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l32 0 0-34.9c-26.6-4.9-51.1-15.7-72-31.1z\"]\n};\nconst faImages = {\n prefix: 'fas',\n iconName: 'images',\n icon: [576, 512, [], \"f302\", \"M160 32c-35.3 0-64 28.7-64 64l0 224c0 35.3 28.7 64 64 64l352 0c35.3 0 64-28.7 64-64l0-224c0-35.3-28.7-64-64-64L160 32zM396 138.7l96 144c4.9 7.4 5.4 16.8 1.2 24.6S480.9 320 472 320l-144 0-48 0-80 0c-9.2 0-17.6-5.3-21.6-13.6s-2.9-18.2 2.9-25.4l64-80c4.6-5.7 11.4-9 18.7-9s14.2 3.3 18.7 9l17.3 21.6 56-84C360.5 132 368 128 376 128s15.5 4 20 10.7zM192 128a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM48 120c0-13.3-10.7-24-24-24S0 106.7 0 120L0 344c0 75.1 60.9 136 136 136l320 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-320 0c-48.6 0-88-39.4-88-88l0-224z\"]\n};\nconst faCalculator = {\n prefix: 'fas',\n iconName: 'calculator',\n icon: [384, 512, [128425], \"f1ec\", \"M64 0C28.7 0 0 28.7 0 64L0 448c0 35.3 28.7 64 64 64l256 0c35.3 0 64-28.7 64-64l0-384c0-35.3-28.7-64-64-64L64 0zM96 64l192 0c17.7 0 32 14.3 32 32l0 32c0 17.7-14.3 32-32 32L96 160c-17.7 0-32-14.3-32-32l0-32c0-17.7 14.3-32 32-32zm32 160a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM96 352a32 32 0 1 1 0-64 32 32 0 1 1 0 64zM64 416c0-17.7 14.3-32 32-32l96 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-96 0c-17.7 0-32-14.3-32-32zM192 256a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm32 64a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zm64-64a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm32 64a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM288 448a32 32 0 1 1 0-64 32 32 0 1 1 0 64z\"]\n};\nconst faPeoplePulling = {\n prefix: 'fas',\n iconName: 'people-pulling',\n icon: [576, 512, [], \"e535\", \"M80 96A48 48 0 1 0 80 0a48 48 0 1 0 0 96zM64 128c-35.3 0-64 28.7-64 64L0 320c0 17.7 14.3 32 32 32c9.8 0 18.5-4.4 24.4-11.2L80.4 485.3c2.9 17.4 19.4 29.2 36.8 26.3s29.2-19.4 26.3-36.8L123.1 352l15.7 0 30 134.9c3.8 17.3 20.9 28.1 38.2 24.3s28.1-20.9 24.3-38.2l-57.3-258 116.3 53.8c.5 .3 1.1 .5 1.6 .7c8.6 3.6 18 3.1 25.9-.7c3.4-1.6 6.6-3.9 9.3-6.7c3.1-3.2 5.5-7 7.1-11.4c.1-.3 .2-.7 .3-1l2.5-7.5c5.7-17.1 18.3-30.9 34.7-38.2l8-3.5c1-.4 1.9-.8 2.9-1.2l-16.9 63.5c-5.6 21.1-.1 43.6 14.7 59.7l70.7 77.1 22 88.1c4.3 17.1 21.7 27.6 38.8 23.3s27.6-21.7 23.3-38.8l-23-92.1c-1.9-7.8-5.8-14.9-11.2-20.8l-49.5-54 19.3-65.5 9.6 23c4.4 10.6 12.5 19.3 22.8 24.5l26.7 13.3c15.8 7.9 35 1.5 42.9-14.3s1.5-35-14.3-42.9L537 232.7l-15.3-36.8C504.5 154.8 464.3 128 419.7 128c-22.8 0-45.3 4.8-66.1 14l-8 3.5c-24.4 10.9-44.6 29-58.1 51.6L157.3 136.9C144.7 131 130.9 128 117 128l-53 0zM464 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM349.7 335.6l-25 62.4-59.4 59.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L372.3 441c4.6-4.6 8.2-10.1 10.6-16.1l14.5-36.2-40.7-44.4c-2.5-2.7-4.8-5.6-7-8.6z\"]\n};\nconst faN = {\n prefix: 'fas',\n iconName: 'n',\n icon: [384, 512, [110], \"4e\", \"M21.1 33.9c12.7-4.6 26.9-.7 35.5 9.6L320 359.6 320 64c0-17.7 14.3-32 32-32s32 14.3 32 32l0 384c0 13.5-8.4 25.5-21.1 30.1s-26.9 .7-35.5-9.6L64 152.4 64 448c0 17.7-14.3 32-32 32s-32-14.3-32-32L0 64C0 50.5 8.4 38.5 21.1 33.9z\"]\n};\nconst faCableCar = {\n prefix: 'fas',\n iconName: 'cable-car',\n icon: [512, 512, [128673, 57551, \"tram\"], \"f7da\", \"M288 0a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM160 56a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM32 288c0-35.3 28.7-64 64-64l136 0 0-66.5-203.1 42c-13 2.7-25.7-5.7-28.4-18.6s5.7-25.7 18.6-28.4l232-48 232-48c13-2.7 25.7 5.7 28.4 18.6s-5.7 25.7-18.6 28.4L280 147.5l0 76.5 136 0c35.3 0 64 28.7 64 64l0 160c0 35.3-28.7 64-64 64L96 512c-35.3 0-64-28.7-64-64l0-160zm64 0c-8.8 0-16 7.2-16 16l0 64c0 8.8 7.2 16 16 16l64 0c8.8 0 16-7.2 16-16l0-64c0-8.8-7.2-16-16-16l-64 0zm112 16l0 64c0 8.8 7.2 16 16 16l64 0c8.8 0 16-7.2 16-16l0-64c0-8.8-7.2-16-16-16l-64 0c-8.8 0-16 7.2-16 16zm144-16c-8.8 0-16 7.2-16 16l0 64c0 8.8 7.2 16 16 16l64 0c8.8 0 16-7.2 16-16l0-64c0-8.8-7.2-16-16-16l-64 0z\"]\n};\nconst faTram = faCableCar;\nconst faCloudRain = {\n prefix: 'fas',\n iconName: 'cloud-rain',\n icon: [512, 512, [127783, 9926], \"f73d\", \"M96 320c-53 0-96-43-96-96c0-42.5 27.6-78.6 65.9-91.2C64.7 126.1 64 119.1 64 112C64 50.1 114.1 0 176 0c43.1 0 80.5 24.3 99.2 60c14.7-17.1 36.5-28 60.8-28c44.2 0 80 35.8 80 80c0 5.5-.6 10.8-1.6 16c.5 0 1.1 0 1.6 0c53 0 96 43 96 96s-43 96-96 96L96 320zm-6.8 52c1.3-2.5 3.9-4 6.8-4s5.4 1.5 6.8 4l35.1 64.6c4.1 7.5 6.2 15.8 6.2 24.3l0 3c0 26.5-21.5 48-48 48s-48-21.5-48-48l0-3c0-8.5 2.1-16.9 6.2-24.3L89.2 372zm160 0c1.3-2.5 3.9-4 6.8-4s5.4 1.5 6.8 4l35.1 64.6c4.1 7.5 6.2 15.8 6.2 24.3l0 3c0 26.5-21.5 48-48 48s-48-21.5-48-48l0-3c0-8.5 2.1-16.9 6.2-24.3L249.2 372zm124.9 64.6L409.2 372c1.3-2.5 3.9-4 6.8-4s5.4 1.5 6.8 4l35.1 64.6c4.1 7.5 6.2 15.8 6.2 24.3l0 3c0 26.5-21.5 48-48 48s-48-21.5-48-48l0-3c0-8.5 2.1-16.9 6.2-24.3z\"]\n};\nconst faBuildingCircleXmark = {\n prefix: 'fas',\n iconName: 'building-circle-xmark',\n icon: [640, 512, [], \"e4d4\", \"M48 0C21.5 0 0 21.5 0 48L0 464c0 26.5 21.5 48 48 48l96 0 0-80c0-26.5 21.5-48 48-48s48 21.5 48 48l0 80 96 0c15.1 0 28.5-6.9 37.3-17.8C340.4 462.2 320 417.5 320 368c0-54.7 24.9-103.5 64-135.8L384 48c0-26.5-21.5-48-48-48L48 0zM64 240c0-8.8 7.2-16 16-16l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32zm112-16l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32zM80 96l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32zM272 96l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32c0-8.8 7.2-16 16-16zM496 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm59.3-180.7L518.6 368l36.7 36.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L496 390.6l-36.7 36.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L473.4 368l-36.7-36.7c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L496 345.4l36.7-36.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z\"]\n};\nconst faShip = {\n prefix: 'fas',\n iconName: 'ship',\n icon: [576, 512, [128674], \"f21a\", \"M192 32c0-17.7 14.3-32 32-32L352 0c17.7 0 32 14.3 32 32l0 32 48 0c26.5 0 48 21.5 48 48l0 128 44.4 14.8c23.1 7.7 29.5 37.5 11.5 53.9l-101 92.6c-16.2 9.4-34.7 15.1-50.9 15.1c-19.6 0-40.8-7.7-59.2-20.3c-22.1-15.5-51.6-15.5-73.7 0c-17.1 11.8-38 20.3-59.2 20.3c-16.2 0-34.7-5.7-50.9-15.1l-101-92.6c-18-16.5-11.6-46.2 11.5-53.9L96 240l0-128c0-26.5 21.5-48 48-48l48 0 0-32zM160 218.7l107.8-35.9c13.1-4.4 27.3-4.4 40.5 0L416 218.7l0-90.7-256 0 0 90.7zM306.5 421.9C329 437.4 356.5 448 384 448c26.9 0 55.4-10.8 77.4-26.1c0 0 0 0 0 0c11.9-8.5 28.1-7.8 39.2 1.7c14.4 11.9 32.5 21 50.6 25.2c17.2 4 27.9 21.2 23.9 38.4s-21.2 27.9-38.4 23.9c-24.5-5.7-44.9-16.5-58.2-25C449.5 501.7 417 512 384 512c-31.9 0-60.6-9.9-80.4-18.9c-5.8-2.7-11.1-5.3-15.6-7.7c-4.5 2.4-9.7 5.1-15.6 7.7c-19.8 9-48.5 18.9-80.4 18.9c-33 0-65.5-10.3-94.5-25.8c-13.4 8.4-33.7 19.3-58.2 25c-17.2 4-34.4-6.7-38.4-23.9s6.7-34.4 23.9-38.4c18.1-4.2 36.2-13.3 50.6-25.2c11.1-9.4 27.3-10.1 39.2-1.7c0 0 0 0 0 0C136.7 437.2 165.1 448 192 448c27.5 0 55-10.6 77.5-26.1c11.1-7.9 25.9-7.9 37 0z\"]\n};\nconst faArrowsDownToLine = {\n prefix: 'fas',\n iconName: 'arrows-down-to-line',\n icon: [576, 512, [], \"e4b8\", \"M544 416L32 416c-17.7 0-32 14.3-32 32s14.3 32 32 32l512 0c17.7 0 32-14.3 32-32s-14.3-32-32-32zm22.6-137.4c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L480 274.7 480 64c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 210.7-41.4-41.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l96 96c12.5 12.5 32.8 12.5 45.3 0l96-96zm-320-45.3c-12.5-12.5-32.8-12.5-45.3 0L160 274.7 160 64c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 210.7L54.6 233.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l96 96c12.5 12.5 32.8 12.5 45.3 0l96-96c12.5-12.5 12.5-32.8 0-45.3z\"]\n};\nconst faDownload = {\n prefix: 'fas',\n iconName: 'download',\n icon: [512, 512, [], \"f019\", \"M288 32c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 242.7-73.4-73.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l128 128c12.5 12.5 32.8 12.5 45.3 0l128-128c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L288 274.7 288 32zM64 352c-35.3 0-64 28.7-64 64l0 32c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64l0-32c0-35.3-28.7-64-64-64l-101.5 0-45.3 45.3c-25 25-65.5 25-90.5 0L165.5 352 64 352zm368 56a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nconst faFaceGrin = {\n prefix: 'fas',\n iconName: 'face-grin',\n icon: [512, 512, [128512, \"grin\"], \"f580\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM388.1 312.8c12.3-3.8 24.3 6.9 19.3 18.7C382.4 390.6 324.2 432 256.3 432s-126.2-41.4-151.1-100.5c-5-11.8 7-22.5 19.3-18.7c39.7 12.2 84.5 19 131.8 19s92.1-6.8 131.8-19zM144.4 208a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm192-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nconst faGrin = faFaceGrin;\nconst faDeleteLeft = {\n prefix: 'fas',\n iconName: 'delete-left',\n icon: [576, 512, [9003, \"backspace\"], \"f55a\", \"M576 128c0-35.3-28.7-64-64-64L205.3 64c-17 0-33.3 6.7-45.3 18.7L9.4 233.4c-6 6-9.4 14.1-9.4 22.6s3.4 16.6 9.4 22.6L160 429.3c12 12 28.3 18.7 45.3 18.7L512 448c35.3 0 64-28.7 64-64l0-256zM271 175c9.4-9.4 24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9z\"]\n};\nconst faBackspace = faDeleteLeft;\nconst faEyeDropper = {\n prefix: 'fas',\n iconName: 'eye-dropper',\n icon: [512, 512, [\"eye-dropper-empty\", \"eyedropper\"], \"f1fb\", \"M341.6 29.2L240.1 130.8l-9.4-9.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l160 160c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-9.4-9.4L482.8 170.4c39-39 39-102.2 0-141.1s-102.2-39-141.1 0zM55.4 323.3c-15 15-23.4 35.4-23.4 56.6l0 42.4L5.4 462.2c-8.5 12.7-6.8 29.6 4 40.4s27.7 12.5 40.4 4L89.7 480l42.4 0c21.2 0 41.6-8.4 56.6-23.4L309.4 335.9l-45.3-45.3L143.4 411.3c-3 3-7.1 4.7-11.3 4.7L96 416l0-36.1c0-4.2 1.7-8.3 4.7-11.3L221.4 247.9l-45.3-45.3L55.4 323.3z\"]\n};\nconst faEyeDropperEmpty = faEyeDropper;\nconst faEyedropper = faEyeDropper;\nconst faFileCircleCheck = {\n prefix: 'fas',\n iconName: 'file-circle-check',\n icon: [576, 512, [], \"e5a0\", \"M0 64C0 28.7 28.7 0 64 0L224 0l0 128c0 17.7 14.3 32 32 32l128 0 0 38.6C310.1 219.5 256 287.4 256 368c0 59.1 29.1 111.3 73.7 143.3c-3.2 .5-6.4 .7-9.7 .7L64 512c-35.3 0-64-28.7-64-64L0 64zm384 64l-128 0L256 0 384 128zM288 368a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm211.3-43.3c-6.2-6.2-16.4-6.2-22.6 0L416 385.4l-28.7-28.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l40 40c6.2 6.2 16.4 6.2 22.6 0l72-72c6.2-6.2 6.2-16.4 0-22.6z\"]\n};\nconst faForward = {\n prefix: 'fas',\n iconName: 'forward',\n icon: [512, 512, [9193], \"f04e\", \"M52.5 440.6c-9.5 7.9-22.8 9.7-34.1 4.4S0 428.4 0 416L0 96C0 83.6 7.2 72.3 18.4 67s24.5-3.6 34.1 4.4L224 214.3l0 41.7 0 41.7L52.5 440.6zM256 352l0-96 0-128 0-32c0-12.4 7.2-23.7 18.4-29s24.5-3.6 34.1 4.4l192 160c7.3 6.1 11.5 15.1 11.5 24.6s-4.2 18.5-11.5 24.6l-192 160c-9.5 7.9-22.8 9.7-34.1 4.4s-18.4-16.6-18.4-29l0-64z\"]\n};\nconst faMobile = {\n prefix: 'fas',\n iconName: 'mobile',\n icon: [384, 512, [128241, \"mobile-android\", \"mobile-phone\"], \"f3ce\", \"M80 0C44.7 0 16 28.7 16 64l0 384c0 35.3 28.7 64 64 64l224 0c35.3 0 64-28.7 64-64l0-384c0-35.3-28.7-64-64-64L80 0zm80 432l64 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-64 0c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nconst faMobileAndroid = faMobile;\nconst faMobilePhone = faMobile;\nconst faFaceMeh = {\n prefix: 'fas',\n iconName: 'face-meh',\n icon: [512, 512, [128528, \"meh\"], \"f11a\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM176.4 176a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm128 32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM160 336l192 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-192 0c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nconst faMeh = faFaceMeh;\nconst faAlignCenter = {\n prefix: 'fas',\n iconName: 'align-center',\n icon: [448, 512, [], \"f037\", \"M352 64c0-17.7-14.3-32-32-32L128 32c-17.7 0-32 14.3-32 32s14.3 32 32 32l192 0c17.7 0 32-14.3 32-32zm96 128c0-17.7-14.3-32-32-32L32 160c-17.7 0-32 14.3-32 32s14.3 32 32 32l384 0c17.7 0 32-14.3 32-32zM0 448c0 17.7 14.3 32 32 32l384 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L32 416c-17.7 0-32 14.3-32 32zM352 320c0-17.7-14.3-32-32-32l-192 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l192 0c17.7 0 32-14.3 32-32z\"]\n};\nconst faBookSkull = {\n prefix: 'fas',\n iconName: 'book-skull',\n icon: [448, 512, [\"book-dead\"], \"f6b7\", \"M0 96C0 43 43 0 96 0L384 0l32 0c17.7 0 32 14.3 32 32l0 320c0 17.7-14.3 32-32 32l0 64c17.7 0 32 14.3 32 32s-14.3 32-32 32l-32 0L96 512c-53 0-96-43-96-96L0 96zM64 416c0 17.7 14.3 32 32 32l256 0 0-64L96 384c-17.7 0-32 14.3-32 32zM320 112c0-35.3-35.8-64-80-64s-80 28.7-80 64c0 20.9 12.6 39.5 32 51.2l0 12.8c0 8.8 7.2 16 16 16l64 0c8.8 0 16-7.2 16-16l0-12.8c19.4-11.7 32-30.3 32-51.2zM208 96a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm48 16a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zM134.3 209.3c-8.1-3.5-17.5 .3-21 8.4s.3 17.5 8.4 21L199.4 272l-77.7 33.3c-8.1 3.5-11.9 12.9-8.4 21s12.9 11.9 21 8.4L240 289.4l105.7 45.3c8.1 3.5 17.5-.3 21-8.4s-.3-17.5-8.4-21L280.6 272l77.7-33.3c8.1-3.5 11.9-12.9 8.4-21s-12.9-11.9-21-8.4L240 254.6 134.3 209.3z\"]\n};\nconst faBookDead = faBookSkull;\nconst faIdCard = {\n prefix: 'fas',\n iconName: 'id-card',\n icon: [576, 512, [62147, \"drivers-license\"], \"f2c2\", \"M0 96l576 0c0-35.3-28.7-64-64-64L64 32C28.7 32 0 60.7 0 96zm0 32L0 416c0 35.3 28.7 64 64 64l448 0c35.3 0 64-28.7 64-64l0-288L0 128zM64 405.3c0-29.5 23.9-53.3 53.3-53.3l117.3 0c29.5 0 53.3 23.9 53.3 53.3c0 5.9-4.8 10.7-10.7 10.7L74.7 416c-5.9 0-10.7-4.8-10.7-10.7zM176 192a64 64 0 1 1 0 128 64 64 0 1 1 0-128zm176 16c0-8.8 7.2-16 16-16l128 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-128 0c-8.8 0-16-7.2-16-16zm0 64c0-8.8 7.2-16 16-16l128 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-128 0c-8.8 0-16-7.2-16-16zm0 64c0-8.8 7.2-16 16-16l128 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-128 0c-8.8 0-16-7.2-16-16z\"]\n};\nconst faDriversLicense = faIdCard;\nconst faOutdent = {\n prefix: 'fas',\n iconName: 'outdent',\n icon: [448, 512, [\"dedent\"], \"f03b\", \"M0 64C0 46.3 14.3 32 32 32l384 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 96C14.3 96 0 81.7 0 64zM192 192c0-17.7 14.3-32 32-32l192 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-192 0c-17.7 0-32-14.3-32-32zm32 96l192 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-192 0c-17.7 0-32-14.3-32-32s14.3-32 32-32zM0 448c0-17.7 14.3-32 32-32l384 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 480c-17.7 0-32-14.3-32-32zM.2 268.6c-8.2-6.4-8.2-18.9 0-25.3l101.9-79.3c10.5-8.2 25.8-.7 25.8 12.6l0 158.6c0 13.3-15.3 20.8-25.8 12.6L.2 268.6z\"]\n};\nconst faDedent = faOutdent;\nconst faHeartCircleExclamation = {\n prefix: 'fas',\n iconName: 'heart-circle-exclamation',\n icon: [576, 512, [], \"e4fe\", \"M47.6 300.4L228.3 469.1c7.5 7 17.4 10.9 27.7 10.9s20.2-3.9 27.7-10.9l2.6-2.4C267.2 438.6 256 404.6 256 368c0-97.2 78.8-176 176-176c28.3 0 55 6.7 78.7 18.5c.9-6.5 1.3-13 1.3-19.6l0-5.8c0-69.9-50.5-129.5-119.4-141C347 36.5 300.6 51.4 268 84L256 96 244 84c-32.6-32.6-79-47.5-124.6-39.9C50.5 55.6 0 115.2 0 185.1l0 5.8c0 41.5 17.2 81.2 47.6 109.5zM432 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm0-96a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0-144c8.8 0 16 7.2 16 16l0 80c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-80c0-8.8 7.2-16 16-16z\"]\n};\nconst faHouse = {\n prefix: 'fas',\n iconName: 'house',\n icon: [576, 512, [127968, 63498, 63500, \"home\", \"home-alt\", \"home-lg-alt\"], \"f015\", \"M575.8 255.5c0 18-15 32.1-32 32.1l-32 0 .7 160.2c0 2.7-.2 5.4-.5 8.1l0 16.2c0 22.1-17.9 40-40 40l-16 0c-1.1 0-2.2 0-3.3-.1c-1.4 .1-2.8 .1-4.2 .1L416 512l-24 0c-22.1 0-40-17.9-40-40l0-24 0-64c0-17.7-14.3-32-32-32l-64 0c-17.7 0-32 14.3-32 32l0 64 0 24c0 22.1-17.9 40-40 40l-24 0-31.9 0c-1.5 0-3-.1-4.5-.2c-1.2 .1-2.4 .2-3.6 .2l-16 0c-22.1 0-40-17.9-40-40l0-112c0-.9 0-1.9 .1-2.8l0-69.7-32 0c-18 0-32-14-32-32.1c0-9 3-17 10-24L266.4 8c7-7 15-8 22-8s15 2 21 7L564.8 231.5c8 7 12 15 11 24z\"]\n};\nconst faHome = faHouse;\nconst faHomeAlt = faHouse;\nconst faHomeLgAlt = faHouse;\nconst faCalendarWeek = {\n prefix: 'fas',\n iconName: 'calendar-week',\n icon: [448, 512, [], \"f784\", \"M128 0c17.7 0 32 14.3 32 32l0 32 128 0 0-32c0-17.7 14.3-32 32-32s32 14.3 32 32l0 32 48 0c26.5 0 48 21.5 48 48l0 48L0 160l0-48C0 85.5 21.5 64 48 64l48 0 0-32c0-17.7 14.3-32 32-32zM0 192l448 0 0 272c0 26.5-21.5 48-48 48L48 512c-26.5 0-48-21.5-48-48L0 192zm80 64c-8.8 0-16 7.2-16 16l0 64c0 8.8 7.2 16 16 16l288 0c8.8 0 16-7.2 16-16l0-64c0-8.8-7.2-16-16-16L80 256z\"]\n};\nconst faLaptopMedical = {\n prefix: 'fas',\n iconName: 'laptop-medical',\n icon: [640, 512, [], \"f812\", \"M64 96c0-35.3 28.7-64 64-64l384 0c35.3 0 64 28.7 64 64l0 256-64 0 0-256L128 96l0 256-64 0L64 96zM0 403.2C0 392.6 8.6 384 19.2 384l601.6 0c10.6 0 19.2 8.6 19.2 19.2c0 42.4-34.4 76.8-76.8 76.8L76.8 480C34.4 480 0 445.6 0 403.2zM288 160c0-8.8 7.2-16 16-16l32 0c8.8 0 16 7.2 16 16l0 48 48 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-48 0 0 48c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-48-48 0c-8.8 0-16-7.2-16-16l0-32c0-8.8 7.2-16 16-16l48 0 0-48z\"]\n};\nconst faB = {\n prefix: 'fas',\n iconName: 'b',\n icon: [320, 512, [98], \"42\", \"M64 32C28.7 32 0 60.7 0 96L0 256 0 416c0 35.3 28.7 64 64 64l128 0c70.7 0 128-57.3 128-128c0-46.5-24.8-87.3-62-109.7c18.7-22.3 30-51 30-82.3c0-70.7-57.3-128-128-128L64 32zm96 192l-96 0L64 96l96 0c35.3 0 64 28.7 64 64s-28.7 64-64 64zM64 288l96 0 32 0c35.3 0 64 28.7 64 64s-28.7 64-64 64L64 416l0-128z\"]\n};\nconst faFileMedical = {\n prefix: 'fas',\n iconName: 'file-medical',\n icon: [384, 512, [], \"f477\", \"M64 0C28.7 0 0 28.7 0 64L0 448c0 35.3 28.7 64 64 64l256 0c35.3 0 64-28.7 64-64l0-288-128 0c-17.7 0-32-14.3-32-32L224 0 64 0zM256 0l0 128 128 0L256 0zM160 240c0-8.8 7.2-16 16-16l32 0c8.8 0 16 7.2 16 16l0 48 48 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-48 0 0 48c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-48-48 0c-8.8 0-16-7.2-16-16l0-32c0-8.8 7.2-16 16-16l48 0 0-48z\"]\n};\nconst faDiceOne = {\n prefix: 'fas',\n iconName: 'dice-one',\n icon: [448, 512, [9856], \"f525\", \"M64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32zM224 224a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nconst faKiwiBird = {\n prefix: 'fas',\n iconName: 'kiwi-bird',\n icon: [576, 512, [], \"f535\", \"M291.2 388.4c31.2-18.8 64.7-36.4 101.1-36.4l55.7 0c4.6 0 9.1-.2 13.6-.7l85.3 121.9c4 5.7 11.3 8.2 17.9 6.1s11.2-8.3 11.2-15.3l0-240c0-70.7-57.3-128-128-128l-55.7 0c-36.4 0-69.9-17.6-101.1-36.4C262.3 42.1 228.3 32 192 32C86 32 0 118 0 224c0 71.1 38.6 133.1 96 166.3L96 456c0 13.3 10.7 24 24 24s24-10.7 24-24l0-46c15.3 3.9 31.4 6 48 6c5.4 0 10.7-.2 16-.7l0 40.7c0 13.3 10.7 24 24 24s24-10.7 24-24l0-50.9c12.4-4.4 24.2-10 35.2-16.7zM448 200a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nconst faArrowRightArrowLeft = {\n prefix: 'fas',\n iconName: 'arrow-right-arrow-left',\n icon: [448, 512, [8644, \"exchange\"], \"f0ec\", \"M438.6 150.6c12.5-12.5 12.5-32.8 0-45.3l-96-96c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L338.7 96 32 96C14.3 96 0 110.3 0 128s14.3 32 32 32l306.7 0-41.4 41.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l96-96zm-333.3 352c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L109.3 416 416 416c17.7 0 32-14.3 32-32s-14.3-32-32-32l-306.7 0 41.4-41.4c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-96 96c-12.5 12.5-12.5 32.8 0 45.3l96 96z\"]\n};\nconst faExchange = faArrowRightArrowLeft;\nconst faRotateRight = {\n prefix: 'fas',\n iconName: 'rotate-right',\n icon: [512, 512, [\"redo-alt\", \"rotate-forward\"], \"f2f9\", \"M463.5 224l8.5 0c13.3 0 24-10.7 24-24l0-128c0-9.7-5.8-18.5-14.8-22.2s-19.3-1.7-26.2 5.2L413.4 96.6c-87.6-86.5-228.7-86.2-315.8 1c-87.5 87.5-87.5 229.3 0 316.8s229.3 87.5 316.8 0c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0c-62.5 62.5-163.8 62.5-226.3 0s-62.5-163.8 0-226.3c62.2-62.2 162.7-62.5 225.3-1L327 183c-6.9 6.9-8.9 17.2-5.2 26.2s12.5 14.8 22.2 14.8l119.5 0z\"]\n};\nconst faRedoAlt = faRotateRight;\nconst faRotateForward = faRotateRight;\nconst faUtensils = {\n prefix: 'fas',\n iconName: 'utensils',\n icon: [448, 512, [127860, 61685, \"cutlery\"], \"f2e7\", \"M416 0C400 0 288 32 288 176l0 112c0 35.3 28.7 64 64 64l32 0 0 128c0 17.7 14.3 32 32 32s32-14.3 32-32l0-128 0-112 0-208c0-17.7-14.3-32-32-32zM64 16C64 7.8 57.9 1 49.7 .1S34.2 4.6 32.4 12.5L2.1 148.8C.7 155.1 0 161.5 0 167.9c0 45.9 35.1 83.6 80 87.7L80 480c0 17.7 14.3 32 32 32s32-14.3 32-32l0-224.4c44.9-4.1 80-41.8 80-87.7c0-6.4-.7-12.8-2.1-19.1L191.6 12.5c-1.8-8-9.3-13.3-17.4-12.4S160 7.8 160 16l0 134.2c0 5.4-4.4 9.8-9.8 9.8c-5.1 0-9.3-3.9-9.8-9L127.9 14.6C127.2 6.3 120.3 0 112 0s-15.2 6.3-15.9 14.6L83.7 151c-.5 5.1-4.7 9-9.8 9c-5.4 0-9.8-4.4-9.8-9.8L64 16zm48.3 152l-.3 0-.3 0 .3-.7 .3 .7z\"]\n};\nconst faCutlery = faUtensils;\nconst faArrowUpWideShort = {\n prefix: 'fas',\n iconName: 'arrow-up-wide-short',\n icon: [576, 512, [\"sort-amount-up\"], \"f161\", \"M151.6 42.4C145.5 35.8 137 32 128 32s-17.5 3.8-23.6 10.4l-88 96c-11.9 13-11.1 33.3 2 45.2s33.3 11.1 45.2-2L96 146.3 96 448c0 17.7 14.3 32 32 32s32-14.3 32-32l0-301.7 32.4 35.4c11.9 13 32.2 13.9 45.2 2s13.9-32.2 2-45.2l-88-96zM320 480l32 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-32 0c-17.7 0-32 14.3-32 32s14.3 32 32 32zm0-128l96 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-96 0c-17.7 0-32 14.3-32 32s14.3 32 32 32zm0-128l160 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-160 0c-17.7 0-32 14.3-32 32s14.3 32 32 32zm0-128l224 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L320 32c-17.7 0-32 14.3-32 32s14.3 32 32 32z\"]\n};\nconst faSortAmountUp = faArrowUpWideShort;\nconst faMillSign = {\n prefix: 'fas',\n iconName: 'mill-sign',\n icon: [384, 512, [], \"e1ed\", \"M302.1 42.8c5.9-16.6-2.7-35-19.4-40.9s-35 2.7-40.9 19.4L208 116.1c-5.7 4-11.1 8.5-16 13.5C171.7 108.9 143.3 96 112 96c-19.5 0-37.8 5-53.7 13.7C52.5 101.4 42.9 96 32 96C14.3 96 0 110.3 0 128l0 80L0 416c0 17.7 14.3 32 32 32s32-14.3 32-32l0-208c0-26.5 21.5-48 48-48s48 21.5 48 48l0 42.5L81.9 469.2c-5.9 16.6 2.7 35 19.4 40.9s35-2.7 40.9-19.4l21.4-60C168.9 441 179.6 448 192 448c17.7 0 32-14.3 32-32l0-154.5 35.7-100c3.9-1 8.1-1.6 12.3-1.6c26.5 0 48 21.5 48 48l0 208c0 17.7 14.3 32 32 32s32-14.3 32-32l0-208c0-58.2-44.3-106-101.1-111.5l19.2-53.8z\"]\n};\nconst faBowlRice = {\n prefix: 'fas',\n iconName: 'bowl-rice',\n icon: [512, 512, [], \"e2eb\", \"M176 56c0-13.3 10.7-24 24-24l16 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-16 0c-13.3 0-24-10.7-24-24zm24 48l16 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-16 0c-13.3 0-24-10.7-24-24s10.7-24 24-24zM56 176l16 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-16 0c-13.3 0-24-10.7-24-24s10.7-24 24-24zM0 283.4C0 268.3 12.3 256 27.4 256l457.1 0c15.1 0 27.4 12.3 27.4 27.4c0 70.5-44.4 130.7-106.7 154.1L403.5 452c-2 16-15.6 28-31.8 28l-231.5 0c-16.1 0-29.8-12-31.8-28l-1.8-14.4C44.4 414.1 0 353.9 0 283.4zM224 200c0-13.3 10.7-24 24-24l16 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-16 0c-13.3 0-24-10.7-24-24zm-96 0c0-13.3 10.7-24 24-24l16 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-16 0c-13.3 0-24-10.7-24-24zm-24-96l16 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-16 0c-13.3 0-24-10.7-24-24s10.7-24 24-24zm216 96c0-13.3 10.7-24 24-24l16 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-16 0c-13.3 0-24-10.7-24-24zm-24-96l16 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-16 0c-13.3 0-24-10.7-24-24s10.7-24 24-24zm120 96c0-13.3 10.7-24 24-24l16 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-16 0c-13.3 0-24-10.7-24-24zm-24-96l16 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-16 0c-13.3 0-24-10.7-24-24s10.7-24 24-24zM296 32l16 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-16 0c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nconst faSkull = {\n prefix: 'fas',\n iconName: 'skull',\n icon: [512, 512, [128128], \"f54c\", \"M416 398.9c58.5-41.1 96-104.1 96-174.9C512 100.3 397.4 0 256 0S0 100.3 0 224c0 70.7 37.5 133.8 96 174.9c0 .4 0 .7 0 1.1l0 64c0 26.5 21.5 48 48 48l48 0 0-48c0-8.8 7.2-16 16-16s16 7.2 16 16l0 48 64 0 0-48c0-8.8 7.2-16 16-16s16 7.2 16 16l0 48 48 0c26.5 0 48-21.5 48-48l0-64c0-.4 0-.7 0-1.1zM96 256a64 64 0 1 1 128 0A64 64 0 1 1 96 256zm256-64a64 64 0 1 1 0 128 64 64 0 1 1 0-128z\"]\n};\nconst faTowerBroadcast = {\n prefix: 'fas',\n iconName: 'tower-broadcast',\n icon: [576, 512, [\"broadcast-tower\"], \"f519\", \"M80.3 44C69.8 69.9 64 98.2 64 128s5.8 58.1 16.3 84c6.6 16.4-1.3 35-17.7 41.7s-35-1.3-41.7-17.7C7.4 202.6 0 166.1 0 128S7.4 53.4 20.9 20C27.6 3.6 46.2-4.3 62.6 2.3S86.9 27.6 80.3 44zM555.1 20C568.6 53.4 576 89.9 576 128s-7.4 74.6-20.9 108c-6.6 16.4-25.3 24.3-41.7 17.7S489.1 228.4 495.7 212c10.5-25.9 16.3-54.2 16.3-84s-5.8-58.1-16.3-84C489.1 27.6 497 9 513.4 2.3s35 1.3 41.7 17.7zM352 128c0 23.7-12.9 44.4-32 55.4L320 480c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-296.6c-19.1-11.1-32-31.7-32-55.4c0-35.3 28.7-64 64-64s64 28.7 64 64zM170.6 76.8C163.8 92.4 160 109.7 160 128s3.8 35.6 10.6 51.2c7.1 16.2-.3 35.1-16.5 42.1s-35.1-.3-42.1-16.5c-10.3-23.6-16-49.6-16-76.8s5.7-53.2 16-76.8c7.1-16.2 25.9-23.6 42.1-16.5s23.6 25.9 16.5 42.1zM464 51.2c10.3 23.6 16 49.6 16 76.8s-5.7 53.2-16 76.8c-7.1 16.2-25.9 23.6-42.1 16.5s-23.6-25.9-16.5-42.1c6.8-15.6 10.6-32.9 10.6-51.2s-3.8-35.6-10.6-51.2c-7.1-16.2 .3-35.1 16.5-42.1s35.1 .3 42.1 16.5z\"]\n};\nconst faBroadcastTower = faTowerBroadcast;\nconst faTruckPickup = {\n prefix: 'fas',\n iconName: 'truck-pickup',\n icon: [640, 512, [128763], \"f63c\", \"M368.6 96l76.8 96L288 192l0-96 80.6 0zM224 80l0 112L64 192c-17.7 0-32 14.3-32 32l0 64c-17.7 0-32 14.3-32 32s14.3 32 32 32l33.1 0c-.7 5.2-1.1 10.6-1.1 16c0 61.9 50.1 112 112 112s112-50.1 112-112c0-5.4-.4-10.8-1.1-16l66.3 0c-.7 5.2-1.1 10.6-1.1 16c0 61.9 50.1 112 112 112s112-50.1 112-112c0-5.4-.4-10.8-1.1-16l33.1 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l0-64c0-17.7-14.3-32-32-32l-48.6 0L418.6 56c-12.1-15.2-30.5-24-50-24L272 32c-26.5 0-48 21.5-48 48zm0 288a48 48 0 1 1 -96 0 48 48 0 1 1 96 0zm288 0a48 48 0 1 1 -96 0 48 48 0 1 1 96 0z\"]\n};\nconst faUpLong = {\n prefix: 'fas',\n iconName: 'up-long',\n icon: [320, 512, [\"long-arrow-alt-up\"], \"f30c\", \"M318 177.5c3.8-8.8 2-19-4.6-26l-136-144C172.9 2.7 166.6 0 160 0s-12.9 2.7-17.4 7.5l-136 144c-6.6 7-8.4 17.2-4.6 26S14.4 192 24 192l72 0 0 288c0 17.7 14.3 32 32 32l64 0c17.7 0 32-14.3 32-32l0-288 72 0c9.6 0 18.2-5.7 22-14.5z\"]\n};\nconst faLongArrowAltUp = faUpLong;\nconst faStop = {\n prefix: 'fas',\n iconName: 'stop',\n icon: [384, 512, [9209], \"f04d\", \"M0 128C0 92.7 28.7 64 64 64H320c35.3 0 64 28.7 64 64V384c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V128z\"]\n};\nconst faCodeMerge = {\n prefix: 'fas',\n iconName: 'code-merge',\n icon: [448, 512, [], \"f387\", \"M80 56a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm32.4 97.2c28-12.4 47.6-40.5 47.6-73.2c0-44.2-35.8-80-80-80S0 35.8 0 80c0 32.8 19.7 61 48 73.3l0 205.3C19.7 371 0 399.2 0 432c0 44.2 35.8 80 80 80s80-35.8 80-80c0-32.8-19.7-61-48-73.3l0-86.6c26.7 20.1 60 32 96 32l86.7 0c12.3 28.3 40.5 48 73.3 48c44.2 0 80-35.8 80-80s-35.8-80-80-80c-32.8 0-61 19.7-73.3 48L208 240c-49.9 0-91-38.1-95.6-86.8zM80 408a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM344 272a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"]\n};\nconst faUpload = {\n prefix: 'fas',\n iconName: 'upload',\n icon: [512, 512, [], \"f093\", \"M288 109.3L288 352c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-242.7-73.4 73.4c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l128-128c12.5-12.5 32.8-12.5 45.3 0l128 128c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L288 109.3zM64 352l128 0c0 35.3 28.7 64 64 64s64-28.7 64-64l128 0c35.3 0 64 28.7 64 64l0 32c0 35.3-28.7 64-64 64L64 512c-35.3 0-64-28.7-64-64l0-32c0-35.3 28.7-64 64-64zM432 456a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nconst faHurricane = {\n prefix: 'fas',\n iconName: 'hurricane',\n icon: [384, 512, [], \"f751\", \"M0 208C0 104.4 75.7 18.5 174.9 2.6C184 1.2 192 8.6 192 17.9l0 63.3c0 8.4 6.5 15.3 14.7 16.5C307 112.5 384 199 384 303.4c0 103.6-75.7 189.5-174.9 205.4c-9.2 1.5-17.1-5.9-17.1-15.2l0-63.3c0-8.4-6.5-15.3-14.7-16.5C77 398.9 0 312.4 0 208zm288 48A96 96 0 1 0 96 256a96 96 0 1 0 192 0zm-96-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nconst faMound = {\n prefix: 'fas',\n iconName: 'mound',\n icon: [576, 512, [], \"e52d\", \"M144.1 179.2C173.8 127.7 228.6 96 288 96s114.2 31.7 143.9 83.2L540.4 368c12.3 21.3-3.1 48-27.7 48H63.3c-24.6 0-40-26.6-27.7-48L144.1 179.2z\"]\n};\nconst faToiletPortable = {\n prefix: 'fas',\n iconName: 'toilet-portable',\n icon: [320, 512, [], \"e583\", \"M0 32L0 64l320 0 0-32c0-17.7-14.3-32-32-32L32 0C14.3 0 0 14.3 0 32zM24 96L0 96l0 24L0 488c0 13.3 10.7 24 24 24s24-10.7 24-24l0-8 224 0 0 8c0 13.3 10.7 24 24 24s24-10.7 24-24l0-368 0-24-24 0L24 96zM256 240l0 64c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-64c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nconst faCompactDisc = {\n prefix: 'fas',\n iconName: 'compact-disc',\n icon: [512, 512, [128191, 128192, 128440], \"f51f\", \"M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm256 32a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm-96-32a96 96 0 1 0 192 0 96 96 0 1 0 -192 0zM96 240c0-35 17.5-71.1 45.2-98.8S205 96 240 96c8.8 0 16-7.2 16-16s-7.2-16-16-16c-45.4 0-89.2 22.3-121.5 54.5S64 194.6 64 240c0 8.8 7.2 16 16 16s16-7.2 16-16z\"]\n};\nconst faFileArrowDown = {\n prefix: 'fas',\n iconName: 'file-arrow-down',\n icon: [384, 512, [\"file-download\"], \"f56d\", \"M64 0C28.7 0 0 28.7 0 64L0 448c0 35.3 28.7 64 64 64l256 0c35.3 0 64-28.7 64-64l0-288-128 0c-17.7 0-32-14.3-32-32L224 0 64 0zM256 0l0 128 128 0L256 0zM216 232l0 102.1 31-31c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-72 72c-9.4 9.4-24.6 9.4-33.9 0l-72-72c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l31 31L168 232c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nconst faFileDownload = faFileArrowDown;\nconst faCaravan = {\n prefix: 'fas',\n iconName: 'caravan',\n icon: [640, 512, [], \"f8ff\", \"M0 112C0 67.8 35.8 32 80 32l336 0c88.4 0 160 71.6 160 160l0 160 32 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-32 0-288 0c0 53-43 96-96 96s-96-43-96-96l-16 0c-44.2 0-80-35.8-80-80L0 112zM320 352l128 0 0-96-32 0c-8.8 0-16-7.2-16-16s7.2-16 16-16l32 0 0-64c0-17.7-14.3-32-32-32l-64 0c-17.7 0-32 14.3-32 32l0 192zM96 128c-17.7 0-32 14.3-32 32l0 64c0 17.7 14.3 32 32 32l128 0c17.7 0 32-14.3 32-32l0-64c0-17.7-14.3-32-32-32L96 128zm96 336a48 48 0 1 0 0-96 48 48 0 1 0 0 96z\"]\n};\nconst faShieldCat = {\n prefix: 'fas',\n iconName: 'shield-cat',\n icon: [512, 512, [], \"e572\", \"M269.4 2.9C265.2 1 260.7 0 256 0s-9.2 1-13.4 2.9L54.3 82.8c-22 9.3-38.4 31-38.3 57.2c.5 99.2 41.3 280.7 213.6 363.2c16.7 8 36.1 8 52.8 0C454.7 420.7 495.5 239.2 496 140c.1-26.2-16.3-47.9-38.3-57.2L269.4 2.9zM160 154.4c0-5.8 4.7-10.4 10.4-10.4l.2 0c3.4 0 6.5 1.6 8.5 4.3l40 53.3c3 4 7.8 6.4 12.8 6.4l48 0c5 0 9.8-2.4 12.8-6.4l40-53.3c2-2.7 5.2-4.3 8.5-4.3l.2 0c5.8 0 10.4 4.7 10.4 10.4L352 272c0 53-43 96-96 96s-96-43-96-96l0-117.6zM216 288a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm96-16a16 16 0 1 0 -32 0 16 16 0 1 0 32 0z\"]\n};\nconst faBolt = {\n prefix: 'fas',\n iconName: 'bolt',\n icon: [448, 512, [9889, \"zap\"], \"f0e7\", \"M349.4 44.6c5.9-13.7 1.5-29.7-10.6-38.5s-28.6-8-39.9 1.8l-256 224c-10 8.8-13.6 22.9-8.9 35.3S50.7 288 64 288l111.5 0L98.6 467.4c-5.9 13.7-1.5 29.7 10.6 38.5s28.6 8 39.9-1.8l256-224c10-8.8 13.6-22.9 8.9-35.3s-16.6-20.7-30-20.7l-111.5 0L349.4 44.6z\"]\n};\nconst faZap = faBolt;\nconst faGlassWater = {\n prefix: 'fas',\n iconName: 'glass-water',\n icon: [384, 512, [], \"e4f4\", \"M32 0C23.1 0 14.6 3.7 8.6 10.2S-.6 25.4 .1 34.3L28.9 437.7c3 41.9 37.8 74.3 79.8 74.3l166.6 0c42 0 76.8-32.4 79.8-74.3L383.9 34.3c.6-8.9-2.4-17.6-8.5-24.1S360.9 0 352 0L32 0zM73 156.5L66.4 64l251.3 0L311 156.5l-24.2 12.1c-19.4 9.7-42.2 9.7-61.6 0c-20.9-10.4-45.5-10.4-66.4 0c-19.4 9.7-42.2 9.7-61.6 0L73 156.5z\"]\n};\nconst faOilWell = {\n prefix: 'fas',\n iconName: 'oil-well',\n icon: [576, 512, [], \"e532\", \"M528.3 61.3c-11.4-42.7-55.3-68-98-56.6L414.9 8.8C397.8 13.4 387.7 31 392.3 48l24.5 91.4L308.5 167.5l-6.3-18.1C297.7 136.6 285.6 128 272 128s-25.7 8.6-30.2 21.4l-13.6 39L96 222.6 96 184c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 264-16 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l512 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-137.3 0L340 257.5l-62.2 16.1L305.3 352l-66.6 0L265 277l-74.6 19.3L137.3 448 96 448l0-159.2 337.4-87.5 25.2 94c4.6 17.1 22.1 27.2 39.2 22.6l15.5-4.1c42.7-11.4 68-55.3 56.6-98L528.3 61.3zM205.1 448l11.2-32 111.4 0 11.2 32-133.8 0z\"]\n};\nconst faVault = {\n prefix: 'fas',\n iconName: 'vault',\n icon: [576, 512, [], \"e2c5\", \"M64 0C28.7 0 0 28.7 0 64L0 416c0 35.3 28.7 64 64 64l16 0 16 32 64 0 16-32 224 0 16 32 64 0 16-32 16 0c35.3 0 64-28.7 64-64l0-352c0-35.3-28.7-64-64-64L64 0zM224 320a80 80 0 1 0 0-160 80 80 0 1 0 0 160zm0-240a160 160 0 1 1 0 320 160 160 0 1 1 0-320zM480 221.3L480 336c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-114.7c-18.6-6.6-32-24.4-32-45.3c0-26.5 21.5-48 48-48s48 21.5 48 48c0 20.9-13.4 38.7-32 45.3z\"]\n};\nconst faMars = {\n prefix: 'fas',\n iconName: 'mars',\n icon: [448, 512, [9794], \"f222\", \"M289.8 46.8c3.7-9 12.5-14.8 22.2-14.8l112 0c13.3 0 24 10.7 24 24l0 112c0 9.7-5.8 18.5-14.8 22.2s-19.3 1.7-26.2-5.2l-33.4-33.4L321 204.2c19.5 28.4 31 62.7 31 99.8c0 97.2-78.8 176-176 176S0 401.2 0 304s78.8-176 176-176c37 0 71.4 11.4 99.8 31l52.6-52.6L295 73c-6.9-6.9-8.9-17.2-5.2-26.2zM400 80s0 0 0 0s0 0 0 0s0 0 0 0zM176 416a112 112 0 1 0 0-224 112 112 0 1 0 0 224z\"]\n};\nconst faToilet = {\n prefix: 'fas',\n iconName: 'toilet',\n icon: [448, 512, [128701], \"f7d8\", \"M24 0C10.7 0 0 10.7 0 24S10.7 48 24 48l8 0 0 148.9c-1.9 1.4-3.8 2.9-5.6 4.4C10.9 214.5 0 232.9 0 256c0 46.9 14.3 84.1 37 112.5c14.2 17.7 31.1 31.3 48.5 41.8L65.6 469.9c-3.3 9.8-1.6 20.5 4.4 28.8s15.7 13.3 26 13.3l256 0c10.3 0 19.9-4.9 26-13.3s7.7-19.1 4.4-28.8l-19.8-59.5c17.4-10.5 34.3-24.1 48.5-41.8c22.7-28.4 37-65.5 37-112.5c0-23.1-10.9-41.5-26.4-54.6c-1.8-1.5-3.7-3-5.6-4.4L416 48l8 0c13.3 0 24-10.7 24-24s-10.7-24-24-24L24 0zM384 256.3c0 1-.3 2.6-3.8 5.6c-4.8 4.1-14 9-29.3 13.4C320.5 284 276.1 288 224 288s-96.5-4-126.9-12.8c-15.3-4.4-24.5-9.3-29.3-13.4c-3.5-3-3.8-4.6-3.8-5.6l0-.3c0 0 0-.1 0-.1c0-1 0-2.5 3.8-5.8c4.8-4.1 14-9 29.3-13.4C127.5 228 171.9 224 224 224s96.5 4 126.9 12.8c15.3 4.4 24.5 9.3 29.3 13.4c3.8 3.2 3.8 4.8 3.8 5.8c0 0 0 .1 0 .1l0 .3zM328.2 384l-.2 .5 0-.5 .2 0zM112 64l32 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nconst faPlaneCircleXmark = {\n prefix: 'fas',\n iconName: 'plane-circle-xmark',\n icon: [640, 512, [], \"e557\", \"M256 0c-35 0-64 59.5-64 93.7l0 84.6L8.1 283.4c-5 2.8-8.1 8.2-8.1 13.9l0 65.5c0 10.6 10.2 18.3 20.4 15.4l171.6-49 0 70.9-57.6 43.2c-4 3-6.4 7.8-6.4 12.8l0 42c0 7.8 6.3 14 14 14c1.3 0 2.6-.2 3.9-.5L256 480l110.1 31.5c1.3 .4 2.6 .5 3.9 .5c6 0 11.1-3.7 13.1-9C344.5 470.7 320 422.2 320 368c0-60.6 30.6-114 77.1-145.6L320 178.3l0-84.6C320 59.5 292 0 256 0zM496 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm59.3-180.7L518.6 368l36.7 36.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L496 390.6l-36.7 36.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L473.4 368l-36.7-36.7c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L496 345.4l36.7-36.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z\"]\n};\nconst faYenSign = {\n prefix: 'fas',\n iconName: 'yen-sign',\n icon: [320, 512, [165, \"cny\", \"jpy\", \"rmb\", \"yen\"], \"f157\", \"M58.6 46.3C48.8 31.5 29 27.6 14.2 37.4S-4.4 67 5.4 81.8L100.2 224 48 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l80 0 0 32-80 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l80 0 0 64c0 17.7 14.3 32 32 32s32-14.3 32-32l0-64 80 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-80 0 0-32 80 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-52.2 0L314.6 81.8c9.8-14.7 5.8-34.6-8.9-44.4s-34.6-5.8-44.4 8.9L160 198.3 58.6 46.3z\"]\n};\nconst faCny = faYenSign;\nconst faJpy = faYenSign;\nconst faRmb = faYenSign;\nconst faYen = faYenSign;\nconst faRubleSign = {\n prefix: 'fas',\n iconName: 'ruble-sign',\n icon: [384, 512, [8381, \"rouble\", \"rub\", \"ruble\"], \"f158\", \"M96 32C78.3 32 64 46.3 64 64l0 192-32 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l32 0 0 32-32 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l32 0 0 32c0 17.7 14.3 32 32 32s32-14.3 32-32l0-32 160 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-160 0 0-32 112 0c79.5 0 144-64.5 144-144s-64.5-144-144-144L96 32zM240 256l-112 0 0-160 112 0c44.2 0 80 35.8 80 80s-35.8 80-80 80z\"]\n};\nconst faRouble = faRubleSign;\nconst faRub = faRubleSign;\nconst faRuble = faRubleSign;\nconst faSun = {\n prefix: 'fas',\n iconName: 'sun',\n icon: [512, 512, [9728], \"f185\", \"M361.5 1.2c5 2.1 8.6 6.6 9.6 11.9L391 121l107.9 19.8c5.3 1 9.8 4.6 11.9 9.6s1.5 10.7-1.6 15.2L446.9 256l62.3 90.3c3.1 4.5 3.7 10.2 1.6 15.2s-6.6 8.6-11.9 9.6L391 391 371.1 498.9c-1 5.3-4.6 9.8-9.6 11.9s-10.7 1.5-15.2-1.6L256 446.9l-90.3 62.3c-4.5 3.1-10.2 3.7-15.2 1.6s-8.6-6.6-9.6-11.9L121 391 13.1 371.1c-5.3-1-9.8-4.6-11.9-9.6s-1.5-10.7 1.6-15.2L65.1 256 2.8 165.7c-3.1-4.5-3.7-10.2-1.6-15.2s6.6-8.6 11.9-9.6L121 121 140.9 13.1c1-5.3 4.6-9.8 9.6-11.9s10.7-1.5 15.2 1.6L256 65.1 346.3 2.8c4.5-3.1 10.2-3.7 15.2-1.6zM160 256a96 96 0 1 1 192 0 96 96 0 1 1 -192 0zm224 0a128 128 0 1 0 -256 0 128 128 0 1 0 256 0z\"]\n};\nconst faGuitar = {\n prefix: 'fas',\n iconName: 'guitar',\n icon: [512, 512, [], \"f7a6\", \"M465 7c-9.4-9.4-24.6-9.4-33.9 0L383 55c-2.4 2.4-4.3 5.3-5.5 8.5l-15.4 41-77.5 77.6c-45.1-29.4-99.3-30.2-131 1.6c-11 11-18 24.6-21.4 39.6c-3.7 16.6-19.1 30.7-36.1 31.6c-25.6 1.3-49.3 10.7-67.3 28.6C-16 328.4-7.6 409.4 47.5 464.5s136.1 63.5 180.9 18.7c17.9-17.9 27.4-41.7 28.6-67.3c.9-17 15-32.3 31.6-36.1c15-3.4 28.6-10.5 39.6-21.4c31.8-31.8 31-85.9 1.6-131l77.6-77.6 41-15.4c3.2-1.2 6.1-3.1 8.5-5.5l48-48c9.4-9.4 9.4-24.6 0-33.9L465 7zM208 256a48 48 0 1 1 0 96 48 48 0 1 1 0-96z\"]\n};\nconst faFaceLaughWink = {\n prefix: 'fas',\n iconName: 'face-laugh-wink',\n icon: [512, 512, [\"laugh-wink\"], \"f59c\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM96.8 314.1c-3.8-13.7 7.4-26.1 21.6-26.1l275.2 0c14.2 0 25.5 12.4 21.6 26.1C396.2 382 332.1 432 256 432s-140.2-50-159.2-117.9zM144.4 192a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm156.4 25.6c-5.3 7.1-15.3 8.5-22.4 3.2s-8.5-15.3-3.2-22.4c30.4-40.5 91.2-40.5 121.6 0c5.3 7.1 3.9 17.1-3.2 22.4s-17.1 3.9-22.4-3.2c-17.6-23.5-52.8-23.5-70.4 0z\"]\n};\nconst faLaughWink = faFaceLaughWink;\nconst faHorseHead = {\n prefix: 'fas',\n iconName: 'horse-head',\n icon: [640, 512, [], \"f7ab\", \"M64 464l0-147.1c0-108.4 68.3-205.1 170.5-241.3L404.2 15.5C425.6 7.9 448 23.8 448 46.4c0 11-5.5 21.2-14.6 27.3L400 96c48.1 0 91.2 29.8 108.1 74.9l48.6 129.5c11.8 31.4 4.1 66.8-19.6 90.5c-16 16-37.8 25.1-60.5 25.1l-3.4 0c-26.1 0-50.9-11.6-67.6-31.7l-32.3-38.7c-11.7 4.1-24.2 6.4-37.3 6.4c0 0 0 0-.1 0c0 0 0 0 0 0c-6.3 0-12.5-.5-18.6-1.5c-3.6-.6-7.2-1.4-10.7-2.3c0 0 0 0 0 0c-28.9-7.8-53.1-26.8-67.8-52.2c-4.4-7.6-14.2-10.3-21.9-5.8s-10.3 14.2-5.8 21.9c24 41.5 68.3 70 119.3 71.9l47.2 70.8c4 6.1 6.2 13.2 6.2 20.4c0 20.3-16.5 36.8-36.8 36.8L112 512c-26.5 0-48-21.5-48-48zM392 224a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nconst faBoreHole = {\n prefix: 'fas',\n iconName: 'bore-hole',\n icon: [512, 512, [], \"e4c3\", \"M256 0c-17.7 0-32 14.3-32 32l0 264.6c-19.1 11.1-32 31.7-32 55.4c0 35.3 28.7 64 64 64s64-28.7 64-64c0-23.7-12.9-44.4-32-55.4L288 32c0-17.7-14.3-32-32-32zM48 128c-26.5 0-48 21.5-48 48L0 464c0 26.5 21.5 48 48 48l416 0c26.5 0 48-21.5 48-48l0-288c0-26.5-21.5-48-48-48l-80 0c-17.7 0-32 14.3-32 32l0 192c0 53-43 96-96 96s-96-43-96-96l0-192c0-17.7-14.3-32-32-32l-80 0z\"]\n};\nconst faIndustry = {\n prefix: 'fas',\n iconName: 'industry',\n icon: [576, 512, [], \"f275\", \"M64 32C46.3 32 32 46.3 32 64l0 240 0 48 0 80c0 26.5 21.5 48 48 48l416 0c26.5 0 48-21.5 48-48l0-128 0-151.8c0-18.2-19.4-29.7-35.4-21.1L352 215.4l0-63.2c0-18.2-19.4-29.7-35.4-21.1L160 215.4 160 64c0-17.7-14.3-32-32-32L64 32z\"]\n};\nconst faCircleDown = {\n prefix: 'fas',\n iconName: 'circle-down',\n icon: [512, 512, [61466, \"arrow-alt-circle-down\"], \"f358\", \"M256 0a256 256 0 1 0 0 512A256 256 0 1 0 256 0zM244.7 395.3l-112-112c-4.6-4.6-5.9-11.5-3.5-17.4s8.3-9.9 14.8-9.9l64 0 0-96c0-17.7 14.3-32 32-32l32 0c17.7 0 32 14.3 32 32l0 96 64 0c6.5 0 12.3 3.9 14.8 9.9s1.1 12.9-3.5 17.4l-112 112c-6.2 6.2-16.4 6.2-22.6 0z\"]\n};\nconst faArrowAltCircleDown = faCircleDown;\nconst faArrowsTurnToDots = {\n prefix: 'fas',\n iconName: 'arrows-turn-to-dots',\n icon: [512, 512, [], \"e4c1\", \"M249.4 25.4c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3L269.3 96 416 96c53 0 96 43 96 96l0 32c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-32c0-17.7-14.3-32-32-32l-146.7 0 25.4 25.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0l-80-80c-12.5-12.5-12.5-32.8 0-45.3l80-80zm13.3 256l80 80c12.5 12.5 12.5 32.8 0 45.3l-80 80c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L242.7 416 96 416c-17.7 0-32 14.3-32 32l0 32c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-32c0-53 43-96 96-96l146.7 0-25.4-25.4c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0zM384 384a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zM64 192A64 64 0 1 1 64 64a64 64 0 1 1 0 128z\"]\n};\nconst faFlorinSign = {\n prefix: 'fas',\n iconName: 'florin-sign',\n icon: [384, 512, [], \"e184\", \"M314.7 32c-38.8 0-73.7 23.3-88.6 59.1L170.7 224 64 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l80 0L98.9 396.3c-5 11.9-16.6 19.7-29.5 19.7L32 416c-17.7 0-32 14.3-32 32s14.3 32 32 32l37.3 0c38.8 0 73.7-23.3 88.6-59.1L213.3 288 320 288c17.7 0 32-14.3 32-32s-14.3-32-32-32l-80 0 45.1-108.3c5-11.9 16.6-19.7 29.5-19.7L352 96c17.7 0 32-14.3 32-32s-14.3-32-32-32l-37.3 0z\"]\n};\nconst faArrowDownShortWide = {\n prefix: 'fas',\n iconName: 'arrow-down-short-wide',\n icon: [576, 512, [\"sort-amount-desc\", \"sort-amount-down-alt\"], \"f884\", \"M151.6 469.6C145.5 476.2 137 480 128 480s-17.5-3.8-23.6-10.4l-88-96c-11.9-13-11.1-33.3 2-45.2s33.3-11.1 45.2 2L96 365.7 96 64c0-17.7 14.3-32 32-32s32 14.3 32 32l0 301.7 32.4-35.4c11.9-13 32.2-13.9 45.2-2s13.9 32.2 2 45.2l-88 96zM320 32l32 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-32 0c-17.7 0-32-14.3-32-32s14.3-32 32-32zm0 128l96 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-96 0c-17.7 0-32-14.3-32-32s14.3-32 32-32zm0 128l160 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-160 0c-17.7 0-32-14.3-32-32s14.3-32 32-32zm0 128l224 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-224 0c-17.7 0-32-14.3-32-32s14.3-32 32-32z\"]\n};\nconst faSortAmountDesc = faArrowDownShortWide;\nconst faSortAmountDownAlt = faArrowDownShortWide;\nconst faLessThan = {\n prefix: 'fas',\n iconName: 'less-than',\n icon: [384, 512, [62774], \"3c\", \"M380.6 81.7c7.9 15.8 1.5 35-14.3 42.9L103.6 256 366.3 387.4c15.8 7.9 22.2 27.1 14.3 42.9s-27.1 22.2-42.9 14.3l-320-160C6.8 279.2 0 268.1 0 256s6.8-23.2 17.7-28.6l320-160c15.8-7.9 35-1.5 42.9 14.3z\"]\n};\nconst faAngleDown = {\n prefix: 'fas',\n iconName: 'angle-down',\n icon: [448, 512, [8964], \"f107\", \"M201.4 374.6c12.5 12.5 32.8 12.5 45.3 0l160-160c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L224 306.7 86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l160 160z\"]\n};\nconst faCarTunnel = {\n prefix: 'fas',\n iconName: 'car-tunnel',\n icon: [512, 512, [], \"e4de\", \"M256 0C114.6 0 0 114.6 0 256L0 448c0 35.3 28.7 64 64 64l42.8 0c-6.6-5.9-10.8-14.4-10.8-24l0-112c0-20.8 11.3-38.9 28.1-48.6l21-64.7c7.5-23.1 29-38.7 53.3-38.7l115.2 0c24.3 0 45.8 15.6 53.3 38.7l21 64.7c16.8 9.7 28.2 27.8 28.2 48.6l0 112c0 9.6-4.2 18.1-10.8 24l42.8 0c35.3 0 64-28.7 64-64l0-192C512 114.6 397.4 0 256 0zM362.8 512c-6.6-5.9-10.8-14.4-10.8-24l0-40-192 0 0 40c0 9.6-4.2 18.1-10.8 24l213.7 0zM190.8 277.5L177 320l158 0-13.8-42.5c-1.1-3.3-4.1-5.5-7.6-5.5l-115.2 0c-3.5 0-6.5 2.2-7.6 5.5zM168 408a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm200-24a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nconst faHeadSideCough = {\n prefix: 'fas',\n iconName: 'head-side-cough',\n icon: [640, 512, [], \"e061\", \"M0 224.2C0 100.6 100.2 0 224 0l24 0c95.2 0 181.2 69.3 197.3 160.2c2.3 13 6.8 25.7 15.1 36l42 52.6c6.2 7.8 9.6 17.4 9.6 27.4c0 24.2-19.6 43.8-43.8 43.8L448 320s0 0 0 0l0 32L339.2 365.6c-11 1.4-19.2 10.7-19.2 21.8c0 11.6 9 21.2 20.6 21.9L448 416l0 16c0 26.5-21.5 48-48 48l-80 0 0 8c0 13.3-10.7 24-24 24l-40 0s0 0 0 0L96 512c-17.7 0-32-14.3-32-32l0-72.7c0-16.7-6.9-32.5-17.1-45.8C16.6 322.4 0 274.1 0 224.2zm352-.2a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM464 384a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm152-24a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM592 480a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM552 312a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm40-24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM552 408a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nconst faGripLines = {\n prefix: 'fas',\n iconName: 'grip-lines',\n icon: [448, 512, [], \"f7a4\", \"M32 288c-17.7 0-32 14.3-32 32s14.3 32 32 32l384 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L32 288zm0-128c-17.7 0-32 14.3-32 32s14.3 32 32 32l384 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L32 160z\"]\n};\nconst faThumbsDown = {\n prefix: 'fas',\n iconName: 'thumbs-down',\n icon: [512, 512, [128078, 61576], \"f165\", \"M313.4 479.1c26-5.2 42.9-30.5 37.7-56.5l-2.3-11.4c-5.3-26.7-15.1-52.1-28.8-75.2l144 0c26.5 0 48-21.5 48-48c0-18.5-10.5-34.6-25.9-42.6C497 236.6 504 223.1 504 208c0-23.4-16.8-42.9-38.9-47.1c4.4-7.3 6.9-15.8 6.9-24.9c0-21.3-13.9-39.4-33.1-45.6c.7-3.3 1.1-6.8 1.1-10.4c0-26.5-21.5-48-48-48l-97.5 0c-19 0-37.5 5.6-53.3 16.1L202.7 73.8C176 91.6 160 121.6 160 153.7l0 38.3 0 48 0 24.9c0 29.2 13.3 56.7 36 75l7.4 5.9c26.5 21.2 44.6 51 51.2 84.2l2.3 11.4c5.2 26 30.5 42.9 56.5 37.7zM32 384l64 0c17.7 0 32-14.3 32-32l0-224c0-17.7-14.3-32-32-32L32 96C14.3 96 0 110.3 0 128L0 352c0 17.7 14.3 32 32 32z\"]\n};\nconst faUserLock = {\n prefix: 'fas',\n iconName: 'user-lock',\n icon: [640, 512, [], \"f502\", \"M224 256A128 128 0 1 0 224 0a128 128 0 1 0 0 256zm-45.7 48C79.8 304 0 383.8 0 482.3C0 498.7 13.3 512 29.7 512l362.8 0c-5.4-9.4-8.6-20.3-8.6-32l0-128c0-2.1 .1-4.2 .3-6.3c-31-26-71-41.7-114.6-41.7l-91.4 0zM528 240c17.7 0 32 14.3 32 32l0 48-64 0 0-48c0-17.7 14.3-32 32-32zm-80 32l0 48c-17.7 0-32 14.3-32 32l0 128c0 17.7 14.3 32 32 32l160 0c17.7 0 32-14.3 32-32l0-128c0-17.7-14.3-32-32-32l0-48c0-44.2-35.8-80-80-80s-80 35.8-80 80z\"]\n};\nconst faArrowRightLong = {\n prefix: 'fas',\n iconName: 'arrow-right-long',\n icon: [512, 512, [\"long-arrow-right\"], \"f178\", \"M502.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-128-128c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L402.7 224 32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l370.7 0-73.4 73.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l128-128z\"]\n};\nconst faLongArrowRight = faArrowRightLong;\nconst faAnchorCircleXmark = {\n prefix: 'fas',\n iconName: 'anchor-circle-xmark',\n icon: [640, 512, [], \"e4ac\", \"M320 96a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zm21.1 80C367 158.8 384 129.4 384 96c0-53-43-96-96-96s-96 43-96 96c0 33.4 17 62.8 42.9 80L224 176c-17.7 0-32 14.3-32 32s14.3 32 32 32l32 0 0 208-48 0c-53 0-96-43-96-96l0-6.1 7 7c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L97 263c-9.4-9.4-24.6-9.4-33.9 0L7 319c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l7-7 0 6.1c0 88.4 71.6 160 160 160l80 0 80 0c8.2 0 16.3-.6 24.2-1.8c-22.2-16.2-40.4-37.5-53-62.2L320 448l0-80 0-128 32 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-10.9 0zM496 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm59.3-180.7L518.6 368l36.7 36.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L496 390.6l-36.7 36.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L473.4 368l-36.7-36.7c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L496 345.4l36.7-36.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z\"]\n};\nconst faEllipsis = {\n prefix: 'fas',\n iconName: 'ellipsis',\n icon: [448, 512, [\"ellipsis-h\"], \"f141\", \"M8 256a56 56 0 1 1 112 0A56 56 0 1 1 8 256zm160 0a56 56 0 1 1 112 0 56 56 0 1 1 -112 0zm216-56a56 56 0 1 1 0 112 56 56 0 1 1 0-112z\"]\n};\nconst faEllipsisH = faEllipsis;\nconst faChessPawn = {\n prefix: 'fas',\n iconName: 'chess-pawn',\n icon: [320, 512, [9823], \"f443\", \"M215.5 224c29.2-18.4 48.5-50.9 48.5-88c0-57.4-46.6-104-104-104S56 78.6 56 136c0 37.1 19.4 69.6 48.5 88L96 224c-17.7 0-32 14.3-32 32c0 16.5 12.5 30 28.5 31.8L80 400l160 0L227.5 287.8c16-1.8 28.5-15.3 28.5-31.8c0-17.7-14.3-32-32-32l-8.5 0zM22.6 473.4c-4.2 4.2-6.6 10-6.6 16C16 501.9 26.1 512 38.6 512l242.7 0c12.5 0 22.6-10.1 22.6-22.6c0-6-2.4-11.8-6.6-16L256 432 64 432 22.6 473.4z\"]\n};\nconst faKitMedical = {\n prefix: 'fas',\n iconName: 'kit-medical',\n icon: [576, 512, [\"first-aid\"], \"f479\", \"M64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l32 0L96 32 64 32zm64 0l0 448 320 0 0-448L128 32zM512 480c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64l-32 0 0 448 32 0zM256 176c0-8.8 7.2-16 16-16l32 0c8.8 0 16 7.2 16 16l0 48 48 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-48 0 0 48c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-48-48 0c-8.8 0-16-7.2-16-16l0-32c0-8.8 7.2-16 16-16l48 0 0-48z\"]\n};\nconst faFirstAid = faKitMedical;\nconst faPersonThroughWindow = {\n prefix: 'fas',\n iconName: 'person-through-window',\n icon: [640, 512, [], \"e5a9\", \"M64 64l224 0 0 9.8c0 39-23.7 74-59.9 88.4C167.6 186.5 128 245 128 310.2l0 73.8s0 0 0 0l-64 0L64 64zm288 0l224 0 0 320-67.7 0-3.7-4.5-75.2-90.2c-9.1-10.9-22.6-17.3-36.9-17.3l-71.1 0-41-63.1c-.3-.5-.6-1-1-1.4c44.7-29 72.5-79 72.5-133.6l0-9.8zm73 320l-45.8 0 42.7 64L592 448c26.5 0 48-21.5 48-48l0-352c0-26.5-21.5-48-48-48L48 0C21.5 0 0 21.5 0 48L0 400c0 26.5 21.5 48 48 48l260.2 0 33.2 49.8c9.8 14.7 29.7 18.7 44.4 8.9s18.7-29.7 8.9-44.4L310.5 336l74.6 0 40 48zm-159.5 0L192 384s0 0 0 0l0-73.8c0-10.2 1.6-20.1 4.7-29.5L265.5 384zM192 128a48 48 0 1 0 -96 0 48 48 0 1 0 96 0z\"]\n};\nconst faToolbox = {\n prefix: 'fas',\n iconName: 'toolbox',\n icon: [512, 512, [129520], \"f552\", \"M176 88l0 40 160 0 0-40c0-4.4-3.6-8-8-8L184 80c-4.4 0-8 3.6-8 8zm-48 40l0-40c0-30.9 25.1-56 56-56l144 0c30.9 0 56 25.1 56 56l0 40 28.1 0c12.7 0 24.9 5.1 33.9 14.1l51.9 51.9c9 9 14.1 21.2 14.1 33.9l0 92.1-128 0 0-32c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 32-128 0 0-32c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 32L0 320l0-92.1c0-12.7 5.1-24.9 14.1-33.9l51.9-51.9c9-9 21.2-14.1 33.9-14.1l28.1 0zM0 416l0-64 128 0c0 17.7 14.3 32 32 32s32-14.3 32-32l128 0c0 17.7 14.3 32 32 32s32-14.3 32-32l128 0 0 64c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64z\"]\n};\nconst faHandsHoldingCircle = {\n prefix: 'fas',\n iconName: 'hands-holding-circle',\n icon: [640, 512, [], \"e4fb\", \"M320 0a128 128 0 1 1 0 256A128 128 0 1 1 320 0zM40 64c22.1 0 40 17.9 40 40l0 40 0 80 0 40.2c0 17 6.7 33.3 18.7 45.3l51.1 51.1c8.3 8.3 21.3 9.6 31 3.1c12.9-8.6 14.7-26.9 3.7-37.8l-15.2-15.2-32-32c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l32 32 15.2 15.2c0 0 0 0 0 0l25.3 25.3c21 21 32.8 49.5 32.8 79.2l0 78.9c0 26.5-21.5 48-48 48l-66.7 0c-17 0-33.3-6.7-45.3-18.7L28.1 393.4C10.1 375.4 0 351 0 325.5L0 224l0-64 0-56C0 81.9 17.9 64 40 64zm560 0c22.1 0 40 17.9 40 40l0 56 0 64 0 101.5c0 25.5-10.1 49.9-28.1 67.9L512 493.3c-12 12-28.3 18.7-45.3 18.7L400 512c-26.5 0-48-21.5-48-48l0-78.9c0-29.7 11.8-58.2 32.8-79.2l25.3-25.3c0 0 0 0 0 0l15.2-15.2 32-32c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3l-32 32-15.2 15.2c-11 11-9.2 29.2 3.7 37.8c9.7 6.5 22.7 5.2 31-3.1l51.1-51.1c12-12 18.7-28.3 18.7-45.3l0-40.2 0-80 0-40c0-22.1 17.9-40 40-40z\"]\n};\nconst faBug = {\n prefix: 'fas',\n iconName: 'bug',\n icon: [512, 512, [], \"f188\", \"M256 0c53 0 96 43 96 96l0 3.6c0 15.7-12.7 28.4-28.4 28.4l-135.1 0c-15.7 0-28.4-12.7-28.4-28.4l0-3.6c0-53 43-96 96-96zM41.4 105.4c12.5-12.5 32.8-12.5 45.3 0l64 64c.7 .7 1.3 1.4 1.9 2.1c14.2-7.3 30.4-11.4 47.5-11.4l112 0c17.1 0 33.2 4.1 47.5 11.4c.6-.7 1.2-1.4 1.9-2.1l64-64c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3l-64 64c-.7 .7-1.4 1.3-2.1 1.9c6.2 12 10.1 25.3 11.1 39.5l64.3 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0c0 24.6-5.5 47.8-15.4 68.6c2.2 1.3 4.2 2.9 6 4.8l64 64c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0l-63.1-63.1c-24.5 21.8-55.8 36.2-90.3 39.6L272 240c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 239.2c-34.5-3.4-65.8-17.8-90.3-39.6L86.6 502.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l64-64c1.9-1.9 3.9-3.4 6-4.8C101.5 367.8 96 344.6 96 320l-64 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l64.3 0c1.1-14.1 5-27.5 11.1-39.5c-.7-.6-1.4-1.2-2.1-1.9l-64-64c-12.5-12.5-12.5-32.8 0-45.3z\"]\n};\nconst faCreditCard = {\n prefix: 'fas',\n iconName: 'credit-card',\n icon: [576, 512, [128179, 62083, \"credit-card-alt\"], \"f09d\", \"M64 32C28.7 32 0 60.7 0 96l0 32 576 0 0-32c0-35.3-28.7-64-64-64L64 32zM576 224L0 224 0 416c0 35.3 28.7 64 64 64l448 0c35.3 0 64-28.7 64-64l0-192zM112 352l64 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-64 0c-8.8 0-16-7.2-16-16s7.2-16 16-16zm112 16c0-8.8 7.2-16 16-16l128 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-128 0c-8.8 0-16-7.2-16-16z\"]\n};\nconst faCreditCardAlt = faCreditCard;\nconst faCar = {\n prefix: 'fas',\n iconName: 'car',\n icon: [512, 512, [128664, \"automobile\"], \"f1b9\", \"M135.2 117.4L109.1 192l293.8 0-26.1-74.6C372.3 104.6 360.2 96 346.6 96L165.4 96c-13.6 0-25.7 8.6-30.2 21.4zM39.6 196.8L74.8 96.3C88.3 57.8 124.6 32 165.4 32l181.2 0c40.8 0 77.1 25.8 90.6 64.3l35.2 100.5c23.2 9.6 39.6 32.5 39.6 59.2l0 144 0 48c0 17.7-14.3 32-32 32l-32 0c-17.7 0-32-14.3-32-32l0-48L96 400l0 48c0 17.7-14.3 32-32 32l-32 0c-17.7 0-32-14.3-32-32l0-48L0 256c0-26.7 16.4-49.6 39.6-59.2zM128 288a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm288 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nconst faAutomobile = faCar;\nconst faHandHoldingHand = {\n prefix: 'fas',\n iconName: 'hand-holding-hand',\n icon: [576, 512, [], \"e4f7\", \"M7.8 207.7c-13.1-17.8-9.3-42.8 8.5-55.9L142.9 58.5C166.2 41.3 194.5 32 223.5 32L384 32l160 0c17.7 0 32 14.3 32 32l0 64c0 17.7-14.3 32-32 32l-36.8 0-44.9 36c-22.7 18.2-50.9 28-80 28L304 224l-16 0-64 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l64 0 16 0c8.8 0 16-7.2 16-16s-7.2-16-16-16l-120.6 0L63.7 216.2c-17.8 13.1-42.8 9.3-55.9-8.5zM382.4 160c0 0 0 0 0 0l.9 0c-.3 0-.6 0-.9 0zM568.2 304.3c13.1 17.8 9.3 42.8-8.5 55.9L433.1 453.5c-23.4 17.2-51.6 26.5-80.7 26.5L192 480 32 480c-17.7 0-32-14.3-32-32l0-64c0-17.7 14.3-32 32-32l36.8 0 44.9-36c22.7-18.2 50.9-28 80-28l78.3 0 16 0 64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0-16 0c-8.8 0-16 7.2-16 16s7.2 16 16 16l120.6 0 119.7-88.2c17.8-13.1 42.8-9.3 55.9 8.5zM193.6 352c0 0 0 0 0 0l-.9 0c.3 0 .6 0 .9 0z\"]\n};\nconst faBookOpenReader = {\n prefix: 'fas',\n iconName: 'book-open-reader',\n icon: [512, 512, [\"book-reader\"], \"f5da\", \"M160 96a96 96 0 1 1 192 0A96 96 0 1 1 160 96zm80 152l0 264-48.4-24.2c-20.9-10.4-43.5-17-66.8-19.3l-96-9.6C12.5 457.2 0 443.5 0 427L0 224c0-17.7 14.3-32 32-32l30.3 0c63.6 0 125.6 19.6 177.7 56zm32 264l0-264c52.1-36.4 114.1-56 177.7-56l30.3 0c17.7 0 32 14.3 32 32l0 203c0 16.4-12.5 30.2-28.8 31.8l-96 9.6c-23.2 2.3-45.9 8.9-66.8 19.3L272 512z\"]\n};\nconst faBookReader = faBookOpenReader;\nconst faMountainSun = {\n prefix: 'fas',\n iconName: 'mountain-sun',\n icon: [640, 512, [], \"e52f\", \"M560 160A80 80 0 1 0 560 0a80 80 0 1 0 0 160zM55.9 512l325.2 0 75 0 122.8 0c33.8 0 61.1-27.4 61.1-61.1c0-11.2-3.1-22.2-8.9-31.8l-132-216.3C495 196.1 487.8 192 480 192s-15 4.1-19.1 10.7l-48.2 79L286.8 81c-6.6-10.6-18.3-17-30.8-17s-24.1 6.4-30.8 17L8.6 426.4C3 435.3 0 445.6 0 456.1C0 487 25 512 55.9 512z\"]\n};\nconst faArrowsLeftRightToLine = {\n prefix: 'fas',\n iconName: 'arrows-left-right-to-line',\n icon: [640, 512, [], \"e4ba\", \"M32 64c17.7 0 32 14.3 32 32l0 320c0 17.7-14.3 32-32 32s-32-14.3-32-32L0 96C0 78.3 14.3 64 32 64zm214.6 73.4c12.5 12.5 12.5 32.8 0 45.3L205.3 224l229.5 0-41.4-41.4c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l96 96c12.5 12.5 12.5 32.8 0 45.3l-96 96c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L434.7 288l-229.5 0 41.4 41.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0l-96-96c-12.5-12.5-12.5-32.8 0-45.3l96-96c12.5-12.5 32.8-12.5 45.3 0zM640 96l0 320c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-320c0-17.7 14.3-32 32-32s32 14.3 32 32z\"]\n};\nconst faDiceD20 = {\n prefix: 'fas',\n iconName: 'dice-d20',\n icon: [512, 512, [], \"f6cf\", \"M48.7 125.8l53.2 31.9c7.8 4.7 17.8 2 22.2-5.9L201.6 12.1c3-5.4-.9-12.1-7.1-12.1c-1.6 0-3.2 .5-4.6 1.4L47.9 98.8c-9.6 6.6-9.2 20.9 .8 26.9zM16 171.7l0 123.5c0 8 10.4 11 14.7 4.4l60-92c5-7.6 2.6-17.8-5.2-22.5L40.2 158C29.6 151.6 16 159.3 16 171.7zM310.4 12.1l77.6 139.6c4.4 7.9 14.5 10.6 22.2 5.9l53.2-31.9c10-6 10.4-20.3 .8-26.9L322.1 1.4c-1.4-.9-3-1.4-4.6-1.4c-6.2 0-10.1 6.7-7.1 12.1zM496 171.7c0-12.4-13.6-20.1-24.2-13.7l-45.3 27.2c-7.8 4.7-10.1 14.9-5.2 22.5l60 92c4.3 6.7 14.7 3.6 14.7-4.4l0-123.5zm-49.3 246L286.1 436.6c-8.1 .9-14.1 7.8-14.1 15.9l0 52.8c0 3.7 3 6.8 6.8 6.8c.8 0 1.6-.1 2.4-.4l172.7-64c6.1-2.2 10.1-8 10.1-14.5c0-9.3-8.1-16.5-17.3-15.4zM233.2 512c3.7 0 6.8-3 6.8-6.8l0-52.6c0-8.1-6.1-14.9-14.1-15.9l-160.6-19c-9.2-1.1-17.3 6.1-17.3 15.4c0 6.5 4 12.3 10.1 14.5l172.7 64c.8 .3 1.6 .4 2.4 .4zM41.7 382.9l170.9 20.2c7.8 .9 13.4-7.5 9.5-14.3l-85.7-150c-5.9-10.4-20.7-10.8-27.3-.8L30.2 358.2c-6.5 9.9-.3 23.3 11.5 24.7zm439.6-24.8L402.9 238.1c-6.5-10-21.4-9.6-27.3 .8L290.2 388.5c-3.9 6.8 1.6 15.2 9.5 14.3l170.1-20c11.8-1.4 18-14.7 11.5-24.6zm-216.9 11l78.4-137.2c6.1-10.7-1.6-23.9-13.9-23.9l-145.7 0c-12.3 0-20 13.3-13.9 23.9l78.4 137.2c3.7 6.4 13 6.4 16.7 0zM174.4 176l163.2 0c12.2 0 19.9-13.1 14-23.8l-80-144c-2.8-5.1-8.2-8.2-14-8.2l-3.2 0c-5.8 0-11.2 3.2-14 8.2l-80 144c-5.9 10.7 1.8 23.8 14 23.8z\"]\n};\nconst faTruckDroplet = {\n prefix: 'fas',\n iconName: 'truck-droplet',\n icon: [640, 512, [], \"e58c\", \"M0 48C0 21.5 21.5 0 48 0L368 0c26.5 0 48 21.5 48 48l0 48 50.7 0c17 0 33.3 6.7 45.3 18.7L589.3 192c12 12 18.7 28.3 18.7 45.3l0 18.7 0 32 0 64c17.7 0 32 14.3 32 32s-14.3 32-32 32l-32 0c0 53-43 96-96 96s-96-43-96-96l-128 0c0 53-43 96-96 96s-96-43-96-96l-16 0c-26.5 0-48-21.5-48-48L0 48zM416 256l128 0 0-18.7L466.7 160 416 160l0 96zM160 464a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm368-48a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM208 272c39.8 0 72-29.6 72-66c0-27-39.4-82.9-59.9-110.3c-6.1-8.2-18.1-8.2-24.2 0C175.4 123 136 179 136 206c0 36.5 32.2 66 72 66z\"]\n};\nconst faFileCircleXmark = {\n prefix: 'fas',\n iconName: 'file-circle-xmark',\n icon: [576, 512, [], \"e5a1\", \"M0 64C0 28.7 28.7 0 64 0L224 0l0 128c0 17.7 14.3 32 32 32l128 0 0 38.6C310.1 219.5 256 287.4 256 368c0 59.1 29.1 111.3 73.7 143.3c-3.2 .5-6.4 .7-9.7 .7L64 512c-35.3 0-64-28.7-64-64L0 64zm384 64l-128 0L256 0 384 128zm48 96a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm59.3 107.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L432 345.4l-36.7-36.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L409.4 368l-36.7 36.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L432 390.6l36.7 36.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L454.6 368l36.7-36.7z\"]\n};\nconst faTemperatureArrowUp = {\n prefix: 'fas',\n iconName: 'temperature-arrow-up',\n icon: [576, 512, [\"temperature-up\"], \"e040\", \"M128 112c0-26.5 21.5-48 48-48s48 21.5 48 48l0 164.5c0 17.3 7.1 31.9 15.3 42.5C249.8 332.6 256 349.5 256 368c0 44.2-35.8 80-80 80s-80-35.8-80-80c0-18.5 6.2-35.4 16.7-48.9c8.2-10.6 15.3-25.2 15.3-42.5L128 112zM176 0C114.1 0 64 50.1 64 112l0 164.4c0 .1-.1 .3-.2 .6c-.2 .6-.8 1.6-1.7 2.8C43.2 304.2 32 334.8 32 368c0 79.5 64.5 144 144 144s144-64.5 144-144c0-33.2-11.2-63.8-30.1-88.1c-.9-1.2-1.5-2.2-1.7-2.8c-.1-.3-.2-.5-.2-.6L288 112C288 50.1 237.9 0 176 0zm0 416c26.5 0 48-21.5 48-48c0-20.9-13.4-38.7-32-45.3L192 112c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 210.7c-18.6 6.6-32 24.4-32 45.3c0 26.5 21.5 48 48 48zM480 160l32 0c12.9 0 24.6-7.8 29.6-19.8s2.2-25.7-6.9-34.9l-64-64c-12.5-12.5-32.8-12.5-45.3 0l-64 64c-9.2 9.2-11.9 22.9-6.9 34.9s16.6 19.8 29.6 19.8l32 0 0 288c0 17.7 14.3 32 32 32s32-14.3 32-32l0-288z\"]\n};\nconst faTemperatureUp = faTemperatureArrowUp;\nconst faMedal = {\n prefix: 'fas',\n iconName: 'medal',\n icon: [512, 512, [127941], \"f5a2\", \"M4.1 38.2C1.4 34.2 0 29.4 0 24.6C0 11 11 0 24.6 0L133.9 0c11.2 0 21.7 5.9 27.4 15.5l68.5 114.1c-48.2 6.1-91.3 28.6-123.4 61.9L4.1 38.2zm503.7 0L405.6 191.5c-32.1-33.3-75.2-55.8-123.4-61.9L350.7 15.5C356.5 5.9 366.9 0 378.1 0L487.4 0C501 0 512 11 512 24.6c0 4.8-1.4 9.6-4.1 13.6zM80 336a176 176 0 1 1 352 0A176 176 0 1 1 80 336zm184.4-94.9c-3.4-7-13.3-7-16.8 0l-22.4 45.4c-1.4 2.8-4 4.7-7 5.1L168 298.9c-7.7 1.1-10.7 10.5-5.2 16l36.3 35.4c2.2 2.2 3.2 5.2 2.7 8.3l-8.6 49.9c-1.3 7.6 6.7 13.5 13.6 9.9l44.8-23.6c2.7-1.4 6-1.4 8.7 0l44.8 23.6c6.9 3.6 14.9-2.2 13.6-9.9l-8.6-49.9c-.5-3 .5-6.1 2.7-8.3l36.3-35.4c5.6-5.4 2.5-14.8-5.2-16l-50.1-7.3c-3-.4-5.7-2.4-7-5.1l-22.4-45.4z\"]\n};\nconst faBed = {\n prefix: 'fas',\n iconName: 'bed',\n icon: [640, 512, [128716], \"f236\", \"M32 32c17.7 0 32 14.3 32 32l0 256 224 0 0-160c0-17.7 14.3-32 32-32l224 0c53 0 96 43 96 96l0 224c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-32-224 0-32 0L64 416l0 32c0 17.7-14.3 32-32 32s-32-14.3-32-32L0 64C0 46.3 14.3 32 32 32zm144 96a80 80 0 1 1 0 160 80 80 0 1 1 0-160z\"]\n};\nconst faSquareH = {\n prefix: 'fas',\n iconName: 'square-h',\n icon: [448, 512, [\"h-square\"], \"f0fd\", \"M64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32zM336 152l0 104 0 104c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-80-128 0 0 80c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-208c0-13.3 10.7-24 24-24s24 10.7 24 24l0 80 128 0 0-80c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nconst faHSquare = faSquareH;\nconst faPodcast = {\n prefix: 'fas',\n iconName: 'podcast',\n icon: [448, 512, [], \"f2ce\", \"M319.4 372c48.5-31.3 80.6-85.9 80.6-148c0-97.2-78.8-176-176-176S48 126.8 48 224c0 62.1 32.1 116.6 80.6 148c1.2 17.3 4 38 7.2 57.1l.2 1C56 395.8 0 316.5 0 224C0 100.3 100.3 0 224 0S448 100.3 448 224c0 92.5-56 171.9-136 206.1l.2-1.1c3.1-19.2 6-39.8 7.2-57zm-2.3-38.1c-1.6-5.7-3.9-11.1-7-16.2c-5.8-9.7-13.5-17-21.9-22.4c19.5-17.6 31.8-43 31.8-71.3c0-53-43-96-96-96s-96 43-96 96c0 28.3 12.3 53.8 31.8 71.3c-8.4 5.4-16.1 12.7-21.9 22.4c-3.1 5.1-5.4 10.5-7 16.2C99.8 307.5 80 268 80 224c0-79.5 64.5-144 144-144s144 64.5 144 144c0 44-19.8 83.5-50.9 109.9zM224 312c32.9 0 64 8.6 64 43.8c0 33-12.9 104.1-20.6 132.9c-5.1 19-24.5 23.4-43.4 23.4s-38.2-4.4-43.4-23.4c-7.8-28.5-20.6-99.7-20.6-132.8c0-35.1 31.1-43.8 64-43.8zm0-144a56 56 0 1 1 0 112 56 56 0 1 1 0-112z\"]\n};\nconst faTemperatureFull = {\n prefix: 'fas',\n iconName: 'temperature-full',\n icon: [320, 512, [\"temperature-4\", \"thermometer-4\", \"thermometer-full\"], \"f2c7\", \"M160 64c-26.5 0-48 21.5-48 48l0 164.5c0 17.3-7.1 31.9-15.3 42.5C86.2 332.6 80 349.5 80 368c0 44.2 35.8 80 80 80s80-35.8 80-80c0-18.5-6.2-35.4-16.7-48.9c-8.2-10.6-15.3-25.2-15.3-42.5L208 112c0-26.5-21.5-48-48-48zM48 112C48 50.2 98.1 0 160 0s112 50.1 112 112l0 164.4c0 .1 .1 .3 .2 .6c.2 .6 .8 1.6 1.7 2.8c18.9 24.4 30.1 55 30.1 88.1c0 79.5-64.5 144-144 144S16 447.5 16 368c0-33.2 11.2-63.8 30.1-88.1c.9-1.2 1.5-2.2 1.7-2.8c.1-.3 .2-.5 .2-.6L48 112zM208 368c0 26.5-21.5 48-48 48s-48-21.5-48-48c0-20.9 13.4-38.7 32-45.3L144 112c0-8.8 7.2-16 16-16s16 7.2 16 16l0 210.7c18.6 6.6 32 24.4 32 45.3z\"]\n};\nconst faTemperature4 = faTemperatureFull;\nconst faThermometer4 = faTemperatureFull;\nconst faThermometerFull = faTemperatureFull;\nconst faBell = {\n prefix: 'fas',\n iconName: 'bell',\n icon: [448, 512, [128276, 61602], \"f0f3\", \"M224 0c-17.7 0-32 14.3-32 32l0 19.2C119 66 64 130.6 64 208l0 18.8c0 47-17.3 92.4-48.5 127.6l-7.4 8.3c-8.4 9.4-10.4 22.9-5.3 34.4S19.4 416 32 416l384 0c12.6 0 24-7.4 29.2-18.9s3.1-25-5.3-34.4l-7.4-8.3C401.3 319.2 384 273.9 384 226.8l0-18.8c0-77.4-55-142-128-156.8L256 32c0-17.7-14.3-32-32-32zm45.3 493.3c12-12 18.7-28.3 18.7-45.3l-64 0-64 0c0 17 6.7 33.3 18.7 45.3s28.3 18.7 45.3 18.7s33.3-6.7 45.3-18.7z\"]\n};\nconst faSuperscript = {\n prefix: 'fas',\n iconName: 'superscript',\n icon: [512, 512, [], \"f12b\", \"M480 32c0-11.1-5.7-21.4-15.2-27.2s-21.2-6.4-31.1-1.4l-32 16c-15.8 7.9-22.2 27.1-14.3 42.9C393 73.5 404.3 80 416 80l0 80c-17.7 0-32 14.3-32 32s14.3 32 32 32l32 0 32 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l0-128zM32 64C14.3 64 0 78.3 0 96s14.3 32 32 32l15.3 0 89.6 128L47.3 384 32 384c-17.7 0-32 14.3-32 32s14.3 32 32 32l32 0c10.4 0 20.2-5.1 26.2-13.6L176 311.8l85.8 122.6c6 8.6 15.8 13.6 26.2 13.6l32 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-15.3 0L215.1 256l89.6-128 15.3 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-32 0c-10.4 0-20.2 5.1-26.2 13.6L176 200.2 90.2 77.6C84.2 69.1 74.4 64 64 64L32 64z\"]\n};\nconst faPlugCircleXmark = {\n prefix: 'fas',\n iconName: 'plug-circle-xmark',\n icon: [576, 512, [], \"e560\", \"M96 0C78.3 0 64 14.3 64 32l0 96 64 0 0-96c0-17.7-14.3-32-32-32zM288 0c-17.7 0-32 14.3-32 32l0 96 64 0 0-96c0-17.7-14.3-32-32-32zM32 160c-17.7 0-32 14.3-32 32s14.3 32 32 32l0 32c0 77.4 55 142 128 156.8l0 67.2c0 17.7 14.3 32 32 32s32-14.3 32-32l0-67.2c12.3-2.5 24.1-6.4 35.1-11.5c-2.1-10.8-3.1-21.9-3.1-33.3c0-80.3 53.8-148 127.3-169.2c.5-2.2 .7-4.5 .7-6.8c0-17.7-14.3-32-32-32L32 160zM432 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm59.3-180.7L454.6 368l36.7 36.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L432 390.6l-36.7 36.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L409.4 368l-36.7-36.7c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L432 345.4l36.7-36.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z\"]\n};\nconst faStarOfLife = {\n prefix: 'fas',\n iconName: 'star-of-life',\n icon: [512, 512, [], \"f621\", \"M208 32c0-17.7 14.3-32 32-32l32 0c17.7 0 32 14.3 32 32l0 140.9 122-70.4c15.3-8.8 34.9-3.6 43.7 11.7l16 27.7c8.8 15.3 3.6 34.9-11.7 43.7L352 256l122 70.4c15.3 8.8 20.6 28.4 11.7 43.7l-16 27.7c-8.8 15.3-28.4 20.6-43.7 11.7L304 339.1 304 480c0 17.7-14.3 32-32 32l-32 0c-17.7 0-32-14.3-32-32l0-140.9L86 409.6c-15.3 8.8-34.9 3.6-43.7-11.7l-16-27.7c-8.8-15.3-3.6-34.9 11.7-43.7L160 256 38 185.6c-15.3-8.8-20.5-28.4-11.7-43.7l16-27.7C51.1 98.8 70.7 93.6 86 102.4l122 70.4L208 32z\"]\n};\nconst faPhoneSlash = {\n prefix: 'fas',\n iconName: 'phone-slash',\n icon: [640, 512, [], \"f3dd\", \"M228.9 24.6c-7.7-18.6-28-28.5-47.4-23.2l-88 24C76.1 30.2 64 46 64 64c0 107.4 37.8 206 100.8 283.1L9.2 469.1c-10.4 8.2-12.3 23.3-4.1 33.7s23.3 12.3 33.7 4.1l592-464c10.4-8.2 12.3-23.3 4.1-33.7s-23.3-12.3-33.7-4.1L253 278c-17.8-21.5-32.9-45.2-45-70.7L257.3 167c13.7-11.2 18.4-30 11.6-46.3l-40-96zm96.8 319l-91.3 72C310.7 476 407.1 512 512 512c18 0 33.8-12.1 38.6-29.5l24-88c5.3-19.4-4.6-39.7-23.2-47.4l-96-40c-16.3-6.8-35.2-2.1-46.3 11.6L368.7 368c-15-7.1-29.3-15.2-43-24.3z\"]\n};\nconst faPaintRoller = {\n prefix: 'fas',\n iconName: 'paint-roller',\n icon: [512, 512, [], \"f5aa\", \"M0 64C0 28.7 28.7 0 64 0L352 0c35.3 0 64 28.7 64 64l0 64c0 35.3-28.7 64-64 64L64 192c-35.3 0-64-28.7-64-64L0 64zM160 352c0-17.7 14.3-32 32-32l0-16c0-44.2 35.8-80 80-80l144 0c17.7 0 32-14.3 32-32l0-32 0-90.5c37.3 13.2 64 48.7 64 90.5l0 32c0 53-43 96-96 96l-144 0c-8.8 0-16 7.2-16 16l0 16c17.7 0 32 14.3 32 32l0 128c0 17.7-14.3 32-32 32l-64 0c-17.7 0-32-14.3-32-32l0-128z\"]\n};\nconst faHandshakeAngle = {\n prefix: 'fas',\n iconName: 'handshake-angle',\n icon: [640, 512, [\"hands-helping\"], \"f4c4\", \"M544 248l0 3.3 69.7-69.7c21.9-21.9 21.9-57.3 0-79.2L535.6 24.4c-21.9-21.9-57.3-21.9-79.2 0L416.3 64.5c-2.7-.3-5.5-.5-8.3-.5L296 64c-37.1 0-67.6 28-71.6 64l-.4 0 0 120c0 22.1 17.9 40 40 40s40-17.9 40-40l0-72c0 0 0-.1 0-.1l0-15.9 16 0 136 0c0 0 0 0 .1 0l7.9 0c44.2 0 80 35.8 80 80l0 8zM336 192l0 56c0 39.8-32.2 72-72 72s-72-32.2-72-72l0-118.6c-35.9 6.2-65.8 32.3-76 68.2L99.5 255.2 26.3 328.4c-21.9 21.9-21.9 57.3 0 79.2l78.1 78.1c21.9 21.9 57.3 21.9 79.2 0l37.7-37.7c.9 0 1.8 .1 2.7 .1l160 0c26.5 0 48-21.5 48-48c0-5.6-1-11-2.7-16l2.7 0c26.5 0 48-21.5 48-48c0-12.8-5-24.4-13.2-33c25.7-5 45.1-27.6 45.2-54.8l0-.4c-.1-30.8-25.1-55.8-56-55.8c0 0 0 0 0 0l-120 0z\"]\n};\nconst faHandsHelping = faHandshakeAngle;\nconst faLocationDot = {\n prefix: 'fas',\n iconName: 'location-dot',\n icon: [384, 512, [\"map-marker-alt\"], \"f3c5\", \"M215.7 499.2C267 435 384 279.4 384 192C384 86 298 0 192 0S0 86 0 192c0 87.4 117 243 168.3 307.2c12.3 15.3 35.1 15.3 47.4 0zM192 128a64 64 0 1 1 0 128 64 64 0 1 1 0-128z\"]\n};\nconst faMapMarkerAlt = faLocationDot;\nconst faFile = {\n prefix: 'fas',\n iconName: 'file',\n icon: [384, 512, [128196, 128459, 61462], \"f15b\", \"M0 64C0 28.7 28.7 0 64 0L224 0l0 128c0 17.7 14.3 32 32 32l128 0 0 288c0 35.3-28.7 64-64 64L64 512c-35.3 0-64-28.7-64-64L0 64zm384 64l-128 0L256 0 384 128z\"]\n};\nconst faGreaterThan = {\n prefix: 'fas',\n iconName: 'greater-than',\n icon: [384, 512, [62769], \"3e\", \"M3.4 81.7c-7.9 15.8-1.5 35 14.3 42.9L280.5 256 17.7 387.4C1.9 395.3-4.5 414.5 3.4 430.3s27.1 22.2 42.9 14.3l320-160c10.8-5.4 17.7-16.5 17.7-28.6s-6.8-23.2-17.7-28.6l-320-160c-15.8-7.9-35-1.5-42.9 14.3z\"]\n};\nconst faPersonSwimming = {\n prefix: 'fas',\n iconName: 'person-swimming',\n icon: [576, 512, [127946, \"swimmer\"], \"f5c4\", \"M309.5 178.4L447.9 297.1c-1.6 .9-3.2 2-4.8 3c-18 12.4-40.1 20.3-59.2 20.3c-19.6 0-40.8-7.7-59.2-20.3c-22.1-15.5-51.6-15.5-73.7 0c-17.1 11.8-38 20.3-59.2 20.3c-10.1 0-21.1-2.2-31.9-6.2C163.1 193.2 262.2 96 384 96l64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0c-26.9 0-52.3 6.6-74.5 18.4zM160 160A64 64 0 1 1 32 160a64 64 0 1 1 128 0zM306.5 325.9C329 341.4 356.5 352 384 352c26.9 0 55.4-10.8 77.4-26.1c0 0 0 0 0 0c11.9-8.5 28.1-7.8 39.2 1.7c14.4 11.9 32.5 21 50.6 25.2c17.2 4 27.9 21.2 23.9 38.4s-21.2 27.9-38.4 23.9c-24.5-5.7-44.9-16.5-58.2-25C449.5 405.7 417 416 384 416c-31.9 0-60.6-9.9-80.4-18.9c-5.8-2.7-11.1-5.3-15.6-7.7c-4.5 2.4-9.7 5.1-15.6 7.7c-19.8 9-48.5 18.9-80.4 18.9c-33 0-65.5-10.3-94.5-25.8c-13.4 8.4-33.7 19.3-58.2 25c-17.2 4-34.4-6.7-38.4-23.9s6.7-34.4 23.9-38.4c18.1-4.2 36.2-13.3 50.6-25.2c11.1-9.4 27.3-10.1 39.2-1.7c0 0 0 0 0 0C136.7 341.2 165.1 352 192 352c27.5 0 55-10.6 77.5-26.1c11.1-7.9 25.9-7.9 37 0z\"]\n};\nconst faSwimmer = faPersonSwimming;\nconst faArrowDown = {\n prefix: 'fas',\n iconName: 'arrow-down',\n icon: [384, 512, [8595], \"f063\", \"M169.4 470.6c12.5 12.5 32.8 12.5 45.3 0l160-160c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L224 370.8 224 64c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 306.7L54.6 265.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l160 160z\"]\n};\nconst faDroplet = {\n prefix: 'fas',\n iconName: 'droplet',\n icon: [384, 512, [128167, \"tint\"], \"f043\", \"M192 512C86 512 0 426 0 320C0 228.8 130.2 57.7 166.6 11.7C172.6 4.2 181.5 0 191.1 0l1.8 0c9.6 0 18.5 4.2 24.5 11.7C253.8 57.7 384 228.8 384 320c0 106-86 192-192 192zM96 336c0-8.8-7.2-16-16-16s-16 7.2-16 16c0 61.9 50.1 112 112 112c8.8 0 16-7.2 16-16s-7.2-16-16-16c-44.2 0-80-35.8-80-80z\"]\n};\nconst faTint = faDroplet;\nconst faEraser = {\n prefix: 'fas',\n iconName: 'eraser',\n icon: [576, 512, [], \"f12d\", \"M290.7 57.4L57.4 290.7c-25 25-25 65.5 0 90.5l80 80c12 12 28.3 18.7 45.3 18.7L288 480l9.4 0L512 480c17.7 0 32-14.3 32-32s-14.3-32-32-32l-124.1 0L518.6 285.3c25-25 25-65.5 0-90.5L381.3 57.4c-25-25-65.5-25-90.5 0zM297.4 416l-9.4 0-105.4 0-80-80L227.3 211.3 364.7 348.7 297.4 416z\"]\n};\nconst faEarthAmericas = {\n prefix: 'fas',\n iconName: 'earth-americas',\n icon: [512, 512, [127758, \"earth\", \"earth-america\", \"globe-americas\"], \"f57d\", \"M57.7 193l9.4 16.4c8.3 14.5 21.9 25.2 38 29.8L163 255.7c17.2 4.9 29 20.6 29 38.5l0 39.9c0 11 6.2 21 16 25.9s16 14.9 16 25.9l0 39c0 15.6 14.9 26.9 29.9 22.6c16.1-4.6 28.6-17.5 32.7-33.8l2.8-11.2c4.2-16.9 15.2-31.4 30.3-40l8.1-4.6c15-8.5 24.2-24.5 24.2-41.7l0-8.3c0-12.7-5.1-24.9-14.1-33.9l-3.9-3.9c-9-9-21.2-14.1-33.9-14.1L257 256c-11.1 0-22.1-2.9-31.8-8.4l-34.5-19.7c-4.3-2.5-7.6-6.5-9.2-11.2c-3.2-9.6 1.1-20 10.2-24.5l5.9-3c6.6-3.3 14.3-3.9 21.3-1.5l23.2 7.7c8.2 2.7 17.2-.4 21.9-7.5c4.7-7 4.2-16.3-1.2-22.8l-13.6-16.3c-10-12-9.9-29.5 .3-41.3l15.7-18.3c8.8-10.3 10.2-25 3.5-36.7l-2.4-4.2c-3.5-.2-6.9-.3-10.4-.3C163.1 48 84.4 108.9 57.7 193zM464 256c0-36.8-9.6-71.4-26.4-101.5L412 164.8c-15.7 6.3-23.8 23.8-18.5 39.8l16.9 50.7c3.5 10.4 12 18.3 22.6 20.9l29.1 7.3c1.2-9 1.8-18.2 1.8-27.5zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256z\"]\n};\nconst faEarth = faEarthAmericas;\nconst faEarthAmerica = faEarthAmericas;\nconst faGlobeAmericas = faEarthAmericas;\nconst faPersonBurst = {\n prefix: 'fas',\n iconName: 'person-burst',\n icon: [640, 512, [], \"e53b\", \"M480 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm-8 384l0-128 16 0 0 128c0 17.7 14.3 32 32 32s32-14.3 32-32l0-223.1 28.6 47.5c9.1 15.1 28.8 20 43.9 10.9s20-28.8 10.9-43.9l-58.3-97c-17.4-28.9-48.6-46.6-82.3-46.6l-29.7 0c-33.7 0-64.9 17.7-82.3 46.6l-58.3 97c-9.1 15.1-4.2 34.8 10.9 43.9s34.8 4.2 43.9-10.9L408 256.9 408 480c0 17.7 14.3 32 32 32s32-14.3 32-32zM190.9 18.1C188.4 12 182.6 8 176 8s-12.4 4-14.9 10.1l-29.4 74L55.6 68.9c-6.3-1.9-13.1 .2-17.2 5.3s-4.6 12.2-1.4 17.9l39.5 69.1L10.9 206.4c-5.4 3.7-8 10.3-6.5 16.7s6.7 11.2 13.1 12.2l78.7 12.2L90.6 327c-.5 6.5 3.1 12.7 9 15.5s12.9 1.8 17.8-2.6L176 286.1l58.6 53.9c4.8 4.4 11.9 5.5 17.8 2.6s9.5-9 9-15.5l-5.6-79.4 50.5-7.8 24.3-40.5-55.2-38L315 92.2c3.3-5.7 2.7-12.8-1.4-17.9s-10.9-7.2-17.2-5.3L220.3 92.1l-29.4-74z\"]\n};\nconst faDove = {\n prefix: 'fas',\n iconName: 'dove',\n icon: [512, 512, [128330], \"f4ba\", \"M160.8 96.5c14 17 31 30.9 49.5 42.2c25.9 15.8 53.7 25.9 77.7 31.6l0-31.5C265.8 108.5 250 71.5 248.6 28c-.4-11.3-7.5-21.5-18.4-24.4c-7.6-2-15.8-.2-21 5.8c-13.3 15.4-32.7 44.6-48.4 87.2zM320 144l0 30.6s0 0 0 0l0 1.3s0 0 0 0l0 32.1c-60.8-5.1-185-43.8-219.3-157.2C97.4 40 87.9 32 76.6 32c-7.9 0-15.3 3.9-18.8 11C46.8 65.9 32 112.1 32 176c0 116.9 80.1 180.5 118.4 202.8L11.8 416.6C6.7 418 2.6 421.8 .9 426.8s-.8 10.6 2.3 14.8C21.7 466.2 77.3 512 160 512c3.6 0 7.2-1.2 10-3.5L245.6 448l74.4 0c88.4 0 160-71.6 160-160l0-160 29.9-44.9c1.3-2 2.1-4.4 2.1-6.8c0-6.8-5.5-12.3-12.3-12.3L400 64c-44.2 0-80 35.8-80 80zm80-16a16 16 0 1 1 0 32 16 16 0 1 1 0-32z\"]\n};\nconst faBatteryEmpty = {\n prefix: 'fas',\n iconName: 'battery-empty',\n icon: [576, 512, [\"battery-0\"], \"f244\", \"M80 160c-8.8 0-16 7.2-16 16l0 160c0 8.8 7.2 16 16 16l384 0c8.8 0 16-7.2 16-16l0-160c0-8.8-7.2-16-16-16L80 160zM0 176c0-44.2 35.8-80 80-80l384 0c44.2 0 80 35.8 80 80l0 16c17.7 0 32 14.3 32 32l0 64c0 17.7-14.3 32-32 32l0 16c0 44.2-35.8 80-80 80L80 416c-44.2 0-80-35.8-80-80L0 176z\"]\n};\nconst faBattery0 = faBatteryEmpty;\nconst faSocks = {\n prefix: 'fas',\n iconName: 'socks',\n icon: [512, 512, [129510], \"f696\", \"M175.2 476.6c-9.7-18-15.2-38.7-15.2-60.6c0-40.3 19-78.2 51.2-102.4l64-48c8.1-6 12.8-15.5 12.8-25.6l0-144L128 96l0 144c0 20.1-9.5 39.1-25.6 51.2l-64 48C14.2 357.3 0 385.8 0 416c0 53 43 96 96 96c20.8 0 41-6.7 57.6-19.2l21.6-16.2zM128 64l160 0 0-16c0-14.5 3.9-28.2 10.7-39.9C291 3 281.9 0 272 0L176 0c-26.5 0-48 21.5-48 48l0 16zM320 96l0 144c0 20.1-9.5 39.1-25.6 51.2l-64 48C206.2 357.3 192 385.8 192 416c0 53 43 96 96 96c20.8 0 41-6.7 57.6-19.2l115.2-86.4C493 382.2 512 344.3 512 304l0-208L320 96zM512 64l0-16c0-26.5-21.5-48-48-48L368 0c-26.5 0-48 21.5-48 48l0 16 192 0z\"]\n};\nconst faInbox = {\n prefix: 'fas',\n iconName: 'inbox',\n icon: [512, 512, [], \"f01c\", \"M121 32C91.6 32 66 52 58.9 80.5L1.9 308.4C.6 313.5 0 318.7 0 323.9L0 416c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64l0-92.1c0-5.2-.6-10.4-1.9-15.5l-57-227.9C446 52 420.4 32 391 32L121 32zm0 64l270 0 48 192-51.2 0c-12.1 0-23.2 6.8-28.6 17.7l-14.3 28.6c-5.4 10.8-16.5 17.7-28.6 17.7l-120.4 0c-12.1 0-23.2-6.8-28.6-17.7l-14.3-28.6c-5.4-10.8-16.5-17.7-28.6-17.7L73 288 121 96z\"]\n};\nconst faSection = {\n prefix: 'fas',\n iconName: 'section',\n icon: [256, 512, [], \"e447\", \"M64.9 96C67.1 84.4 73.7 76.2 86 70.6c13.8-6.2 34.8-8.9 61.2-4.5c8.8 1.4 36.1 7.1 44.1 9.3c17 4.8 34.7-5.1 39.5-22.2s-5.1-34.7-22.2-39.5c-11.1-3.1-41-9.2-50.9-10.8C123-2.7 88.3-.6 59.7 12.3C29.9 25.8 7.5 50.9 1.6 86.5c-.1 .5-.2 1.1-.2 1.6c-2.2 19.7 .3 37.9 8.1 54.1c7.7 16.1 19.4 28 32 36.9c.6 .5 1.3 .9 2 1.4C22.3 194.2 6.5 215.1 1.7 243c-.1 .6-.2 1.1-.2 1.7c-2.3 19.3 .4 37.1 8.4 53c7.9 15.6 19.8 27 32.3 35.5c22.4 15.2 51.9 24 75.4 31c0 0 0 0 0 0l3.7 1.1c27.2 8.2 46.9 14.6 59.4 23.8c5.5 4 8.2 7.6 9.5 10.9c1.3 3.2 2.6 8.6 .9 18.1c-1.7 10.1-7.7 18-20.7 23.5c-14 6-35.4 8.5-62 4.4c-12.8-2.1-35.1-9.7-54.1-16.2c0 0 0 0 0 0c-4.3-1.5-8.5-2.9-12.3-4.2C25.3 420 7.2 429.1 1.6 445.8s3.5 34.9 20.3 40.5c2.6 .8 5.7 1.9 9.2 3.1c18.6 6.3 48.5 16.6 67.3 19.6c0 0 0 0 0 0l.2 0c34.5 5.4 68.8 3.4 97.2-8.7c29.4-12.6 52.5-36.5 58.5-71.5c3.3-19.3 1.9-37.4-5-53.9c-6.3-15-16.4-26.4-27.6-35.2c16.5-13.9 28.5-33.2 32.6-58.2c3.2-19.8 1.9-38.3-4.8-55.1c-6.7-16.8-17.8-29.4-30.2-39c-22.8-17.6-53.6-27.4-77.7-35l-1.4-.5c-27.4-8.7-47.8-15.3-61.5-25c-6.1-4.4-9.5-8.5-11.4-12.4c-1.8-3.7-3.2-9.3-2.3-18.5zm76.7 208.5l-.6-.2-1.4-.4c-27.4-8.2-47.9-14.5-61.7-23.8c-6.2-4.2-9.3-7.9-11-11.3c-1.5-3-2.9-7.7-2.1-15.7c1.9-9.7 7.9-17.3 20.5-22.7c14-6 35.4-8.5 62.1-4.3l16.4 2.6c6.3 2.9 11.7 6 16.2 9.5c5.5 4.2 8.4 8.2 10 12.2c1.6 4 2.8 10.4 1.1 20.9c-2.4 14.7-12.8 26.4-37.1 31l-12.4 2.3z\"]\n};\nconst faGaugeHigh = {\n prefix: 'fas',\n iconName: 'gauge-high',\n icon: [512, 512, [62461, \"tachometer-alt\", \"tachometer-alt-fast\"], \"f625\", \"M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM288 96a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM256 416c35.3 0 64-28.7 64-64c0-17.4-6.9-33.1-18.1-44.6L366 161.7c5.3-12.1-.2-26.3-12.3-31.6s-26.3 .2-31.6 12.3L257.9 288c-.6 0-1.3 0-1.9 0c-35.3 0-64 28.7-64 64s28.7 64 64 64zM176 144a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM96 288a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm352-32a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nconst faTachometerAlt = faGaugeHigh;\nconst faTachometerAltFast = faGaugeHigh;\nconst faEnvelopeOpenText = {\n prefix: 'fas',\n iconName: 'envelope-open-text',\n icon: [512, 512, [], \"f658\", \"M215.4 96L144 96l-36.2 0L96 96l0 8.8L96 144l0 40.4 0 89L.2 202.5c1.6-18.1 10.9-34.9 25.7-45.8L48 140.3 48 96c0-26.5 21.5-48 48-48l76.6 0 49.9-36.9C232.2 3.9 243.9 0 256 0s23.8 3.9 33.5 11L339.4 48 416 48c26.5 0 48 21.5 48 48l0 44.3 22.1 16.4c14.8 10.9 24.1 27.7 25.7 45.8L416 273.4l0-89 0-40.4 0-39.2 0-8.8-11.8 0L368 96l-71.4 0-81.3 0zM0 448L0 242.1 217.6 403.3c11.1 8.2 24.6 12.7 38.4 12.7s27.3-4.4 38.4-12.7L512 242.1 512 448s0 0 0 0c0 35.3-28.7 64-64 64L64 512c-35.3 0-64-28.7-64-64c0 0 0 0 0 0zM176 160l160 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-160 0c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 64l160 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-160 0c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nconst faHospital = {\n prefix: 'fas',\n iconName: 'hospital',\n icon: [640, 512, [127973, 62589, \"hospital-alt\", \"hospital-wide\"], \"f0f8\", \"M192 48c0-26.5 21.5-48 48-48L400 0c26.5 0 48 21.5 48 48l0 464-80 0 0-80c0-26.5-21.5-48-48-48s-48 21.5-48 48l0 80-80 0 0-464zM48 96l112 0 0 416L48 512c-26.5 0-48-21.5-48-48L0 320l80 0c8.8 0 16-7.2 16-16s-7.2-16-16-16L0 288l0-64 80 0c8.8 0 16-7.2 16-16s-7.2-16-16-16L0 192l0-48c0-26.5 21.5-48 48-48zm544 0c26.5 0 48 21.5 48 48l0 48-80 0c-8.8 0-16 7.2-16 16s7.2 16 16 16l80 0 0 64-80 0c-8.8 0-16 7.2-16 16s7.2 16 16 16l80 0 0 144c0 26.5-21.5 48-48 48l-112 0 0-416 112 0zM312 64c-8.8 0-16 7.2-16 16l0 24-24 0c-8.8 0-16 7.2-16 16l0 16c0 8.8 7.2 16 16 16l24 0 0 24c0 8.8 7.2 16 16 16l16 0c8.8 0 16-7.2 16-16l0-24 24 0c8.8 0 16-7.2 16-16l0-16c0-8.8-7.2-16-16-16l-24 0 0-24c0-8.8-7.2-16-16-16l-16 0z\"]\n};\nconst faHospitalAlt = faHospital;\nconst faHospitalWide = faHospital;\nconst faWineBottle = {\n prefix: 'fas',\n iconName: 'wine-bottle',\n icon: [512, 512, [], \"f72f\", \"M393.4 9.4c12.5-12.5 32.8-12.5 45.3 0l64 64c12.5 12.5 12.5 32.8 0 45.3c-11.8 11.8-30.7 12.5-43.2 1.9l-9.5 9.5-48.8 48.8c-9.2 9.2-11.5 22.9-8.6 35.6c9.4 40.9-1.9 85.6-33.8 117.5L197.3 493.3c-25 25-65.5 25-90.5 0l-88-88c-25-25-25-65.5 0-90.5L180.2 153.3c31.9-31.9 76.6-43.1 117.5-33.8c12.6 2.9 26.4 .5 35.5-8.6l48.8-48.8 9.5-9.5c-10.6-12.6-10-31.4 1.9-43.2zM99.3 347.3l65.4 65.4c6.2 6.2 16.4 6.2 22.6 0l97.4-97.4c6.2-6.2 6.2-16.4 0-22.6l-65.4-65.4c-6.2-6.2-16.4-6.2-22.6 0L99.3 324.7c-6.2 6.2-6.2 16.4 0 22.6z\"]\n};\nconst faChessRook = {\n prefix: 'fas',\n iconName: 'chess-rook',\n icon: [448, 512, [9820], \"f447\", \"M32 192L32 48c0-8.8 7.2-16 16-16l64 0c8.8 0 16 7.2 16 16l0 40c0 4.4 3.6 8 8 8l32 0c4.4 0 8-3.6 8-8l0-40c0-8.8 7.2-16 16-16l64 0c8.8 0 16 7.2 16 16l0 40c0 4.4 3.6 8 8 8l32 0c4.4 0 8-3.6 8-8l0-40c0-8.8 7.2-16 16-16l64 0c8.8 0 16 7.2 16 16l0 144c0 10.1-4.7 19.6-12.8 25.6L352 256l16 144L80 400 96 256 44.8 217.6C36.7 211.6 32 202.1 32 192zm176 96l32 0c8.8 0 16-7.2 16-16l0-48c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 48c0 8.8 7.2 16 16 16zM22.6 473.4L64 432l320 0 41.4 41.4c4.2 4.2 6.6 10 6.6 16c0 12.5-10.1 22.6-22.6 22.6L38.6 512C26.1 512 16 501.9 16 489.4c0-6 2.4-11.8 6.6-16z\"]\n};\nconst faBarsStaggered = {\n prefix: 'fas',\n iconName: 'bars-staggered',\n icon: [512, 512, [\"reorder\", \"stream\"], \"f550\", \"M0 96C0 78.3 14.3 64 32 64l384 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 128C14.3 128 0 113.7 0 96zM64 256c0-17.7 14.3-32 32-32l384 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L96 288c-17.7 0-32-14.3-32-32zM448 416c0 17.7-14.3 32-32 32L32 448c-17.7 0-32-14.3-32-32s14.3-32 32-32l384 0c17.7 0 32 14.3 32 32z\"]\n};\nconst faReorder = faBarsStaggered;\nconst faStream = faBarsStaggered;\nconst faDharmachakra = {\n prefix: 'fas',\n iconName: 'dharmachakra',\n icon: [512, 512, [9784], \"f655\", \"M337.8 205.7l48.6-42.5c13.8 19.3 23.4 41.9 27.4 66.2l-64.4 4.3c-2.4-10.1-6.4-19.5-11.6-28zm140.1 19.5c-5.3-38.8-20.6-74.5-43.2-104.3l.8-.7C449 108.4 449.7 87.6 437 75s-33.4-12-45.2 1.5l-.7 .8c-29.8-22.6-65.5-37.9-104.3-43.2l.1-1.1c1.2-17.9-13-33-30.9-33s-32.1 15.2-30.9 33l.1 1.1c-38.8 5.3-74.5 20.6-104.3 43.2l-.7-.8C108.4 63 87.6 62.3 75 75s-12 33.4 1.5 45.2l.8 .7c-22.6 29.8-37.9 65.5-43.2 104.3l-1.1-.1c-17.9-1.2-33 13-33 30.9s15.2 32.1 33 30.9l1.1-.1c5.3 38.8 20.6 74.5 43.2 104.3l-.8 .7C63 403.6 62.3 424.4 75 437s33.4 12 45.2-1.5l.7-.8c29.8 22.6 65.5 37.9 104.3 43.2l-.1 1.1c-1.2 17.9 13 33 30.9 33s32.1-15.2 30.9-33l-.1-1.1c38.8-5.3 74.5-20.6 104.3-43.2l.7 .8c11.8 13.5 32.5 14.2 45.2 1.5s12-33.4-1.5-45.2l-.8-.7c22.6-29.8 37.9-65.5 43.2-104.3l1.1 .1c17.9 1.2 33-13 33-30.9s-15.2-32.1-33-30.9l-1.1 .1zM163.2 125.6c19.3-13.8 41.9-23.4 66.2-27.5l4.3 64.4c-10 2.4-19.5 6.4-28 11.6l-42.5-48.6zm-65 103.8c4.1-24.4 13.7-46.9 27.5-66.2l48.6 42.5c-5.3 8.5-9.2 18-11.6 28l-64.4-4.3zm27.5 119.4c-13.8-19.3-23.4-41.9-27.5-66.2l64.4-4.3c2.4 10 6.4 19.5 11.6 28l-48.6 42.5zm103.8 65c-24.4-4.1-46.9-13.7-66.2-27.4l42.5-48.6c8.5 5.3 18 9.2 28 11.6l-4.3 64.4zm119.4-27.4c-19.3 13.8-41.9 23.4-66.2 27.4l-4.3-64.4c10-2.4 19.5-6.4 28-11.6l42.5 48.6zm65-103.8c-4.1 24.4-13.7 46.9-27.4 66.2l-48.6-42.5c5.3-8.5 9.2-18 11.6-28l64.4 4.3zm-65-156.9l-42.5 48.6c-8.5-5.3-18-9.2-28-11.6l4.3-64.4c24.4 4.1 46.9 13.7 66.2 27.5zM256 224a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nconst faHotdog = {\n prefix: 'fas',\n iconName: 'hotdog',\n icon: [512, 512, [127789], \"f80f\", \"M488.6 23.4c31.2 31.2 31.2 81.9 0 113.1l-352 352c-31.2 31.2-81.9 31.2-113.1 0s-31.2-81.9 0-113.1l352-352c31.2-31.2 81.9-31.2 113.1 0zM443.3 92.7c-6.2-6.2-16.4-6.2-22.6 0c-12.5 12.5-23.8 15.1-37.5 17.6l-2.5 .4c-13.8 2.5-31.6 5.6-48 22c-16.7 16.7-20.9 36-24.1 50.9c0 0 0 0 0 0s0 0 0 0l-.2 1c-3.4 15.6-6 26.4-15.7 36.1s-20.5 12.3-36.1 15.7l-1 .2c-14.9 3.2-34.2 7.4-50.9 24.1s-20.9 36-24.1 50.9l-.2 1c-3.4 15.6-6 26.4-15.7 36.1c-9.2 9.2-18 10.8-32.7 13.4c0 0 0 0 0 0l-.9 .2c-15.6 2.8-34.9 6.9-54.4 26.4c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0c12.5-12.5 23.8-15.1 37.5-17.6l2.5-.4c13.8-2.5 31.6-5.6 48-22c16.7-16.7 20.9-36 24.1-50.9l.2-1c3.4-15.6 6-26.4 15.7-36.1s20.5-12.3 36.1-15.7l1-.2c14.9-3.2 34.2-7.4 50.9-24.1s20.9-36 24.1-50.9l.2-1c3.4-15.6 6-26.4 15.7-36.1c9.2-9.2 18-10.8 32.7-13.4l.9-.2c15.6-2.8 34.9-6.9 54.4-26.4c6.2-6.2 6.2-16.4 0-22.6zM191.2 479.2l288-288L495 207c10.9 10.9 17 25.6 17 41s-6.1 30.1-17 41L289 495c-10.9 10.9-25.6 17-41 17s-30.1-6.1-41-17l-15.8-15.8zM17 305C6.1 294.1 0 279.4 0 264s6.1-30.1 17-41L223 17C233.9 6.1 248.6 0 264 0s30.1 6.1 41 17l15.8 15.8-288 288L17 305z\"]\n};\nconst faPersonWalkingWithCane = {\n prefix: 'fas',\n iconName: 'person-walking-with-cane',\n icon: [512, 512, [\"blind\"], \"f29d\", \"M176 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm-8.4 32c-36.4 0-69.6 20.5-85.9 53.1L35.4 273.7c-7.9 15.8-1.5 35 14.3 42.9s35 1.5 42.9-14.3L128 231.6l0 43.2c0 17 6.7 33.3 18.7 45.3L224 397.3l0 82.7c0 17.7 14.3 32 32 32s32-14.3 32-32l0-89.4c0-12.7-5.1-24.9-14.1-33.9L224 306.7l0-93.4 70.4 93.9c10.6 14.1 30.7 17 44.8 6.4s17-30.7 6.4-44.8L268.8 166.4C250.7 142.2 222.2 128 192 128l-24.4 0zM128.3 346.8L97 472.2c-4.3 17.1 6.1 34.5 23.3 38.8s34.5-6.1 38.8-23.3l22-88.2-52.8-52.8zM450.8 505.1c5 7.3 15 9.1 22.3 4s9.1-15 4-22.3L358.9 316.1c-2.8 3.8-6.1 7.3-10.1 10.3c-5 3.8-10.5 6.4-16.2 7.9L450.8 505.1z\"]\n};\nconst faBlind = faPersonWalkingWithCane;\nconst faDrum = {\n prefix: 'fas',\n iconName: 'drum',\n icon: [512, 512, [129345], \"f569\", \"M501.2 76.1c11.1-7.3 14.2-22.1 6.9-33.2s-22.1-14.2-33.2-6.9L370.2 104.5C335.8 98.7 297 96 256 96C114.6 96 0 128 0 208L0 368c0 31.3 27.4 58.8 72 78.7L72 344c0-13.3 10.7-24 24-24s24 10.7 24 24l0 119.4c33 8.9 71.1 14.5 112 16.1L232 376c0-13.3 10.7-24 24-24s24 10.7 24 24l0 103.5c40.9-1.6 79-7.2 112-16.1L392 344c0-13.3 10.7-24 24-24s24 10.7 24 24l0 102.7c44.6-19.9 72-47.4 72-78.7l0-160c0-41.1-30.2-69.5-78.8-87.4l67.9-44.5zM307.4 145.6l-64.6 42.3c-11.1 7.3-14.2 22.1-6.9 33.2s22.1 14.2 33.2 6.9l111.1-72.8c14.7 3.2 27.9 7 39.4 11.5C458.4 181.8 464 197.4 464 208c0 .8-2.7 17.2-46 35.9C379.1 260.7 322 272 256 272s-123.1-11.3-162-28.1C50.7 225.2 48 208.8 48 208c0-10.6 5.6-26.2 44.4-41.3C130.6 151.9 187.8 144 256 144c18 0 35.1 .5 51.4 1.6z\"]\n};\nconst faIceCream = {\n prefix: 'fas',\n iconName: 'ice-cream',\n icon: [448, 512, [127848], \"f810\", \"M367.1 160c.6-5.3 .9-10.6 .9-16C368 64.5 303.5 0 224 0S80 64.5 80 144c0 5.4 .3 10.7 .9 16l-.9 0c-26.5 0-48 21.5-48 48s21.5 48 48 48l53.5 0 181 0 53.5 0c26.5 0 48-21.5 48-48s-21.5-48-48-48l-.9 0zM96 288L200.8 497.7c4.4 8.8 13.3 14.3 23.2 14.3s18.8-5.5 23.2-14.3L352 288 96 288z\"]\n};\nconst faHeartCircleBolt = {\n prefix: 'fas',\n iconName: 'heart-circle-bolt',\n icon: [576, 512, [], \"e4fc\", \"M47.6 300.4L228.3 469.1c7.5 7 17.4 10.9 27.7 10.9s20.2-3.9 27.7-10.9l2.6-2.4C267.2 438.6 256 404.6 256 368c0-97.2 78.8-176 176-176c28.3 0 55 6.7 78.7 18.5c.9-6.5 1.3-13 1.3-19.6l0-5.8c0-69.9-50.5-129.5-119.4-141C347 36.5 300.6 51.4 268 84L256 96 244 84c-32.6-32.6-79-47.5-124.6-39.9C50.5 55.6 0 115.2 0 185.1l0 5.8c0 41.5 17.2 81.2 47.6 109.5zM432 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm47.9-225c4.3 3.7 5.4 9.9 2.6 14.9L452.4 356l35.6 0c5.2 0 9.8 3.3 11.4 8.2s-.1 10.3-4.2 13.4l-96 72c-4.5 3.4-10.8 3.2-15.1-.6s-5.4-9.9-2.6-14.9L411.6 380 376 380c-5.2 0-9.8-3.3-11.4-8.2s.1-10.3 4.2-13.4l96-72c4.5-3.4 10.8-3.2 15.1 .6z\"]\n};\nconst faFax = {\n prefix: 'fas',\n iconName: 'fax',\n icon: [512, 512, [128224, 128439], \"f1ac\", \"M128 64l0 96 64 0 0-96 194.7 0L416 93.3l0 66.7 64 0 0-66.7c0-17-6.7-33.3-18.7-45.3L432 18.7C420 6.7 403.7 0 386.7 0L192 0c-35.3 0-64 28.7-64 64zM0 160L0 480c0 17.7 14.3 32 32 32l32 0c17.7 0 32-14.3 32-32l0-320c0-17.7-14.3-32-32-32l-32 0c-17.7 0-32 14.3-32 32zm480 32l-352 0 0 288c0 17.7 14.3 32 32 32l320 0c17.7 0 32-14.3 32-32l0-256c0-17.7-14.3-32-32-32zM256 256a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm96 32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm32 96a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM224 416a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nconst faParagraph = {\n prefix: 'fas',\n iconName: 'paragraph',\n icon: [448, 512, [182], \"f1dd\", \"M192 32l64 0 160 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-32 0 0 352c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-352-32 0 0 352c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-96-32 0c-88.4 0-160-71.6-160-160s71.6-160 160-160z\"]\n};\nconst faCheckToSlot = {\n prefix: 'fas',\n iconName: 'check-to-slot',\n icon: [576, 512, [\"vote-yea\"], \"f772\", \"M96 80c0-26.5 21.5-48 48-48l288 0c26.5 0 48 21.5 48 48l0 304L96 384 96 80zm313 47c-9.4-9.4-24.6-9.4-33.9 0l-111 111-47-47c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l64 64c9.4 9.4 24.6 9.4 33.9 0L409 161c9.4-9.4 9.4-24.6 0-33.9zM0 336c0-26.5 21.5-48 48-48l16 0 0 128 448 0 0-128 16 0c26.5 0 48 21.5 48 48l0 96c0 26.5-21.5 48-48 48L48 480c-26.5 0-48-21.5-48-48l0-96z\"]\n};\nconst faVoteYea = faCheckToSlot;\nconst faStarHalf = {\n prefix: 'fas',\n iconName: 'star-half',\n icon: [576, 512, [61731], \"f089\", \"M288 0c-12.2 .1-23.3 7-28.6 18L195 150.3 51.4 171.5c-12 1.8-22 10.2-25.7 21.7s-.7 24.2 7.9 32.7L137.8 329 113.2 474.7c-2 12 3 24.2 12.9 31.3s23 8 33.8 2.3L288 439.8 288 0zM429.9 512c1.1 .1 2.1 .1 3.2 0l-3.2 0z\"]\n};\nconst faBoxesStacked = {\n prefix: 'fas',\n iconName: 'boxes-stacked',\n icon: [576, 512, [62625, \"boxes\", \"boxes-alt\"], \"f468\", \"M248 0L208 0c-26.5 0-48 21.5-48 48l0 112c0 35.3 28.7 64 64 64l128 0c35.3 0 64-28.7 64-64l0-112c0-26.5-21.5-48-48-48L328 0l0 80c0 8.8-7.2 16-16 16l-48 0c-8.8 0-16-7.2-16-16l0-80zM64 256c-35.3 0-64 28.7-64 64L0 448c0 35.3 28.7 64 64 64l160 0c35.3 0 64-28.7 64-64l0-128c0-35.3-28.7-64-64-64l-40 0 0 80c0 8.8-7.2 16-16 16l-48 0c-8.8 0-16-7.2-16-16l0-80-40 0zM352 512l160 0c35.3 0 64-28.7 64-64l0-128c0-35.3-28.7-64-64-64l-40 0 0 80c0 8.8-7.2 16-16 16l-48 0c-8.8 0-16-7.2-16-16l0-80-40 0c-15 0-28.8 5.1-39.7 13.8c4.9 10.4 7.7 22 7.7 34.2l0 160c0 12.2-2.8 23.8-7.7 34.2C323.2 506.9 337 512 352 512z\"]\n};\nconst faBoxes = faBoxesStacked;\nconst faBoxesAlt = faBoxesStacked;\nconst faLink = {\n prefix: 'fas',\n iconName: 'link',\n icon: [640, 512, [128279, \"chain\"], \"f0c1\", \"M579.8 267.7c56.5-56.5 56.5-148 0-204.5c-50-50-128.8-56.5-186.3-15.4l-1.6 1.1c-14.4 10.3-17.7 30.3-7.4 44.6s30.3 17.7 44.6 7.4l1.6-1.1c32.1-22.9 76-19.3 103.8 8.6c31.5 31.5 31.5 82.5 0 114L422.3 334.8c-31.5 31.5-82.5 31.5-114 0c-27.9-27.9-31.5-71.8-8.6-103.8l1.1-1.6c10.3-14.4 6.9-34.4-7.4-44.6s-34.4-6.9-44.6 7.4l-1.1 1.6C206.5 251.2 213 330 263 380c56.5 56.5 148 56.5 204.5 0L579.8 267.7zM60.2 244.3c-56.5 56.5-56.5 148 0 204.5c50 50 128.8 56.5 186.3 15.4l1.6-1.1c14.4-10.3 17.7-30.3 7.4-44.6s-30.3-17.7-44.6-7.4l-1.6 1.1c-32.1 22.9-76 19.3-103.8-8.6C74 372 74 321 105.5 289.5L217.7 177.2c31.5-31.5 82.5-31.5 114 0c27.9 27.9 31.5 71.8 8.6 103.9l-1.1 1.6c-10.3 14.4-6.9 34.4 7.4 44.6s34.4 6.9 44.6-7.4l1.1-1.6C433.5 260.8 427 182 377 132c-56.5-56.5-148-56.5-204.5 0L60.2 244.3z\"]\n};\nconst faChain = faLink;\nconst faEarListen = {\n prefix: 'fas',\n iconName: 'ear-listen',\n icon: [512, 512, [\"assistive-listening-systems\"], \"f2a2\", \"M398.3 3.4c-15.8-7.9-35-1.5-42.9 14.3c-7.9 15.8-1.5 34.9 14.2 42.9l.4 .2c.4 .2 1.1 .6 2.1 1.2c2 1.2 5 3 8.7 5.6c7.5 5.2 17.6 13.2 27.7 24.2C428.5 113.4 448 146 448 192c0 17.7 14.3 32 32 32s32-14.3 32-32c0-66-28.5-113.4-56.5-143.7C441.6 33.2 427.7 22.2 417.3 15c-5.3-3.7-9.7-6.4-13-8.3c-1.6-1-3-1.7-4-2.2c-.5-.3-.9-.5-1.2-.7l-.4-.2-.2-.1c0 0 0 0-.1 0c0 0 0 0 0 0L384 32 398.3 3.4zM128.7 227.5c6.2-56 53.7-99.5 111.3-99.5c61.9 0 112 50.1 112 112c0 29.3-11.2 55.9-29.6 75.9c-17 18.4-34.4 45.1-34.4 78l0 6.1c0 26.5-21.5 48-48 48c-17.7 0-32 14.3-32 32s14.3 32 32 32c61.9 0 112-50.1 112-112l0-6.1c0-9.8 5.4-21.7 17.4-34.7C398.3 327.9 416 286 416 240c0-97.2-78.8-176-176-176C149.4 64 74.8 132.5 65.1 220.5c-1.9 17.6 10.7 33.4 28.3 35.3s33.4-10.7 35.3-28.3zM32 512a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM192 352a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM41.4 361.4c-12.5 12.5-12.5 32.8 0 45.3l64 64c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-64-64c-12.5-12.5-32.8-12.5-45.3 0zM208 240c0-17.7 14.3-32 32-32s32 14.3 32 32c0 13.3 10.7 24 24 24s24-10.7 24-24c0-44.2-35.8-80-80-80s-80 35.8-80 80c0 13.3 10.7 24 24 24s24-10.7 24-24z\"]\n};\nconst faAssistiveListeningSystems = faEarListen;\nconst faTreeCity = {\n prefix: 'fas',\n iconName: 'tree-city',\n icon: [640, 512, [], \"e587\", \"M288 48c0-26.5 21.5-48 48-48l96 0c26.5 0 48 21.5 48 48l0 144 40 0 0-72c0-13.3 10.7-24 24-24s24 10.7 24 24l0 72 24 0c26.5 0 48 21.5 48 48l0 224c0 26.5-21.5 48-48 48l-160 0-96 0c-26.5 0-48-21.5-48-48l0-416zm64 32l0 32c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16l-32 0c-8.8 0-16 7.2-16 16zm16 80c-8.8 0-16 7.2-16 16l0 32c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16l-32 0zM352 272l0 32c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16l-32 0c-8.8 0-16 7.2-16 16zm176-16c-8.8 0-16 7.2-16 16l0 32c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16l-32 0zM512 368l0 32c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16l-32 0c-8.8 0-16 7.2-16 16zM224 160c0 6-1 11-2 16c20 14 34 38 34 64c0 45-36 80-80 80l-16 0 0 160c0 18-15 32-32 32c-18 0-32-14-32-32l0-160-16 0c-45 0-80-35-80-80c0-26 13-50 33-64c-1-5-1-10-1-16c0-53 42-96 96-96c53 0 96 43 96 96z\"]\n};\nconst faPlay = {\n prefix: 'fas',\n iconName: 'play',\n icon: [384, 512, [9654], \"f04b\", \"M73 39c-14.8-9.1-33.4-9.4-48.5-.9S0 62.6 0 80L0 432c0 17.4 9.4 33.4 24.5 41.9s33.7 8.1 48.5-.9L361 297c14.3-8.7 23-24.2 23-41s-8.7-32.2-23-41L73 39z\"]\n};\nconst faFont = {\n prefix: 'fas',\n iconName: 'font',\n icon: [448, 512, [], \"f031\", \"M254 52.8C249.3 40.3 237.3 32 224 32s-25.3 8.3-30 20.8L57.8 416 32 416c-17.7 0-32 14.3-32 32s14.3 32 32 32l96 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-1.8 0 18-48 159.6 0 18 48-1.8 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l96 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-25.8 0L254 52.8zM279.8 304l-111.6 0L224 155.1 279.8 304z\"]\n};\nconst faTableCellsRowLock = {\n prefix: 'fas',\n iconName: 'table-cells-row-lock',\n icon: [640, 512, [], \"e67a\", \"M0 96C0 60.7 28.7 32 64 32l384 0c35.3 0 64 28.7 64 64l0 65.1c-37.8 5.4-69.4 29.6-85.2 62.9L360 224l0 64 56 0 0 8.6c-19.1 11.1-32 31.7-32 55.4l-24 0 0 64 24 0 0 64L64 480c-35.3 0-64-28.7-64-64L0 96zM64 224l0 64 88 0 0-64-88 0zm232 0l-88 0 0 64 88 0 0-64zM152 352l-88 0 0 64 88 0 0-64zm56 0l0 64 88 0 0-64-88 0zM528 240c-17.7 0-32 14.3-32 32l0 48 64 0 0-48c0-17.7-14.3-32-32-32zm-80 32c0-44.2 35.8-80 80-80s80 35.8 80 80l0 48c17.7 0 32 14.3 32 32l0 128c0 17.7-14.3 32-32 32l-160 0c-17.7 0-32-14.3-32-32l0-128c0-17.7 14.3-32 32-32l0-48z\"]\n};\nconst faRupiahSign = {\n prefix: 'fas',\n iconName: 'rupiah-sign',\n icon: [512, 512, [], \"e23d\", \"M0 64C0 46.3 14.3 32 32 32l80 0c79.5 0 144 64.5 144 144c0 58.8-35.2 109.3-85.7 131.7l51.4 128.4c6.6 16.4-1.4 35-17.8 41.6s-35-1.4-41.6-17.8L106.3 320 64 320l0 128c0 17.7-14.3 32-32 32s-32-14.3-32-32L0 288 0 64zM64 256l48 0c44.2 0 80-35.8 80-80s-35.8-80-80-80L64 96l0 160zm256-96l80 0c61.9 0 112 50.1 112 112s-50.1 112-112 112l-48 0 0 96c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-128 0-160c0-17.7 14.3-32 32-32zm80 160c26.5 0 48-21.5 48-48s-21.5-48-48-48l-48 0 0 96 48 0z\"]\n};\nconst faMagnifyingGlass = {\n prefix: 'fas',\n iconName: 'magnifying-glass',\n icon: [512, 512, [128269, \"search\"], \"f002\", \"M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376c-34.4 25.2-76.8 40-122.7 40C93.1 416 0 322.9 0 208S93.1 0 208 0S416 93.1 416 208zM208 352a144 144 0 1 0 0-288 144 144 0 1 0 0 288z\"]\n};\nconst faSearch = faMagnifyingGlass;\nconst faTableTennisPaddleBall = {\n prefix: 'fas',\n iconName: 'table-tennis-paddle-ball',\n icon: [512, 512, [127955, \"ping-pong-paddle-ball\", \"table-tennis\"], \"f45d\", \"M416 288c-50.1 0-93.6 28.8-114.6 70.8L68.9 126.3l.6-.6 60.1-60.1c87.5-87.5 229.3-87.5 316.8 0c67.1 67.1 82.7 166.3 46.8 248.3C471.8 297.6 445 288 416 288zM49.3 151.9L290.1 392.7c-1.4 7.5-2.1 15.3-2.1 23.3c0 23.2 6.2 44.9 16.9 63.7c-3 .2-6.1 .3-9.2 .3l-2.7 0c-33.9 0-66.5-13.5-90.5-37.5l-9.8-9.8c-13.1-13.1-34.6-12.4-46.8 1.7L88.2 501c-5.8 6.7-14.2 10.7-23 11s-17.5-3.1-23.8-9.4l-32-32C3.1 464.3-.3 455.7 0 446.9s4.3-17.2 11-23l66.6-57.7c14-12.2 14.8-33.7 1.7-46.8l-9.8-9.8C45.5 285.5 32 252.9 32 219l0-2.7c0-22.8 6.1-44.9 17.3-64.3zM416 320a96 96 0 1 1 0 192 96 96 0 1 1 0-192z\"]\n};\nconst faPingPongPaddleBall = faTableTennisPaddleBall;\nconst faTableTennis = faTableTennisPaddleBall;\nconst faPersonDotsFromLine = {\n prefix: 'fas',\n iconName: 'person-dots-from-line',\n icon: [576, 512, [\"diagnoses\"], \"f470\", \"M288 176A88 88 0 1 0 288 0a88 88 0 1 0 0 176zM78.7 372.9c15-12.5 50-34.4 97.3-50.1L176 432l224 0 0-109.3c47.3 15.8 82.3 37.7 97.3 50.1c20.4 17 50.6 14.2 67.6-6.1s14.2-50.6-6.1-67.6c-12-10-30.1-22.5-53.2-35C497.2 278.4 481.7 288 464 288c-26.5 0-48-21.5-48-48c0-4.3 .6-8.4 1.6-12.4C379.1 215.9 335.3 208 288 208c-60.2 0-114.9 12.9-160 29.9c0 .7 0 1.4 0 2.1c0 26.5-21.5 48-48 48c-11.8 0-22.7-4.3-31-11.4c-13.1 8.1-23.7 15.9-31.7 22.5c-20.4 17-23.1 47.2-6.1 67.6s47.2 23.1 67.6 6.1zM24 464c-13.3 0-24 10.7-24 24s10.7 24 24 24l528 0c13.3 0 24-10.7 24-24s-10.7-24-24-24L24 464zM224 280a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm104 56a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM96 240a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm368 16a16 16 0 1 0 0-32 16 16 0 1 0 0 32z\"]\n};\nconst faDiagnoses = faPersonDotsFromLine;\nconst faTrashCanArrowUp = {\n prefix: 'fas',\n iconName: 'trash-can-arrow-up',\n icon: [448, 512, [\"trash-restore-alt\"], \"f82a\", \"M163.8 0L284.2 0c12.1 0 23.2 6.8 28.6 17.7L320 32l96 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 96C14.3 96 0 81.7 0 64S14.3 32 32 32l96 0 7.2-14.3C140.6 6.8 151.7 0 163.8 0zM32 128l384 0 0 320c0 35.3-28.7 64-64 64L96 512c-35.3 0-64-28.7-64-64l0-320zm192 64c-6.4 0-12.5 2.5-17 7l-80 80c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l39-39L200 408c0 13.3 10.7 24 24 24s24-10.7 24-24l0-134.1 39 39c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-80-80c-4.5-4.5-10.6-7-17-7z\"]\n};\nconst faTrashRestoreAlt = faTrashCanArrowUp;\nconst faNairaSign = {\n prefix: 'fas',\n iconName: 'naira-sign',\n icon: [448, 512, [], \"e1f6\", \"M122.6 46.3c-7.8-11.7-22.4-17-35.9-12.9S64 49.9 64 64l0 192-32 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l32 0 0 128c0 17.7 14.3 32 32 32s32-14.3 32-32l0-128 100.2 0 97.2 145.8c7.8 11.7 22.4 17 35.9 12.9s22.7-16.5 22.7-30.6l0-128 32 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-32 0 0-192c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 192-57.5 0L122.6 46.3zM305.1 320l14.9 0 0 22.3L305.1 320zM185.5 256L128 256l0-86.3L185.5 256z\"]\n};\nconst faCartArrowDown = {\n prefix: 'fas',\n iconName: 'cart-arrow-down',\n icon: [576, 512, [], \"f218\", \"M24 0C10.7 0 0 10.7 0 24S10.7 48 24 48l45.5 0c3.8 0 7.1 2.7 7.9 6.5l51.6 271c6.5 34 36.2 58.5 70.7 58.5L488 384c13.3 0 24-10.7 24-24s-10.7-24-24-24l-288.3 0c-11.5 0-21.4-8.2-23.6-19.5L170.7 288l288.5 0c32.6 0 61.1-21.8 69.5-53.3l41-152.3C576.6 57 557.4 32 531.1 32L360 32l0 102.1 23-23c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-64 64c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l23 23L312 32 120.1 32C111 12.8 91.6 0 69.5 0L24 0zM176 512a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm336-48a48 48 0 1 0 -96 0 48 48 0 1 0 96 0z\"]\n};\nconst faWalkieTalkie = {\n prefix: 'fas',\n iconName: 'walkie-talkie',\n icon: [384, 512, [], \"f8ef\", \"M112 24c0-13.3-10.7-24-24-24S64 10.7 64 24l0 72L48 96C21.5 96 0 117.5 0 144L0 300.1c0 12.7 5.1 24.9 14.1 33.9l3.9 3.9c9 9 14.1 21.2 14.1 33.9L32 464c0 26.5 21.5 48 48 48l224 0c26.5 0 48-21.5 48-48l0-92.1c0-12.7 5.1-24.9 14.1-33.9l3.9-3.9c9-9 14.1-21.2 14.1-33.9L384 144c0-26.5-21.5-48-48-48l-16 0c0-17.7-14.3-32-32-32s-32 14.3-32 32l-32 0c0-17.7-14.3-32-32-32s-32 14.3-32 32l-48 0 0-72zm0 136l160 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-160 0c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 64l160 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-160 0c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 64l160 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-160 0c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nconst faFilePen = {\n prefix: 'fas',\n iconName: 'file-pen',\n icon: [576, 512, [128221, \"file-edit\"], \"f31c\", \"M0 64C0 28.7 28.7 0 64 0L224 0l0 128c0 17.7 14.3 32 32 32l128 0 0 125.7-86.8 86.8c-10.3 10.3-17.5 23.1-21 37.2l-18.7 74.9c-2.3 9.2-1.8 18.8 1.3 27.5L64 512c-35.3 0-64-28.7-64-64L0 64zm384 64l-128 0L256 0 384 128zM549.8 235.7l14.4 14.4c15.6 15.6 15.6 40.9 0 56.6l-29.4 29.4-71-71 29.4-29.4c15.6-15.6 40.9-15.6 56.6 0zM311.9 417L441.1 287.8l71 71L382.9 487.9c-4.1 4.1-9.2 7-14.9 8.4l-60.1 15c-5.5 1.4-11.2-.2-15.2-4.2s-5.6-9.7-4.2-15.2l15-60.1c1.4-5.6 4.3-10.8 8.4-14.9z\"]\n};\nconst faFileEdit = faFilePen;\nconst faReceipt = {\n prefix: 'fas',\n iconName: 'receipt',\n icon: [384, 512, [129534], \"f543\", \"M14 2.2C22.5-1.7 32.5-.3 39.6 5.8L80 40.4 120.4 5.8c9-7.7 22.3-7.7 31.2 0L192 40.4 232.4 5.8c9-7.7 22.3-7.7 31.2 0L304 40.4 344.4 5.8c7.1-6.1 17.1-7.5 25.6-3.6s14 12.4 14 21.8l0 464c0 9.4-5.5 17.9-14 21.8s-18.5 2.5-25.6-3.6L304 471.6l-40.4 34.6c-9 7.7-22.3 7.7-31.2 0L192 471.6l-40.4 34.6c-9 7.7-22.3 7.7-31.2 0L80 471.6 39.6 506.2c-7.1 6.1-17.1 7.5-25.6 3.6S0 497.4 0 488L0 24C0 14.6 5.5 6.1 14 2.2zM96 144c-8.8 0-16 7.2-16 16s7.2 16 16 16l192 0c8.8 0 16-7.2 16-16s-7.2-16-16-16L96 144zM80 352c0 8.8 7.2 16 16 16l192 0c8.8 0 16-7.2 16-16s-7.2-16-16-16L96 336c-8.8 0-16 7.2-16 16zM96 240c-8.8 0-16 7.2-16 16s7.2 16 16 16l192 0c8.8 0 16-7.2 16-16s-7.2-16-16-16L96 240z\"]\n};\nconst faSquarePen = {\n prefix: 'fas',\n iconName: 'square-pen',\n icon: [448, 512, [\"pen-square\", \"pencil-square\"], \"f14b\", \"M64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32zM325.8 139.7l14.4 14.4c15.6 15.6 15.6 40.9 0 56.6l-21.4 21.4-71-71 21.4-21.4c15.6-15.6 40.9-15.6 56.6 0zM119.9 289L225.1 183.8l71 71L190.9 359.9c-4.1 4.1-9.2 7-14.9 8.4l-60.1 15c-5.5 1.4-11.2-.2-15.2-4.2s-5.6-9.7-4.2-15.2l15-60.1c1.4-5.6 4.3-10.8 8.4-14.9z\"]\n};\nconst faPenSquare = faSquarePen;\nconst faPencilSquare = faSquarePen;\nconst faSuitcaseRolling = {\n prefix: 'fas',\n iconName: 'suitcase-rolling',\n icon: [384, 512, [], \"f5c1\", \"M144 56c0-4.4 3.6-8 8-8l80 0c4.4 0 8 3.6 8 8l0 72-96 0 0-72zm176 72l-32 0 0-72c0-30.9-25.1-56-56-56L152 0C121.1 0 96 25.1 96 56l0 72-32 0c-35.3 0-64 28.7-64 64L0 416c0 35.3 28.7 64 64 64c0 17.7 14.3 32 32 32s32-14.3 32-32l128 0c0 17.7 14.3 32 32 32s32-14.3 32-32c35.3 0 64-28.7 64-64l0-224c0-35.3-28.7-64-64-64zM112 224l160 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-160 0c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 128l160 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-160 0c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nconst faPersonCircleExclamation = {\n prefix: 'fas',\n iconName: 'person-circle-exclamation',\n icon: [576, 512, [], \"e53f\", \"M112 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm40 304l0 128c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-223.1L59.4 304.5c-9.1 15.1-28.8 20-43.9 10.9s-20-28.8-10.9-43.9l58.3-97c17.4-28.9 48.6-46.6 82.3-46.6l29.7 0c33.7 0 64.9 17.7 82.3 46.6l44.9 74.7c-16.1 17.6-28.6 38.5-36.6 61.5c-1.9-1.8-3.5-3.9-4.9-6.3L232 256.9 232 480c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-128-16 0zM432 224a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm0 240a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm0-192c-8.8 0-16 7.2-16 16l0 80c0 8.8 7.2 16 16 16s16-7.2 16-16l0-80c0-8.8-7.2-16-16-16z\"]\n};\nconst faChevronDown = {\n prefix: 'fas',\n iconName: 'chevron-down',\n icon: [512, 512, [], \"f078\", \"M233.4 406.6c12.5 12.5 32.8 12.5 45.3 0l192-192c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L256 338.7 86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l192 192z\"]\n};\nconst faBatteryFull = {\n prefix: 'fas',\n iconName: 'battery-full',\n icon: [576, 512, [128267, \"battery\", \"battery-5\"], \"f240\", \"M464 160c8.8 0 16 7.2 16 16l0 160c0 8.8-7.2 16-16 16L80 352c-8.8 0-16-7.2-16-16l0-160c0-8.8 7.2-16 16-16l384 0zM80 96C35.8 96 0 131.8 0 176L0 336c0 44.2 35.8 80 80 80l384 0c44.2 0 80-35.8 80-80l0-16c17.7 0 32-14.3 32-32l0-64c0-17.7-14.3-32-32-32l0-16c0-44.2-35.8-80-80-80L80 96zm368 96L96 192l0 128 352 0 0-128z\"]\n};\nconst faBattery = faBatteryFull;\nconst faBattery5 = faBatteryFull;\nconst faSkullCrossbones = {\n prefix: 'fas',\n iconName: 'skull-crossbones',\n icon: [448, 512, [128369, 9760], \"f714\", \"M368 128c0 44.4-25.4 83.5-64 106.4l0 21.6c0 17.7-14.3 32-32 32l-96 0c-17.7 0-32-14.3-32-32l0-21.6c-38.6-23-64-62.1-64-106.4C80 57.3 144.5 0 224 0s144 57.3 144 128zM168 176a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm144-32a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM3.4 273.7c7.9-15.8 27.1-22.2 42.9-14.3L224 348.2l177.7-88.8c15.8-7.9 35-1.5 42.9 14.3s1.5 35-14.3 42.9L295.6 384l134.8 67.4c15.8 7.9 22.2 27.1 14.3 42.9s-27.1 22.2-42.9 14.3L224 419.8 46.3 508.6c-15.8 7.9-35 1.5-42.9-14.3s-1.5-35 14.3-42.9L152.4 384 17.7 316.6C1.9 308.7-4.5 289.5 3.4 273.7z\"]\n};\nconst faCodeCompare = {\n prefix: 'fas',\n iconName: 'code-compare',\n icon: [512, 512, [], \"e13a\", \"M320 488c0 9.5-5.6 18.1-14.2 21.9s-18.8 2.3-25.8-4.1l-80-72c-5.1-4.6-7.9-11-7.9-17.8s2.9-13.3 7.9-17.8l80-72c7-6.3 17.2-7.9 25.8-4.1s14.2 12.4 14.2 21.9l0 40 16 0c35.3 0 64-28.7 64-64l0-166.7C371.7 141 352 112.8 352 80c0-44.2 35.8-80 80-80s80 35.8 80 80c0 32.8-19.7 61-48 73.3L464 320c0 70.7-57.3 128-128 128l-16 0 0 40zM456 80a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM192 24c0-9.5 5.6-18.1 14.2-21.9s18.8-2.3 25.8 4.1l80 72c5.1 4.6 7.9 11 7.9 17.8s-2.9 13.3-7.9 17.8l-80 72c-7 6.3-17.2 7.9-25.8 4.1s-14.2-12.4-14.2-21.9l0-40-16 0c-35.3 0-64 28.7-64 64l0 166.7c28.3 12.3 48 40.5 48 73.3c0 44.2-35.8 80-80 80s-80-35.8-80-80c0-32.8 19.7-61 48-73.3L48 192c0-70.7 57.3-128 128-128l16 0 0-40zM56 432a24 24 0 1 0 48 0 24 24 0 1 0 -48 0z\"]\n};\nconst faListUl = {\n prefix: 'fas',\n iconName: 'list-ul',\n icon: [512, 512, [\"list-dots\"], \"f0ca\", \"M64 144a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM192 64c-17.7 0-32 14.3-32 32s14.3 32 32 32l288 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L192 64zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32 32l288 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-288 0zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32 32l288 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-288 0zM64 464a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm48-208a48 48 0 1 0 -96 0 48 48 0 1 0 96 0z\"]\n};\nconst faListDots = faListUl;\nconst faSchoolLock = {\n prefix: 'fas',\n iconName: 'school-lock',\n icon: [640, 512, [], \"e56f\", \"M302.2 5.4c10.7-7.2 24.8-7.2 35.5 0L473.7 96 592 96c26.5 0 48 21.5 48 48l0 128c0-61.9-50.1-112-112-112s-112 50.1-112 112l0 24.6c-19.1 11.1-32 31.7-32 55.4l-63.7 0-.3 0c-35.3 0-64 28.7-64 64l0 96 64 0s0 0 0 0L48 512c-26.5 0-48-21.5-48-48L0 144c0-26.5 21.5-48 48-48l118.3 0L302.2 5.4zM80 208l0 64c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-64c0-8.8-7.2-16-16-16l-32 0c-8.8 0-16 7.2-16 16zm0 128l0 64c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-64c0-8.8-7.2-16-16-16l-32 0c-8.8 0-16 7.2-16 16zm240-72a88 88 0 1 0 0-176 88 88 0 1 0 0 176zm16-120l0 16 16 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32c0-8.8 7.2-16 16-16s16 7.2 16 16zm192 96c-17.7 0-32 14.3-32 32l0 48 64 0 0-48c0-17.7-14.3-32-32-32zm-80 32c0-44.2 35.8-80 80-80s80 35.8 80 80l0 48c17.7 0 32 14.3 32 32l0 128c0 17.7-14.3 32-32 32l-160 0c-17.7 0-32-14.3-32-32l0-128c0-17.7 14.3-32 32-32l0-48z\"]\n};\nconst faTowerCell = {\n prefix: 'fas',\n iconName: 'tower-cell',\n icon: [576, 512, [], \"e585\", \"M62.6 2.3C46.2-4.3 27.6 3.6 20.9 20C7.4 53.4 0 89.9 0 128s7.4 74.6 20.9 108c6.6 16.4 25.3 24.3 41.7 17.7S86.9 228.4 80.3 212C69.8 186.1 64 157.8 64 128s5.8-58.1 16.3-84C86.9 27.6 79 9 62.6 2.3zm450.8 0C497 9 489.1 27.6 495.7 44C506.2 69.9 512 98.2 512 128s-5.8 58.1-16.3 84c-6.6 16.4 1.3 35 17.7 41.7s35-1.3 41.7-17.7c13.5-33.4 20.9-69.9 20.9-108s-7.4-74.6-20.9-108C548.4 3.6 529.8-4.3 513.4 2.3zM340.1 165.2c7.5-10.5 11.9-23.3 11.9-37.2c0-35.3-28.7-64-64-64s-64 28.7-64 64c0 13.9 4.4 26.7 11.9 37.2L98.9 466.8c-7.3 16.1-.2 35.1 15.9 42.4s35.1 .2 42.4-15.9L177.7 448l220.6 0 20.6 45.2c7.3 16.1 26.3 23.2 42.4 15.9s23.2-26.3 15.9-42.4L340.1 165.2zM369.2 384l-162.4 0 14.5-32 133.3 0 14.5 32zM288 205.3L325.6 288l-75.2 0L288 205.3zM163.3 73.6c5.3-12.1-.2-26.3-12.4-31.6s-26.3 .2-31.6 12.4C109.5 77 104 101.9 104 128s5.5 51 15.3 73.6c5.3 12.1 19.5 17.7 31.6 12.4s17.7-19.5 12.4-31.6C156 165.8 152 147.4 152 128s4-37.8 11.3-54.4zM456.7 54.4c-5.3-12.1-19.5-17.7-31.6-12.4s-17.7 19.5-12.4 31.6C420 90.2 424 108.6 424 128s-4 37.8-11.3 54.4c-5.3 12.1 .2 26.3 12.4 31.6s26.3-.2 31.6-12.4C466.5 179 472 154.1 472 128s-5.5-51-15.3-73.6z\"]\n};\nconst faDownLong = {\n prefix: 'fas',\n iconName: 'down-long',\n icon: [320, 512, [\"long-arrow-alt-down\"], \"f309\", \"M2 334.5c-3.8 8.8-2 19 4.6 26l136 144c4.5 4.8 10.8 7.5 17.4 7.5s12.9-2.7 17.4-7.5l136-144c6.6-7 8.4-17.2 4.6-26s-12.5-14.5-22-14.5l-72 0 0-288c0-17.7-14.3-32-32-32L128 0C110.3 0 96 14.3 96 32l0 288-72 0c-9.6 0-18.2 5.7-22 14.5z\"]\n};\nconst faLongArrowAltDown = faDownLong;\nconst faRankingStar = {\n prefix: 'fas',\n iconName: 'ranking-star',\n icon: [640, 512, [], \"e561\", \"M353.8 54.1L330.2 6.3c-3.9-8.3-16.1-8.6-20.4 0L286.2 54.1l-52.3 7.5c-9.3 1.4-13.3 12.9-6.4 19.8l38 37-9 52.1c-1.4 9.3 8.2 16.5 16.8 12.2l46.9-24.8 46.6 24.4c8.6 4.3 18.3-2.9 16.8-12.2l-9-52.1 38-36.6c6.8-6.8 2.9-18.3-6.4-19.8l-52.3-7.5zM256 256c-17.7 0-32 14.3-32 32l0 192c0 17.7 14.3 32 32 32l128 0c17.7 0 32-14.3 32-32l0-192c0-17.7-14.3-32-32-32l-128 0zM32 320c-17.7 0-32 14.3-32 32L0 480c0 17.7 14.3 32 32 32l128 0c17.7 0 32-14.3 32-32l0-128c0-17.7-14.3-32-32-32L32 320zm416 96l0 64c0 17.7 14.3 32 32 32l128 0c17.7 0 32-14.3 32-32l0-64c0-17.7-14.3-32-32-32l-128 0c-17.7 0-32 14.3-32 32z\"]\n};\nconst faChessKing = {\n prefix: 'fas',\n iconName: 'chess-king',\n icon: [448, 512, [9818], \"f43f\", \"M224 0c17.7 0 32 14.3 32 32l0 16 16 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-16 0 0 48 152 0c22.1 0 40 17.9 40 40c0 5.3-1 10.5-3.1 15.4L368 400 80 400 3.1 215.4C1 210.5 0 205.3 0 200c0-22.1 17.9-40 40-40l152 0 0-48-16 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l16 0 0-16c0-17.7 14.3-32 32-32zM38.6 473.4L80 432l288 0 41.4 41.4c4.2 4.2 6.6 10 6.6 16c0 12.5-10.1 22.6-22.6 22.6L54.6 512C42.1 512 32 501.9 32 489.4c0-6 2.4-11.8 6.6-16z\"]\n};\nconst faPersonHarassing = {\n prefix: 'fas',\n iconName: 'person-harassing',\n icon: [576, 512, [], \"e549\", \"M192 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM59.4 304.5L88 256.9 88 480c0 17.7 14.3 32 32 32s32-14.3 32-32l0-128 16 0 0 128c0 17.7 14.3 32 32 32s32-14.3 32-32l0-244.7 47.4 57.1c11.3 13.6 31.5 15.5 45.1 4.2s15.5-31.5 4.2-45.1l-73.7-88.9c-18.2-22-45.3-34.7-73.9-34.7l-35.9 0c-33.7 0-64.9 17.7-82.3 46.6l-58.3 97c-9.1 15.1-4.2 34.8 10.9 43.9s34.8 4.2 43.9-10.9zM480 240a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM464 344l0 58.7-41.4-41.4c-7.3-7.3-17.6-10.6-27.8-9s-18.9 8.1-23.5 17.3l-48 96c-7.9 15.8-1.5 35 14.3 42.9s35 1.5 42.9-14.3L408.8 438l54.7 54.7c12.4 12.4 29.1 19.3 46.6 19.3c36.4 0 65.9-29.5 65.9-65.9L576 344c0-30.9-25.1-56-56-56s-56 25.1-56 56zM288 48c0 8.8 7.2 16 16 16l56 0c8.8 0 16-7.2 16-16s-7.2-16-16-16l-56 0c-8.8 0-16 7.2-16 16zm-.8 49.7c-7.9-4-17.5-.7-21.5 7.2s-.7 17.5 7.2 21.5l48 24c7.9 4 17.5 .7 21.5-7.2s.7-17.5-7.2-21.5l-48-24z\"]\n};\nconst faBrazilianRealSign = {\n prefix: 'fas',\n iconName: 'brazilian-real-sign',\n icon: [512, 512, [], \"e46c\", \"M400 0c17.7 0 32 14.3 32 32l0 18.2c12.5 2.3 24.7 6.4 36.2 12.1l10.1 5.1c15.8 7.9 22.2 27.1 14.3 42.9s-27.1 22.2-42.9 14.3l-10.2-5.1c-9.9-5-20.9-7.5-32-7.5l-1.7 0c-29.8 0-53.9 24.1-53.9 53.9c0 22 13.4 41.8 33.9 50l52 20.8c44.7 17.9 74.1 61.2 74.1 109.4l0 3.4c0 51.2-33.6 94.6-80 109.2l0 21.3c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-19.4c-15-3.5-29.4-9.7-42.3-18.3l-23.4-15.6c-14.7-9.8-18.7-29.7-8.9-44.4s29.7-18.7 44.4-8.9L361.2 389c10.8 7.2 23.4 11 36.3 11c27.9 0 50.5-22.6 50.5-50.5l0-3.4c0-22-13.4-41.8-33.9-50l-52-20.8C317.3 257.4 288 214.1 288 165.9C288 114 321.5 70 368 54.2L368 32c0-17.7 14.3-32 32-32zM0 64C0 46.3 14.3 32 32 32l80 0c79.5 0 144 64.5 144 144c0 58.8-35.2 109.3-85.7 131.7l51.4 128.4c6.6 16.4-1.4 35-17.8 41.6s-35-1.4-41.6-17.8L106.3 320 64 320l0 128c0 17.7-14.3 32-32 32s-32-14.3-32-32L0 288 0 64zM64 256l48 0c44.2 0 80-35.8 80-80s-35.8-80-80-80L64 96l0 160z\"]\n};\nconst faLandmarkDome = {\n prefix: 'fas',\n iconName: 'landmark-dome',\n icon: [512, 512, [\"landmark-alt\"], \"f752\", \"M248 0l16 0c13.3 0 24 10.7 24 24l0 10.7C368.4 48.1 431.9 111.6 445.3 192l2.7 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L64 256c-17.7 0-32-14.3-32-32s14.3-32 32-32l2.7 0C80.1 111.6 143.6 48.1 224 34.7L224 24c0-13.3 10.7-24 24-24zM64 288l64 0 0 128 40 0 0-128 64 0 0 128 48 0 0-128 64 0 0 128 40 0 0-128 64 0 0 132.3c.6 .3 1.2 .7 1.8 1.1l48 32c11.7 7.8 17 22.4 12.9 35.9S494.1 512 480 512L32 512c-14.1 0-26.5-9.2-30.6-22.7s1.1-28.1 12.9-35.9l48-32c.6-.4 1.2-.7 1.8-1.1L64 288z\"]\n};\nconst faLandmarkAlt = faLandmarkDome;\nconst faArrowUp = {\n prefix: 'fas',\n iconName: 'arrow-up',\n icon: [384, 512, [8593], \"f062\", \"M214.6 41.4c-12.5-12.5-32.8-12.5-45.3 0l-160 160c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L160 141.2 160 448c0 17.7 14.3 32 32 32s32-14.3 32-32l0-306.7L329.4 246.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-160-160z\"]\n};\nconst faTv = {\n prefix: 'fas',\n iconName: 'tv',\n icon: [640, 512, [63717, \"television\", \"tv-alt\"], \"f26c\", \"M64 64l0 288 512 0 0-288L64 64zM0 64C0 28.7 28.7 0 64 0L576 0c35.3 0 64 28.7 64 64l0 288c0 35.3-28.7 64-64 64L64 416c-35.3 0-64-28.7-64-64L0 64zM128 448l384 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-384 0c-17.7 0-32-14.3-32-32s14.3-32 32-32z\"]\n};\nconst faTelevision = faTv;\nconst faTvAlt = faTv;\nconst faShrimp = {\n prefix: 'fas',\n iconName: 'shrimp',\n icon: [512, 512, [129424], \"e448\", \"M64 32C28.7 32 0 60.7 0 96s28.7 64 64 64l1 0c3.7 88.9 77 160 167 160l56 0 0-192-24 0L88.8 128 64 128c-17.7 0-32-14.3-32-32s14.3-32 32-32l400 0c8.8 0 16-7.2 16-16s-7.2-16-16-16L64 32zM224 456c0 13.3 10.7 24 24 24l72 0 0-72.2-64.1-22.4c-12.5-4.4-26.2 2.2-30.6 14.7s2.2 26.2 14.7 30.6l4.5 1.6C233 433.9 224 443.9 224 456zm128 23.3c36.4-3.3 69.5-17.6 96.1-39.6l-86.5-34.6c-3 1.8-6.2 3.2-9.6 4.3l0 69.9zM472.6 415c24.6-30.3 39.4-68.9 39.4-111c0-12.3-1.3-24.3-3.7-35.9L382.8 355.1c.8 3.4 1.2 7 1.2 10.6c0 4.6-.7 9-1.9 13.1L472.6 415zM336 128l-16 0 0 192 18.3 0c9.9 0 19.1 3.2 26.6 8.5l133.5-92.4C471.8 172.6 409.1 128 336 128zM168 192a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"]\n};\nconst faListCheck = {\n prefix: 'fas',\n iconName: 'list-check',\n icon: [512, 512, [\"tasks\"], \"f0ae\", \"M152.1 38.2c9.9 8.9 10.7 24 1.8 33.9l-72 80c-4.4 4.9-10.6 7.8-17.2 7.9s-12.9-2.4-17.6-7L7 113C-2.3 103.6-2.3 88.4 7 79s24.6-9.4 33.9 0l22.1 22.1 55.1-61.2c8.9-9.9 24-10.7 33.9-1.8zm0 160c9.9 8.9 10.7 24 1.8 33.9l-72 80c-4.4 4.9-10.6 7.8-17.2 7.9s-12.9-2.4-17.6-7L7 273c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l22.1 22.1 55.1-61.2c8.9-9.9 24-10.7 33.9-1.8zM224 96c0-17.7 14.3-32 32-32l224 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-224 0c-17.7 0-32-14.3-32-32zm0 160c0-17.7 14.3-32 32-32l224 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-224 0c-17.7 0-32-14.3-32-32zM160 416c0-17.7 14.3-32 32-32l288 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-288 0c-17.7 0-32-14.3-32-32zM48 368a48 48 0 1 1 0 96 48 48 0 1 1 0-96z\"]\n};\nconst faTasks = faListCheck;\nconst faJugDetergent = {\n prefix: 'fas',\n iconName: 'jug-detergent',\n icon: [384, 512, [], \"e519\", \"M96 24c0-13.3 10.7-24 24-24l80 0c13.3 0 24 10.7 24 24l0 24 8 0c13.3 0 24 10.7 24 24s-10.7 24-24 24L88 96C74.7 96 64 85.3 64 72s10.7-24 24-24l8 0 0-24zM0 256c0-70.7 57.3-128 128-128l128 0c70.7 0 128 57.3 128 128l0 192c0 35.3-28.7 64-64 64L64 512c-35.3 0-64-28.7-64-64L0 256zm256 0l0 96c0 17.7 14.3 32 32 32s32-14.3 32-32l0-96c0-17.7-14.3-32-32-32s-32 14.3-32 32z\"]\n};\nconst faCircleUser = {\n prefix: 'fas',\n iconName: 'circle-user',\n icon: [512, 512, [62142, \"user-circle\"], \"f2bd\", \"M399 384.2C376.9 345.8 335.4 320 288 320l-64 0c-47.4 0-88.9 25.8-111 64.2c35.2 39.2 86.2 63.8 143 63.8s107.8-24.7 143-63.8zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm256 16a72 72 0 1 0 0-144 72 72 0 1 0 0 144z\"]\n};\nconst faUserCircle = faCircleUser;\nconst faUserShield = {\n prefix: 'fas',\n iconName: 'user-shield',\n icon: [640, 512, [], \"f505\", \"M224 256A128 128 0 1 0 224 0a128 128 0 1 0 0 256zm-45.7 48C79.8 304 0 383.8 0 482.3C0 498.7 13.3 512 29.7 512l388.6 0c1.8 0 3.5-.2 5.3-.5c-76.3-55.1-99.8-141-103.1-200.2c-16.1-4.8-33.1-7.3-50.7-7.3l-91.4 0zm308.8-78.3l-120 48C358 277.4 352 286.2 352 296c0 63.3 25.9 168.8 134.8 214.2c5.9 2.5 12.6 2.5 18.5 0C614.1 464.8 640 359.3 640 296c0-9.8-6-18.6-15.1-22.3l-120-48c-5.7-2.3-12.1-2.3-17.8 0zM591.4 312c-3.9 50.7-27.2 116.7-95.4 149.7l0-187.8L591.4 312z\"]\n};\nconst faWind = {\n prefix: 'fas',\n iconName: 'wind',\n icon: [512, 512, [], \"f72e\", \"M288 32c0 17.7 14.3 32 32 32l32 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 128c-17.7 0-32 14.3-32 32s14.3 32 32 32l320 0c53 0 96-43 96-96s-43-96-96-96L320 0c-17.7 0-32 14.3-32 32zm64 352c0 17.7 14.3 32 32 32l32 0c53 0 96-43 96-96s-43-96-96-96L32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l384 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-32 0c-17.7 0-32 14.3-32 32zM128 512l32 0c53 0 96-43 96-96s-43-96-96-96L32 320c-17.7 0-32 14.3-32 32s14.3 32 32 32l128 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-32 0c-17.7 0-32 14.3-32 32s14.3 32 32 32z\"]\n};\nconst faCarBurst = {\n prefix: 'fas',\n iconName: 'car-burst',\n icon: [640, 512, [\"car-crash\"], \"f5e1\", \"M176 8c-6.6 0-12.4 4-14.9 10.1l-29.4 74L55.6 68.9c-6.3-1.9-13.1 .2-17.2 5.3s-4.6 12.2-1.4 17.9l39.5 69.1L10.9 206.4c-5.4 3.7-8 10.3-6.5 16.7s6.7 11.2 13.1 12.2l78.7 12.2L90.6 327c-.5 6.5 3.1 12.7 9 15.5s12.9 1.8 17.8-2.6l35.3-32.5 9.5-35.4 10.4-38.6c8-29.9 30.5-52.1 57.9-60.9l41-59.2c11.3-16.3 26.4-28.9 43.5-37.2c-.4-.6-.8-1.2-1.3-1.8c-4.1-5.1-10.9-7.2-17.2-5.3L220.3 92.1l-29.4-74C188.4 12 182.6 8 176 8zM367.7 161.5l135.6 36.3c6.5 1.8 11.3 7.4 11.8 14.2l4.6 56.5-201.5-54 32.2-46.6c3.8-5.6 10.8-8.1 17.3-6.4zm-69.9-30l-47.9 69.3c-21.6 3-40.3 18.6-46.3 41l-10.4 38.6-16.6 61.8-8.3 30.9c-4.6 17.1 5.6 34.6 22.6 39.2l15.5 4.1c17.1 4.6 34.6-5.6 39.2-22.6l8.3-30.9 247.3 66.3-8.3 30.9c-4.6 17.1 5.6 34.6 22.6 39.2l15.5 4.1c17.1 4.6 34.6-5.6 39.2-22.6l8.3-30.9L595 388l10.4-38.6c6-22.4-2.5-45.2-19.6-58.7l-6.8-84c-2.7-33.7-26.4-62-59-70.8L384.2 99.7c-32.7-8.8-67.3 4-86.5 31.8zm-17 131a24 24 0 1 1 -12.4 46.4 24 24 0 1 1 12.4-46.4zm217.9 83.2A24 24 0 1 1 545 358.1a24 24 0 1 1 -46.4-12.4z\"]\n};\nconst faCarCrash = faCarBurst;\nconst faY = {\n prefix: 'fas',\n iconName: 'y',\n icon: [384, 512, [121], \"59\", \"M58 45.4C47.8 31 27.8 27.7 13.4 38S-4.3 68.2 6 82.6L160 298.3 160 448c0 17.7 14.3 32 32 32s32-14.3 32-32l0-149.7L378 82.6c10.3-14.4 6.9-34.4-7.4-44.6S336.2 31 326 45.4L192 232.9 58 45.4z\"]\n};\nconst faPersonSnowboarding = {\n prefix: 'fas',\n iconName: 'person-snowboarding',\n icon: [512, 512, [127938, \"snowboarding\"], \"f7ce\", \"M209.7 3.4c15.8-7.9 35-1.5 42.9 14.3l25 50 42.4 8.5c19.5 3.9 37.8 12.3 53.5 24.5l126.1 98.1c14 10.9 16.5 31 5.6 44.9s-31 16.5-44.9 5.6l-72.1-56.1-71.5 31.8 33.1 27.6c23.2 19.3 33.5 50 26.7 79.4l-17.4 75.2c-2.2 9.4-8.2 16.8-16.1 21l86.5 33.1c4.6 1.8 9.4 2.6 14.3 2.6l28.2 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-28.2 0c-10.8 0-21.4-2-31.5-5.8L60.1 371.3c-11.5-4.4-22-11.2-30.8-20L7 329c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l22.4 22.4c4 4 8.7 7.1 14 9.1l22.4 8.6c-.8-1.6-1.5-3.2-2.1-4.9c-5.6-16.8 3.5-34.9 20.2-40.5L192 264.9l0-53.2c0-24.2 13.7-46.4 35.4-57.2l45.2-22.6-7.5-1.5c-19.4-3.9-35.9-16.5-44.7-34.1l-25-50c-7.9-15.8-1.5-35 14.3-42.9zM139 350.1l159 60.9c-2.1-5.6-2.6-11.9-1.1-18.2l17.4-75.2c1.4-5.9-.7-12-5.3-15.9l-52.8-44 0 18.8c0 20.7-13.2 39-32.8 45.5L139 350.1zM432 0a48 48 0 1 1 0 96 48 48 0 1 1 0-96z\"]\n};\nconst faSnowboarding = faPersonSnowboarding;\nconst faTruckFast = {\n prefix: 'fas',\n iconName: 'truck-fast',\n icon: [640, 512, [\"shipping-fast\"], \"f48b\", \"M112 0C85.5 0 64 21.5 64 48l0 48L16 96c-8.8 0-16 7.2-16 16s7.2 16 16 16l48 0 208 0c8.8 0 16 7.2 16 16s-7.2 16-16 16L64 160l-16 0c-8.8 0-16 7.2-16 16s7.2 16 16 16l16 0 176 0c8.8 0 16 7.2 16 16s-7.2 16-16 16L64 224l-48 0c-8.8 0-16 7.2-16 16s7.2 16 16 16l48 0 144 0c8.8 0 16 7.2 16 16s-7.2 16-16 16L64 288l0 128c0 53 43 96 96 96s96-43 96-96l128 0c0 53 43 96 96 96s96-43 96-96l32 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l0-64 0-32 0-18.7c0-17-6.7-33.3-18.7-45.3L512 114.7c-12-12-28.3-18.7-45.3-18.7L416 96l0-48c0-26.5-21.5-48-48-48L112 0zM544 237.3l0 18.7-128 0 0-96 50.7 0L544 237.3zM160 368a48 48 0 1 1 0 96 48 48 0 1 1 0-96zm272 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0z\"]\n};\nconst faShippingFast = faTruckFast;\nconst faFish = {\n prefix: 'fas',\n iconName: 'fish',\n icon: [576, 512, [128031], \"f578\", \"M180.5 141.5C219.7 108.5 272.6 80 336 80s116.3 28.5 155.5 61.5c39.1 33 66.9 72.4 81 99.8c4.7 9.2 4.7 20.1 0 29.3c-14.1 27.4-41.9 66.8-81 99.8C452.3 403.5 399.4 432 336 432s-116.3-28.5-155.5-61.5c-16.2-13.7-30.5-28.5-42.7-43.1L48.1 379.6c-12.5 7.3-28.4 5.3-38.7-4.9S-3 348.7 4.2 336.1L50 256 4.2 175.9c-7.2-12.6-5-28.4 5.3-38.6s26.1-12.2 38.7-4.9l89.7 52.3c12.2-14.6 26.5-29.4 42.7-43.1zM448 256a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nconst faUserGraduate = {\n prefix: 'fas',\n iconName: 'user-graduate',\n icon: [448, 512, [], \"f501\", \"M219.3 .5c3.1-.6 6.3-.6 9.4 0l200 40C439.9 42.7 448 52.6 448 64s-8.1 21.3-19.3 23.5L352 102.9l0 57.1c0 70.7-57.3 128-128 128s-128-57.3-128-128l0-57.1L48 93.3l0 65.1 15.7 78.4c.9 4.7-.3 9.6-3.3 13.3s-7.6 5.9-12.4 5.9l-32 0c-4.8 0-9.3-2.1-12.4-5.9s-4.3-8.6-3.3-13.3L16 158.4l0-71.8C6.5 83.3 0 74.3 0 64C0 52.6 8.1 42.7 19.3 40.5l200-40zM111.9 327.7c10.5-3.4 21.8 .4 29.4 8.5l71 75.5c6.3 6.7 17 6.7 23.3 0l71-75.5c7.6-8.1 18.9-11.9 29.4-8.5C401 348.6 448 409.4 448 481.3c0 17-13.8 30.7-30.7 30.7L30.7 512C13.8 512 0 498.2 0 481.3c0-71.9 47-132.7 111.9-153.6z\"]\n};\nconst faCircleHalfStroke = {\n prefix: 'fas',\n iconName: 'circle-half-stroke',\n icon: [512, 512, [9680, \"adjust\"], \"f042\", \"M448 256c0-106-86-192-192-192l0 384c106 0 192-86 192-192zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256z\"]\n};\nconst faAdjust = faCircleHalfStroke;\nconst faClapperboard = {\n prefix: 'fas',\n iconName: 'clapperboard',\n icon: [512, 512, [], \"e131\", \"M448 32l-86.1 0-1 1-127 127 92.1 0 1-1L453.8 32.3c-1.9-.2-3.8-.3-5.8-.3zm64 128l0-64c0-15.1-5.3-29.1-14-40l-104 104L512 160zM294.1 32l-92.1 0-1 1L73.9 160l92.1 0 1-1 127-127zM64 32C28.7 32 0 60.7 0 96l0 64 6.1 0 1-1 127-127L64 32zM512 192L0 192 0 416c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64l0-224z\"]\n};\nconst faCircleRadiation = {\n prefix: 'fas',\n iconName: 'circle-radiation',\n icon: [512, 512, [9762, \"radiation-alt\"], \"f7ba\", \"M256 64a192 192 0 1 1 0 384 192 192 0 1 1 0-384zm0 448A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM200 256c0-20.7 11.3-38.8 28-48.5l-36-62.3c-8.8-15.3-28.7-20.8-42-9c-25.6 22.6-43.9 53.3-50.9 88.1C95.7 241.5 110.3 256 128 256l72 0zm28 48.5l-36 62.4c-8.8 15.3-3.6 35.2 13.1 40.8c16 5.4 33.1 8.3 50.9 8.3s34.9-2.9 50.9-8.3c16.7-5.6 21.9-25.5 13.1-40.8l-36-62.4c-8.2 4.8-17.8 7.5-28 7.5s-19.8-2.7-28-7.5zM312 256l72 0c17.7 0 32.3-14.5 28.8-31.8c-7-34.8-25.3-65.5-50.9-88.1c-13.2-11.7-33.1-6.3-42 9l-36 62.3c16.7 9.7 28 27.8 28 48.5zm-56 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nconst faRadiationAlt = faCircleRadiation;\nconst faBaseball = {\n prefix: 'fas',\n iconName: 'baseball',\n icon: [512, 512, [129358, 9918, \"baseball-ball\"], \"f433\", \"M62.7 223.4c-4.8 .4-9.7 .6-14.7 .6c-15.6 0-30.8-2-45.2-5.9C19.2 107.1 107.1 19.2 218.1 2.8C222 17.2 224 32.4 224 48c0 4.9-.2 9.8-.6 14.7c-.7 8.8 5.8 16.5 14.6 17.3s16.5-5.8 17.3-14.6c.5-5.7 .7-11.5 .7-17.3c0-16.5-1.9-32.6-5.6-47.9c1.8 0 3.7-.1 5.6-.1C397.4 0 512 114.6 512 256c0 1.9 0 3.7-.1 5.6c-15.4-3.6-31.4-5.6-47.9-5.6c-5.8 0-11.6 .2-17.3 .7c-8.8 .7-15.4 8.5-14.6 17.3s8.5 15.4 17.3 14.6c4.8-.4 9.7-.6 14.7-.6c15.6 0 30.8 2 45.2 5.9C492.8 404.9 404.9 492.8 293.9 509.2C290 494.8 288 479.6 288 464c0-4.9 .2-9.8 .6-14.7c.7-8.8-5.8-16.5-14.6-17.3s-16.5 5.8-17.3 14.6c-.5 5.7-.7 11.5-.7 17.3c0 16.5 1.9 32.6 5.6 47.9c-1.8 0-3.7 .1-5.6 .1C114.6 512 0 397.4 0 256c0-1.9 0-3.7 .1-5.6C15.4 254.1 31.5 256 48 256c5.8 0 11.6-.2 17.3-.7c8.8-.7 15.4-8.5 14.6-17.3s-8.5-15.4-17.3-14.6zM121.3 208c-8 3.7-11.6 13.2-7.9 21.2s13.2 11.6 21.2 7.9c45.2-20.8 81.7-57.2 102.5-102.5c3.7-8 .2-17.5-7.9-21.2s-17.5-.2-21.2 7.9c-17.6 38.3-48.5 69.2-86.7 86.7zm277.2 74.7c-3.7-8-13.2-11.6-21.2-7.9c-45.2 20.8-81.7 57.2-102.5 102.5c-3.7 8-.2 17.5 7.9 21.2s17.5 .2 21.2-7.9c17.6-38.3 48.5-69.2 86.7-86.7c8-3.7 11.6-13.2 7.9-21.2z\"]\n};\nconst faBaseballBall = faBaseball;\nconst faJetFighterUp = {\n prefix: 'fas',\n iconName: 'jet-fighter-up',\n icon: [512, 512, [], \"e518\", \"M270.7 9.7C268.2 3.8 262.4 0 256 0s-12.2 3.8-14.7 9.7L197.2 112.6c-3.4 8-5.2 16.5-5.2 25.2l0 77-144 84L48 280c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 56 0 32 0 24c0 13.3 10.7 24 24 24s24-10.7 24-24l0-8 144 0 0 32.7L133.5 468c-3.5 3-5.5 7.4-5.5 12l0 16c0 8.8 7.2 16 16 16l96 0 0-64c0-8.8 7.2-16 16-16s16 7.2 16 16l0 64 96 0c8.8 0 16-7.2 16-16l0-16c0-4.6-2-9-5.5-12L320 416.7l0-32.7 144 0 0 8c0 13.3 10.7 24 24 24s24-10.7 24-24l0-24 0-32 0-56c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 18.8-144-84 0-77c0-8.7-1.8-17.2-5.2-25.2L270.7 9.7z\"]\n};\nconst faDiagramProject = {\n prefix: 'fas',\n iconName: 'diagram-project',\n icon: [576, 512, [\"project-diagram\"], \"f542\", \"M0 80C0 53.5 21.5 32 48 32l96 0c26.5 0 48 21.5 48 48l0 16 192 0 0-16c0-26.5 21.5-48 48-48l96 0c26.5 0 48 21.5 48 48l0 96c0 26.5-21.5 48-48 48l-96 0c-26.5 0-48-21.5-48-48l0-16-192 0 0 16c0 1.7-.1 3.4-.3 5L272 288l96 0c26.5 0 48 21.5 48 48l0 96c0 26.5-21.5 48-48 48l-96 0c-26.5 0-48-21.5-48-48l0-96c0-1.7 .1-3.4 .3-5L144 224l-96 0c-26.5 0-48-21.5-48-48L0 80z\"]\n};\nconst faProjectDiagram = faDiagramProject;\nconst faCopy = {\n prefix: 'fas',\n iconName: 'copy',\n icon: [448, 512, [], \"f0c5\", \"M208 0L332.1 0c12.7 0 24.9 5.1 33.9 14.1l67.9 67.9c9 9 14.1 21.2 14.1 33.9L448 336c0 26.5-21.5 48-48 48l-192 0c-26.5 0-48-21.5-48-48l0-288c0-26.5 21.5-48 48-48zM48 128l80 0 0 64-64 0 0 256 192 0 0-32 64 0 0 48c0 26.5-21.5 48-48 48L48 512c-26.5 0-48-21.5-48-48L0 176c0-26.5 21.5-48 48-48z\"]\n};\nconst faVolumeXmark = {\n prefix: 'fas',\n iconName: 'volume-xmark',\n icon: [576, 512, [\"volume-mute\", \"volume-times\"], \"f6a9\", \"M301.1 34.8C312.6 40 320 51.4 320 64l0 384c0 12.6-7.4 24-18.9 29.2s-25 3.1-34.4-5.3L131.8 352 64 352c-35.3 0-64-28.7-64-64l0-64c0-35.3 28.7-64 64-64l67.8 0L266.7 40.1c9.4-8.4 22.9-10.4 34.4-5.3zM425 167l55 55 55-55c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-55 55 55 55c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-55-55-55 55c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l55-55-55-55c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0z\"]\n};\nconst faVolumeMute = faVolumeXmark;\nconst faVolumeTimes = faVolumeXmark;\nconst faHandSparkles = {\n prefix: 'fas',\n iconName: 'hand-sparkles',\n icon: [640, 512, [], \"e05d\", \"M320 0c17.7 0 32 14.3 32 32l0 208c0 8.8 7.2 16 16 16s16-7.2 16-16l0-176c0-17.7 14.3-32 32-32s32 14.3 32 32l0 176c0 8.8 7.2 16 16 16s16-7.2 16-16l0-112c0-17.7 14.3-32 32-32s32 14.3 32 32l0 195.1c-11.9 4.8-21.3 14.9-25 27.8l-8.9 31.2L478.9 391C460.6 396.3 448 413 448 432c0 18.9 12.5 35.6 30.6 40.9C448.4 497.4 409.9 512 368 512l-19.2 0c-59.6 0-116.9-22.9-160-64L76.4 341c-16-15.2-16.6-40.6-1.4-56.6s40.6-16.6 56.6-1.4l60.5 57.6c0-1.5-.1-3.1-.1-4.6l0-272c0-17.7 14.3-32 32-32s32 14.3 32 32l0 176c0 8.8 7.2 16 16 16s16-7.2 16-16l0-208c0-17.7 14.3-32 32-32zm-7.3 326.6c-1.1-3.9-4.7-6.6-8.7-6.6s-7.6 2.7-8.7 6.6L288 352l-25.4 7.3c-3.9 1.1-6.6 4.7-6.6 8.7s2.7 7.6 6.6 8.7L288 384l7.3 25.4c1.1 3.9 4.7 6.6 8.7 6.6s7.6-2.7 8.7-6.6L320 384l25.4-7.3c3.9-1.1 6.6-4.7 6.6-8.7s-2.7-7.6-6.6-8.7L320 352l-7.3-25.4zM104 120l48.3 13.8c4.6 1.3 7.7 5.5 7.7 10.2s-3.1 8.9-7.7 10.2L104 168 90.2 216.3c-1.3 4.6-5.5 7.7-10.2 7.7s-8.9-3.1-10.2-7.7L56 168 7.7 154.2C3.1 152.9 0 148.7 0 144s3.1-8.9 7.7-10.2L56 120 69.8 71.7C71.1 67.1 75.3 64 80 64s8.9 3.1 10.2 7.7L104 120zM584 408l48.3 13.8c4.6 1.3 7.7 5.5 7.7 10.2s-3.1 8.9-7.7 10.2L584 456l-13.8 48.3c-1.3 4.6-5.5 7.7-10.2 7.7s-8.9-3.1-10.2-7.7L536 456l-48.3-13.8c-4.6-1.3-7.7-5.5-7.7-10.2s3.1-8.9 7.7-10.2L536 408l13.8-48.3c1.3-4.6 5.5-7.7 10.2-7.7s8.9 3.1 10.2 7.7L584 408z\"]\n};\nconst faGrip = {\n prefix: 'fas',\n iconName: 'grip',\n icon: [448, 512, [\"grip-horizontal\"], \"f58d\", \"M128 136c0-22.1-17.9-40-40-40L40 96C17.9 96 0 113.9 0 136l0 48c0 22.1 17.9 40 40 40l48 0c22.1 0 40-17.9 40-40l0-48zm0 192c0-22.1-17.9-40-40-40l-48 0c-22.1 0-40 17.9-40 40l0 48c0 22.1 17.9 40 40 40l48 0c22.1 0 40-17.9 40-40l0-48zm32-192l0 48c0 22.1 17.9 40 40 40l48 0c22.1 0 40-17.9 40-40l0-48c0-22.1-17.9-40-40-40l-48 0c-22.1 0-40 17.9-40 40zM288 328c0-22.1-17.9-40-40-40l-48 0c-22.1 0-40 17.9-40 40l0 48c0 22.1 17.9 40 40 40l48 0c22.1 0 40-17.9 40-40l0-48zm32-192l0 48c0 22.1 17.9 40 40 40l48 0c22.1 0 40-17.9 40-40l0-48c0-22.1-17.9-40-40-40l-48 0c-22.1 0-40 17.9-40 40zM448 328c0-22.1-17.9-40-40-40l-48 0c-22.1 0-40 17.9-40 40l0 48c0 22.1 17.9 40 40 40l48 0c22.1 0 40-17.9 40-40l0-48z\"]\n};\nconst faGripHorizontal = faGrip;\nconst faShareFromSquare = {\n prefix: 'fas',\n iconName: 'share-from-square',\n icon: [576, 512, [61509, \"share-square\"], \"f14d\", \"M352 224l-46.5 0c-45 0-81.5 36.5-81.5 81.5c0 22.3 10.3 34.3 19.2 40.5c6.8 4.7 12.8 12 12.8 20.3c0 9.8-8 17.8-17.8 17.8l-2.5 0c-2.4 0-4.8-.4-7.1-1.4C210.8 374.8 128 333.4 128 240c0-79.5 64.5-144 144-144l80 0 0-61.3C352 15.5 367.5 0 386.7 0c8.6 0 16.8 3.2 23.2 8.9L548.1 133.3c7.6 6.8 11.9 16.5 11.9 26.7s-4.3 19.9-11.9 26.7l-139 125.1c-5.9 5.3-13.5 8.2-21.4 8.2l-3.7 0c-17.7 0-32-14.3-32-32l0-64zM80 96c-8.8 0-16 7.2-16 16l0 320c0 8.8 7.2 16 16 16l320 0c8.8 0 16-7.2 16-16l0-48c0-17.7 14.3-32 32-32s32 14.3 32 32l0 48c0 44.2-35.8 80-80 80L80 512c-44.2 0-80-35.8-80-80L0 112C0 67.8 35.8 32 80 32l48 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L80 96z\"]\n};\nconst faShareSquare = faShareFromSquare;\nconst faChildCombatant = {\n prefix: 'fas',\n iconName: 'child-combatant',\n icon: [576, 512, [\"child-rifle\"], \"e4e0\", \"M176 128A64 64 0 1 0 176 0a64 64 0 1 0 0 128zm-8 352l0-128 16 0 0 128c0 17.7 14.3 32 32 32s32-14.3 32-32l0-179.5L260.9 321c9.4 15 29.2 19.4 44.1 10s19.4-29.2 10-44.1l-51.7-82.1c-17.6-27.9-48.3-44.9-81.2-44.9l-12.3 0c-33 0-63.7 16.9-81.2 44.9L36.9 287c-9.4 15-4.9 34.7 10 44.1s34.7 4.9 44.1-10L104 300.5 104 480c0 17.7 14.3 32 32 32s32-14.3 32-32zM448 0L432 0 416 0c-8.8 0-16 7.2-16 16s7.2 16 16 16l0 100.3c-9.6 5.5-16 15.9-16 27.7l0 32c-17.7 0-32 14.3-32 32l0 144c0 17.7 14.3 32 32 32l16 0 0 96c0 8.8 7.2 16 16 16l59.5 0c10.4 0 18-9.8 15.5-19.9L484 400l44 0c8.8 0 16-7.2 16-16l0-16c0-8.8-7.2-16-16-16l-48 0 0-26.7 53.1-17.7c6.5-2.2 10.9-8.3 10.9-15.2l0-84.5c0-8.8-7.2-16-16-16l-16 0c-8.8 0-16 7.2-16 16l0 56-16 5.3L480 160c0-11.8-6.4-22.2-16-27.7L464 16c0-8.8-7.2-16-16-16z\"]\n};\nconst faChildRifle = faChildCombatant;\nconst faGun = {\n prefix: 'fas',\n iconName: 'gun',\n icon: [576, 512, [], \"e19b\", \"M528 56c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 8L32 64C14.3 64 0 78.3 0 96L0 208c0 17.7 14.3 32 32 32l10 0c20.8 0 36.1 19.6 31 39.8L33 440.2c-2.4 9.6-.2 19.7 5.8 27.5S54.1 480 64 480l96 0c14.7 0 27.5-10 31-24.2L217 352l104.5 0c23.7 0 44.8-14.9 52.7-37.2L400.9 240l31.1 0c8.5 0 16.6-3.4 22.6-9.4L477.3 208l66.7 0c17.7 0 32-14.3 32-32l0-80c0-17.7-14.3-32-32-32l-16 0 0-8zM321.4 304L229 304l16-64 105 0-21 58.7c-1.1 3.2-4.2 5.3-7.5 5.3zM80 128l384 0c8.8 0 16 7.2 16 16s-7.2 16-16 16L80 160c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nconst faSquarePhone = {\n prefix: 'fas',\n iconName: 'square-phone',\n icon: [448, 512, [\"phone-square\"], \"f098\", \"M64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32zm90.7 96.7c9.7-2.6 19.9 2.3 23.7 11.6l20 48c3.4 8.2 1 17.6-5.8 23.2L168 231.7c16.6 35.2 45.1 63.7 80.3 80.3l20.2-24.7c5.6-6.8 15-9.2 23.2-5.8l48 20c9.3 3.9 14.2 14 11.6 23.7l-12 44C336.9 378 329 384 320 384C196.3 384 96 283.7 96 160c0-9 6-16.9 14.7-19.3l44-12z\"]\n};\nconst faPhoneSquare = faSquarePhone;\nconst faPlus = {\n prefix: 'fas',\n iconName: 'plus',\n icon: [448, 512, [10133, 61543, \"add\"], \"2b\", \"M256 80c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 144L48 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l144 0 0 144c0 17.7 14.3 32 32 32s32-14.3 32-32l0-144 144 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-144 0 0-144z\"]\n};\nconst faAdd = faPlus;\nconst faExpand = {\n prefix: 'fas',\n iconName: 'expand',\n icon: [448, 512, [], \"f065\", \"M32 32C14.3 32 0 46.3 0 64l0 96c0 17.7 14.3 32 32 32s32-14.3 32-32l0-64 64 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L32 32zM64 352c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 96c0 17.7 14.3 32 32 32l96 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-64 0 0-64zM320 32c-17.7 0-32 14.3-32 32s14.3 32 32 32l64 0 0 64c0 17.7 14.3 32 32 32s32-14.3 32-32l0-96c0-17.7-14.3-32-32-32l-96 0zM448 352c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 64-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l96 0c17.7 0 32-14.3 32-32l0-96z\"]\n};\nconst faComputer = {\n prefix: 'fas',\n iconName: 'computer',\n icon: [640, 512, [], \"e4e5\", \"M384 96l0 224L64 320 64 96l320 0zM64 32C28.7 32 0 60.7 0 96L0 320c0 35.3 28.7 64 64 64l117.3 0-10.7 32L96 416c-17.7 0-32 14.3-32 32s14.3 32 32 32l256 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-74.7 0-10.7-32L384 384c35.3 0 64-28.7 64-64l0-224c0-35.3-28.7-64-64-64L64 32zm464 0c-26.5 0-48 21.5-48 48l0 352c0 26.5 21.5 48 48 48l64 0c26.5 0 48-21.5 48-48l0-352c0-26.5-21.5-48-48-48l-64 0zm16 64l32 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16s7.2-16 16-16zm-16 80c0-8.8 7.2-16 16-16l32 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16zm32 160a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nconst faXmark = {\n prefix: 'fas',\n iconName: 'xmark',\n icon: [384, 512, [128473, 10005, 10006, 10060, 215, \"close\", \"multiply\", \"remove\", \"times\"], \"f00d\", \"M342.6 150.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192 210.7 86.6 105.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L146.7 256 41.4 361.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192 301.3 297.4 406.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.3 256 342.6 150.6z\"]\n};\nconst faClose = faXmark;\nconst faMultiply = faXmark;\nconst faRemove = faXmark;\nconst faTimes = faXmark;\nconst faArrowsUpDownLeftRight = {\n prefix: 'fas',\n iconName: 'arrows-up-down-left-right',\n icon: [512, 512, [\"arrows\"], \"f047\", \"M278.6 9.4c-12.5-12.5-32.8-12.5-45.3 0l-64 64c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l9.4-9.4L224 224l-114.7 0 9.4-9.4c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-64 64c-12.5 12.5-12.5 32.8 0 45.3l64 64c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-9.4-9.4L224 288l0 114.7-9.4-9.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l64 64c12.5 12.5 32.8 12.5 45.3 0l64-64c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-9.4 9.4L288 288l114.7 0-9.4 9.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l64-64c12.5-12.5 12.5-32.8 0-45.3l-64-64c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l9.4 9.4L288 224l0-114.7 9.4 9.4c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-64-64z\"]\n};\nconst faArrows = faArrowsUpDownLeftRight;\nconst faChalkboardUser = {\n prefix: 'fas',\n iconName: 'chalkboard-user',\n icon: [640, 512, [\"chalkboard-teacher\"], \"f51c\", \"M160 64c0-35.3 28.7-64 64-64L576 0c35.3 0 64 28.7 64 64l0 288c0 35.3-28.7 64-64 64l-239.2 0c-11.8-25.5-29.9-47.5-52.4-64l99.6 0 0-32c0-17.7 14.3-32 32-32l64 0c17.7 0 32 14.3 32 32l0 32 64 0 0-288L224 64l0 49.1C205.2 102.2 183.3 96 160 96l0-32zm0 64a96 96 0 1 1 0 192 96 96 0 1 1 0-192zM133.3 352l53.3 0C260.3 352 320 411.7 320 485.3c0 14.7-11.9 26.7-26.7 26.7L26.7 512C11.9 512 0 500.1 0 485.3C0 411.7 59.7 352 133.3 352z\"]\n};\nconst faChalkboardTeacher = faChalkboardUser;\nconst faPesoSign = {\n prefix: 'fas',\n iconName: 'peso-sign',\n icon: [384, 512, [], \"e222\", \"M64 32C46.3 32 32 46.3 32 64l0 64c-17.7 0-32 14.3-32 32s14.3 32 32 32l0 32c-17.7 0-32 14.3-32 32s14.3 32 32 32l0 64 0 96c0 17.7 14.3 32 32 32s32-14.3 32-32l0-64 80 0c68.4 0 127.7-39 156.8-96l19.2 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-.7 0c.5-5.3 .7-10.6 .7-16s-.2-10.7-.7-16l.7 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-19.2 0C303.7 71 244.4 32 176 32L64 32zm190.4 96L96 128l0-32 80 0c30.5 0 58.2 12.2 78.4 32zM96 192l190.9 0c.7 5.2 1.1 10.6 1.1 16s-.4 10.8-1.1 16L96 224l0-32zm158.4 96c-20.2 19.8-47.9 32-78.4 32l-80 0 0-32 158.4 0z\"]\n};\nconst faBuildingShield = {\n prefix: 'fas',\n iconName: 'building-shield',\n icon: [576, 512, [], \"e4d8\", \"M0 48C0 21.5 21.5 0 48 0L336 0c26.5 0 48 21.5 48 48l0 159-42.4 17L304 224l-32 0c-8.8 0-16 7.2-16 16l0 32 0 24.2 0 7.8c0 .9 .1 1.7 .2 2.6c2.3 58.1 24.1 144.8 98.7 201.5c-5.8 2.5-12.2 3.9-18.9 3.9l-96 0 0-80c0-26.5-21.5-48-48-48s-48 21.5-48 48l0 80-96 0c-26.5 0-48-21.5-48-48L0 48zM80 224c-8.8 0-16 7.2-16 16l0 32c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16l-32 0zm80 16l0 32c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16l-32 0c-8.8 0-16 7.2-16 16zM64 112l0 32c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16L80 96c-8.8 0-16 7.2-16 16zM176 96c-8.8 0-16 7.2-16 16l0 32c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16l-32 0zm80 16l0 32c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16l-32 0c-8.8 0-16 7.2-16 16zM423.1 225.7c5.7-2.3 12.1-2.3 17.8 0l120 48C570 277.4 576 286.2 576 296c0 63.3-25.9 168.8-134.8 214.2c-5.9 2.5-12.6 2.5-18.5 0C313.9 464.8 288 359.3 288 296c0-9.8 6-18.6 15.1-22.3l120-48zM527.4 312L432 273.8l0 187.8c68.2-33 91.5-99 95.4-149.7z\"]\n};\nconst faBaby = {\n prefix: 'fas',\n iconName: 'baby',\n icon: [448, 512, [], \"f77c\", \"M152 88a72 72 0 1 1 144 0A72 72 0 1 1 152 88zM39.7 144.5c13-17.9 38-21.8 55.9-8.8L131.8 162c26.8 19.5 59.1 30 92.2 30s65.4-10.5 92.2-30l36.2-26.4c17.9-13 42.9-9 55.9 8.8s9 42.9-8.8 55.9l-36.2 26.4c-13.6 9.9-28.1 18.2-43.3 25l0 36.3-192 0 0-36.3c-15.2-6.7-29.7-15.1-43.3-25L48.5 200.3c-17.9-13-21.8-38-8.8-55.9zm89.8 184.8l60.6 53-26 37.2 24.3 24.3c15.6 15.6 15.6 40.9 0 56.6s-40.9 15.6-56.6 0l-48-48C70 438.6 68.1 417 79.2 401.1l50.2-71.8zm128.5 53l60.6-53 50.2 71.8c11.1 15.9 9.2 37.5-4.5 51.2l-48 48c-15.6 15.6-40.9 15.6-56.6 0s-15.6-40.9 0-56.6L284 419.4l-26-37.2z\"]\n};\nconst faUsersLine = {\n prefix: 'fas',\n iconName: 'users-line',\n icon: [640, 512, [], \"e592\", \"M211.2 96a64 64 0 1 0 -128 0 64 64 0 1 0 128 0zM32 256c0 17.7 14.3 32 32 32l85.6 0c10.1-39.4 38.6-71.5 75.8-86.6c-9.7-6-21.2-9.4-33.4-9.4l-96 0c-35.3 0-64 28.7-64 64zm461.6 32l82.4 0c17.7 0 32-14.3 32-32c0-35.3-28.7-64-64-64l-96 0c-11.7 0-22.7 3.1-32.1 8.6c38.1 14.8 67.4 47.3 77.7 87.4zM391.2 226.4c-6.9-1.6-14.2-2.4-21.6-2.4l-96 0c-8.5 0-16.7 1.1-24.5 3.1c-30.8 8.1-55.6 31.1-66.1 60.9c-3.5 10-5.5 20.8-5.5 32c0 17.7 14.3 32 32 32l224 0c17.7 0 32-14.3 32-32c0-11.2-1.9-22-5.5-32c-10.8-30.7-36.8-54.2-68.9-61.6zM563.2 96a64 64 0 1 0 -128 0 64 64 0 1 0 128 0zM321.6 192a80 80 0 1 0 0-160 80 80 0 1 0 0 160zM32 416c-17.7 0-32 14.3-32 32s14.3 32 32 32l576 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L32 416z\"]\n};\nconst faQuoteLeft = {\n prefix: 'fas',\n iconName: 'quote-left',\n icon: [448, 512, [8220, \"quote-left-alt\"], \"f10d\", \"M0 216C0 149.7 53.7 96 120 96l8 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-8 0c-30.9 0-56 25.1-56 56l0 8 64 0c35.3 0 64 28.7 64 64l0 64c0 35.3-28.7 64-64 64l-64 0c-35.3 0-64-28.7-64-64l0-32 0-32 0-72zm256 0c0-66.3 53.7-120 120-120l8 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-8 0c-30.9 0-56 25.1-56 56l0 8 64 0c35.3 0 64 28.7 64 64l0 64c0 35.3-28.7 64-64 64l-64 0c-35.3 0-64-28.7-64-64l0-32 0-32 0-72z\"]\n};\nconst faQuoteLeftAlt = faQuoteLeft;\nconst faTractor = {\n prefix: 'fas',\n iconName: 'tractor',\n icon: [640, 512, [128668], \"f722\", \"M96 64c0-35.3 28.7-64 64-64L266.3 0c26.2 0 49.7 15.9 59.4 40.2L373.7 160 480 160l0-33.8c0-24.8 5.8-49.3 16.9-71.6l2.5-5c7.9-15.8 27.1-22.2 42.9-14.3s22.2 27.1 14.3 42.9l-2.5 5c-6.7 13.3-10.1 28-10.1 42.9l0 33.8 56 0c22.1 0 40 17.9 40 40l0 45.4c0 16.5-8.5 31.9-22.6 40.7l-43.3 27.1c-14.2-5.9-29.8-9.2-46.1-9.2c-39.3 0-74.1 18.9-96 48l-80 0c0 17.7-14.3 32-32 32l-8.2 0c-1.7 4.8-3.7 9.5-5.8 14.1l5.8 5.8c12.5 12.5 12.5 32.8 0 45.3l-22.6 22.6c-12.5 12.5-32.8 12.5-45.3 0l-5.8-5.8c-4.6 2.2-9.3 4.1-14.1 5.8l0 8.2c0 17.7-14.3 32-32 32l-32 0c-17.7 0-32-14.3-32-32l0-8.2c-4.8-1.7-9.5-3.7-14.1-5.8l-5.8 5.8c-12.5 12.5-32.8 12.5-45.3 0L40.2 449.1c-12.5-12.5-12.5-32.8 0-45.3l5.8-5.8c-2.2-4.6-4.1-9.3-5.8-14.1L32 384c-17.7 0-32-14.3-32-32l0-32c0-17.7 14.3-32 32-32l8.2 0c1.7-4.8 3.7-9.5 5.8-14.1l-5.8-5.8c-12.5-12.5-12.5-32.8 0-45.3l22.6-22.6c9-9 21.9-11.5 33.1-7.6l0-.6 0-32 0-96zm170.3 0L160 64l0 96 32 0 112.7 0L266.3 64zM176 256a80 80 0 1 0 0 160 80 80 0 1 0 0-160zM528 448a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm0 64c-48.6 0-88-39.4-88-88c0-29.8 14.8-56.1 37.4-72c14.3-10.1 31.8-16 50.6-16c2.7 0 5.3 .1 7.9 .3c44.9 4 80.1 41.7 80.1 87.7c0 48.6-39.4 88-88 88z\"]\n};\nconst faTrashArrowUp = {\n prefix: 'fas',\n iconName: 'trash-arrow-up',\n icon: [448, 512, [\"trash-restore\"], \"f829\", \"M163.8 0L284.2 0c12.1 0 23.2 6.8 28.6 17.7L320 32l96 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 96C14.3 96 0 81.7 0 64S14.3 32 32 32l96 0 7.2-14.3C140.6 6.8 151.7 0 163.8 0zM32 128l384 0L394.8 467c-1.6 25.3-22.6 45-47.9 45l-245.8 0c-25.3 0-46.3-19.7-47.9-45L32 128zm192 64c-6.4 0-12.5 2.5-17 7l-80 80c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l39-39L200 408c0 13.3 10.7 24 24 24s24-10.7 24-24l0-134.1 39 39c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-80-80c-4.5-4.5-10.6-7-17-7z\"]\n};\nconst faTrashRestore = faTrashArrowUp;\nconst faArrowDownUpLock = {\n prefix: 'fas',\n iconName: 'arrow-down-up-lock',\n icon: [640, 512, [], \"e4b0\", \"M150.6 502.6l96-96c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L160 402.7 160 288l256 0 0-16c0-17.2 3.9-33.5 10.8-48L352 224l0-114.7 41.4 41.4c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-96-96c-6-6-14.1-9.4-22.6-9.4s-16.6 3.4-22.6 9.4l-96 96c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L288 109.3 288 224l-128 0-64 0-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l64 0 0 114.7L54.6 361.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l96 96c12.5 12.5 32.8 12.5 45.3 0zM160 192l0-128c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 128 64 0zM288 320l0 128c0 17.7 14.3 32 32 32s32-14.3 32-32l0-128-64 0zm240-80c17.7 0 32 14.3 32 32l0 48-64 0 0-48c0-17.7 14.3-32 32-32zm-80 32l0 48c-17.7 0-32 14.3-32 32l0 128c0 17.7 14.3 32 32 32l160 0c17.7 0 32-14.3 32-32l0-128c0-17.7-14.3-32-32-32l0-48c0-44.2-35.8-80-80-80s-80 35.8-80 80z\"]\n};\nconst faLinesLeaning = {\n prefix: 'fas',\n iconName: 'lines-leaning',\n icon: [384, 512, [], \"e51e\", \"M190.4 74.1c5.6-16.8-3.5-34.9-20.2-40.5s-34.9 3.5-40.5 20.2l-128 384c-5.6 16.8 3.5 34.9 20.2 40.5s34.9-3.5 40.5-20.2l128-384zm70.9-41.7c-17.4-2.9-33.9 8.9-36.8 26.3l-64 384c-2.9 17.4 8.9 33.9 26.3 36.8s33.9-8.9 36.8-26.3l64-384c2.9-17.4-8.9-33.9-26.3-36.8zM352 32c-17.7 0-32 14.3-32 32l0 384c0 17.7 14.3 32 32 32s32-14.3 32-32l0-384c0-17.7-14.3-32-32-32z\"]\n};\nconst faRulerCombined = {\n prefix: 'fas',\n iconName: 'ruler-combined',\n icon: [512, 512, [], \"f546\", \"M.2 468.9C2.7 493.1 23.1 512 48 512l96 0 320 0c26.5 0 48-21.5 48-48l0-96c0-26.5-21.5-48-48-48l-48 0 0 80c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-80-64 0 0 80c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-80-64 0 0 80c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-80-80 0c-8.8 0-16-7.2-16-16s7.2-16 16-16l80 0 0-64-80 0c-8.8 0-16-7.2-16-16s7.2-16 16-16l80 0 0-64-80 0c-8.8 0-16-7.2-16-16s7.2-16 16-16l80 0 0-48c0-26.5-21.5-48-48-48L48 0C21.5 0 0 21.5 0 48L0 368l0 96c0 1.7 .1 3.3 .2 4.9z\"]\n};\nconst faCopyright = {\n prefix: 'fas',\n iconName: 'copyright',\n icon: [512, 512, [169], \"f1f9\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM199.4 312.6c31.2 31.2 81.9 31.2 113.1 0c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9c-50 50-131 50-181 0s-50-131 0-181s131-50 181 0c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0c-31.2-31.2-81.9-31.2-113.1 0s-31.2 81.9 0 113.1z\"]\n};\nconst faEquals = {\n prefix: 'fas',\n iconName: 'equals',\n icon: [448, 512, [62764], \"3d\", \"M48 128c-17.7 0-32 14.3-32 32s14.3 32 32 32l352 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L48 128zm0 192c-17.7 0-32 14.3-32 32s14.3 32 32 32l352 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L48 320z\"]\n};\nconst faBlender = {\n prefix: 'fas',\n iconName: 'blender',\n icon: [512, 512, [], \"f517\", \"M0 64C0 28.7 28.7 0 64 0l64 0 32 0L470.1 0c21.1 0 36.4 20.1 30.9 40.4L494.5 64 336 64c-8.8 0-16 7.2-16 16s7.2 16 16 16l149.8 0-17.5 64L336 160c-8.8 0-16 7.2-16 16s7.2 16 16 16l123.6 0-17.5 64L336 256c-8.8 0-16 7.2-16 16s7.2 16 16 16l97.5 0L416 352l-256 0-8.7-96L64 256c-35.3 0-64-28.7-64-64L0 64zM145.5 192L133.8 64 64 64l0 128 81.5 0zM144 384l288 0c26.5 0 48 21.5 48 48l0 32c0 26.5-21.5 48-48 48l-288 0c-26.5 0-48-21.5-48-48l0-32c0-26.5 21.5-48 48-48zm144 96a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nconst faTeeth = {\n prefix: 'fas',\n iconName: 'teeth',\n icon: [576, 512, [], \"f62e\", \"M0 128C0 75 43 32 96 32l384 0c53 0 96 43 96 96l0 256c0 53-43 96-96 96L96 480c-53 0-96-43-96-96L0 128zm176 48l0 56c0 13.3 10.7 24 24 24l48 0c13.3 0 24-10.7 24-24l0-56c0-26.5-21.5-48-48-48s-48 21.5-48 48zm176-48c-26.5 0-48 21.5-48 48l0 56c0 13.3 10.7 24 24 24l48 0c13.3 0 24-10.7 24-24l0-56c0-26.5-21.5-48-48-48zM48 208l0 24c0 13.3 10.7 24 24 24l48 0c13.3 0 24-10.7 24-24l0-24c0-26.5-21.5-48-48-48s-48 21.5-48 48zM96 384c26.5 0 48-21.5 48-48l0-24c0-13.3-10.7-24-24-24l-48 0c-13.3 0-24 10.7-24 24l0 24c0 26.5 21.5 48 48 48zm80-48c0 26.5 21.5 48 48 48s48-21.5 48-48l0-24c0-13.3-10.7-24-24-24l-48 0c-13.3 0-24 10.7-24 24l0 24zm176 48c26.5 0 48-21.5 48-48l0-24c0-13.3-10.7-24-24-24l-48 0c-13.3 0-24 10.7-24 24l0 24c0 26.5 21.5 48 48 48zm80-176l0 24c0 13.3 10.7 24 24 24l48 0c13.3 0 24-10.7 24-24l0-24c0-26.5-21.5-48-48-48s-48 21.5-48 48zm48 176c26.5 0 48-21.5 48-48l0-24c0-13.3-10.7-24-24-24l-48 0c-13.3 0-24 10.7-24 24l0 24c0 26.5 21.5 48 48 48z\"]\n};\nconst faShekelSign = {\n prefix: 'fas',\n iconName: 'shekel-sign',\n icon: [448, 512, [8362, \"ils\", \"shekel\", \"sheqel\", \"sheqel-sign\"], \"f20b\", \"M32 32C14.3 32 0 46.3 0 64L0 448c0 17.7 14.3 32 32 32s32-14.3 32-32L64 96l128 0c35.3 0 64 28.7 64 64l0 160c0 17.7 14.3 32 32 32s32-14.3 32-32l0-160c0-70.7-57.3-128-128-128L32 32zM320 480c70.7 0 128-57.3 128-128l0-288c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 288c0 35.3-28.7 64-64 64l-128 0 0-224c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 256c0 17.7 14.3 32 32 32l160 0z\"]\n};\nconst faIls = faShekelSign;\nconst faShekel = faShekelSign;\nconst faSheqel = faShekelSign;\nconst faSheqelSign = faShekelSign;\nconst faMap = {\n prefix: 'fas',\n iconName: 'map',\n icon: [576, 512, [128506, 62072], \"f279\", \"M384 476.1L192 421.2l0-385.3L384 90.8l0 385.3zm32-1.2l0-386.5L543.1 37.5c15.8-6.3 32.9 5.3 32.9 22.3l0 334.8c0 9.8-6 18.6-15.1 22.3L416 474.8zM15.1 95.1L160 37.2l0 386.5L32.9 474.5C17.1 480.8 0 469.2 0 452.2L0 117.4c0-9.8 6-18.6 15.1-22.3z\"]\n};\nconst faRocket = {\n prefix: 'fas',\n iconName: 'rocket',\n icon: [512, 512, [], \"f135\", \"M156.6 384.9L125.7 354c-8.5-8.5-11.5-20.8-7.7-32.2c3-8.9 7-20.5 11.8-33.8L24 288c-8.6 0-16.6-4.6-20.9-12.1s-4.2-16.7 .2-24.1l52.5-88.5c13-21.9 36.5-35.3 61.9-35.3l82.3 0c2.4-4 4.8-7.7 7.2-11.3C289.1-4.1 411.1-8.1 483.9 5.3c11.6 2.1 20.6 11.2 22.8 22.8c13.4 72.9 9.3 194.8-111.4 276.7c-3.5 2.4-7.3 4.8-11.3 7.2l0 82.3c0 25.4-13.4 49-35.3 61.9l-88.5 52.5c-7.4 4.4-16.6 4.5-24.1 .2s-12.1-12.2-12.1-20.9l0-107.2c-14.1 4.9-26.4 8.9-35.7 11.9c-11.2 3.6-23.4 .5-31.8-7.8zM384 168a40 40 0 1 0 0-80 40 40 0 1 0 0 80z\"]\n};\nconst faPhotoFilm = {\n prefix: 'fas',\n iconName: 'photo-film',\n icon: [640, 512, [\"photo-video\"], \"f87c\", \"M256 0L576 0c35.3 0 64 28.7 64 64l0 224c0 35.3-28.7 64-64 64l-320 0c-35.3 0-64-28.7-64-64l0-224c0-35.3 28.7-64 64-64zM476 106.7C471.5 100 464 96 456 96s-15.5 4-20 10.7l-56 84L362.7 169c-4.6-5.7-11.5-9-18.7-9s-14.2 3.3-18.7 9l-64 80c-5.8 7.2-6.9 17.1-2.9 25.4s12.4 13.6 21.6 13.6l80 0 48 0 144 0c8.9 0 17-4.9 21.2-12.7s3.7-17.3-1.2-24.6l-96-144zM336 96a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM64 128l96 0 0 256 0 32c0 17.7 14.3 32 32 32l128 0c17.7 0 32-14.3 32-32l0-32 160 0 0 64c0 35.3-28.7 64-64 64L64 512c-35.3 0-64-28.7-64-64L0 192c0-35.3 28.7-64 64-64zm8 64c-8.8 0-16 7.2-16 16l0 16c0 8.8 7.2 16 16 16l16 0c8.8 0 16-7.2 16-16l0-16c0-8.8-7.2-16-16-16l-16 0zm0 104c-8.8 0-16 7.2-16 16l0 16c0 8.8 7.2 16 16 16l16 0c8.8 0 16-7.2 16-16l0-16c0-8.8-7.2-16-16-16l-16 0zm0 104c-8.8 0-16 7.2-16 16l0 16c0 8.8 7.2 16 16 16l16 0c8.8 0 16-7.2 16-16l0-16c0-8.8-7.2-16-16-16l-16 0zm336 16l0 16c0 8.8 7.2 16 16 16l16 0c8.8 0 16-7.2 16-16l0-16c0-8.8-7.2-16-16-16l-16 0c-8.8 0-16 7.2-16 16z\"]\n};\nconst faPhotoVideo = faPhotoFilm;\nconst faFolderMinus = {\n prefix: 'fas',\n iconName: 'folder-minus',\n icon: [512, 512, [], \"f65d\", \"M448 480L64 480c-35.3 0-64-28.7-64-64L0 96C0 60.7 28.7 32 64 32l128 0c20.1 0 39.1 9.5 51.2 25.6l19.2 25.6c6 8.1 15.5 12.8 25.6 12.8l160 0c35.3 0 64 28.7 64 64l0 256c0 35.3-28.7 64-64 64zM184 272c-13.3 0-24 10.7-24 24s10.7 24 24 24l144 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-144 0z\"]\n};\nconst faHexagonNodesBolt = {\n prefix: 'fas',\n iconName: 'hexagon-nodes-bolt',\n icon: [576, 512, [], \"e69a\", \"M248 106.6c18.9-9 32-28.3 32-50.6c0-30.9-25.1-56-56-56s-56 25.1-56 56c0 22.3 13.1 41.6 32 50.6l0 98.8c-2.8 1.3-5.5 2.9-8 4.7l-80.1-45.8c1.6-20.8-8.6-41.6-27.9-52.8C57.2 96 23 105.2 7.5 132S1.2 193 28 208.5c1.3 .8 2.6 1.5 4 2.1l0 90.8c-1.3 .6-2.7 1.3-4 2.1C1.2 319-8 353.2 7.5 380S57.2 416 84 400.5c19.3-11.1 29.4-32 27.8-52.8l50.5-28.9c-11.5-11.2-19.9-25.6-23.8-41.7L88 306.1c-2.6-1.8-5.2-3.3-8-4.7l0-90.8c2.8-1.3 5.5-2.9 8-4.7l80.1 45.8c-.1 1.4-.2 2.8-.2 4.3c0 22.3 13.1 41.6 32 50.6l0 98.8c-18.9 9-32 28.3-32 50.6c0 30.9 25.1 56 56 56c30.7 0 55.6-24.7 56-55.2c-7.5-12.9-13.5-26.8-17.6-41.5c-4.2-4-9.1-7.3-14.4-9.9l0-98.8c2.8-1.3 5.5-2.9 8-4.7l10.5 6c5.5-15.3 13.1-29.5 22.4-42.5l-9.1-5.2c.1-1.4 .2-2.8 .2-4.3c0-22.3-13.1-41.6-32-50.6l0-98.8zM440.5 132C425 105.2 390.8 96 364 111.5c-19.3 11.1-29.4 32-27.8 52.8l-50.6 28.9c11.5 11.2 19.9 25.6 23.8 41.7L360 205.9c.4 .3 .8 .6 1.3 .9c21.7-9.5 45.6-14.8 70.8-14.8c2 0 4 0 5.9 .1c12.1-17.3 13.8-40.6 2.6-60.1zM432 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm47.9-225c4.3 3.7 5.4 9.9 2.6 14.9L452.4 356l35.6 0c5.2 0 9.8 3.3 11.4 8.2s-.1 10.3-4.2 13.4l-96 72c-4.5 3.4-10.8 3.2-15.1-.6s-5.4-9.9-2.6-14.9L411.6 380 376 380c-5.2 0-9.8-3.3-11.4-8.2s.1-10.3 4.2-13.4l96-72c4.5-3.4 10.8-3.2 15.1 .6z\"]\n};\nconst faStore = {\n prefix: 'fas',\n iconName: 'store',\n icon: [576, 512, [], \"f54e\", \"M547.6 103.8L490.3 13.1C485.2 5 476.1 0 466.4 0L109.6 0C99.9 0 90.8 5 85.7 13.1L28.3 103.8c-29.6 46.8-3.4 111.9 51.9 119.4c4 .5 8.1 .8 12.1 .8c26.1 0 49.3-11.4 65.2-29c15.9 17.6 39.1 29 65.2 29c26.1 0 49.3-11.4 65.2-29c15.9 17.6 39.1 29 65.2 29c26.2 0 49.3-11.4 65.2-29c16 17.6 39.1 29 65.2 29c4.1 0 8.1-.3 12.1-.8c55.5-7.4 81.8-72.5 52.1-119.4zM499.7 254.9c0 0 0 0-.1 0c-5.3 .7-10.7 1.1-16.2 1.1c-12.4 0-24.3-1.9-35.4-5.3L448 384l-320 0 0-133.4c-11.2 3.5-23.2 5.4-35.6 5.4c-5.5 0-11-.4-16.3-1.1l-.1 0c-4.1-.6-8.1-1.3-12-2.3L64 384l0 64c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-64 0-131.4c-4 1-8 1.8-12.3 2.3z\"]\n};\nconst faArrowTrendUp = {\n prefix: 'fas',\n iconName: 'arrow-trend-up',\n icon: [576, 512, [], \"e098\", \"M384 160c-17.7 0-32-14.3-32-32s14.3-32 32-32l160 0c17.7 0 32 14.3 32 32l0 160c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-82.7L342.6 374.6c-12.5 12.5-32.8 12.5-45.3 0L192 269.3 54.6 406.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l160-160c12.5-12.5 32.8-12.5 45.3 0L320 306.7 466.7 160 384 160z\"]\n};\nconst faPlugCircleMinus = {\n prefix: 'fas',\n iconName: 'plug-circle-minus',\n icon: [576, 512, [], \"e55e\", \"M96 0C78.3 0 64 14.3 64 32l0 96 64 0 0-96c0-17.7-14.3-32-32-32zM288 0c-17.7 0-32 14.3-32 32l0 96 64 0 0-96c0-17.7-14.3-32-32-32zM32 160c-17.7 0-32 14.3-32 32s14.3 32 32 32l0 32c0 77.4 55 142 128 156.8l0 67.2c0 17.7 14.3 32 32 32s32-14.3 32-32l0-67.2c12.3-2.5 24.1-6.4 35.1-11.5c-2.1-10.8-3.1-21.9-3.1-33.3c0-80.3 53.8-148 127.3-169.2c.5-2.2 .7-4.5 .7-6.8c0-17.7-14.3-32-32-32L32 160zM576 368a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zm-64 0c0 8.8-7.2 16-16 16l-128 0c-8.8 0-16-7.2-16-16s7.2-16 16-16l128 0c8.8 0 16 7.2 16 16z\"]\n};\nconst faSignHanging = {\n prefix: 'fas',\n iconName: 'sign-hanging',\n icon: [512, 512, [\"sign\"], \"f4d9\", \"M96 0c17.7 0 32 14.3 32 32l0 32 352 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-352 0 0 352c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-352-32 0C14.3 128 0 113.7 0 96S14.3 64 32 64l32 0 0-32C64 14.3 78.3 0 96 0zm96 160l256 0c17.7 0 32 14.3 32 32l0 160c0 17.7-14.3 32-32 32l-256 0c-17.7 0-32-14.3-32-32l0-160c0-17.7 14.3-32 32-32z\"]\n};\nconst faSign = faSignHanging;\nconst faBezierCurve = {\n prefix: 'fas',\n iconName: 'bezier-curve',\n icon: [640, 512, [], \"f55b\", \"M296 136l0-48 48 0 0 48-48 0zM288 32c-26.5 0-48 21.5-48 48l0 4L121.6 84C111.2 62.7 89.3 48 64 48C28.7 48 0 76.7 0 112s28.7 64 64 64c25.3 0 47.2-14.7 57.6-36l66.9 0c-58.9 39.6-98.9 105-104 180L80 320c-26.5 0-48 21.5-48 48l0 64c0 26.5 21.5 48 48 48l64 0c26.5 0 48-21.5 48-48l0-64c0-26.5-21.5-48-48-48l-3.3 0c5.9-67 48.5-123.4 107.5-149.1c8.6 12.7 23.2 21.1 39.8 21.1l64 0c16.6 0 31.1-8.4 39.8-21.1c59 25.7 101.6 82.1 107.5 149.1l-3.3 0c-26.5 0-48 21.5-48 48l0 64c0 26.5 21.5 48 48 48l64 0c26.5 0 48-21.5 48-48l0-64c0-26.5-21.5-48-48-48l-4.5 0c-5-75-45.1-140.4-104-180l66.9 0c10.4 21.3 32.3 36 57.6 36c35.3 0 64-28.7 64-64s-28.7-64-64-64c-25.3 0-47.2 14.7-57.6 36L400 84l0-4c0-26.5-21.5-48-48-48l-64 0zM88 376l48 0 0 48-48 0 0-48zm416 48l0-48 48 0 0 48-48 0z\"]\n};\nconst faBellSlash = {\n prefix: 'fas',\n iconName: 'bell-slash',\n icon: [640, 512, [128277, 61943], \"f1f6\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7l-90.2-70.7c.2-.4 .4-.9 .6-1.3c5.2-11.5 3.1-25-5.3-34.4l-7.4-8.3C497.3 319.2 480 273.9 480 226.8l0-18.8c0-77.4-55-142-128-156.8L352 32c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 19.2c-42.6 8.6-79 34.2-102 69.3L38.8 5.1zM406.2 416L160 222.1l0 4.8c0 47-17.3 92.4-48.5 127.6l-7.4 8.3c-8.4 9.4-10.4 22.9-5.3 34.4S115.4 416 128 416l278.2 0zm-40.9 77.3c12-12 18.7-28.3 18.7-45.3l-64 0-64 0c0 17 6.7 33.3 18.7 45.3s28.3 18.7 45.3 18.7s33.3-6.7 45.3-18.7z\"]\n};\nconst faTablet = {\n prefix: 'fas',\n iconName: 'tablet',\n icon: [448, 512, [\"tablet-android\"], \"f3fb\", \"M64 0C28.7 0 0 28.7 0 64L0 448c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-384c0-35.3-28.7-64-64-64L64 0zM176 432l96 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-96 0c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nconst faTabletAndroid = faTablet;\nconst faSchoolFlag = {\n prefix: 'fas',\n iconName: 'school-flag',\n icon: [576, 512, [], \"e56e\", \"M288 0L400 0c8.8 0 16 7.2 16 16l0 64c0 8.8-7.2 16-16 16l-79.3 0 89.6 64L512 160c35.3 0 64 28.7 64 64l0 224c0 35.3-28.7 64-64 64l-176 0 0-112c0-26.5-21.5-48-48-48s-48 21.5-48 48l0 112L64 512c-35.3 0-64-28.7-64-64L0 224c0-35.3 28.7-64 64-64l101.7 0L256 95.5 256 32c0-17.7 14.3-32 32-32zm48 240a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM80 224c-8.8 0-16 7.2-16 16l0 64c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-64c0-8.8-7.2-16-16-16l-32 0zm368 16l0 64c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-64c0-8.8-7.2-16-16-16l-32 0c-8.8 0-16 7.2-16 16zM80 352c-8.8 0-16 7.2-16 16l0 64c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-64c0-8.8-7.2-16-16-16l-32 0zm384 0c-8.8 0-16 7.2-16 16l0 64c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-64c0-8.8-7.2-16-16-16l-32 0z\"]\n};\nconst faFill = {\n prefix: 'fas',\n iconName: 'fill',\n icon: [512, 512, [], \"f575\", \"M86.6 9.4C74.1-3.1 53.9-3.1 41.4 9.4s-12.5 32.8 0 45.3L122.7 136 30.6 228.1c-37.5 37.5-37.5 98.3 0 135.8L148.1 481.4c37.5 37.5 98.3 37.5 135.8 0L474.3 290.9c28.1-28.1 28.1-73.7 0-101.8L322.9 37.7c-28.1-28.1-73.7-28.1-101.8 0L168 90.7 86.6 9.4zM168 181.3l49.4 49.4c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L213.3 136l53.1-53.1c3.1-3.1 8.2-3.1 11.3 0L429.1 234.3c3.1 3.1 3.1 8.2 0 11.3L386.7 288 67.5 288c1.4-5.4 4.2-10.4 8.4-14.6L168 181.3z\"]\n};\nconst faAngleUp = {\n prefix: 'fas',\n iconName: 'angle-up',\n icon: [448, 512, [8963], \"f106\", \"M201.4 137.4c12.5-12.5 32.8-12.5 45.3 0l160 160c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L224 205.3 86.6 342.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l160-160z\"]\n};\nconst faDrumstickBite = {\n prefix: 'fas',\n iconName: 'drumstick-bite',\n icon: [512, 512, [], \"f6d7\", \"M160 265.2c0 8.5-3.4 16.6-9.4 22.6l-26.8 26.8c-12.3 12.3-32.5 11.4-49.4 7.2C69.8 320.6 65 320 60 320c-33.1 0-60 26.9-60 60s26.9 60 60 60c6.3 0 12 5.7 12 12c0 33.1 26.9 60 60 60s60-26.9 60-60c0-5-.6-9.8-1.8-14.5c-4.2-16.9-5.2-37.1 7.2-49.4l26.8-26.8c6-6 14.1-9.4 22.6-9.4l89.2 0c6.3 0 12.4-.3 18.5-1c11.9-1.2 16.4-15.5 10.8-26c-8.5-15.8-13.3-33.8-13.3-53c0-61.9 50.1-112 112-112c8 0 15.7 .8 23.2 2.4c11.7 2.5 24.1-5.9 22-17.6C494.5 62.5 422.5 0 336 0C238.8 0 160 78.8 160 176l0 89.2z\"]\n};\nconst faHollyBerry = {\n prefix: 'fas',\n iconName: 'holly-berry',\n icon: [512, 512, [], \"f7aa\", \"M256 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm-80 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM276.8 383.8c1 .1 2.1 .2 3.2 .2c39.8 0 72 32.2 72 72l0 22.7c0 16.4 16 27.9 31.6 22.8l12.8-4.3c18-6 37.3-6.5 55.6-1.5l19.4 5.3c17.9 4.9 34.4-11.6 29.5-29.5L495.6 452c-5-18.3-4.4-37.6 1.5-55.6l4.3-12.8c5.2-15.5-6.4-31.6-22.8-31.6c-34.6 0-62.7-28.1-62.7-62.7l0-32c0-16.4-16-27.9-31.6-22.8l-12.8 4.3c-18 6-37.3 6.5-55.6 1.5l-29.6-8.1c-2.9-.8-5.9-1-8.7-.7c4.2 9.7 5.8 20.8 3.7 32.3L275 298.7c-1.5 8.4-1.4 17 .5 25.3l5.3 23.9c2.8 12.7 1.1 25.2-4 35.9zM127.6 234.5c-15.5-5.2-31.6 6.4-31.6 22.8l0 32C96 323.9 67.9 352 33.3 352c-16.4 0-27.9 16-22.8 31.6l4.3 12.8c6 18 6.5 37.3 1.5 55.6l-5.3 19.4C6.2 489.4 22.6 505.8 40.5 501L60 495.6c18.3-5 37.6-4.5 55.6 1.5l12.8 4.3c15.5 5.2 31.6-6.4 31.6-22.8l0-32c0-34.6 28.1-62.7 62.7-62.7c16.4 0 27.9-16 22.8-31.6l-4.3-12.8c-6-18-6.5-37.3-1.5-55.6l5.3-19.4c4.9-17.9-11.6-34.4-29.5-29.5L196 240.4c-18.3 5-37.6 4.4-55.6-1.5l-12.8-4.3zM384 144a48 48 0 1 0 -96 0 48 48 0 1 0 96 0z\"]\n};\nconst faChevronLeft = {\n prefix: 'fas',\n iconName: 'chevron-left',\n icon: [320, 512, [9001], \"f053\", \"M9.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l192 192c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L77.3 256 246.6 86.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-192 192z\"]\n};\nconst faBacteria = {\n prefix: 'fas',\n iconName: 'bacteria',\n icon: [640, 512, [], \"e059\", \"M304.9 .7c-9.6-2.7-19.5 2.8-22.3 12.4l-4.3 15.2c-8.3-.6-16.8 0-25.2 1.9c-7.3 1.7-14.3 3.5-21.1 5.5l-5.5-12.7c-3.9-9.1-14.5-13.4-23.6-9.5s-13.4 14.5-9.5 23.6l4.4 10.4c-16.6 6.7-31.7 14.4-45.4 22.8L147 62c-5.5-8.3-16.7-10.5-25-5s-10.5 16.7-5 25l6 9c-13.7 11-25.5 22.8-35.8 34.9l-10-8c-7.8-6.2-19.1-5-25.3 2.8s-5 19.1 2.8 25.3L65.9 155c-1.8 2.8-3.5 5.7-5.1 8.5c-6.6 11.4-11.8 22.6-16 33l-8-3.2c-9.2-3.7-19.7 .8-23.4 10s.8 19.7 10 23.4l10.4 4.2c-.2 .8-.4 1.5-.5 2.3c-2.2 9.3-3.4 17.3-4.1 23.4c-.4 3.1-.6 5.7-.8 7.8c-.1 1.1-.1 2-.2 2.8l-.1 1.1 0 .5 0 .2 0 .1c0 0 0 .1 29.1 1c0 0 0 0-.1 0L28 269.3c-.1 3.1 0 6.1 .2 9.1l-15.2 4.3C3.5 285.4-2 295.4 .7 304.9s12.7 15.1 22.3 12.4l15.6-4.5c7.6 13.6 18.9 25 32.6 32.6L66.7 361c-2.7 9.6 2.8 19.5 12.4 22.3s19.5-2.8 22.3-12.4l4.3-15.2c1.2 .1 2.4 .2 3.6 .2c15.6 .5 30.3-3.3 43-10.2l9 9c7 7 18.4 7 25.5 0s7-18.4 0-25.5l-7.2-7.2c9.3-12.6 15.2-27.8 16.3-44.5l7.1 3c9.1 3.9 19.7-.3 23.6-9.5s-.3-19.7-9.5-23.6l-8.6-3.7c6.4-9.9 17.3-22.4 36.9-33.3l1.3 4.4c2.7 9.6 12.7 15.1 22.3 12.4s15.1-12.7 12.4-22.3l-2.3-8.1c3.8-1.1 7.7-2.1 11.9-3.1c11.6-2.7 22.1-7.7 31.1-14.4l7.2 7.2c7 7 18.4 7 25.5 0s7-18.4 0-25.5l-9-9c7.6-13.9 11.3-30.1 10.1-46.6l15.2-4.3c9.6-2.7 15.1-12.7 12.4-22.3S370.6 64 361 66.7l-15.6 4.5c-7.7-13.9-19.1-25.1-32.6-32.6l4.5-15.6c2.7-9.6-2.8-19.5-12.4-22.3zM112 272l-48-1.5c0 0 0 0 0 0c11.7 .4 27.3 .9 48 1.6zm16-80a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm64-48a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zM322.7 489c-2.7 9.6 2.8 19.5 12.4 22.3s19.5-2.8 22.2-12.4l4.3-15.2c8.3 .6 16.8 0 25.2-1.9c7.3-1.7 14.3-3.5 21.1-5.5l5.5 12.7c3.9 9.1 14.5 13.4 23.6 9.5s13.4-14.5 9.5-23.6l-4.4-10.4c16.6-6.7 31.7-14.4 45.4-22.8L493 450c5.5 8.3 16.7 10.5 25 5s10.5-16.7 5-25l-6-9c13.7-11 25.5-22.8 35.8-34.9l10 8c7.8 6.2 19.1 5 25.3-2.8s5-19.1-2.8-25.3L574.1 357c1.8-2.8 3.5-5.7 5.1-8.5c6.6-11.4 11.8-22.6 16-33l8 3.2c9.2 3.7 19.7-.8 23.4-10s-.8-19.7-10-23.4l-10.4-4.2c.2-.8 .4-1.5 .5-2.3c2.2-9.3 3.4-17.3 4.1-23.4c.4-3.1 .6-5.7 .8-7.8c.1-1.1 .1-2 .2-2.8l.1-1.1 0-.5 0-.2 0-.1c0 0 0-.1-29.1-1c0 0 0 0 .1 0l29.1 .9c.1-3.1 0-6.1-.2-9.1l15.2-4.3c9.6-2.7 15.1-12.7 12.4-22.3s-12.7-15.1-22.3-12.4l-15.6 4.5c-7.6-13.6-18.9-25-32.6-32.6l4.5-15.6c2.7-9.6-2.8-19.5-12.4-22.3s-19.5 2.8-22.3 12.4l-4.3 15.2c-1.2-.1-2.4-.2-3.6-.2c-15.6-.5-30.3 3.3-43 10.2l-9-9c-7-7-18.4-7-25.5 0s-7 18.4 0 25.5l7.2 7.2c-9.3 12.6-15.2 27.8-16.3 44.5l-7.1-3c-9.1-3.9-19.7 .3-23.6 9.5s.3 19.7 9.5 23.6l8.6 3.7c-6.4 9.9-17.3 22.4-36.9 33.3l-1.3-4.4c-2.7-9.6-12.7-15.1-22.3-12.4s-15.1 12.7-12.4 22.3l2.3 8.1c-3.8 1.1-7.7 2.1-11.9 3.1c-11.6 2.7-22.1 7.7-31.1 14.4l-7.2-7.2c-7-7-18.4-7-25.5 0s-7 18.4 0 25.5l9 9c-7.6 13.9-11.3 30.1-10.1 46.6l-15.2 4.3c-9.6 2.7-15.1 12.7-12.4 22.2s12.7 15.1 22.3 12.4l15.6-4.5c7.7 13.9 19.1 25.1 32.6 32.6L322.7 489zM576 241.5c0 0 0 0 0 0c-11.7-.4-27.3-.9-48-1.6l48 1.5zM448 384a32 32 0 1 1 -64 0 32 32 0 1 1 64 0z\"]\n};\nconst faHandLizard = {\n prefix: 'fas',\n iconName: 'hand-lizard',\n icon: [512, 512, [], \"f258\", \"M0 112C0 85.5 21.5 64 48 64l112 0 80 0 46.5 0c36.8 0 71.2 18 92.1 48.2l113.5 164c13 18.7 19.9 41 19.9 63.8l0 12 0 16 0 48c0 17.7-14.3 32-32 32l-96 0c-17.7 0-32-14.3-32-32l0-13.8L273.9 352 240 352l-80 0-48 0c-26.5 0-48-21.5-48-48s21.5-48 48-48l48 0 80 0c26.5 0 48-21.5 48-48s-21.5-48-48-48l-80 0L48 160c-26.5 0-48-21.5-48-48z\"]\n};\nconst faNotdef = {\n prefix: 'fas',\n iconName: 'notdef',\n icon: [384, 512, [], \"e1fe\", \"M64 390.3L153.5 256 64 121.7l0 268.6zM102.5 448l179.1 0L192 313.7 102.5 448zm128-192L320 390.3l0-268.6L230.5 256zM281.5 64L102.5 64 192 198.3 281.5 64zM0 48C0 21.5 21.5 0 48 0L336 0c26.5 0 48 21.5 48 48l0 416c0 26.5-21.5 48-48 48L48 512c-26.5 0-48-21.5-48-48L0 48z\"]\n};\nconst faDisease = {\n prefix: 'fas',\n iconName: 'disease',\n icon: [512, 512, [], \"f7fa\", \"M236.4 61.4L227 75.5c-21.3 32-59.4 48.5-97.3 42.1l-59.6-9.9C33.4 101.6 0 129.9 .1 167.1c0 15.9 6.4 31.2 17.6 42.5l29.2 29.2c11 11 17.2 25.9 17.2 41.5c0 15.8-6.4 30.9-17.7 42L33.3 335.1C22.2 345.9 16 360.7 16 376.2c0 36.8 34.1 64.2 70.1 56.2l62.3-13.8c7.7-1.7 15.7-2.6 23.6-2.6l10 0c27.2 0 53.7 9.3 75 26.3L287.8 467c10.5 8.4 23.6 13 37 13c32.7 0 59.3-26.5 59.3-59.3l0-25.2c0-34.9 21.4-66.2 53.9-78.8l36.9-14.3c22.4-8.7 37.2-30.3 37.2-54.3c0-28.1-20.1-52.3-47.8-57.3l-28-5.1c-36.5-6.7-65.4-34.5-73.6-70.7l-7.1-31.5C348.9 53.4 322.1 32 291.3 32c-22 0-42.6 11-54.9 29.4zM160 192a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm128 16a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm0 80a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nconst faBriefcaseMedical = {\n prefix: 'fas',\n iconName: 'briefcase-medical',\n icon: [512, 512, [], \"f469\", \"M184 48l144 0c4.4 0 8 3.6 8 8l0 40L176 96l0-40c0-4.4 3.6-8 8-8zm-56 8l0 40L64 96C28.7 96 0 124.7 0 160L0 416c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64l0-256c0-35.3-28.7-64-64-64l-64 0 0-40c0-30.9-25.1-56-56-56L184 0c-30.9 0-56 25.1-56 56zm96 152c0-8.8 7.2-16 16-16l32 0c8.8 0 16 7.2 16 16l0 48 48 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-48 0 0 48c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-48-48 0c-8.8 0-16-7.2-16-16l0-32c0-8.8 7.2-16 16-16l48 0 0-48z\"]\n};\nconst faGenderless = {\n prefix: 'fas',\n iconName: 'genderless',\n icon: [384, 512, [], \"f22d\", \"M192 144a112 112 0 1 1 0 224 112 112 0 1 1 0-224zm0 288a176 176 0 1 0 0-352 176 176 0 1 0 0 352z\"]\n};\nconst faChevronRight = {\n prefix: 'fas',\n iconName: 'chevron-right',\n icon: [320, 512, [9002], \"f054\", \"M310.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-192 192c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L242.7 256 73.4 86.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l192 192z\"]\n};\nconst faRetweet = {\n prefix: 'fas',\n iconName: 'retweet',\n icon: [576, 512, [], \"f079\", \"M272 416c17.7 0 32-14.3 32-32s-14.3-32-32-32l-112 0c-17.7 0-32-14.3-32-32l0-128 32 0c12.9 0 24.6-7.8 29.6-19.8s2.2-25.7-6.9-34.9l-64-64c-12.5-12.5-32.8-12.5-45.3 0l-64 64c-9.2 9.2-11.9 22.9-6.9 34.9s16.6 19.8 29.6 19.8l32 0 0 128c0 53 43 96 96 96l112 0zM304 96c-17.7 0-32 14.3-32 32s14.3 32 32 32l112 0c17.7 0 32 14.3 32 32l0 128-32 0c-12.9 0-24.6 7.8-29.6 19.8s-2.2 25.7 6.9 34.9l64 64c12.5 12.5 32.8 12.5 45.3 0l64-64c9.2-9.2 11.9-22.9 6.9-34.9s-16.6-19.8-29.6-19.8l-32 0 0-128c0-53-43-96-96-96L304 96z\"]\n};\nconst faCarRear = {\n prefix: 'fas',\n iconName: 'car-rear',\n icon: [512, 512, [\"car-alt\"], \"f5de\", \"M165.4 96l181.2 0c13.6 0 25.7 8.6 30.2 21.4L402.9 192l-293.8 0 26.1-74.6c4.5-12.8 16.6-21.4 30.2-21.4zm-90.6 .3L39.6 196.8C16.4 206.4 0 229.3 0 256l0 80c0 23.7 12.9 44.4 32 55.4L32 448c0 17.7 14.3 32 32 32l32 0c17.7 0 32-14.3 32-32l0-48 256 0 0 48c0 17.7 14.3 32 32 32l32 0c17.7 0 32-14.3 32-32l0-56.6c19.1-11.1 32-31.7 32-55.4l0-80c0-26.7-16.4-49.6-39.6-59.2L437.2 96.3C423.7 57.8 387.4 32 346.6 32L165.4 32c-40.8 0-77.1 25.8-90.6 64.3zM208 272l96 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-96 0c-8.8 0-16-7.2-16-16l0-32c0-8.8 7.2-16 16-16zM48 280c0-13.3 10.7-24 24-24l32 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-32 0c-13.3 0-24-10.7-24-24zm360-24l32 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-32 0c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nconst faCarAlt = faCarRear;\nconst faPumpSoap = {\n prefix: 'fas',\n iconName: 'pump-soap',\n icon: [448, 512, [], \"e06b\", \"M128 32l0 96 128 0 0-32 60.1 0c4.2 0 8.3 1.7 11.3 4.7l33.9 33.9c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L372.7 55.4c-15-15-35.4-23.4-56.6-23.4L256 32c0-17.7-14.3-32-32-32L160 0c-17.7 0-32 14.3-32 32zM117.4 160c-33.3 0-61 25.5-63.8 58.7L35 442.7C31.9 480 61.3 512 98.8 512l186.4 0c37.4 0 66.9-32 63.8-69.3l-18.7-224c-2.8-33.2-30.5-58.7-63.8-58.7l-149.1 0zM256 360c0 35.3-28.7 56-64 56s-64-20.7-64-56c0-32.5 37-80.9 50.9-97.9c3.2-3.9 8.1-6.1 13.1-6.1s9.9 2.2 13.1 6.1C219 279.1 256 327.5 256 360z\"]\n};\nconst faVideoSlash = {\n prefix: 'fas',\n iconName: 'video-slash',\n icon: [640, 512, [], \"f4e2\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7l-86.4-67.7 13.8 9.2c9.8 6.5 22.4 7.2 32.9 1.6s16.9-16.4 16.9-28.2l0-256c0-11.8-6.5-22.6-16.9-28.2s-23-5-32.9 1.6l-96 64L448 174.9l0 17.1 0 128 0 5.8-32-25.1L416 128c0-35.3-28.7-64-64-64L113.9 64 38.8 5.1zM407 416.7L32.3 121.5c-.2 2.1-.3 4.3-.3 6.5l0 256c0 35.3 28.7 64 64 64l256 0c23.4 0 43.9-12.6 55-31.3z\"]\n};\nconst faBatteryQuarter = {\n prefix: 'fas',\n iconName: 'battery-quarter',\n icon: [576, 512, [\"battery-2\"], \"f243\", \"M464 160c8.8 0 16 7.2 16 16l0 160c0 8.8-7.2 16-16 16L80 352c-8.8 0-16-7.2-16-16l0-160c0-8.8 7.2-16 16-16l384 0zM80 96C35.8 96 0 131.8 0 176L0 336c0 44.2 35.8 80 80 80l384 0c44.2 0 80-35.8 80-80l0-16c17.7 0 32-14.3 32-32l0-64c0-17.7-14.3-32-32-32l0-16c0-44.2-35.8-80-80-80L80 96zm112 96l-96 0 0 128 96 0 0-128z\"]\n};\nconst faBattery2 = faBatteryQuarter;\nconst faRadio = {\n prefix: 'fas',\n iconName: 'radio',\n icon: [512, 512, [128251], \"f8d7\", \"M494.8 47c12.7-3.7 20-17.1 16.3-29.8S494-2.8 481.2 1L51.7 126.9c-9.4 2.7-17.9 7.3-25.1 13.2C10.5 151.7 0 170.6 0 192l0 4L0 304 0 448c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64l0-256c0-35.3-28.7-64-64-64l-229.5 0L494.8 47zM368 240a80 80 0 1 1 0 160 80 80 0 1 1 0-160zM80 256c0-8.8 7.2-16 16-16l96 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-96 0c-8.8 0-16-7.2-16-16zM64 320c0-8.8 7.2-16 16-16l128 0c8.8 0 16 7.2 16 16s-7.2 16-16 16L80 336c-8.8 0-16-7.2-16-16zm16 64c0-8.8 7.2-16 16-16l96 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-96 0c-8.8 0-16-7.2-16-16z\"]\n};\nconst faBabyCarriage = {\n prefix: 'fas',\n iconName: 'baby-carriage',\n icon: [512, 512, [\"carriage-baby\"], \"f77d\", \"M256 192L.1 192C2.7 117.9 41.3 52.9 99 14.1c13.3-8.9 30.8-4.3 39.9 8.8L256 192zm128-32c0-35.3 28.7-64 64-64l32 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-32 0 0 64c0 25.2-5.8 50.2-17 73.5s-27.8 44.5-48.6 62.3s-45.5 32-72.7 41.6S253.4 416 224 416s-58.5-5-85.7-14.6s-51.9-23.8-72.7-41.6s-37.3-39-48.6-62.3S0 249.2 0 224l224 0 160 0 0-64zM80 416a48 48 0 1 1 0 96 48 48 0 1 1 0-96zm240 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0z\"]\n};\nconst faCarriageBaby = faBabyCarriage;\nconst faTrafficLight = {\n prefix: 'fas',\n iconName: 'traffic-light',\n icon: [320, 512, [128678], \"f637\", \"M64 0C28.7 0 0 28.7 0 64L0 352c0 88.4 71.6 160 160 160s160-71.6 160-160l0-288c0-35.3-28.7-64-64-64L64 0zm96 416a48 48 0 1 1 0-96 48 48 0 1 1 0 96zm48-176a48 48 0 1 1 -96 0 48 48 0 1 1 96 0zm-48-80a48 48 0 1 1 0-96 48 48 0 1 1 0 96z\"]\n};\nconst faThermometer = {\n prefix: 'fas',\n iconName: 'thermometer',\n icon: [512, 512, [], \"f491\", \"M96 382.1l0-88.8c0-14.9 5.9-29.1 16.4-39.6l27.3-27.3 57 57c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-57-57 41.4-41.4 57 57c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-57-57 41.4-41.4 57 57c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-57-57 45.5-45.5C355.2 10.9 381.4 0 408.8 0C465.8 0 512 46.2 512 103.2c0 27.4-10.9 53.6-30.2 73L258.3 399.6c-10.5 10.5-24.7 16.4-39.6 16.4l-88.8 0L41 505c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l89-89z\"]\n};\nconst faVrCardboard = {\n prefix: 'fas',\n iconName: 'vr-cardboard',\n icon: [640, 512, [], \"f729\", \"M576 64L64 64C28.7 64 0 92.7 0 128L0 384c0 35.3 28.7 64 64 64l120.4 0c24.2 0 46.4-13.7 57.2-35.4l32-64c8.8-17.5 26.7-28.6 46.3-28.6s37.5 11.1 46.3 28.6l32 64c10.8 21.7 33 35.4 57.2 35.4L576 448c35.3 0 64-28.7 64-64l0-256c0-35.3-28.7-64-64-64zM96 240a64 64 0 1 1 128 0A64 64 0 1 1 96 240zm384-64a64 64 0 1 1 0 128 64 64 0 1 1 0-128z\"]\n};\nconst faHandMiddleFinger = {\n prefix: 'fas',\n iconName: 'hand-middle-finger',\n icon: [448, 512, [128405], \"f806\", \"M232 0c-22.1 0-40 17.9-40 40l0 164.2c-8.5-7.6-19.7-12.2-32-12.2c-26.5 0-48 21.5-48 48l0 7 0 73c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-55.7c-2 1.4-3.9 3-5.8 4.5L55 284.8C40.4 297 32 315 32 334L32 372c0 38 16.9 74 46.1 98.3l5.4 4.5c28.8 24 65 37.1 102.4 37.1L304 512c70.7 0 128-57.3 128-128l0-64 0-32c0-26.5-21.5-48-48-48c-12.4 0-23.6 4.7-32.1 12.3C350 227.5 329.3 208 304 208c-12.3 0-23.5 4.6-32 12.2L272 40c0-22.1-17.9-40-40-40z\"]\n};\nconst faPercent = {\n prefix: 'fas',\n iconName: 'percent',\n icon: [384, 512, [62101, 62785, \"percentage\"], \"25\", \"M374.6 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-320 320c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l320-320zM128 128A64 64 0 1 0 0 128a64 64 0 1 0 128 0zM384 384a64 64 0 1 0 -128 0 64 64 0 1 0 128 0z\"]\n};\nconst faPercentage = faPercent;\nconst faTruckMoving = {\n prefix: 'fas',\n iconName: 'truck-moving',\n icon: [640, 512, [], \"f4df\", \"M64 32C28.7 32 0 60.7 0 96L0 304l0 80 0 16c0 44.2 35.8 80 80 80c26.2 0 49.4-12.6 64-32c14.6 19.4 37.8 32 64 32c44.2 0 80-35.8 80-80c0-5.5-.6-10.8-1.6-16L416 384l33.6 0c-1 5.2-1.6 10.5-1.6 16c0 44.2 35.8 80 80 80s80-35.8 80-80c0-5.5-.6-10.8-1.6-16l1.6 0c17.7 0 32-14.3 32-32l0-64 0-16 0-10.3c0-9.2-3.2-18.2-9-25.3l-58.8-71.8c-10.6-13-26.5-20.5-43.3-20.5L480 144l0-48c0-35.3-28.7-64-64-64L64 32zM585 256l-105 0 0-64 48.8 0c2.4 0 4.7 1.1 6.2 2.9L585 256zM528 368a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM176 400a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM80 368a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nconst faGlassWaterDroplet = {\n prefix: 'fas',\n iconName: 'glass-water-droplet',\n icon: [384, 512, [], \"e4f5\", \"M32 0C23.1 0 14.6 3.7 8.6 10.2S-.6 25.4 .1 34.3L28.9 437.7c3 41.9 37.8 74.3 79.8 74.3l166.6 0c42 0 76.8-32.4 79.8-74.3L383.9 34.3c.6-8.9-2.4-17.6-8.5-24.1S360.9 0 352 0L32 0zM83 297.5L66.4 64l251.3 0L301 297.5 288 304c-20.1 10.1-43.9 10.1-64 0s-43.9-10.1-64 0s-43.9 10.1-64 0l-13-6.5zM256 196c0-24-33.7-70.1-52.2-93.5c-6.1-7.7-17.5-7.7-23.6 0C161.7 125.9 128 172 128 196c0 33.1 28.7 60 64 60s64-26.9 64-60z\"]\n};\nconst faDisplay = {\n prefix: 'fas',\n iconName: 'display',\n icon: [576, 512, [], \"e163\", \"M64 0C28.7 0 0 28.7 0 64L0 352c0 35.3 28.7 64 64 64l176 0-10.7 32L160 448c-17.7 0-32 14.3-32 32s14.3 32 32 32l256 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-69.3 0L336 416l176 0c35.3 0 64-28.7 64-64l0-288c0-35.3-28.7-64-64-64L64 0zM512 64l0 288L64 352 64 64l448 0z\"]\n};\nconst faFaceSmile = {\n prefix: 'fas',\n iconName: 'face-smile',\n icon: [512, 512, [128578, \"smile\"], \"f118\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM164.1 325.5C182 346.2 212.6 368 256 368s74-21.8 91.9-42.5c5.8-6.7 15.9-7.4 22.6-1.6s7.4 15.9 1.6 22.6C349.8 372.1 311.1 400 256 400s-93.8-27.9-116.1-53.5c-5.8-6.7-5.1-16.8 1.6-22.6s16.8-5.1 22.6 1.6zM144.4 208a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm192-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nconst faSmile = faFaceSmile;\nconst faThumbtack = {\n prefix: 'fas',\n iconName: 'thumbtack',\n icon: [384, 512, [128204, 128392, \"thumb-tack\"], \"f08d\", \"M32 32C32 14.3 46.3 0 64 0L320 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-29.5 0 11.4 148.2c36.7 19.9 65.7 53.2 79.5 94.7l1 3c3.3 9.8 1.6 20.5-4.4 28.8s-15.7 13.3-26 13.3L32 352c-10.3 0-19.9-4.9-26-13.3s-7.7-19.1-4.4-28.8l1-3c13.8-41.5 42.8-74.8 79.5-94.7L93.5 64 64 64C46.3 64 32 49.7 32 32zM160 384l64 0 0 96c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-96z\"]\n};\nconst faThumbTack = faThumbtack;\nconst faTrophy = {\n prefix: 'fas',\n iconName: 'trophy',\n icon: [576, 512, [127942], \"f091\", \"M400 0L176 0c-26.5 0-48.1 21.8-47.1 48.2c.2 5.3 .4 10.6 .7 15.8L24 64C10.7 64 0 74.7 0 88c0 92.6 33.5 157 78.5 200.7c44.3 43.1 98.3 64.8 138.1 75.8c23.4 6.5 39.4 26 39.4 45.6c0 20.9-17 37.9-37.9 37.9L192 448c-17.7 0-32 14.3-32 32s14.3 32 32 32l192 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-26.1 0C337 448 320 431 320 410.1c0-19.6 15.9-39.2 39.4-45.6c39.9-11 93.9-32.7 138.2-75.8C542.5 245 576 180.6 576 88c0-13.3-10.7-24-24-24L446.4 64c.3-5.2 .5-10.4 .7-15.8C448.1 21.8 426.5 0 400 0zM48.9 112l84.4 0c9.1 90.1 29.2 150.3 51.9 190.6c-24.9-11-50.8-26.5-73.2-48.3c-32-31.1-58-76-63-142.3zM464.1 254.3c-22.4 21.8-48.3 37.3-73.2 48.3c22.7-40.3 42.8-100.5 51.9-190.6l84.4 0c-5.1 66.3-31.1 111.2-63 142.3z\"]\n};\nconst faPersonPraying = {\n prefix: 'fas',\n iconName: 'person-praying',\n icon: [448, 512, [128720, \"pray\"], \"f683\", \"M352 64A64 64 0 1 0 224 64a64 64 0 1 0 128 0zM232.7 264l22.9 31.5c6.5 8.9 16.3 14.7 27.2 16.1s21.9-1.7 30.4-8.7l88-72c17.1-14 19.6-39.2 5.6-56.3s-39.2-19.6-56.3-5.6l-55.2 45.2-26.2-36C253.6 156.7 228.6 144 202 144c-30.9 0-59.2 17.1-73.6 44.4L79.8 280.9c-20.2 38.5-9.4 85.9 25.6 111.8L158.6 432 72 432c-22.1 0-40 17.9-40 40s17.9 40 40 40l208 0c17.3 0 32.6-11.1 38-27.5s-.3-34.4-14.2-44.7L187.7 354l45-90z\"]\n};\nconst faPray = faPersonPraying;\nconst faHammer = {\n prefix: 'fas',\n iconName: 'hammer',\n icon: [576, 512, [128296], \"f6e3\", \"M413.5 237.5c-28.2 4.8-58.2-3.6-80-25.4l-38.1-38.1C280.4 159 272 138.8 272 117.6l0-12.1L192.3 62c-5.3-2.9-8.6-8.6-8.3-14.7s3.9-11.5 9.5-14l47.2-21C259.1 4.2 279 0 299.2 0l18.1 0c36.7 0 72 14 98.7 39.1l44.6 42c24.2 22.8 33.2 55.7 26.6 86L503 183l8-8c9.4-9.4 24.6-9.4 33.9 0l24 24c9.4 9.4 9.4 24.6 0 33.9l-88 88c-9.4 9.4-24.6 9.4-33.9 0l-24-24c-9.4-9.4-9.4-24.6 0-33.9l8-8-17.5-17.5zM27.4 377.1L260.9 182.6c3.5 4.9 7.5 9.6 11.8 14l38.1 38.1c6 6 12.4 11.2 19.2 15.7L134.9 484.6c-14.5 17.4-36 27.4-58.6 27.4C34.1 512 0 477.8 0 435.7c0-22.6 10.1-44.1 27.4-58.6z\"]\n};\nconst faHandPeace = {\n prefix: 'fas',\n iconName: 'hand-peace',\n icon: [512, 512, [9996], \"f25b\", \"M224 0c17.7 0 32 14.3 32 32l0 208-64 0 0-208c0-17.7 14.3-32 32-32zm96 160c17.7 0 32 14.3 32 32l0 64c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-64c0-17.7 14.3-32 32-32zm64 64c0-17.7 14.3-32 32-32s32 14.3 32 32l0 64c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-64zM93.3 51.2L175.9 240l-69.9 0L34.7 76.8C27.6 60.6 35 41.8 51.2 34.7s35.1 .3 42.1 16.5zm27 221.3l-.2-.5 69.9 0 26.1 0c22.1 0 40 17.9 40 40s-17.9 40-40 40l-56 0c-8.8 0-16 7.2-16 16s7.2 16 16 16l56 0c39.8 0 72-32.2 72-72l0-.6c9.4 5.4 20.3 8.6 32 8.6c13.2 0 25.4-4 35.6-10.8c8.7 24.9 32.5 42.8 60.4 42.8c11.7 0 22.6-3.1 32-8.6l0 8.6c0 88.4-71.6 160-160 160l-61.7 0c-42.4 0-83.1-16.9-113.1-46.9l-11.6-11.6C77.5 429.5 64 396.9 64 363l0-27c0-32.7 24.6-59.7 56.3-63.5z\"]\n};\nconst faRotate = {\n prefix: 'fas',\n iconName: 'rotate',\n icon: [512, 512, [128260, \"sync-alt\"], \"f2f1\", \"M142.9 142.9c-17.5 17.5-30.1 38-37.8 59.8c-5.9 16.7-24.2 25.4-40.8 19.5s-25.4-24.2-19.5-40.8C55.6 150.7 73.2 122 97.6 97.6c87.2-87.2 228.3-87.5 315.8-1L455 55c6.9-6.9 17.2-8.9 26.2-5.2s14.8 12.5 14.8 22.2l0 128c0 13.3-10.7 24-24 24l-8.4 0c0 0 0 0 0 0L344 224c-9.7 0-18.5-5.8-22.2-14.8s-1.7-19.3 5.2-26.2l41.1-41.1c-62.6-61.5-163.1-61.2-225.3 1zM16 312c0-13.3 10.7-24 24-24l7.6 0 .7 0L168 288c9.7 0 18.5 5.8 22.2 14.8s1.7 19.3-5.2 26.2l-41.1 41.1c62.6 61.5 163.1 61.2 225.3-1c17.5-17.5 30.1-38 37.8-59.8c5.9-16.7 24.2-25.4 40.8-19.5s25.4 24.2 19.5 40.8c-10.8 30.6-28.4 59.3-52.9 83.8c-87.2 87.2-228.3 87.5-315.8 1L57 457c-6.9 6.9-17.2 8.9-26.2 5.2S16 449.7 16 440l0-119.6 0-.7 0-7.6z\"]\n};\nconst faSyncAlt = faRotate;\nconst faSpinner = {\n prefix: 'fas',\n iconName: 'spinner',\n icon: [512, 512, [], \"f110\", \"M304 48a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zm0 416a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM48 304a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm464-48a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM142.9 437A48 48 0 1 0 75 369.1 48 48 0 1 0 142.9 437zm0-294.2A48 48 0 1 0 75 75a48 48 0 1 0 67.9 67.9zM369.1 437A48 48 0 1 0 437 369.1 48 48 0 1 0 369.1 437z\"]\n};\nconst faRobot = {\n prefix: 'fas',\n iconName: 'robot',\n icon: [640, 512, [129302], \"f544\", \"M320 0c17.7 0 32 14.3 32 32l0 64 120 0c39.8 0 72 32.2 72 72l0 272c0 39.8-32.2 72-72 72l-304 0c-39.8 0-72-32.2-72-72l0-272c0-39.8 32.2-72 72-72l120 0 0-64c0-17.7 14.3-32 32-32zM208 384c-8.8 0-16 7.2-16 16s7.2 16 16 16l32 0c8.8 0 16-7.2 16-16s-7.2-16-16-16l-32 0zm96 0c-8.8 0-16 7.2-16 16s7.2 16 16 16l32 0c8.8 0 16-7.2 16-16s-7.2-16-16-16l-32 0zm96 0c-8.8 0-16 7.2-16 16s7.2 16 16 16l32 0c8.8 0 16-7.2 16-16s-7.2-16-16-16l-32 0zM264 256a40 40 0 1 0 -80 0 40 40 0 1 0 80 0zm152 40a40 40 0 1 0 0-80 40 40 0 1 0 0 80zM48 224l16 0 0 192-16 0c-26.5 0-48-21.5-48-48l0-96c0-26.5 21.5-48 48-48zm544 0c26.5 0 48 21.5 48 48l0 96c0 26.5-21.5 48-48 48l-16 0 0-192 16 0z\"]\n};\nconst faPeace = {\n prefix: 'fas',\n iconName: 'peace',\n icon: [512, 512, [9774], \"f67c\", \"M224 445.3l0-121.8-94.3 77.1c26.1 22.8 58.5 38.7 94.3 44.7zM89.2 351.1L224 240.8l0-174.2C133.2 81.9 64 160.9 64 256c0 34.6 9.2 67.1 25.2 95.1zm293.1 49.5L288 323.5l0 121.8c35.7-6 68.1-21.9 94.3-44.7zm40.6-49.5c16-28 25.2-60.5 25.2-95.1c0-95.1-69.2-174.1-160-189.3l0 174.2L422.8 351.1zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256z\"]\n};\nconst faGears = {\n prefix: 'fas',\n iconName: 'gears',\n icon: [640, 512, [\"cogs\"], \"f085\", \"M308.5 135.3c7.1-6.3 9.9-16.2 6.2-25c-2.3-5.3-4.8-10.5-7.6-15.5L304 89.4c-3-5-6.3-9.9-9.8-14.6c-5.7-7.6-15.7-10.1-24.7-7.1l-28.2 9.3c-10.7-8.8-23-16-36.2-20.9L199 27.1c-1.9-9.3-9.1-16.7-18.5-17.8C173.9 8.4 167.2 8 160.4 8l-.7 0c-6.8 0-13.5 .4-20.1 1.2c-9.4 1.1-16.6 8.6-18.5 17.8L115 56.1c-13.3 5-25.5 12.1-36.2 20.9L50.5 67.8c-9-3-19-.5-24.7 7.1c-3.5 4.7-6.8 9.6-9.9 14.6l-3 5.3c-2.8 5-5.3 10.2-7.6 15.6c-3.7 8.7-.9 18.6 6.2 25l22.2 19.8C32.6 161.9 32 168.9 32 176s.6 14.1 1.7 20.9L11.5 216.7c-7.1 6.3-9.9 16.2-6.2 25c2.3 5.3 4.8 10.5 7.6 15.6l3 5.2c3 5.1 6.3 9.9 9.9 14.6c5.7 7.6 15.7 10.1 24.7 7.1l28.2-9.3c10.7 8.8 23 16 36.2 20.9l6.1 29.1c1.9 9.3 9.1 16.7 18.5 17.8c6.7 .8 13.5 1.2 20.4 1.2s13.7-.4 20.4-1.2c9.4-1.1 16.6-8.6 18.5-17.8l6.1-29.1c13.3-5 25.5-12.1 36.2-20.9l28.2 9.3c9 3 19 .5 24.7-7.1c3.5-4.7 6.8-9.5 9.8-14.6l3.1-5.4c2.8-5 5.3-10.2 7.6-15.5c3.7-8.7 .9-18.6-6.2-25l-22.2-19.8c1.1-6.8 1.7-13.8 1.7-20.9s-.6-14.1-1.7-20.9l22.2-19.8zM112 176a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM504.7 500.5c6.3 7.1 16.2 9.9 25 6.2c5.3-2.3 10.5-4.8 15.5-7.6l5.4-3.1c5-3 9.9-6.3 14.6-9.8c7.6-5.7 10.1-15.7 7.1-24.7l-9.3-28.2c8.8-10.7 16-23 20.9-36.2l29.1-6.1c9.3-1.9 16.7-9.1 17.8-18.5c.8-6.7 1.2-13.5 1.2-20.4s-.4-13.7-1.2-20.4c-1.1-9.4-8.6-16.6-17.8-18.5L583.9 307c-5-13.3-12.1-25.5-20.9-36.2l9.3-28.2c3-9 .5-19-7.1-24.7c-4.7-3.5-9.6-6.8-14.6-9.9l-5.3-3c-5-2.8-10.2-5.3-15.6-7.6c-8.7-3.7-18.6-.9-25 6.2l-19.8 22.2c-6.8-1.1-13.8-1.7-20.9-1.7s-14.1 .6-20.9 1.7l-19.8-22.2c-6.3-7.1-16.2-9.9-25-6.2c-5.3 2.3-10.5 4.8-15.6 7.6l-5.2 3c-5.1 3-9.9 6.3-14.6 9.9c-7.6 5.7-10.1 15.7-7.1 24.7l9.3 28.2c-8.8 10.7-16 23-20.9 36.2L315.1 313c-9.3 1.9-16.7 9.1-17.8 18.5c-.8 6.7-1.2 13.5-1.2 20.4s.4 13.7 1.2 20.4c1.1 9.4 8.6 16.6 17.8 18.5l29.1 6.1c5 13.3 12.1 25.5 20.9 36.2l-9.3 28.2c-3 9-.5 19 7.1 24.7c4.7 3.5 9.5 6.8 14.6 9.8l5.4 3.1c5 2.8 10.2 5.3 15.5 7.6c8.7 3.7 18.6 .9 25-6.2l19.8-22.2c6.8 1.1 13.8 1.7 20.9 1.7s14.1-.6 20.9-1.7l19.8 22.2zM464 304a48 48 0 1 1 0 96 48 48 0 1 1 0-96z\"]\n};\nconst faCogs = faGears;\nconst faWarehouse = {\n prefix: 'fas',\n iconName: 'warehouse',\n icon: [640, 512, [], \"f494\", \"M0 488L0 171.3c0-26.2 15.9-49.7 40.2-59.4L308.1 4.8c7.6-3.1 16.1-3.1 23.8 0L599.8 111.9c24.3 9.7 40.2 33.3 40.2 59.4L640 488c0 13.3-10.7 24-24 24l-48 0c-13.3 0-24-10.7-24-24l0-264c0-17.7-14.3-32-32-32l-384 0c-17.7 0-32 14.3-32 32l0 264c0 13.3-10.7 24-24 24l-48 0c-13.3 0-24-10.7-24-24zm488 24l-336 0c-13.3 0-24-10.7-24-24l0-56 384 0 0 56c0 13.3-10.7 24-24 24zM128 400l0-64 384 0 0 64-384 0zm0-96l0-80 384 0 0 80-384 0z\"]\n};\nconst faArrowUpRightDots = {\n prefix: 'fas',\n iconName: 'arrow-up-right-dots',\n icon: [576, 512, [], \"e4b7\", \"M160 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l50.7 0L9.4 265.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L256 109.3l0 50.7c0 17.7 14.3 32 32 32s32-14.3 32-32l0-128c0-17.7-14.3-32-32-32L160 0zM576 80a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM448 208a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM400 384a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm48 80a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zm128 0a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM272 384a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm48 80a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM144 512a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM576 336a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zm-48-80a48 48 0 1 0 0-96 48 48 0 1 0 0 96z\"]\n};\nconst faSplotch = {\n prefix: 'fas',\n iconName: 'splotch',\n icon: [512, 512, [], \"f5bc\", \"M208.5 62.3l28.1-36.9C248.8 9.4 267.8 0 288 0c28.5 0 53.6 18.7 61.8 46l17.8 59.4c10.3 34.4 36.1 62 69.8 74.6l39.8 14.9c20.9 7.9 34.8 27.9 34.8 50.2c0 16.9-7.9 32.8-21.5 42.9l-67.3 50.5c-24.3 18.2-37.2 47.9-33.8 78.1l2.5 22.7c4.3 38.7-26 72.6-65 72.6c-14.8 0-29.3-5.1-40.8-14.3l-55.4-44.3c-4.5-3.6-9.3-6.7-14.5-9.2c-15.8-7.9-33.7-10.4-51-7.3L82.4 451.9C47.8 458.2 16 431.6 16 396.5c0-13.2 4.7-26 13.1-36.2l11.2-13.4c14.6-17.4 22.6-39.4 22.6-62.1c0-18.8-5.5-37.2-15.8-53L8.8 173.5C3.1 164.7 0 154.4 0 143.9c0-33.4 30.1-58.8 63-53.2l51.3 8.7c35.9 6.1 72.2-8.2 94.2-37.1z\"]\n};\nconst faFaceGrinHearts = {\n prefix: 'fas',\n iconName: 'face-grin-hearts',\n icon: [512, 512, [128525, \"grin-hearts\"], \"f584\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM388.1 312.8c12.3-3.8 24.3 6.9 19.3 18.7C382.4 390.6 324.2 432 256.3 432s-126.2-41.4-151.1-100.5c-5-11.8 7-22.5 19.3-18.7c39.7 12.2 84.5 19 131.8 19s92.1-6.8 131.8-19zM199.3 129.1c17.8 4.8 28.4 23.1 23.6 40.8l-17.4 65c-2.3 8.5-11.1 13.6-19.6 11.3l-65.1-17.4c-17.8-4.8-28.4-23.1-23.6-40.8s23.1-28.4 40.8-23.6l16.1 4.3 4.3-16.1c4.8-17.8 23.1-28.4 40.8-23.6zm154.3 23.6l4.3 16.1 16.1-4.3c17.8-4.8 36.1 5.8 40.8 23.6s-5.8 36.1-23.6 40.8l-65.1 17.4c-8.5 2.3-17.3-2.8-19.6-11.3l-17.4-65c-4.8-17.8 5.8-36.1 23.6-40.8s36.1 5.8 40.9 23.6z\"]\n};\nconst faGrinHearts = faFaceGrinHearts;\nconst faDiceFour = {\n prefix: 'fas',\n iconName: 'dice-four',\n icon: [448, 512, [9859], \"f524\", \"M0 96C0 60.7 28.7 32 64 32l320 0c35.3 0 64 28.7 64 64l0 320c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64L0 96zm160 64a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM128 384a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM352 160a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM320 384a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nconst faSimCard = {\n prefix: 'fas',\n iconName: 'sim-card',\n icon: [384, 512, [], \"f7c4\", \"M64 0L242.7 0c17 0 33.3 6.7 45.3 18.7L365.3 96c12 12 18.7 28.3 18.7 45.3L384 448c0 35.3-28.7 64-64 64L64 512c-35.3 0-64-28.7-64-64L0 64C0 28.7 28.7 0 64 0zM96 192c-17.7 0-32 14.3-32 32l0 32 64 0 0-64-32 0zM64 352l80 0 96 0 80 0 0-64-80 0-96 0-80 0 0 64zM320 224c0-17.7-14.3-32-32-32l-32 0 0 64 64 0 0-32zM160 192l0 64 64 0 0-64-64 0zM288 448c17.7 0 32-14.3 32-32l0-32-64 0 0 64 32 0zM160 384l0 64 64 0 0-64-64 0zM64 416c0 17.7 14.3 32 32 32l32 0 0-64-64 0 0 32z\"]\n};\nconst faTransgender = {\n prefix: 'fas',\n iconName: 'transgender',\n icon: [512, 512, [9895, \"transgender-alt\"], \"f225\", \"M112 0c6.5 0 12.3 3.9 14.8 9.9s1.1 12.9-3.5 17.4l-31 31L112 78.1l7-7c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-7 7 15.2 15.2C187.7 107.6 220.5 96 256 96s68.3 11.6 94.9 31.2l68.8-68.8-31-31c-4.6-4.6-5.9-11.5-3.5-17.4s8.3-9.9 14.8-9.9l96 0c8.8 0 16 7.2 16 16l0 96c0 6.5-3.9 12.3-9.9 14.8s-12.9 1.1-17.4-3.5l-31-31-68.8 68.8C404.4 187.7 416 220.5 416 256c0 80.2-59 146.6-136 158.2l0 17.8 16 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-16 0 0 8c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-8-16 0c-13.3 0-24-10.7-24-24s10.7-24 24-24l16 0 0-17.8C155 402.6 96 336.2 96 256c0-35.5 11.6-68.3 31.2-94.9L112 145.9l-7 7c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l7-7L58.3 92.3l-31 31c-4.6 4.6-11.5 5.9-17.4 3.5S0 118.5 0 112L0 16C0 7.2 7.2 0 16 0l96 0zM352 256a96 96 0 1 0 -192 0 96 96 0 1 0 192 0z\"]\n};\nconst faTransgenderAlt = faTransgender;\nconst faMercury = {\n prefix: 'fas',\n iconName: 'mercury',\n icon: [384, 512, [9791], \"f223\", \"M72.1 7C85.8-4 106-1.8 117 12c17.6 22 44.7 36 75 36s57.3-14 75-36c11.1-13.8 31.2-16 45-5s16 31.2 5 45c-7.8 9.7-16.6 18.4-26.4 26.1C337.3 109.7 368 163.3 368 224c0 89.1-66.2 162.7-152 174.4l0 25.6 32 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-32 0 0 16c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-16-32 0c-13.3 0-24-10.7-24-24s10.7-24 24-24l32 0 0-25.6C82.2 386.7 16 313.1 16 224c0-60.7 30.7-114.3 77.5-145.9C83.7 70.5 74.9 61.7 67.1 52c-11.1-13.8-8.8-33.9 5-45zM80 224a112 112 0 1 0 224 0A112 112 0 1 0 80 224z\"]\n};\nconst faArrowTurnDown = {\n prefix: 'fas',\n iconName: 'arrow-turn-down',\n icon: [384, 512, [\"level-down\"], \"f149\", \"M32 64C14.3 64 0 49.7 0 32S14.3 0 32 0l96 0c53 0 96 43 96 96l0 306.7 73.4-73.4c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3l-128 128c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L160 402.7 160 96c0-17.7-14.3-32-32-32L32 64z\"]\n};\nconst faLevelDown = faArrowTurnDown;\nconst faPersonFallingBurst = {\n prefix: 'fas',\n iconName: 'person-falling-burst',\n icon: [640, 512, [], \"e547\", \"M256 32c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 9.8c0 39-23.7 74-59.9 88.4C71.6 154.5 32 213 32 278.2L32 352c0 17.7 14.3 32 32 32s32-14.3 32-32l0-73.8c0-10 1.6-19.8 4.5-29L261.1 497.4c9.6 14.8 29.4 19.1 44.3 9.5s19.1-29.4 9.5-44.3L222.6 320l1.4 0 80 0 38.4 51.2c10.6 14.1 30.7 17 44.8 6.4s17-30.7 6.4-44.8l-43.2-57.6C341.3 263.1 327.1 256 312 256l-71.5 0-56.8-80.2-.2-.3c44.7-29 72.5-79 72.5-133.6l0-9.8zM96 80A48 48 0 1 0 0 80a48 48 0 1 0 96 0zM464 286.1l58.6 53.9c4.8 4.4 11.9 5.5 17.8 2.6s9.5-9 9-15.5l-5.6-79.4 78.7-12.2c6.5-1 11.7-5.9 13.1-12.2s-1.1-13-6.5-16.7l-65.6-45.1L603 92.2c3.3-5.7 2.7-12.8-1.4-17.9s-10.9-7.2-17.2-5.3L508.3 92.1l-29.4-74C476.4 12 470.6 8 464 8s-12.4 4-14.9 10.1l-29.4 74L343.6 68.9c-6.3-1.9-13.1 .2-17.2 5.3s-4.6 12.2-1.4 17.9l39.5 69.1-65.6 45.1c-5.4 3.7-8 10.3-6.5 16.7c.1 .3 .1 .6 .2 .8l19.4 0c20.1 0 39.2 7.5 53.8 20.8l18.4 2.9L383 265.3l36.2 48.3c2.1 2.8 3.9 5.7 5.5 8.6L464 286.1z\"]\n};\nconst faAward = {\n prefix: 'fas',\n iconName: 'award',\n icon: [384, 512, [], \"f559\", \"M173.8 5.5c11-7.3 25.4-7.3 36.4 0L228 17.2c6 3.9 13 5.8 20.1 5.4l21.3-1.3c13.2-.8 25.6 6.4 31.5 18.2l9.6 19.1c3.2 6.4 8.4 11.5 14.7 14.7L344.5 83c11.8 5.9 19 18.3 18.2 31.5l-1.3 21.3c-.4 7.1 1.5 14.2 5.4 20.1l11.8 17.8c7.3 11 7.3 25.4 0 36.4L366.8 228c-3.9 6-5.8 13-5.4 20.1l1.3 21.3c.8 13.2-6.4 25.6-18.2 31.5l-19.1 9.6c-6.4 3.2-11.5 8.4-14.7 14.7L301 344.5c-5.9 11.8-18.3 19-31.5 18.2l-21.3-1.3c-7.1-.4-14.2 1.5-20.1 5.4l-17.8 11.8c-11 7.3-25.4 7.3-36.4 0L156 366.8c-6-3.9-13-5.8-20.1-5.4l-21.3 1.3c-13.2 .8-25.6-6.4-31.5-18.2l-9.6-19.1c-3.2-6.4-8.4-11.5-14.7-14.7L39.5 301c-11.8-5.9-19-18.3-18.2-31.5l1.3-21.3c.4-7.1-1.5-14.2-5.4-20.1L5.5 210.2c-7.3-11-7.3-25.4 0-36.4L17.2 156c3.9-6 5.8-13 5.4-20.1l-1.3-21.3c-.8-13.2 6.4-25.6 18.2-31.5l19.1-9.6C65 70.2 70.2 65 73.4 58.6L83 39.5c5.9-11.8 18.3-19 31.5-18.2l21.3 1.3c7.1 .4 14.2-1.5 20.1-5.4L173.8 5.5zM272 192a80 80 0 1 0 -160 0 80 80 0 1 0 160 0zM1.3 441.8L44.4 339.3c.2 .1 .3 .2 .4 .4l9.6 19.1c11.7 23.2 36 37.3 62 35.8l21.3-1.3c.2 0 .5 0 .7 .2l17.8 11.8c5.1 3.3 10.5 5.9 16.1 7.7l-37.6 89.3c-2.3 5.5-7.4 9.2-13.3 9.7s-11.6-2.2-14.8-7.2L74.4 455.5l-56.1 8.3c-5.7 .8-11.4-1.5-15-6s-4.3-10.7-2.1-16zm248 60.4L211.7 413c5.6-1.8 11-4.3 16.1-7.7l17.8-11.8c.2-.1 .4-.2 .7-.2l21.3 1.3c26 1.5 50.3-12.6 62-35.8l9.6-19.1c.1-.2 .2-.3 .4-.4l43.2 102.5c2.2 5.3 1.4 11.4-2.1 16s-9.3 6.9-15 6l-56.1-8.3-32.2 49.2c-3.2 5-8.9 7.7-14.8 7.2s-11-4.3-13.3-9.7z\"]\n};\nconst faTicketSimple = {\n prefix: 'fas',\n iconName: 'ticket-simple',\n icon: [576, 512, [\"ticket-alt\"], \"f3ff\", \"M0 128C0 92.7 28.7 64 64 64l448 0c35.3 0 64 28.7 64 64l0 64c0 8.8-7.4 15.7-15.7 18.6C541.5 217.1 528 235 528 256s13.5 38.9 32.3 45.4c8.3 2.9 15.7 9.8 15.7 18.6l0 64c0 35.3-28.7 64-64 64L64 448c-35.3 0-64-28.7-64-64l0-64c0-8.8 7.4-15.7 15.7-18.6C34.5 294.9 48 277 48 256s-13.5-38.9-32.3-45.4C7.4 207.7 0 200.8 0 192l0-64z\"]\n};\nconst faTicketAlt = faTicketSimple;\nconst faBuilding = {\n prefix: 'fas',\n iconName: 'building',\n icon: [384, 512, [127970, 61687], \"f1ad\", \"M48 0C21.5 0 0 21.5 0 48L0 464c0 26.5 21.5 48 48 48l96 0 0-80c0-26.5 21.5-48 48-48s48 21.5 48 48l0 80 96 0c26.5 0 48-21.5 48-48l0-416c0-26.5-21.5-48-48-48L48 0zM64 240c0-8.8 7.2-16 16-16l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32zm112-16l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32zM80 96l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32zM272 96l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32c0-8.8 7.2-16 16-16z\"]\n};\nconst faAnglesLeft = {\n prefix: 'fas',\n iconName: 'angles-left',\n icon: [512, 512, [171, \"angle-double-left\"], \"f100\", \"M41.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l160 160c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L109.3 256 246.6 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-160 160zm352-160l-160 160c-12.5 12.5-12.5 32.8 0 45.3l160 160c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L301.3 256 438.6 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0z\"]\n};\nconst faAngleDoubleLeft = faAnglesLeft;\nconst faQrcode = {\n prefix: 'fas',\n iconName: 'qrcode',\n icon: [448, 512, [], \"f029\", \"M0 80C0 53.5 21.5 32 48 32l96 0c26.5 0 48 21.5 48 48l0 96c0 26.5-21.5 48-48 48l-96 0c-26.5 0-48-21.5-48-48L0 80zM64 96l0 64 64 0 0-64L64 96zM0 336c0-26.5 21.5-48 48-48l96 0c26.5 0 48 21.5 48 48l0 96c0 26.5-21.5 48-48 48l-96 0c-26.5 0-48-21.5-48-48l0-96zm64 16l0 64 64 0 0-64-64 0zM304 32l96 0c26.5 0 48 21.5 48 48l0 96c0 26.5-21.5 48-48 48l-96 0c-26.5 0-48-21.5-48-48l0-96c0-26.5 21.5-48 48-48zm80 64l-64 0 0 64 64 0 0-64zM256 304c0-8.8 7.2-16 16-16l64 0c8.8 0 16 7.2 16 16s7.2 16 16 16l32 0c8.8 0 16-7.2 16-16s7.2-16 16-16s16 7.2 16 16l0 96c0 8.8-7.2 16-16 16l-64 0c-8.8 0-16-7.2-16-16s-7.2-16-16-16s-16 7.2-16 16l0 64c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-160zM368 480a16 16 0 1 1 0-32 16 16 0 1 1 0 32zm64 0a16 16 0 1 1 0-32 16 16 0 1 1 0 32z\"]\n};\nconst faClockRotateLeft = {\n prefix: 'fas',\n iconName: 'clock-rotate-left',\n icon: [512, 512, [\"history\"], \"f1da\", \"M75 75L41 41C25.9 25.9 0 36.6 0 57.9L0 168c0 13.3 10.7 24 24 24l110.1 0c21.4 0 32.1-25.9 17-41l-30.8-30.8C155 85.5 203 64 256 64c106 0 192 86 192 192s-86 192-192 192c-40.8 0-78.6-12.7-109.7-34.4c-14.5-10.1-34.4-6.6-44.6 7.9s-6.6 34.4 7.9 44.6C151.2 495 201.7 512 256 512c141.4 0 256-114.6 256-256S397.4 0 256 0C185.3 0 121.3 28.7 75 75zm181 53c-13.3 0-24 10.7-24 24l0 104c0 6.4 2.5 12.5 7 17l72 72c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-65-65 0-94.1c0-13.3-10.7-24-24-24z\"]\n};\nconst faHistory = faClockRotateLeft;\nconst faFaceGrinBeamSweat = {\n prefix: 'fas',\n iconName: 'face-grin-beam-sweat',\n icon: [512, 512, [128517, \"grin-beam-sweat\"], \"f583\", \"M476.8 126.3c-4.1 1.1-8.4 1.7-12.8 1.7c-26.5 0-48-21-48-47c0-5 1.8-11.3 4.6-18.1c.3-.7 .6-1.4 .9-2.1c9-20.2 26.5-44.9 36-57.5c3.2-4.4 9.6-4.4 12.8 0C483.4 20.6 512 61 512 81c0 21.7-14.9 39.8-35.2 45.3zM256 0c51.4 0 99.3 15.2 139.4 41.2c-1.5 3.1-3 6.2-4.3 9.3c-3.4 8-7.1 19-7.1 30.5c0 44.3 36.6 79 80 79c9.6 0 18.8-1.7 27.4-4.8c13.3 30.9 20.6 65 20.6 100.8c0 141.4-114.6 256-256 256S0 397.4 0 256S114.6 0 256 0zM383.8 317.8C345.3 329.4 301.9 336 256 336s-89.3-6.6-127.8-18.2c-12.3-3.7-24.3 7-19.2 18.7c24.5 56.9 81.1 96.7 147 96.7s122.5-39.8 147-96.7c5.1-11.8-6.9-22.4-19.2-18.7zm-166.2-89s0 0 0 0s0 0 0 0c2.1 2.8 5.7 3.9 8.9 2.8s5.5-4.1 5.5-7.6c0-17.9-6.7-35.6-16.6-48.8c-9.8-13-23.9-23.2-39.4-23.2s-29.6 10.2-39.4 23.2C126.7 188.4 120 206.1 120 224c0 3.4 2.2 6.5 5.5 7.6s6.9 0 8.9-2.8c0 0 0 0 0 0s0 0 0 0c0 0 0 0 0 0l.2-.2c.2-.2 .4-.5 .7-.9c.6-.8 1.6-2 2.8-3.4c2.5-2.8 6-6.6 10.2-10.3c8.8-7.8 18.8-14 27.7-14s18.9 6.2 27.7 14c4.2 3.7 7.7 7.5 10.2 10.3c1.2 1.4 2.2 2.6 2.8 3.4c.3 .4 .6 .7 .7 .9l.2 .2c0 0 0 0 0 0c0 0 0 0 0 0zm160 0s0 0 0 0s0 0 0 0s0 0 0 0c2.1 2.8 5.7 3.9 8.9 2.8s5.5-4.1 5.5-7.6c0-17.9-6.7-35.6-16.6-48.8c-9.8-13-23.9-23.2-39.4-23.2s-29.6 10.2-39.4 23.2C286.7 188.4 280 206.1 280 224c0 3.4 2.2 6.5 5.5 7.6s6.9 0 8.9-2.8c0 0 0 0 0 0s0 0 0 0c0 0 0 0 0 0l.2-.2c.2-.2 .4-.5 .7-.9c.6-.8 1.6-2 2.8-3.4c2.5-2.8 6-6.6 10.2-10.3c8.8-7.8 18.8-14 27.7-14s18.9 6.2 27.7 14c4.2 3.7 7.7 7.5 10.2 10.3c1.2 1.4 2.2 2.6 2.8 3.4c.3 .4 .6 .7 .7 .9l.2 .2c0 0 0 0 0 0z\"]\n};\nconst faGrinBeamSweat = faFaceGrinBeamSweat;\nconst faFileExport = {\n prefix: 'fas',\n iconName: 'file-export',\n icon: [576, 512, [\"arrow-right-from-file\"], \"f56e\", \"M0 64C0 28.7 28.7 0 64 0L224 0l0 128c0 17.7 14.3 32 32 32l128 0 0 128-168 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l168 0 0 112c0 35.3-28.7 64-64 64L64 512c-35.3 0-64-28.7-64-64L0 64zM384 336l0-48 110.1 0-39-39c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l80 80c9.4 9.4 9.4 24.6 0 33.9l-80 80c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l39-39L384 336zm0-208l-128 0L256 0 384 128z\"]\n};\nconst faArrowRightFromFile = faFileExport;\nconst faShield = {\n prefix: 'fas',\n iconName: 'shield',\n icon: [512, 512, [128737, \"shield-blank\"], \"f132\", \"M256 0c4.6 0 9.2 1 13.4 2.9L457.7 82.8c22 9.3 38.4 31 38.3 57.2c-.5 99.2-41.3 280.7-213.6 363.2c-16.7 8-36.1 8-52.8 0C57.3 420.7 16.5 239.2 16 140c-.1-26.2 16.3-47.9 38.3-57.2L242.7 2.9C246.8 1 251.4 0 256 0z\"]\n};\nconst faShieldBlank = faShield;\nconst faArrowUpShortWide = {\n prefix: 'fas',\n iconName: 'arrow-up-short-wide',\n icon: [576, 512, [\"sort-amount-up-alt\"], \"f885\", \"M151.6 42.4C145.5 35.8 137 32 128 32s-17.5 3.8-23.6 10.4l-88 96c-11.9 13-11.1 33.3 2 45.2s33.3 11.1 45.2-2L96 146.3 96 448c0 17.7 14.3 32 32 32s32-14.3 32-32l0-301.7 32.4 35.4c11.9 13 32.2 13.9 45.2 2s13.9-32.2 2-45.2l-88-96zM320 32c-17.7 0-32 14.3-32 32s14.3 32 32 32l32 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-32 0zm0 128c-17.7 0-32 14.3-32 32s14.3 32 32 32l96 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-96 0zm0 128c-17.7 0-32 14.3-32 32s14.3 32 32 32l160 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-160 0zm0 128c-17.7 0-32 14.3-32 32s14.3 32 32 32l224 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-224 0z\"]\n};\nconst faSortAmountUpAlt = faArrowUpShortWide;\nconst faCommentNodes = {\n prefix: 'fas',\n iconName: 'comment-nodes',\n icon: [640, 512, [], \"e696\", \"M256 448c10.8 0 21.5-.5 32-1.6c.3-15.8 4.4-31.7 12.9-46.4c16-27.7 43.7-44.4 73.2-47.5l16.7-29.2c-4.3-11-6.7-22.9-6.7-35.4c0-53 43-96 96-96c9.1 0 17.8 1.3 26.2 3.6C481.1 102.1 378.6 32 256 32C114.6 32 0 125.1 0 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9c-5.5 9.2-11.1 16.6-15.2 21.6c-2.1 2.5-3.7 4.4-4.9 5.7c-.2 .3-.4 .5-.6 .7c-.3 .3-.5 .5-.6 .7l-.3 .3c0 0 0 0 0 0c0 0 0 0 0 0s0 0 0 0s0 0 0 0c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c28.7 0 57.6-8.9 81.6-19.3c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9zm72.6-32c-17.7 30.6-7.2 69.7 23.4 87.4s69.7 7.2 87.4-23.4c1.5-2.6 2.8-5.3 3.9-8l73.3 0c1.1 2.7 2.4 5.4 3.9 8c17.7 30.6 56.8 41.1 87.4 23.4s41.1-56.8 23.4-87.4c-13.4-23.2-39.1-34.8-64-31.4l-17.6-30.7c-11 11.7-25 20.6-40.6 25.6l16.5 28.9c-3.8 4.8-6.8 10-9 15.6l-73.4 0c-2.2-5.6-5.3-10.8-9-15.6l33-57.7c4.1 .8 8.4 1.3 12.8 1.3c35.3 0 64-28.7 64-64s-28.7-64-64-64s-64 28.7-64 64c0 13.4 4.1 25.8 11.2 36.1l-34.6 60.5c-25-3.4-50.6 8.3-64 31.4z\"]\n};\nconst faHouseMedical = {\n prefix: 'fas',\n iconName: 'house-medical',\n icon: [576, 512, [], \"e3b2\", \"M543.8 287.6c17 0 32-14 32-32.1c1-9-3-17-11-24L309.5 7c-6-5-14-7-21-7s-15 1-22 8L10 231.5c-7 7-10 15-10 24c0 18 14 32.1 32 32.1l32 0 0 160.4c0 35.3 28.7 64 64 64l320.4 0c35.5 0 64.2-28.8 64-64.3l-.7-160.2 32 0zM256 208c0-8.8 7.2-16 16-16l32 0c8.8 0 16 7.2 16 16l0 48 48 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-48 0 0 48c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-48-48 0c-8.8 0-16-7.2-16-16l0-32c0-8.8 7.2-16 16-16l48 0 0-48z\"]\n};\nconst faGolfBallTee = {\n prefix: 'fas',\n iconName: 'golf-ball-tee',\n icon: [384, 512, [\"golf-ball\"], \"f450\", \"M384 192c0 66.8-34.1 125.6-85.8 160L85.8 352C34.1 317.6 0 258.8 0 192C0 86 86 0 192 0S384 86 384 192zM242.1 256.6c0 18.5-15 33.5-33.5 33.5c-4.9 0-9.1 5.1-5.4 8.4c5.9 5.2 13.7 8.4 22.1 8.4c18.5 0 33.5-15 33.5-33.5c0-8.5-3.2-16.2-8.4-22.1c-3.3-3.7-8.4 .5-8.4 5.4zm-52.3-49.3c-4.9 0-9.1 5.1-5.4 8.4c5.9 5.2 13.7 8.4 22.1 8.4c18.5 0 33.5-15 33.5-33.5c0-8.5-3.2-16.2-8.4-22.1c-3.3-3.7-8.4 .5-8.4 5.4c0 18.5-15 33.5-33.5 33.5zm113.5-17.5c0 18.5-15 33.5-33.5 33.5c-4.9 0-9.1 5.1-5.4 8.4c5.9 5.2 13.7 8.4 22.1 8.4c18.5 0 33.5-15 33.5-33.5c0-8.5-3.2-16.2-8.4-22.1c-3.3-3.7-8.4 .5-8.4 5.4zM96 416c0-17.7 14.3-32 32-32l64 0 64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-16 0c-8.8 0-16 7.2-16 16l0 16c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-16c0-8.8-7.2-16-16-16l-16 0c-17.7 0-32-14.3-32-32z\"]\n};\nconst faGolfBall = faGolfBallTee;\nconst faCircleChevronLeft = {\n prefix: 'fas',\n iconName: 'circle-chevron-left',\n icon: [512, 512, [\"chevron-circle-left\"], \"f137\", \"M512 256A256 256 0 1 0 0 256a256 256 0 1 0 512 0zM271 135c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-87 87 87 87c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0L167 273c-9.4-9.4-9.4-24.6 0-33.9L271 135z\"]\n};\nconst faChevronCircleLeft = faCircleChevronLeft;\nconst faHouseChimneyWindow = {\n prefix: 'fas',\n iconName: 'house-chimney-window',\n icon: [576, 512, [], \"e00d\", \"M575.8 255.5c0 18-15 32.1-32 32.1l-32 0 .7 160.2c.2 35.5-28.5 64.3-64 64.3l-320.4 0c-35.3 0-64-28.7-64-64l0-160.4-32 0c-18 0-32-14-32-32.1c0-9 3-17 10-24L266.4 8c7-7 15-8 22-8s15 2 21 7L416 100.7 416 64c0-17.7 14.3-32 32-32l32 0c17.7 0 32 14.3 32 32l0 121 52.8 46.4c8 7 12 15 11 24zM248 192c-13.3 0-24 10.7-24 24l0 80c0 13.3 10.7 24 24 24l80 0c13.3 0 24-10.7 24-24l0-80c0-13.3-10.7-24-24-24l-80 0z\"]\n};\nconst faPenNib = {\n prefix: 'fas',\n iconName: 'pen-nib',\n icon: [512, 512, [10001], \"f5ad\", \"M368.4 18.3L312.7 74.1 437.9 199.3l55.7-55.7c21.9-21.9 21.9-57.3 0-79.2L447.6 18.3c-21.9-21.9-57.3-21.9-79.2 0zM288 94.6l-9.2 2.8L134.7 140.6c-19.9 6-35.7 21.2-42.3 41L3.8 445.8c-3.8 11.3-1 23.9 7.3 32.4L164.7 324.7c-3-6.3-4.7-13.3-4.7-20.7c0-26.5 21.5-48 48-48s48 21.5 48 48s-21.5 48-48 48c-7.4 0-14.4-1.7-20.7-4.7L33.7 500.9c8.6 8.3 21.1 11.2 32.4 7.3l264.3-88.6c19.7-6.6 35-22.4 41-42.3l43.2-144.1 2.7-9.2L288 94.6z\"]\n};\nconst faTentArrowTurnLeft = {\n prefix: 'fas',\n iconName: 'tent-arrow-turn-left',\n icon: [576, 512, [], \"e580\", \"M120.1 41.8c9.9-8.9 10.7-24 1.8-33.9S97.8-2.7 87.9 6.2l-80 72C2.9 82.7 0 89.2 0 96s2.9 13.3 7.9 17.8l80 72c9.9 8.9 25 8.1 33.9-1.8s8.1-25-1.8-33.9L86.5 120 456 120c39.8 0 72 32.2 72 72l0 40c0 13.3 10.7 24 24 24s24-10.7 24-24l0-40c0-66.3-53.7-120-120-120L86.5 72l33.5-30.2zM307.4 166.5c-11.5-8.7-27.3-8.7-38.8 0l-168 128c-6.6 5-11 12.5-12.3 20.7l-24 160c-1.4 9.2 1.3 18.6 7.4 25.6S86.7 512 96 512l144 0 16 0c17.7 0 32-14.3 32-32l0-118.1c0-5.5 4.4-9.9 9.9-9.9c3.7 0 7.2 2.1 8.8 5.5l68.4 136.8c5.4 10.8 16.5 17.7 28.6 17.7l60.2 0 16 0c9.3 0 18.2-4.1 24.2-11.1s8.8-16.4 7.4-25.6l-24-160c-1.2-8.2-5.6-15.7-12.3-20.7l-168-128z\"]\n};\nconst faTents = {\n prefix: 'fas',\n iconName: 'tents',\n icon: [640, 512, [], \"e582\", \"M396.6 6.5L235.8 129.1c9.6 1.8 18.9 5.8 27 12l168 128c13.2 10.1 22 24.9 24.5 41.4l6.2 41.5L608 352c9.3 0 18.2-4.1 24.2-11.1s8.8-16.4 7.4-25.6l-24-160c-1.2-8.2-5.6-15.7-12.3-20.7l-168-128c-11.5-8.7-27.3-8.7-38.8 0zm-153.2 160c-11.5-8.7-27.3-8.7-38.8 0l-168 128c-6.6 5-11 12.5-12.3 20.7l-24 160c-1.4 9.2 1.3 18.6 7.4 25.6S22.7 512 32 512l144 0 16 0c17.7 0 32-14.3 32-32l0-118.1c0-5.5 4.4-9.9 9.9-9.9c3.7 0 7.2 2.1 8.8 5.5l68.4 136.8c5.4 10.8 16.5 17.7 28.6 17.7l60.2 0 16 0c9.3 0 18.2-4.1 24.2-11.1s8.8-16.4 7.4-25.6l-24-160c-1.2-8.2-5.6-15.7-12.3-20.7l-168-128z\"]\n};\nconst faWandMagic = {\n prefix: 'fas',\n iconName: 'wand-magic',\n icon: [512, 512, [\"magic\"], \"f0d0\", \"M14.1 463.3c-18.7-18.7-18.7-49.1 0-67.9L395.4 14.1c18.7-18.7 49.1-18.7 67.9 0l34.6 34.6c18.7 18.7 18.7 49.1 0 67.9L116.5 497.9c-18.7 18.7-49.1 18.7-67.9 0L14.1 463.3zM347.6 187.6l105-105L429.4 59.3l-105 105 23.3 23.3z\"]\n};\nconst faMagic = faWandMagic;\nconst faDog = {\n prefix: 'fas',\n iconName: 'dog',\n icon: [576, 512, [128021], \"f6d3\", \"M309.6 158.5L332.7 19.8C334.6 8.4 344.5 0 356.1 0c7.5 0 14.5 3.5 19 9.5L392 32l52.1 0c12.7 0 24.9 5.1 33.9 14.1L496 64l56 0c13.3 0 24 10.7 24 24l0 24c0 44.2-35.8 80-80 80l-32 0-16 0-21.3 0-5.1 30.5-112-64zM416 256.1L416 480c0 17.7-14.3 32-32 32l-32 0c-17.7 0-32-14.3-32-32l0-115.2c-24 12.3-51.2 19.2-80 19.2s-56-6.9-80-19.2L160 480c0 17.7-14.3 32-32 32l-32 0c-17.7 0-32-14.3-32-32l0-230.2c-28.8-10.9-51.4-35.3-59.2-66.5L1 167.8c-4.3-17.1 6.1-34.5 23.3-38.8s34.5 6.1 38.8 23.3l3.9 15.5C70.5 182 83.3 192 98 192l30 0 16 0 159.8 0L416 256.1zM464 80a16 16 0 1 0 -32 0 16 16 0 1 0 32 0z\"]\n};\nconst faCarrot = {\n prefix: 'fas',\n iconName: 'carrot',\n icon: [512, 512, [129365], \"f787\", \"M346.7 6C337.6 17 320 42.3 320 72c0 40 15.3 55.3 40 80s40 40 80 40c29.7 0 55-17.6 66-26.7c4-3.3 6-8.2 6-13.3s-2-10-6-13.2c-11.4-9.1-38.3-26.8-74-26.8c-32 0-40 8-40 8s8-8 8-40c0-35.7-17.7-62.6-26.8-74C370 2 365.1 0 360 0s-10 2-13.3 6zM244.6 136c-40 0-77.1 18.1-101.7 48.2l60.5 60.5c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-55.3-55.3 0 .1L2.2 477.9C-2 487-.1 497.8 7 505s17.9 9 27.1 4.8l134.7-62.4-52.1-52.1c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L199.7 433l100.2-46.4c46.4-21.5 76.2-68 76.2-119.2C376 194.8 317.2 136 244.6 136z\"]\n};\nconst faMoon = {\n prefix: 'fas',\n iconName: 'moon',\n icon: [384, 512, [127769, 9214], \"f186\", \"M223.5 32C100 32 0 132.3 0 256S100 480 223.5 480c60.6 0 115.5-24.2 155.8-63.4c5-4.9 6.3-12.5 3.1-18.7s-10.1-9.7-17-8.5c-9.8 1.7-19.8 2.6-30.1 2.6c-96.9 0-175.5-78.8-175.5-176c0-65.8 36-123.1 89.3-153.3c6.1-3.5 9.2-10.5 7.7-17.3s-7.3-11.9-14.3-12.5c-6.3-.5-12.6-.8-19-.8z\"]\n};\nconst faWineGlassEmpty = {\n prefix: 'fas',\n iconName: 'wine-glass-empty',\n icon: [320, 512, [\"wine-glass-alt\"], \"f5ce\", \"M64 0C47.4 0 33.5 12.8 32.1 29.3l-14 168.4c-6 72 42.5 135.2 109.9 150.6l0 99.6-48 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l80 0 80 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-48 0 0-99.6c67.4-15.4 115.9-78.6 109.9-150.6l-14-168.4C286.5 12.8 272.6 0 256 0L64 0zM81.9 203.1L93.4 64l133.1 0 11.6 139.1C242 248.8 205.9 288 160 288s-82-39.2-78.1-84.9z\"]\n};\nconst faWineGlassAlt = faWineGlassEmpty;\nconst faCheese = {\n prefix: 'fas',\n iconName: 'cheese',\n icon: [512, 512, [], \"f7ef\", \"M512 240.2l0 15.8L0 256c0-20 10-38.7 26.6-49.8L274.9 40.7c8.6-5.7 18.6-8.7 28.9-8.7C418.8 32 512 125.2 512 240.2zm0 47.8l0 128c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64L0 288l512 0z\"]\n};\nconst faYinYang = {\n prefix: 'fas',\n iconName: 'yin-yang',\n icon: [512, 512, [9775], \"f6ad\", \"M256 64c53 0 96 43 96 96s-43 96-96 96s-96 43-96 96s43 96 96 96C150 448 64 362 64 256S150 64 256 64zm0 448A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm32-352a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM224 352a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nconst faMusic = {\n prefix: 'fas',\n iconName: 'music',\n icon: [512, 512, [127925], \"f001\", \"M499.1 6.3c8.1 6 12.9 15.6 12.9 25.7l0 72 0 264c0 44.2-43 80-96 80s-96-35.8-96-80s43-80 96-80c11.2 0 22 1.6 32 4.6L448 147 192 223.8 192 432c0 44.2-43 80-96 80s-96-35.8-96-80s43-80 96-80c11.2 0 22 1.6 32 4.6L128 200l0-72c0-14.1 9.3-26.6 22.8-30.7l320-96c9.7-2.9 20.2-1.1 28.3 5z\"]\n};\nconst faCodeCommit = {\n prefix: 'fas',\n iconName: 'code-commit',\n icon: [640, 512, [], \"f386\", \"M320 336a80 80 0 1 0 0-160 80 80 0 1 0 0 160zm156.8-48C462 361 397.4 416 320 416s-142-55-156.8-128L32 288c-17.7 0-32-14.3-32-32s14.3-32 32-32l131.2 0C178 151 242.6 96 320 96s142 55 156.8 128L608 224c17.7 0 32 14.3 32 32s-14.3 32-32 32l-131.2 0z\"]\n};\nconst faTemperatureLow = {\n prefix: 'fas',\n iconName: 'temperature-low',\n icon: [512, 512, [], \"f76b\", \"M448 96a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM320 96a96 96 0 1 1 192 0A96 96 0 1 1 320 96zM144 64c-26.5 0-48 21.5-48 48l0 164.5c0 17.3-7.1 31.9-15.3 42.5C70.2 332.6 64 349.5 64 368c0 44.2 35.8 80 80 80s80-35.8 80-80c0-18.5-6.2-35.4-16.7-48.9c-8.2-10.6-15.3-25.2-15.3-42.5L192 112c0-26.5-21.5-48-48-48zM32 112C32 50.2 82.1 0 144 0s112 50.1 112 112l0 164.4c0 .1 .1 .3 .2 .6c.2 .6 .8 1.6 1.7 2.8c18.9 24.4 30.1 55 30.1 88.1c0 79.5-64.5 144-144 144S0 447.5 0 368c0-33.2 11.2-63.8 30.1-88.1c.9-1.2 1.5-2.2 1.7-2.8c.1-.3 .2-.5 .2-.6L32 112zM192 368c0 26.5-21.5 48-48 48s-48-21.5-48-48c0-20.9 13.4-38.7 32-45.3l0-50.7c0-8.8 7.2-16 16-16s16 7.2 16 16l0 50.7c18.6 6.6 32 24.4 32 45.3z\"]\n};\nconst faPersonBiking = {\n prefix: 'fas',\n iconName: 'person-biking',\n icon: [640, 512, [128692, \"biking\"], \"f84a\", \"M400 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm27.2 64l-61.8-48.8c-17.3-13.6-41.7-13.8-59.1-.3l-83.1 64.2c-30.7 23.8-28.5 70.8 4.3 91.6L288 305.1 288 416c0 17.7 14.3 32 32 32s32-14.3 32-32l0-128c0-10.7-5.3-20.7-14.2-26.6L295 232.9l60.3-48.5L396 217c5.7 4.5 12.7 7 20 7l64 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-52.8 0zM56 384a72 72 0 1 1 144 0A72 72 0 1 1 56 384zm200 0A128 128 0 1 0 0 384a128 128 0 1 0 256 0zm184 0a72 72 0 1 1 144 0 72 72 0 1 1 -144 0zm200 0a128 128 0 1 0 -256 0 128 128 0 1 0 256 0z\"]\n};\nconst faBiking = faPersonBiking;\nconst faBroom = {\n prefix: 'fas',\n iconName: 'broom',\n icon: [576, 512, [129529], \"f51a\", \"M566.6 54.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-192 192-34.7-34.7c-4.2-4.2-10-6.6-16-6.6c-12.5 0-22.6 10.1-22.6 22.6l0 29.1L364.3 320l29.1 0c12.5 0 22.6-10.1 22.6-22.6c0-6-2.4-11.8-6.6-16l-34.7-34.7 192-192zM341.1 353.4L222.6 234.9c-42.7-3.7-85.2 11.7-115.8 42.3l-8 8C76.5 307.5 64 337.7 64 369.2c0 6.8 7.1 11.2 13.2 8.2l51.1-25.5c5-2.5 9.5 4.1 5.4 7.9L7.3 473.4C2.7 477.6 0 483.6 0 489.9C0 502.1 9.9 512 22.1 512l173.3 0c38.8 0 75.9-15.4 103.4-42.8c30.6-30.6 45.9-73.1 42.3-115.8z\"]\n};\nconst faShieldHeart = {\n prefix: 'fas',\n iconName: 'shield-heart',\n icon: [512, 512, [], \"e574\", \"M269.4 2.9C265.2 1 260.7 0 256 0s-9.2 1-13.4 2.9L54.3 82.8c-22 9.3-38.4 31-38.3 57.2c.5 99.2 41.3 280.7 213.6 363.2c16.7 8 36.1 8 52.8 0C454.7 420.7 495.5 239.2 496 140c.1-26.2-16.3-47.9-38.3-57.2L269.4 2.9zM144 221.3c0-33.8 27.4-61.3 61.3-61.3c16.2 0 31.8 6.5 43.3 17.9l7.4 7.4 7.4-7.4c11.5-11.5 27.1-17.9 43.3-17.9c33.8 0 61.3 27.4 61.3 61.3c0 16.2-6.5 31.8-17.9 43.3l-82.7 82.7c-6.2 6.2-16.4 6.2-22.6 0l-82.7-82.7c-11.5-11.5-17.9-27.1-17.9-43.3z\"]\n};\nconst faGopuram = {\n prefix: 'fas',\n iconName: 'gopuram',\n icon: [512, 512, [], \"f664\", \"M120 0c13.3 0 24 10.7 24 24l0 8 40 0 0-8c0-13.3 10.7-24 24-24s24 10.7 24 24l0 8 48 0 0-8c0-13.3 10.7-24 24-24s24 10.7 24 24l0 8 40 0 0-8c0-13.3 10.7-24 24-24s24 10.7 24 24l0 8 0 32 0 64c17.7 0 32 14.3 32 32l0 64c17.7 0 32 14.3 32 32l0 96c17.7 0 32 14.3 32 32l0 96c0 17.7-14.3 32-32 32l-64 0 0-160-32 0 0-128-32 0 0-96-32 0 0 96 32 0 0 128 32 0 0 160-80 0 0-48c0-26.5-21.5-48-48-48s-48 21.5-48 48l0 48-80 0 0-160 32 0 0-128 32 0 0-96-32 0 0 96-32 0 0 128-32 0 0 160-64 0c-17.7 0-32-14.3-32-32l0-96c0-17.7 14.3-32 32-32l0-96c0-17.7 14.3-32 32-32l0-64c0-17.7 14.3-32 32-32l0-64 0-32 0-8c0-13.3 10.7-24 24-24zM256 272c-17.7 0-32 14.3-32 32l0 48 64 0 0-48c0-17.7-14.3-32-32-32zm-32-80l0 32 64 0 0-32c0-17.7-14.3-32-32-32s-32 14.3-32 32z\"]\n};\nconst faEarthOceania = {\n prefix: 'fas',\n iconName: 'earth-oceania',\n icon: [512, 512, [\"globe-oceania\"], \"e47b\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM208.6 357.3l-39-13.5c-6.5-2.2-13.6-2.3-20.1-.3l-15.3 4.9c-18.5 5.9-38.5-2.4-47.5-19.5l-3.3-6.2c-10.6-20.1-2.3-45 18.2-54.7l35.3-16.8c2.3-1.1 4.4-2.8 5.9-4.8l5.3-7c7.2-9.6 18.6-15.3 30.6-15.3s23.4 5.7 30.6 15.3l4.6 6.1c2 2.6 4.9 4.5 8.1 5.1c7.8 1.6 15.7-1.5 20.4-7.9l10.4-14.2c2-2.8 5.3-4.4 8.7-4.4c4.4 0 8.4 2.7 10 6.8l10.1 25.9c2.8 7.2 6.7 14 11.5 20.2L311 299.8c5.8 7.4 9 16.6 9 26s-3.2 18.6-9 26L299 367.2c-8.3 10.6-21 16.8-34.4 16.8c-8.4 0-16.6-2.4-23.7-7l-25.4-16.4c-2.2-1.4-4.5-2.5-6.9-3.4zm65.2-214.8L296 164.7c10.1 10.1 2.9 27.3-11.3 27.3l-29.9 0c-5.6 0-11.1-1.2-16.2-3.4l-42.8-19c-14.3-6.3-11.9-27.3 3.4-30.3l38.5-7.7c13.1-2.6 26.7 1.5 36.1 10.9zM248 432c0-8.8 7.2-16 16-16l16 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-16 0c-8.8 0-16-7.2-16-16zM431.2 298.9l8 24c2.8 8.4-1.7 17.4-10.1 20.2s-17.4-1.7-20.2-10.1l-8-24c-2.8-8.4 1.7-17.4 10.1-20.2s17.4 1.7 20.2 10.1zm-19.9 80.4l-32 32c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l32-32c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z\"]\n};\nconst faGlobeOceania = faEarthOceania;\nconst faSquareXmark = {\n prefix: 'fas',\n iconName: 'square-xmark',\n icon: [448, 512, [10062, \"times-square\", \"xmark-square\"], \"f2d3\", \"M64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32zm79 143c9.4-9.4 24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9z\"]\n};\nconst faTimesSquare = faSquareXmark;\nconst faXmarkSquare = faSquareXmark;\nconst faHashtag = {\n prefix: 'fas',\n iconName: 'hashtag',\n icon: [448, 512, [62098], \"23\", \"M181.3 32.4c17.4 2.9 29.2 19.4 26.3 36.8L197.8 128l95.1 0 11.5-69.3c2.9-17.4 19.4-29.2 36.8-26.3s29.2 19.4 26.3 36.8L357.8 128l58.2 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-68.9 0L325.8 320l58.2 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-68.9 0-11.5 69.3c-2.9 17.4-19.4 29.2-36.8 26.3s-29.2-19.4-26.3-36.8l9.8-58.7-95.1 0-11.5 69.3c-2.9 17.4-19.4 29.2-36.8 26.3s-29.2-19.4-26.3-36.8L90.2 384 32 384c-17.7 0-32-14.3-32-32s14.3-32 32-32l68.9 0 21.3-128L64 192c-17.7 0-32-14.3-32-32s14.3-32 32-32l68.9 0 11.5-69.3c2.9-17.4 19.4-29.2 36.8-26.3zM187.1 192L165.8 320l95.1 0 21.3-128-95.1 0z\"]\n};\nconst faUpRightAndDownLeftFromCenter = {\n prefix: 'fas',\n iconName: 'up-right-and-down-left-from-center',\n icon: [512, 512, [\"expand-alt\"], \"f424\", \"M344 0L488 0c13.3 0 24 10.7 24 24l0 144c0 9.7-5.8 18.5-14.8 22.2s-19.3 1.7-26.2-5.2l-39-39-87 87c-9.4 9.4-24.6 9.4-33.9 0l-32-32c-9.4-9.4-9.4-24.6 0-33.9l87-87L327 41c-6.9-6.9-8.9-17.2-5.2-26.2S334.3 0 344 0zM168 512L24 512c-13.3 0-24-10.7-24-24L0 344c0-9.7 5.8-18.5 14.8-22.2s19.3-1.7 26.2 5.2l39 39 87-87c9.4-9.4 24.6-9.4 33.9 0l32 32c9.4 9.4 9.4 24.6 0 33.9l-87 87 39 39c6.9 6.9 8.9 17.2 5.2 26.2s-12.5 14.8-22.2 14.8z\"]\n};\nconst faExpandAlt = faUpRightAndDownLeftFromCenter;\nconst faOilCan = {\n prefix: 'fas',\n iconName: 'oil-can',\n icon: [640, 512, [], \"f613\", \"M320 128c17.7 0 32-14.3 32-32s-14.3-32-32-32L192 64c-17.7 0-32 14.3-32 32s14.3 32 32 32l32 0 0 32-80 0-48 0-48 0c-26.5 0-48 21.5-48 48l0 64.8c0 19 11.2 36.2 28.5 43.9l67.5 30L96 368c0 26.5 21.5 48 48 48l259.1 0c18.4 0 35.8-7.9 48-21.7L633.5 187.7c12.3-13.9-.3-35.4-18.4-31.5L448 192l-50.5-25.2c-8.9-4.4-18.7-6.8-28.6-6.8L288 160l0-32 32 0zM96 208l0 86.1L48 272.8 48 208l48 0z\"]\n};\nconst faT = {\n prefix: 'fas',\n iconName: 't',\n icon: [384, 512, [116], \"54\", \"M32 32C14.3 32 0 46.3 0 64S14.3 96 32 96l128 0 0 352c0 17.7 14.3 32 32 32s32-14.3 32-32l0-352 128 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L192 32 32 32z\"]\n};\nconst faHippo = {\n prefix: 'fas',\n iconName: 'hippo',\n icon: [640, 512, [129435], \"f6ed\", \"M407 47c9.4-9.4 24.6-9.4 33.9 0l17.2 17.2c1.9-.1 3.9-.2 5.8-.2l32 0c11.2 0 21.9 2.3 31.6 6.5L543 55c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9L564 101.9c7.6 12.2 12 26.7 12 42.1c0 10.2 7.4 18.8 16.7 23c27.9 12.5 47.3 40.5 47.3 73c0 26.2-12.6 49.4-32 64l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-16-64 0 0 16c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-17.6c-11.8-2.4-22.7-7.4-32-14.4c-1.5-1.1-2.9-2.3-4.3-3.5c-17-14.7-27.7-36.4-27.7-60.5c0-8.8-7.2-16-16-16s-16 7.2-16 16c0 44.7 26.2 83.2 64 101.2l0 10.8c0 17.7 14.3 32 32 32l32 0 0 64c0 17.7-14.3 32-32 32l-64 0c-17.7 0-32-14.3-32-32l0-76c-19.8 7.7-41.4 12-64 12s-44.2-4.3-64-12l0 76c0 17.7-14.3 32-32 32l-64 0c-17.7 0-32-14.3-32-32l0-118.9L45.9 369.7c-5.4 12.1-19.6 17.6-31.7 12.2S-3.3 362.4 2.1 350.3L24 300.9c5.3-11.9 8-24.7 8-37.7C32 155.7 117.2 68 223.8 64.1l.2-.1 7.2 0L256 64l32 0c41.7 0 83.4 12.1 117.2 25.7c1.7-1.8 3.5-3.6 5.3-5.2L407 81c-9.4-9.4-9.4-24.6 0-33.9zm73 185a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm88 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM480 144a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm48 16a16 16 0 1 0 0-32 16 16 0 1 0 0 32z\"]\n};\nconst faChartColumn = {\n prefix: 'fas',\n iconName: 'chart-column',\n icon: [512, 512, [], \"e0e3\", \"M32 32c17.7 0 32 14.3 32 32l0 336c0 8.8 7.2 16 16 16l400 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L80 480c-44.2 0-80-35.8-80-80L0 64C0 46.3 14.3 32 32 32zM160 224c17.7 0 32 14.3 32 32l0 64c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-64c0-17.7 14.3-32 32-32zm128-64l0 160c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-160c0-17.7 14.3-32 32-32s32 14.3 32 32zm64 32c17.7 0 32 14.3 32 32l0 96c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-96c0-17.7 14.3-32 32-32zM480 96l0 224c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-224c0-17.7 14.3-32 32-32s32 14.3 32 32z\"]\n};\nconst faInfinity = {\n prefix: 'fas',\n iconName: 'infinity',\n icon: [640, 512, [8734, 9854], \"f534\", \"M0 241.1C0 161 65 96 145.1 96c38.5 0 75.4 15.3 102.6 42.5L320 210.7l72.2-72.2C419.5 111.3 456.4 96 494.9 96C575 96 640 161 640 241.1l0 29.7C640 351 575 416 494.9 416c-38.5 0-75.4-15.3-102.6-42.5L320 301.3l-72.2 72.2C220.5 400.7 183.6 416 145.1 416C65 416 0 351 0 270.9l0-29.7zM274.7 256l-72.2-72.2c-15.2-15.2-35.9-23.8-57.4-23.8C100.3 160 64 196.3 64 241.1l0 29.7c0 44.8 36.3 81.1 81.1 81.1c21.5 0 42.2-8.5 57.4-23.8L274.7 256zm90.5 0l72.2 72.2c15.2 15.2 35.9 23.8 57.4 23.8c44.8 0 81.1-36.3 81.1-81.1l0-29.7c0-44.8-36.3-81.1-81.1-81.1c-21.5 0-42.2 8.5-57.4 23.8L365.3 256z\"]\n};\nconst faVialCircleCheck = {\n prefix: 'fas',\n iconName: 'vial-circle-check',\n icon: [512, 512, [], \"e596\", \"M0 64C0 46.3 14.3 32 32 32l64 0 64 0 64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l0 170.8c-20.2 28.6-32 63.5-32 101.2c0 25.2 5.3 49.1 14.8 70.8C189.5 463.7 160.6 480 128 480c-53 0-96-43-96-96L32 96C14.3 96 0 81.7 0 64zM96 96l0 96 64 0 0-96L96 96zM224 368a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm211.3-43.3c-6.2-6.2-16.4-6.2-22.6 0L352 385.4l-28.7-28.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l40 40c6.2 6.2 16.4 6.2 22.6 0l72-72c6.2-6.2 6.2-16.4 0-22.6z\"]\n};\nconst faPersonArrowDownToLine = {\n prefix: 'fas',\n iconName: 'person-arrow-down-to-line',\n icon: [640, 512, [], \"e538\", \"M192 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm-8 352l0-96 16 0 0 96-16 0zm-64 0l-88 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l120 0 80 0 376 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-344 0 0-191.1 28.6 47.5c9.1 15.1 28.8 20 43.9 10.9s20-28.8 10.9-43.9l-58.3-97c-17.4-28.9-48.6-46.6-82.3-46.6l-29.7 0c-33.7 0-64.9 17.7-82.3 46.6l-58.3 97c-9.1 15.1-4.2 34.8 10.9 43.9s34.8 4.2 43.9-10.9L120 256.9 120 448zM464 64l0 242.7-25.4-25.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l80 80c12.5 12.5 32.8 12.5 45.3 0l80-80c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L528 306.7 528 64c0-17.7-14.3-32-32-32s-32 14.3-32 32z\"]\n};\nconst faVoicemail = {\n prefix: 'fas',\n iconName: 'voicemail',\n icon: [640, 512, [], \"f897\", \"M144 320a80 80 0 1 1 0-160 80 80 0 1 1 0 160zm119.8 0c15.3-22.9 24.2-50.4 24.2-80c0-79.5-64.5-144-144-144S0 160.5 0 240s64.5 144 144 144l352 0c79.5 0 144-64.5 144-144s-64.5-144-144-144s-144 64.5-144 144c0 29.6 8.9 57.1 24.2 80l-112.5 0zM496 160a80 80 0 1 1 0 160 80 80 0 1 1 0-160z\"]\n};\nconst faFan = {\n prefix: 'fas',\n iconName: 'fan',\n icon: [512, 512, [], \"f863\", \"M258.6 0c-1.7 0-3.4 .1-5.1 .5C168 17 115.6 102.3 130.5 189.3c2.9 17 8.4 32.9 15.9 47.4L32 224l-2.6 0C13.2 224 0 237.2 0 253.4c0 1.7 .1 3.4 .5 5.1C17 344 102.3 396.4 189.3 381.5c17-2.9 32.9-8.4 47.4-15.9L224 480l0 2.6c0 16.2 13.2 29.4 29.4 29.4c1.7 0 3.4-.1 5.1-.5C344 495 396.4 409.7 381.5 322.7c-2.9-17-8.4-32.9-15.9-47.4L480 288l2.6 0c16.2 0 29.4-13.2 29.4-29.4c0-1.7-.1-3.4-.5-5.1C495 168 409.7 115.6 322.7 130.5c-17 2.9-32.9 8.4-47.4 15.9L288 32l0-2.6C288 13.2 274.8 0 258.6 0zM256 224a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nconst faPersonWalkingLuggage = {\n prefix: 'fas',\n iconName: 'person-walking-luggage',\n icon: [576, 512, [], \"e554\", \"M432 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM347.7 200.5c1-.4 1.9-.8 2.9-1.2l-16.9 63.5c-5.6 21.1-.1 43.6 14.7 59.7l70.7 77.1 22 88.1c4.3 17.1 21.7 27.6 38.8 23.3s27.6-21.7 23.3-38.8l-23-92.1c-1.9-7.8-5.8-14.9-11.2-20.8l-49.5-54 19.3-65.5 9.6 23c4.4 10.6 12.5 19.3 22.8 24.5l26.7 13.3c15.8 7.9 35 1.5 42.9-14.3s1.5-35-14.3-42.9L505 232.7l-15.3-36.8C472.5 154.8 432.3 128 387.7 128c-22.8 0-45.3 4.8-66.1 14l-8 3.5c-32.9 14.6-58.1 42.4-69.4 76.5l-2.6 7.8c-5.6 16.8 3.5 34.9 20.2 40.5s34.9-3.5 40.5-20.2l2.6-7.8c5.7-17.1 18.3-30.9 34.7-38.2l8-3.5zm-30 135.1l-25 62.4-59.4 59.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L340.3 441c4.6-4.6 8.2-10.1 10.6-16.1l14.5-36.2-40.7-44.4c-2.5-2.7-4.8-5.6-7-8.6zM256 274.1c-7.7-4.4-17.4-1.8-21.9 5.9l-32 55.4L147.7 304c-15.3-8.8-34.9-3.6-43.7 11.7L40 426.6c-8.8 15.3-3.6 34.9 11.7 43.7l55.4 32c15.3 8.8 34.9 3.6 43.7-11.7l64-110.9c1.5-2.6 2.6-5.2 3.3-8L261.9 296c4.4-7.7 1.8-17.4-5.9-21.9z\"]\n};\nconst faUpDown = {\n prefix: 'fas',\n iconName: 'up-down',\n icon: [256, 512, [8597, 11021, \"arrows-alt-v\"], \"f338\", \"M145.6 7.7C141 2.8 134.7 0 128 0s-13 2.8-17.6 7.7l-104 112c-6.5 7-8.2 17.2-4.4 25.9S14.5 160 24 160l56 0 0 192-56 0c-9.5 0-18.2 5.7-22 14.4s-2.1 18.9 4.4 25.9l104 112c4.5 4.9 10.9 7.7 17.6 7.7s13-2.8 17.6-7.7l104-112c6.5-7 8.2-17.2 4.4-25.9s-12.5-14.4-22-14.4l-56 0 0-192 56 0c9.5 0 18.2-5.7 22-14.4s2.1-18.9-4.4-25.9l-104-112z\"]\n};\nconst faArrowsAltV = faUpDown;\nconst faCloudMoonRain = {\n prefix: 'fas',\n iconName: 'cloud-moon-rain',\n icon: [576, 512, [], \"f73c\", \"M481.2 0C417 0 363.5 46.5 353.7 107.6c35.4 17.6 60.2 53.3 62.1 95.1c23.2 11 42 29.7 53.1 52.7c4 .4 8.1 .6 12.3 .6c34.9 0 66.7-13.8 89.9-36.1c5.1-4.9 6.4-12.5 3.2-18.7s-10.1-9.7-17-8.6c-4.9 .8-10 1.3-15.2 1.3c-49 0-88.4-39.3-88.4-87.4c0-32.6 18-61.1 44.9-76.1c6.1-3.4 9.3-10.5 7.8-17.4s-7.3-12-14.3-12.6c-3.6-.3-7.3-.5-10.9-.5zM367.9 383.9c44.2 0 80-35.8 80-80c0-39.3-28.4-72.1-65.8-78.7c1.2-5.6 1.9-11.3 1.9-17.2c0-44.2-35.8-80-80-80c-17 0-32.8 5.3-45.8 14.4C241.3 114.6 210.8 96 176 96c-53 0-96 43-96 96l0 1.3c-45.4 7.6-80 47.1-80 94.6c0 53 43 96 96 96l271.9 0zM85.4 420.1c-11-7.4-25.9-4.4-33.3 6.7l-32 48c-7.4 11-4.4 25.9 6.7 33.3s25.9 4.4 33.3-6.7l32-48c7.4-11 4.4-25.9-6.7-33.3zm96 0c-11-7.4-25.9-4.4-33.3 6.7l-32 48c-7.4 11-4.4 25.9 6.7 33.3s25.9 4.4 33.3-6.7l32-48c7.4-11 4.4-25.9-6.7-33.3zm96 0c-11-7.4-25.9-4.4-33.3 6.7l-32 48c-7.4 11-4.4 25.9 6.7 33.3s25.9 4.4 33.3-6.7l32-48c7.4-11 4.4-25.9-6.7-33.3zm96 0c-11-7.4-25.9-4.4-33.3 6.7l-32 48c-7.4 11-4.4 25.9 6.7 33.3s25.9 4.4 33.3-6.7l32-48c7.4-11 4.4-25.9-6.7-33.3z\"]\n};\nconst faCalendar = {\n prefix: 'fas',\n iconName: 'calendar',\n icon: [448, 512, [128197, 128198], \"f133\", \"M96 32l0 32L48 64C21.5 64 0 85.5 0 112l0 48 448 0 0-48c0-26.5-21.5-48-48-48l-48 0 0-32c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 32L160 64l0-32c0-17.7-14.3-32-32-32S96 14.3 96 32zM448 192L0 192 0 464c0 26.5 21.5 48 48 48l352 0c26.5 0 48-21.5 48-48l0-272z\"]\n};\nconst faTrailer = {\n prefix: 'fas',\n iconName: 'trailer',\n icon: [640, 512, [], \"e041\", \"M48 32C21.5 32 0 53.5 0 80L0 336c0 26.5 21.5 48 48 48l17.1 0c7.8-54.3 54.4-96 110.9-96s103.1 41.7 110.9 96L488 384l8 0 112 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-64 0 0-240c0-26.5-21.5-48-48-48L48 32zM80 96c8.8 0 16 7.2 16 16l0 131.2c-11.4 5.9-22.2 12.9-32 21L64 112c0-8.8 7.2-16 16-16zm96 128c-5.4 0-10.7 .2-16 .7L160 112c0-8.8 7.2-16 16-16s16 7.2 16 16l0 112.7c-5.3-.5-10.6-.7-16-.7zm80 19.2L256 112c0-8.8 7.2-16 16-16s16 7.2 16 16l0 152.2c-9.8-8.1-20.6-15.2-32-21zM368 96c8.8 0 16 7.2 16 16l0 192c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-192c0-8.8 7.2-16 16-16zm112 16l0 192c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-192c0-8.8 7.2-16 16-16s16 7.2 16 16zM176 480a80 80 0 1 0 0-160 80 80 0 1 0 0 160zm0-112a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nconst faBahai = {\n prefix: 'fas',\n iconName: 'bahai',\n icon: [576, 512, [\"haykal\"], \"f666\", \"M288 0c14.5 0 27.2 9.7 30.9 23.8l23.9 89.6 75.9-53.3c11.9-8.3 27.8-7.6 39 1.7s14.6 24.9 8.4 38.1l-39.3 84 92.4 8c14.4 1.2 26.2 12 28.8 26.3s-4.9 28.5-18 34.6l-84.1 39.1 65.7 65.5c10.3 10.2 12.4 26.1 5.1 38.7s-22 18.7-36 14.9L391 386.8l8.2 92.4c1.3 14.4-7.3 27.9-20.9 32.9s-28.9 .1-37.2-11.7l-53.1-76-53.1 76c-8.3 11.9-23.6 16.7-37.2 11.7s-22.2-18.5-20.9-32.9l8.2-92.4L95.4 410.9c-14 3.8-28.8-2.3-36-14.9s-5.2-28.4 5.1-38.7l65.7-65.5L46 252.7c-13.1-6.1-20.5-20.3-18-34.6s14.3-25.1 28.8-26.3l92.4-8-39.3-84c-6.1-13.1-2.7-28.8 8.4-38.1s27.1-10 39-1.7l75.9 53.3 23.9-89.6C260.8 9.7 273.5 0 288 0zm0 156.2l-4.8 18c-2.7 10.1-10.2 18.2-20 21.8s-20.8 2.1-29.3-3.9l-15.2-10.7 7.9 16.8c4.4 9.5 4 20.5-1.3 29.6s-14.5 15-25 15.9l-18.5 1.6 16.8 7.8c9.5 4.4 16.2 13.2 18 23.5s-1.5 20.8-8.9 28.2l-13.2 13.1 17.9-4.8c10.1-2.7 20.9-.3 28.9 6.4s12.2 16.9 11.3 27.3l-1.6 18.5 10.6-15.2c6-8.6 15.8-13.7 26.2-13.7s20.2 5.1 26.2 13.7l10.6 15.2-1.6-18.5c-.9-10.4 3.3-20.6 11.3-27.3s18.8-9.1 28.9-6.4l17.9 4.8-13.2-13.1c-7.4-7.4-10.7-17.9-8.9-28.2s8.5-19.1 18-23.5l16.8-7.8-18.5-1.6c-10.4-.9-19.7-6.8-25-15.9s-5.7-20.1-1.3-29.6l7.9-16.8-15.2 10.7c-8.6 6-19.5 7.5-29.3 3.9s-17.3-11.7-20-21.8l-4.8-18z\"]\n};\nconst faHaykal = faBahai;\nconst faSdCard = {\n prefix: 'fas',\n iconName: 'sd-card',\n icon: [384, 512, [], \"f7c2\", \"M320 0L141.3 0C124.3 0 108 6.7 96 18.7L18.7 96C6.7 108 0 124.3 0 141.3L0 448c0 35.3 28.7 64 64 64l256 0c35.3 0 64-28.7 64-64l0-384c0-35.3-28.7-64-64-64zM160 88l0 48c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-48c0-13.3 10.7-24 24-24s24 10.7 24 24zm80 0l0 48c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-48c0-13.3 10.7-24 24-24s24 10.7 24 24zm80 0l0 48c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-48c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nconst faDragon = {\n prefix: 'fas',\n iconName: 'dragon',\n icon: [640, 512, [128009], \"f6d5\", \"M352 124.5l-51.9-13c-6.5-1.6-11.3-7.1-12-13.8s2.8-13.1 8.7-16.1l40.8-20.4L294.4 28.8c-5.5-4.1-7.8-11.3-5.6-17.9S297.1 0 304 0L416 0l32 0 16 0c30.2 0 58.7 14.2 76.8 38.4l57.6 76.8c6.2 8.3 9.6 18.4 9.6 28.8c0 26.5-21.5 48-48 48l-21.5 0c-17 0-33.3-6.7-45.3-18.7L480 160l-32 0 0 21.5c0 24.8 12.8 47.9 33.8 61.1l106.6 66.6c32.1 20.1 51.6 55.2 51.6 93.1C640 462.9 590.9 512 530.2 512L496 512l-64 0L32.3 512c-3.3 0-6.6-.4-9.6-1.4C13.5 507.8 6 501 2.4 492.1C1 488.7 .2 485.2 0 481.4c-.2-3.7 .3-7.3 1.3-10.7c2.8-9.2 9.6-16.7 18.6-20.4c3-1.2 6.2-2 9.5-2.2L433.3 412c8.3-.7 14.7-7.7 14.7-16.1c0-4.3-1.7-8.4-4.7-11.4l-44.4-44.4c-30-30-46.9-70.7-46.9-113.1l0-45.5 0-57zM512 72.3c0-.1 0-.2 0-.3s0-.2 0-.3l0 .6zm-1.3 7.4L464.3 68.1c-.2 1.3-.3 2.6-.3 3.9c0 13.3 10.7 24 24 24c10.6 0 19.5-6.8 22.7-16.3zM130.9 116.5c16.3-14.5 40.4-16.2 58.5-4.1l130.6 87 0 27.5c0 32.8 8.4 64.8 24 93l-232 0c-6.7 0-12.7-4.2-15-10.4s-.5-13.3 4.6-17.7L171 232.3 18.4 255.8c-7 1.1-13.9-2.6-16.9-9s-1.5-14.1 3.8-18.8L130.9 116.5z\"]\n};\nconst faShoePrints = {\n prefix: 'fas',\n iconName: 'shoe-prints',\n icon: [640, 512, [], \"f54b\", \"M416 0C352.3 0 256 32 256 32l0 128c48 0 76 16 104 32s56 32 104 32c56.4 0 176-16 176-96S512 0 416 0zM128 96c0 35.3 28.7 64 64 64l32 0 0-128-32 0c-35.3 0-64 28.7-64 64zM288 512c96 0 224-48 224-128s-119.6-96-176-96c-48 0-76 16-104 32s-56 32-104 32l0 128s96.3 32 160 32zM0 416c0 35.3 28.7 64 64 64l32 0 0-128-32 0c-35.3 0-64 28.7-64 64z\"]\n};\nconst faCirclePlus = {\n prefix: 'fas',\n iconName: 'circle-plus',\n icon: [512, 512, [\"plus-circle\"], \"f055\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM232 344l0-64-64 0c-13.3 0-24-10.7-24-24s10.7-24 24-24l64 0 0-64c0-13.3 10.7-24 24-24s24 10.7 24 24l0 64 64 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-64 0 0 64c0 13.3-10.7 24-24 24s-24-10.7-24-24z\"]\n};\nconst faPlusCircle = faCirclePlus;\nconst faFaceGrinTongueWink = {\n prefix: 'fas',\n iconName: 'face-grin-tongue-wink',\n icon: [512, 512, [128540, \"grin-tongue-wink\"], \"f58b\", \"M174.5 498.8C73.1 464.7 0 368.9 0 256C0 114.6 114.6 0 256 0S512 114.6 512 256c0 112.9-73.1 208.7-174.5 242.8C346.7 484 352 466.6 352 448l0-46.9c24.3-17.5 43.6-41.6 55.4-69.6c5-11.8-7-22.5-19.3-18.7c-39.7 12.2-84.5 19-131.8 19s-92.1-6.8-131.8-19c-12.3-3.8-24.3 6.9-19.3 18.7c11.7 27.8 30.8 51.7 54.8 69.2l0 47.3c0 18.6 5.3 36 14.5 50.8zm20.7-265.2c5.3 7.1 15.3 8.5 22.4 3.2s8.5-15.3 3.2-22.4c-30.4-40.5-91.2-40.5-121.6 0c-5.3 7.1-3.9 17.1 3.2 22.4s17.1 3.9 22.4-3.2c17.6-23.5 52.8-23.5 70.4 0zM336 272a64 64 0 1 0 0-128 64 64 0 1 0 0 128zM320 402.6l0 45.4c0 35.3-28.7 64-64 64s-64-28.7-64-64l0-45.4c0-14.7 11.9-26.6 26.6-26.6l2 0c11.3 0 21.1 7.9 23.6 18.9c2.8 12.6 20.8 12.6 23.6 0c2.5-11.1 12.3-18.9 23.6-18.9l2 0c14.7 0 26.6 11.9 26.6 26.6zM336 184a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nconst faGrinTongueWink = faFaceGrinTongueWink;\nconst faHandHolding = {\n prefix: 'fas',\n iconName: 'hand-holding',\n icon: [576, 512, [], \"f4bd\", \"M559.7 392.2c17.8-13.1 21.6-38.1 8.5-55.9s-38.1-21.6-55.9-8.5L392.6 416 272 416c-8.8 0-16-7.2-16-16s7.2-16 16-16l16 0 64 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-64 0-16 0-78.3 0c-29.1 0-57.3 9.9-80 28L68.8 384 32 384c-17.7 0-32 14.3-32 32l0 64c0 17.7 14.3 32 32 32l160 0 160.5 0c29 0 57.3-9.3 80.7-26.5l126.6-93.3zm-367-8.2c.3 0 .6 0 .9 0c0 0 0 0 0 0c-.3 0-.6 0-.9 0z\"]\n};\nconst faPlugCircleExclamation = {\n prefix: 'fas',\n iconName: 'plug-circle-exclamation',\n icon: [576, 512, [], \"e55d\", \"M96 0C78.3 0 64 14.3 64 32l0 96 64 0 0-96c0-17.7-14.3-32-32-32zM288 0c-17.7 0-32 14.3-32 32l0 96 64 0 0-96c0-17.7-14.3-32-32-32zM32 160c-17.7 0-32 14.3-32 32s14.3 32 32 32l0 32c0 77.4 55 142 128 156.8l0 67.2c0 17.7 14.3 32 32 32s32-14.3 32-32l0-67.2c12.3-2.5 24.1-6.4 35.1-11.5c-2.1-10.8-3.1-21.9-3.1-33.3c0-80.3 53.8-148 127.3-169.2c.5-2.2 .7-4.5 .7-6.8c0-17.7-14.3-32-32-32L32 160zM432 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm0-96a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0-144c8.8 0 16 7.2 16 16l0 80c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-80c0-8.8 7.2-16 16-16z\"]\n};\nconst faLinkSlash = {\n prefix: 'fas',\n iconName: 'link-slash',\n icon: [640, 512, [\"chain-broken\", \"chain-slash\", \"unlink\"], \"f127\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L489.3 358.2l90.5-90.5c56.5-56.5 56.5-148 0-204.5c-50-50-128.8-56.5-186.3-15.4l-1.6 1.1c-14.4 10.3-17.7 30.3-7.4 44.6s30.3 17.7 44.6 7.4l1.6-1.1c32.1-22.9 76-19.3 103.8 8.6c31.5 31.5 31.5 82.5 0 114l-96 96-31.9-25C430.9 239.6 420.1 175.1 377 132c-52.2-52.3-134.5-56.2-191.3-11.7L38.8 5.1zM239 162c30.1-14.9 67.7-9.9 92.8 15.3c20 20 27.5 48.3 21.7 74.5L239 162zM406.6 416.4L220.9 270c-2.1 39.8 12.2 80.1 42.2 110c38.9 38.9 94.4 51 143.6 36.3zm-290-228.5L60.2 244.3c-56.5 56.5-56.5 148 0 204.5c50 50 128.8 56.5 186.3 15.4l1.6-1.1c14.4-10.3 17.7-30.3 7.4-44.6s-30.3-17.7-44.6-7.4l-1.6 1.1c-32.1 22.9-76 19.3-103.8-8.6C74 372 74 321 105.5 289.5l61.8-61.8-50.6-39.9z\"]\n};\nconst faChainBroken = faLinkSlash;\nconst faChainSlash = faLinkSlash;\nconst faUnlink = faLinkSlash;\nconst faClone = {\n prefix: 'fas',\n iconName: 'clone',\n icon: [512, 512, [], \"f24d\", \"M288 448L64 448l0-224 64 0 0-64-64 0c-35.3 0-64 28.7-64 64L0 448c0 35.3 28.7 64 64 64l224 0c35.3 0 64-28.7 64-64l0-64-64 0 0 64zm-64-96l224 0c35.3 0 64-28.7 64-64l0-224c0-35.3-28.7-64-64-64L224 0c-35.3 0-64 28.7-64 64l0 224c0 35.3 28.7 64 64 64z\"]\n};\nconst faPersonWalkingArrowLoopLeft = {\n prefix: 'fas',\n iconName: 'person-walking-arrow-loop-left',\n icon: [640, 512, [], \"e551\", \"M208 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM123.7 200.5c1-.4 1.9-.8 2.9-1.2l-16.9 63.5c-5.6 21.1-.1 43.6 14.7 59.7l70.7 77.1 22 88.1c4.3 17.1 21.7 27.6 38.8 23.3s27.6-21.7 23.3-38.8l-23-92.1c-1.9-7.8-5.8-14.9-11.2-20.8l-49.5-54 19.3-65.5 9.6 23c4.4 10.6 12.5 19.3 22.8 24.5l26.7 13.3c15.8 7.9 35 1.5 42.9-14.3s1.5-35-14.3-42.9L281 232.7l-15.3-36.8C248.5 154.8 208.3 128 163.7 128c-22.8 0-45.3 4.8-66.1 14l-8 3.5c-32.9 14.6-58.1 42.4-69.4 76.5l-2.6 7.8c-5.6 16.8 3.5 34.9 20.2 40.5s34.9-3.5 40.5-20.2l2.6-7.8c5.7-17.1 18.3-30.9 34.7-38.2l8-3.5zm-30 135.1L68.7 398 9.4 457.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L116.3 441c4.6-4.6 8.2-10.1 10.6-16.1l14.5-36.2-40.7-44.4c-2.5-2.7-4.8-5.6-7-8.6zm347.7 119c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L461.3 384l18.7 0c88.4 0 160-71.6 160-160s-71.6-160-160-160L352 64c-17.7 0-32 14.3-32 32s14.3 32 32 32l128 0c53 0 96 43 96 96s-43 96-96 96l-18.7 0 25.4-25.4c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-80 80c-12.5 12.5-12.5 32.8 0 45.3l80 80z\"]\n};\nconst faArrowUpZA = {\n prefix: 'fas',\n iconName: 'arrow-up-z-a',\n icon: [576, 512, [\"sort-alpha-up-alt\"], \"f882\", \"M183.6 42.4C177.5 35.8 169 32 160 32s-17.5 3.8-23.6 10.4l-88 96c-11.9 13-11.1 33.3 2 45.2s33.3 11.1 45.2-2L128 146.3 128 448c0 17.7 14.3 32 32 32s32-14.3 32-32l0-301.7 32.4 35.4c11.9 13 32.2 13.9 45.2 2s13.9-32.2 2-45.2l-88-96zM320 64c0 17.7 14.3 32 32 32l50.7 0-73.4 73.4c-9.2 9.2-11.9 22.9-6.9 34.9s16.6 19.8 29.6 19.8l128 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-50.7 0 73.4-73.4c9.2-9.2 11.9-22.9 6.9-34.9s-16.6-19.8-29.6-19.8L352 32c-17.7 0-32 14.3-32 32zm96 192c-12.1 0-23.2 6.8-28.6 17.7l-64 128-16 32c-7.9 15.8-1.5 35 14.3 42.9s35 1.5 42.9-14.3l7.2-14.3 88.4 0 7.2 14.3c7.9 15.8 27.1 22.2 42.9 14.3s22.2-27.1 14.3-42.9l-16-32-64-128C439.2 262.8 428.1 256 416 256zM395.8 400L416 359.6 436.2 400l-40.4 0z\"]\n};\nconst faSortAlphaUpAlt = faArrowUpZA;\nconst faFireFlameCurved = {\n prefix: 'fas',\n iconName: 'fire-flame-curved',\n icon: [384, 512, [\"fire-alt\"], \"f7e4\", \"M153.6 29.9l16-21.3C173.6 3.2 180 0 186.7 0C198.4 0 208 9.6 208 21.3V43.5c0 13.1 5.4 25.7 14.9 34.7L307.6 159C356.4 205.6 384 270.2 384 337.7C384 434 306 512 209.7 512H192C86 512 0 426 0 320v-3.8c0-48.8 19.4-95.6 53.9-130.1l3.5-3.5c4.2-4.2 10-6.6 16-6.6C85.9 176 96 186.1 96 198.6V288c0 35.3 28.7 64 64 64s64-28.7 64-64v-3.9c0-18-7.2-35.3-19.9-48l-38.6-38.6c-24-24-37.5-56.7-37.5-90.7c0-27.7 9-54.8 25.6-76.9z\"]\n};\nconst faFireAlt = faFireFlameCurved;\nconst faTornado = {\n prefix: 'fas',\n iconName: 'tornado',\n icon: [448, 512, [127786], \"f76f\", \"M0 32L0 45.6C0 62.7 1.7 79.6 5 96l352.8 0c3.2-6.9 7.5-13.3 13-18.8l38.6-38.6c4.2-4.2 6.6-10 6.6-16C416 10.1 405.9 0 393.4 0L32 0C14.3 0 0 14.3 0 32zm352.2 96L13.6 128c12.2 35.9 32.3 68.7 58.8 96L412 224l-47.2-62.9c-7.3-9.7-11.6-21.2-12.6-33.1zm-226 138.2l116.4 68.5c8.2 4.8 15.8 10.7 22.5 17.3L445 352c2-9.8 3-19.9 3-30.1c0-23-5.3-45.5-15.3-65.9l-322.5 0c5.2 3.6 10.5 7 16 10.2zM288 384c10.3 21.4 13.8 45.5 9.9 69l-5.9 35.7c-2 12.2 7.4 23.4 19.8 23.4c5.3 0 10.4-2.1 14.2-5.9l78.2-78.2c12.8-12.8 23.1-27.7 30.4-43.9L288 384z\"]\n};\nconst faFileCirclePlus = {\n prefix: 'fas',\n iconName: 'file-circle-plus',\n icon: [576, 512, [58606], \"e494\", \"M0 64C0 28.7 28.7 0 64 0L224 0l0 128c0 17.7 14.3 32 32 32l128 0 0 38.6C310.1 219.5 256 287.4 256 368c0 59.1 29.1 111.3 73.7 143.3c-3.2 .5-6.4 .7-9.7 .7L64 512c-35.3 0-64-28.7-64-64L0 64zm384 64l-128 0L256 0 384 128zm48 96a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm16 80c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 48-48 0c-8.8 0-16 7.2-16 16s7.2 16 16 16l48 0 0 48c0 8.8 7.2 16 16 16s16-7.2 16-16l0-48 48 0c8.8 0 16-7.2 16-16s-7.2-16-16-16l-48 0 0-48z\"]\n};\nconst faBookQuran = {\n prefix: 'fas',\n iconName: 'book-quran',\n icon: [448, 512, [\"quran\"], \"f687\", \"M352 0c53 0 96 43 96 96l0 320c0 53-43 96-96 96L64 512l-32 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l0-64c-17.7 0-32-14.3-32-32L0 32C0 14.3 14.3 0 32 0L64 0 352 0zm0 384L96 384l0 64 256 0c17.7 0 32-14.3 32-32s-14.3-32-32-32zM274.1 150.2l-8.9 21.4-23.1 1.9c-5.7 .5-8 7.5-3.7 11.2L256 199.8l-5.4 22.6c-1.3 5.5 4.7 9.9 9.6 6.9L280 217.2l19.8 12.1c4.9 3 10.9-1.4 9.6-6.9L304 199.8l17.6-15.1c4.3-3.7 2-10.8-3.7-11.2l-23.1-1.9-8.9-21.4c-2.2-5.3-9.6-5.3-11.8 0zM96 192c0 70.7 57.3 128 128 128c25.6 0 49.5-7.5 69.5-20.5c3.2-2.1 4.5-6.2 3.1-9.7s-5.2-5.6-9-4.8c-6.1 1.2-12.5 1.9-19 1.9c-52.4 0-94.9-42.5-94.9-94.9s42.5-94.9 94.9-94.9c6.5 0 12.8 .7 19 1.9c3.8 .8 7.5-1.3 9-4.8s.2-7.6-3.1-9.7C273.5 71.5 249.6 64 224 64C153.3 64 96 121.3 96 192z\"]\n};\nconst faQuran = faBookQuran;\nconst faAnchor = {\n prefix: 'fas',\n iconName: 'anchor',\n icon: [576, 512, [9875], \"f13d\", \"M320 96a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zm21.1 80C367 158.8 384 129.4 384 96c0-53-43-96-96-96s-96 43-96 96c0 33.4 17 62.8 42.9 80L224 176c-17.7 0-32 14.3-32 32s14.3 32 32 32l32 0 0 208-48 0c-53 0-96-43-96-96l0-6.1 7 7c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L97 263c-9.4-9.4-24.6-9.4-33.9 0L7 319c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l7-7 0 6.1c0 88.4 71.6 160 160 160l80 0 80 0c88.4 0 160-71.6 160-160l0-6.1 7 7c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-56-56c-9.4-9.4-24.6-9.4-33.9 0l-56 56c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l7-7 0 6.1c0 53-43 96-96 96l-48 0 0-208 32 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-10.9 0z\"]\n};\nconst faBorderAll = {\n prefix: 'fas',\n iconName: 'border-all',\n icon: [448, 512, [], \"f84c\", \"M384 96l0 128-128 0 0-128 128 0zm0 192l0 128-128 0 0-128 128 0zM192 224L64 224 64 96l128 0 0 128zM64 288l128 0 0 128L64 416l0-128zM64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32z\"]\n};\nconst faFaceAngry = {\n prefix: 'fas',\n iconName: 'face-angry',\n icon: [512, 512, [128544, \"angry\"], \"f556\", \"M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM338.7 395.9c6.6-5.9 7.1-16 1.2-22.6C323.8 355.4 295.7 336 256 336s-67.8 19.4-83.9 37.3c-5.9 6.6-5.4 16.7 1.2 22.6s16.7 5.4 22.6-1.2c11.7-13 31.6-26.7 60.1-26.7s48.4 13.7 60.1 26.7c5.9 6.6 16 7.1 22.6 1.2zM176.4 272c17.7 0 32-14.3 32-32c0-1.5-.1-3-.3-4.4l10.9 3.6c8.4 2.8 17.4-1.7 20.2-10.1s-1.7-17.4-10.1-20.2l-96-32c-8.4-2.8-17.4 1.7-20.2 10.1s1.7 17.4 10.1 20.2l30.7 10.2c-5.8 5.8-9.3 13.8-9.3 22.6c0 17.7 14.3 32 32 32zm192-32c0-8.9-3.6-17-9.5-22.8l30.2-10.1c8.4-2.8 12.9-11.9 10.1-20.2s-11.9-12.9-20.2-10.1l-96 32c-8.4 2.8-12.9 11.9-10.1 20.2s11.9 12.9 20.2 10.1l11.7-3.9c-.2 1.5-.3 3.1-.3 4.7c0 17.7 14.3 32 32 32s32-14.3 32-32z\"]\n};\nconst faAngry = faFaceAngry;\nconst faCookieBite = {\n prefix: 'fas',\n iconName: 'cookie-bite',\n icon: [512, 512, [], \"f564\", \"M257.5 27.6c-.8-5.4-4.9-9.8-10.3-10.6c-22.1-3.1-44.6 .9-64.4 11.4l-74 39.5C89.1 78.4 73.2 94.9 63.4 115L26.7 190.6c-9.8 20.1-13 42.9-9.1 64.9l14.5 82.8c3.9 22.1 14.6 42.3 30.7 57.9l60.3 58.4c16.1 15.6 36.6 25.6 58.7 28.7l83 11.7c22.1 3.1 44.6-.9 64.4-11.4l74-39.5c19.7-10.5 35.6-27 45.4-47.2l36.7-75.5c9.8-20.1 13-42.9 9.1-64.9c-.9-5.3-5.3-9.3-10.6-10.1c-51.5-8.2-92.8-47.1-104.5-97.4c-1.8-7.6-8-13.4-15.7-14.6c-54.6-8.7-97.7-52-106.2-106.8zM208 144a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM144 336a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm224-64a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nconst faArrowTrendDown = {\n prefix: 'fas',\n iconName: 'arrow-trend-down',\n icon: [576, 512, [], \"e097\", \"M384 352c-17.7 0-32 14.3-32 32s14.3 32 32 32l160 0c17.7 0 32-14.3 32-32l0-160c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 82.7L342.6 137.4c-12.5-12.5-32.8-12.5-45.3 0L192 242.7 54.6 105.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l160 160c12.5 12.5 32.8 12.5 45.3 0L320 205.3 466.7 352 384 352z\"]\n};\nconst faRss = {\n prefix: 'fas',\n iconName: 'rss',\n icon: [448, 512, [\"feed\"], \"f09e\", \"M0 64C0 46.3 14.3 32 32 32c229.8 0 416 186.2 416 416c0 17.7-14.3 32-32 32s-32-14.3-32-32C384 253.6 226.4 96 32 96C14.3 96 0 81.7 0 64zM0 416a64 64 0 1 1 128 0A64 64 0 1 1 0 416zM32 160c159.1 0 288 128.9 288 288c0 17.7-14.3 32-32 32s-32-14.3-32-32c0-123.7-100.3-224-224-224c-17.7 0-32-14.3-32-32s14.3-32 32-32z\"]\n};\nconst faFeed = faRss;\nconst faDrawPolygon = {\n prefix: 'fas',\n iconName: 'draw-polygon',\n icon: [448, 512, [], \"f5ee\", \"M96 151.4l0 209.1c9.7 5.6 17.8 13.7 23.4 23.4l209.1 0c0-.1 .1-.2 .1-.3l-4.5-7.9-32-56s0 0 0 0c-1.4 .1-2.8 .1-4.2 .1c-35.3 0-64-28.7-64-64s28.7-64 64-64c1.4 0 2.8 0 4.2 .1c0 0 0 0 0 0l32-56 4.5-7.9-.1-.3-209.1 0c-5.6 9.7-13.7 17.8-23.4 23.4zM384.3 352c35.2 .2 63.7 28.7 63.7 64c0 35.3-28.7 64-64 64c-23.7 0-44.4-12.9-55.4-32l-209.1 0c-11.1 19.1-31.7 32-55.4 32c-35.3 0-64-28.7-64-64c0-23.7 12.9-44.4 32-55.4l0-209.1C12.9 140.4 0 119.7 0 96C0 60.7 28.7 32 64 32c23.7 0 44.4 12.9 55.4 32l209.1 0c11.1-19.1 31.7-32 55.4-32c35.3 0 64 28.7 64 64c0 35.3-28.5 63.8-63.7 64l-4.5 7.9-32 56-2.3 4c4.2 8.5 6.5 18 6.5 28.1s-2.3 19.6-6.5 28.1l2.3 4 32 56 4.5 7.9z\"]\n};\nconst faScaleBalanced = {\n prefix: 'fas',\n iconName: 'scale-balanced',\n icon: [640, 512, [9878, \"balance-scale\"], \"f24e\", \"M384 32l128 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L398.4 96c-5.2 25.8-22.9 47.1-46.4 57.3L352 448l160 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-192 0-192 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l160 0 0-294.7c-23.5-10.3-41.2-31.6-46.4-57.3L128 96c-17.7 0-32-14.3-32-32s14.3-32 32-32l128 0c14.6-19.4 37.8-32 64-32s49.4 12.6 64 32zm55.6 288l144.9 0L512 195.8 439.6 320zM512 416c-62.9 0-115.2-34-126-78.9c-2.6-11 1-22.3 6.7-32.1l95.2-163.2c5-8.6 14.2-13.8 24.1-13.8s19.1 5.3 24.1 13.8l95.2 163.2c5.7 9.8 9.3 21.1 6.7 32.1C627.2 382 574.9 416 512 416zM126.8 195.8L54.4 320l144.9 0L126.8 195.8zM.9 337.1c-2.6-11 1-22.3 6.7-32.1l95.2-163.2c5-8.6 14.2-13.8 24.1-13.8s19.1 5.3 24.1 13.8l95.2 163.2c5.7 9.8 9.3 21.1 6.7 32.1C242 382 189.7 416 126.8 416S11.7 382 .9 337.1z\"]\n};\nconst faBalanceScale = faScaleBalanced;\nconst faGaugeSimpleHigh = {\n prefix: 'fas',\n iconName: 'gauge-simple-high',\n icon: [512, 512, [61668, \"tachometer\", \"tachometer-fast\"], \"f62a\", \"M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm320 96c0-15.9-5.8-30.4-15.3-41.6l76.6-147.4c6.1-11.8 1.5-26.3-10.2-32.4s-26.2-1.5-32.4 10.2L262.1 288.3c-2-.2-4-.3-6.1-.3c-35.3 0-64 28.7-64 64s28.7 64 64 64s64-28.7 64-64z\"]\n};\nconst faTachometer = faGaugeSimpleHigh;\nconst faTachometerFast = faGaugeSimpleHigh;\nconst faShower = {\n prefix: 'fas',\n iconName: 'shower',\n icon: [512, 512, [128703], \"f2cc\", \"M64 131.9C64 112.1 80.1 96 99.9 96c9.5 0 18.6 3.8 25.4 10.5l16.2 16.2c-21 38.9-17.4 87.5 10.9 123L151 247c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0L345 121c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-1.3 1.3c-35.5-28.3-84.2-31.9-123-10.9L170.5 61.3C151.8 42.5 126.4 32 99.9 32C44.7 32 0 76.7 0 131.9L0 448c0 17.7 14.3 32 32 32s32-14.3 32-32l0-316.1zM256 352a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm64 64a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm0-128a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm64 64a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm0-128a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm64 64a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm32-32a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nconst faDesktop = {\n prefix: 'fas',\n iconName: 'desktop',\n icon: [576, 512, [128421, 61704, \"desktop-alt\"], \"f390\", \"M64 0C28.7 0 0 28.7 0 64L0 352c0 35.3 28.7 64 64 64l176 0-10.7 32L160 448c-17.7 0-32 14.3-32 32s14.3 32 32 32l256 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-69.3 0L336 416l176 0c35.3 0 64-28.7 64-64l0-288c0-35.3-28.7-64-64-64L64 0zM512 64l0 224L64 288 64 64l448 0z\"]\n};\nconst faDesktopAlt = faDesktop;\nconst faM = {\n prefix: 'fas',\n iconName: 'm',\n icon: [448, 512, [109], \"4d\", \"M22.7 33.4c13.5-4.1 28.1 1.1 35.9 12.9L224 294.3 389.4 46.3c7.8-11.7 22.4-17 35.9-12.9S448 49.9 448 64l0 384c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-278.3L250.6 369.8c-5.9 8.9-15.9 14.2-26.6 14.2s-20.7-5.3-26.6-14.2L64 169.7 64 448c0 17.7-14.3 32-32 32s-32-14.3-32-32L0 64C0 49.9 9.2 37.5 22.7 33.4z\"]\n};\nconst faTableList = {\n prefix: 'fas',\n iconName: 'table-list',\n icon: [512, 512, [\"th-list\"], \"f00b\", \"M0 96C0 60.7 28.7 32 64 32l384 0c35.3 0 64 28.7 64 64l0 320c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64L0 96zm64 0l0 64 64 0 0-64L64 96zm384 0L192 96l0 64 256 0 0-64zM64 224l0 64 64 0 0-64-64 0zm384 0l-256 0 0 64 256 0 0-64zM64 352l0 64 64 0 0-64-64 0zm384 0l-256 0 0 64 256 0 0-64z\"]\n};\nconst faThList = faTableList;\nconst faCommentSms = {\n prefix: 'fas',\n iconName: 'comment-sms',\n icon: [512, 512, [\"sms\"], \"f7cd\", \"M256 448c141.4 0 256-93.1 256-208S397.4 32 256 32S0 125.1 0 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9c-5.5 9.2-11.1 16.6-15.2 21.6c-2.1 2.5-3.7 4.4-4.9 5.7c-.6 .6-1 1.1-1.3 1.4l-.3 .3c0 0 0 0 0 0c0 0 0 0 0 0s0 0 0 0s0 0 0 0c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c28.7 0 57.6-8.9 81.6-19.3c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9zM96 212.8c0-20.3 16.5-36.8 36.8-36.8l19.2 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-19.2 0c-2.7 0-4.8 2.2-4.8 4.8c0 1.6 .8 3.1 2.2 4l29.4 19.6c10.3 6.8 16.4 18.3 16.4 30.7c0 20.3-16.5 36.8-36.8 36.8L112 304c-8.8 0-16-7.2-16-16s7.2-16 16-16l27.2 0c2.7 0 4.8-2.2 4.8-4.8c0-1.6-.8-3.1-2.2-4l-29.4-19.6C102.2 236.7 96 225.2 96 212.8zM372.8 176l19.2 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-19.2 0c-2.7 0-4.8 2.2-4.8 4.8c0 1.6 .8 3.1 2.2 4l29.4 19.6c10.2 6.8 16.4 18.3 16.4 30.7c0 20.3-16.5 36.8-36.8 36.8L352 304c-8.8 0-16-7.2-16-16s7.2-16 16-16l27.2 0c2.7 0 4.8-2.2 4.8-4.8c0-1.6-.8-3.1-2.2-4l-29.4-19.6c-10.2-6.8-16.4-18.3-16.4-30.7c0-20.3 16.5-36.8 36.8-36.8zm-152 6.4L256 229.3l35.2-46.9c4.1-5.5 11.3-7.8 17.9-5.6s10.9 8.3 10.9 15.2l0 96c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-48-19.2 25.6c-3 4-7.8 6.4-12.8 6.4s-9.8-2.4-12.8-6.4L224 240l0 48c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-96c0-6.9 4.4-13 10.9-15.2s13.7 .1 17.9 5.6z\"]\n};\nconst faSms = faCommentSms;\nconst faBook = {\n prefix: 'fas',\n iconName: 'book',\n icon: [448, 512, [128212], \"f02d\", \"M96 0C43 0 0 43 0 96L0 416c0 53 43 96 96 96l288 0 32 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l0-64c17.7 0 32-14.3 32-32l0-320c0-17.7-14.3-32-32-32L384 0 96 0zm0 384l256 0 0 64L96 448c-17.7 0-32-14.3-32-32s14.3-32 32-32zm32-240c0-8.8 7.2-16 16-16l192 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-192 0c-8.8 0-16-7.2-16-16zm16 48l192 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-192 0c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nconst faUserPlus = {\n prefix: 'fas',\n iconName: 'user-plus',\n icon: [640, 512, [], \"f234\", \"M96 128a128 128 0 1 1 256 0A128 128 0 1 1 96 128zM0 482.3C0 383.8 79.8 304 178.3 304l91.4 0C368.2 304 448 383.8 448 482.3c0 16.4-13.3 29.7-29.7 29.7L29.7 512C13.3 512 0 498.7 0 482.3zM504 312l0-64-64 0c-13.3 0-24-10.7-24-24s10.7-24 24-24l64 0 0-64c0-13.3 10.7-24 24-24s24 10.7 24 24l0 64 64 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-64 0 0 64c0 13.3-10.7 24-24 24s-24-10.7-24-24z\"]\n};\nconst faCheck = {\n prefix: 'fas',\n iconName: 'check',\n icon: [448, 512, [10003, 10004], \"f00c\", \"M438.6 105.4c12.5 12.5 12.5 32.8 0 45.3l-256 256c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L160 338.7 393.4 105.4c12.5-12.5 32.8-12.5 45.3 0z\"]\n};\nconst faBatteryThreeQuarters = {\n prefix: 'fas',\n iconName: 'battery-three-quarters',\n icon: [576, 512, [\"battery-4\"], \"f241\", \"M464 160c8.8 0 16 7.2 16 16l0 160c0 8.8-7.2 16-16 16L80 352c-8.8 0-16-7.2-16-16l0-160c0-8.8 7.2-16 16-16l384 0zM80 96C35.8 96 0 131.8 0 176L0 336c0 44.2 35.8 80 80 80l384 0c44.2 0 80-35.8 80-80l0-16c17.7 0 32-14.3 32-32l0-64c0-17.7-14.3-32-32-32l0-16c0-44.2-35.8-80-80-80L80 96zm272 96L96 192l0 128 256 0 0-128z\"]\n};\nconst faBattery4 = faBatteryThreeQuarters;\nconst faHouseCircleCheck = {\n prefix: 'fas',\n iconName: 'house-circle-check',\n icon: [640, 512, [], \"e509\", \"M320.7 352c8.1-89.7 83.5-160 175.3-160c8.9 0 17.6 .7 26.1 1.9L309.5 7c-6-5-14-7-21-7s-15 1-22 8L10 231.5c-7 7-10 15-10 24c0 18 14 32.1 32 32.1l32 0 0 69.7c-.1 .9-.1 1.8-.1 2.8l0 112c0 22.1 17.9 40 40 40l16 0c1.2 0 2.4-.1 3.6-.2c1.5 .1 3 .2 4.5 .2l31.9 0 24 0c22.1 0 40-17.9 40-40l0-24 0-64c0-17.7 14.3-32 32-32l64 0 .7 0zM640 368a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zm-76.7-43.3c6.2 6.2 6.2 16.4 0 22.6l-72 72c-6.2 6.2-16.4 6.2-22.6 0l-40-40c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L480 385.4l60.7-60.7c6.2-6.2 16.4-6.2 22.6 0z\"]\n};\nconst faAngleLeft = {\n prefix: 'fas',\n iconName: 'angle-left',\n icon: [320, 512, [8249], \"f104\", \"M41.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l160 160c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L109.3 256 246.6 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-160 160z\"]\n};\nconst faDiagramSuccessor = {\n prefix: 'fas',\n iconName: 'diagram-successor',\n icon: [512, 512, [], \"e47a\", \"M512 416l0-64c0-35.3-28.7-64-64-64L64 288c-35.3 0-64 28.7-64 64l0 64c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64zM64 160l0-64 144 0 16 0 0 64L64 160zm224 0l0-64 80 0c8.8 0 16 7.2 16 16l0 16-38.1 0c-21.4 0-32.1 25.9-17 41L399 239c9.4 9.4 24.6 9.4 33.9 0L503 169c15.1-15.1 4.4-41-17-41L448 128l0-16c0-44.2-35.8-80-80-80L224 32l-16 0L64 32C28.7 32 0 60.7 0 96l0 64c0 35.3 28.7 64 64 64l160 0c35.3 0 64-28.7 64-64z\"]\n};\nconst faTruckArrowRight = {\n prefix: 'fas',\n iconName: 'truck-arrow-right',\n icon: [640, 512, [], \"e58b\", \"M0 48C0 21.5 21.5 0 48 0L368 0c26.5 0 48 21.5 48 48l0 48 50.7 0c17 0 33.3 6.7 45.3 18.7L589.3 192c12 12 18.7 28.3 18.7 45.3l0 18.7 0 32 0 64c17.7 0 32 14.3 32 32s-14.3 32-32 32l-32 0c0 53-43 96-96 96s-96-43-96-96l-128 0c0 53-43 96-96 96s-96-43-96-96l-16 0c-26.5 0-48-21.5-48-48L0 48zM416 256l128 0 0-18.7L466.7 160 416 160l0 96zM160 464a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm368-48a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM257 95c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l39 39L96 168c-13.3 0-24 10.7-24 24s10.7 24 24 24l166.1 0-39 39c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l80-80c9.4-9.4 9.4-24.6 0-33.9L257 95z\"]\n};\nconst faArrowsSplitUpAndLeft = {\n prefix: 'fas',\n iconName: 'arrows-split-up-and-left',\n icon: [512, 512, [], \"e4bc\", \"M246.6 150.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l96-96c12.5-12.5 32.8-12.5 45.3 0l96 96c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L352 109.3 352 384c0 35.3 28.7 64 64 64l64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0c-70.7 0-128-57.3-128-128c0-35.3-28.7-64-64-64l-114.7 0 41.4 41.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0l-96-96c-12.5-12.5-12.5-32.8 0-45.3l96-96c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3L109.3 256 224 256c23.3 0 45.2 6.2 64 17.1l0-163.9-41.4 41.4z\"]\n};\nconst faHandFist = {\n prefix: 'fas',\n iconName: 'hand-fist',\n icon: [448, 512, [9994, \"fist-raised\"], \"f6de\", \"M192 0c17.7 0 32 14.3 32 32l0 112-64 0 0-112c0-17.7 14.3-32 32-32zM64 64c0-17.7 14.3-32 32-32s32 14.3 32 32l0 80-64 0 0-80zm192 0c0-17.7 14.3-32 32-32s32 14.3 32 32l0 96c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-96zm96 64c0-17.7 14.3-32 32-32s32 14.3 32 32l0 64c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-64zm-96 88l0-.6c9.4 5.4 20.3 8.6 32 8.6c13.2 0 25.4-4 35.6-10.8c8.7 24.9 32.5 42.8 60.4 42.8c11.7 0 22.6-3.1 32-8.6l0 8.6c0 52.3-25.1 98.8-64 128l0 96c0 17.7-14.3 32-32 32l-160 0c-17.7 0-32-14.3-32-32l0-78.4c-17.3-7.9-33.2-18.8-46.9-32.5L69.5 357.5C45.5 333.5 32 300.9 32 267l0-27c0-35.3 28.7-64 64-64l88 0c22.1 0 40 17.9 40 40s-17.9 40-40 40l-56 0c-8.8 0-16 7.2-16 16s7.2 16 16 16l56 0c39.8 0 72-32.2 72-72z\"]\n};\nconst faFistRaised = faHandFist;\nconst faCloudMoon = {\n prefix: 'fas',\n iconName: 'cloud-moon',\n icon: [640, 512, [], \"f6c3\", \"M495.8 0c5.5 0 10.9 .2 16.3 .7c7 .6 12.8 5.7 14.3 12.5s-1.6 13.9-7.7 17.3c-44.4 25.2-74.4 73-74.4 127.8c0 81 65.5 146.6 146.2 146.6c8.6 0 17-.7 25.1-2.1c6.9-1.2 13.8 2.2 17 8.5s1.9 13.8-3.1 18.7c-34.5 33.6-81.7 54.4-133.6 54.4c-9.3 0-18.4-.7-27.4-1.9c-11.2-22.6-29.8-40.9-52.6-51.7c-2.7-58.5-50.3-105.3-109.2-106.7c-1.7-10.4-2.6-21-2.6-31.8C304 86.1 389.8 0 495.8 0zM447.9 431.9c0 44.2-35.8 80-80 80L96 511.9c-53 0-96-43-96-96c0-47.6 34.6-87 80-94.6l0-1.3c0-53 43-96 96-96c34.9 0 65.4 18.6 82.2 46.4c13-9.1 28.8-14.4 45.8-14.4c44.2 0 80 35.8 80 80c0 5.9-.6 11.7-1.9 17.2c37.4 6.7 65.8 39.4 65.8 78.7z\"]\n};\nconst faBriefcase = {\n prefix: 'fas',\n iconName: 'briefcase',\n icon: [512, 512, [128188], \"f0b1\", \"M184 48l144 0c4.4 0 8 3.6 8 8l0 40L176 96l0-40c0-4.4 3.6-8 8-8zm-56 8l0 40L64 96C28.7 96 0 124.7 0 160l0 96 192 0 128 0 192 0 0-96c0-35.3-28.7-64-64-64l-64 0 0-40c0-30.9-25.1-56-56-56L184 0c-30.9 0-56 25.1-56 56zM512 288l-192 0 0 32c0 17.7-14.3 32-32 32l-64 0c-17.7 0-32-14.3-32-32l0-32L0 288 0 416c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64l0-128z\"]\n};\nconst faPersonFalling = {\n prefix: 'fas',\n iconName: 'person-falling',\n icon: [512, 512, [], \"e546\", \"M288 0c17.7 0 32 14.3 32 32l0 9.8c0 54.6-27.9 104.6-72.5 133.6l.2 .3L304.5 256l87.5 0c15.1 0 29.3 7.1 38.4 19.2l43.2 57.6c10.6 14.1 7.7 34.2-6.4 44.8s-34.2 7.7-44.8-6.4L384 320l-96 0-1.4 0 92.3 142.6c9.6 14.8 5.4 34.6-9.5 44.3s-34.6 5.4-44.3-9.5L164.5 249.2c-2.9 9.2-4.5 19-4.5 29l0 73.8c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-73.8c0-65.1 39.6-123.7 100.1-147.9C232.3 115.8 256 80.8 256 41.8l0-9.8c0-17.7 14.3-32 32-32zM112 32a48 48 0 1 1 0 96 48 48 0 1 1 0-96z\"]\n};\nconst faImagePortrait = {\n prefix: 'fas',\n iconName: 'image-portrait',\n icon: [384, 512, [\"portrait\"], \"f3e0\", \"M384 64c0-35.3-28.7-64-64-64L64 0C28.7 0 0 28.7 0 64L0 448c0 35.3 28.7 64 64 64l256 0c35.3 0 64-28.7 64-64l0-384zM128 192a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zM80 356.6c0-37.9 30.7-68.6 68.6-68.6l86.9 0c37.9 0 68.6 30.7 68.6 68.6c0 15.1-12.3 27.4-27.4 27.4l-169.1 0C92.3 384 80 371.7 80 356.6z\"]\n};\nconst faPortrait = faImagePortrait;\nconst faUserTag = {\n prefix: 'fas',\n iconName: 'user-tag',\n icon: [640, 512, [], \"f507\", \"M224 256A128 128 0 1 0 224 0a128 128 0 1 0 0 256zm-45.7 48C79.8 304 0 383.8 0 482.3C0 498.7 13.3 512 29.7 512l388.6 0c10 0 18.8-4.9 24.2-12.5l-99.2-99.2c-14.9-14.9-23.3-35.1-23.3-56.1l0-33c-15.9-4.7-32.8-7.2-50.3-7.2l-91.4 0zM384 224c-17.7 0-32 14.3-32 32l0 82.7c0 17 6.7 33.3 18.7 45.3L478.1 491.3c18.7 18.7 49.1 18.7 67.9 0l73.4-73.4c18.7-18.7 18.7-49.1 0-67.9L512 242.7c-12-12-28.3-18.7-45.3-18.7L384 224zm24 80a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"]\n};\nconst faRug = {\n prefix: 'fas',\n iconName: 'rug',\n icon: [640, 512, [], \"e569\", \"M24 64l32 0 24 0 0 24 0 88 0 80 0 80 0 88 0 24-24 0-32 0c-13.3 0-24-10.7-24-24s10.7-24 24-24l8 0 0-40-8 0c-13.3 0-24-10.7-24-24s10.7-24 24-24l8 0 0-32-8 0c-13.3 0-24-10.7-24-24s10.7-24 24-24l8 0 0-32-8 0c-13.3 0-24-10.7-24-24s10.7-24 24-24l8 0 0-40-8 0C10.7 112 0 101.3 0 88S10.7 64 24 64zm88 0l416 0 0 384-416 0 0-384zM640 88c0 13.3-10.7 24-24 24l-8 0 0 40 8 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-8 0 0 32 8 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-8 0 0 32 8 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-8 0 0 40 8 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-32 0-24 0 0-24 0-88 0-80 0-80 0-88 0-24 24 0 32 0c13.3 0 24 10.7 24 24z\"]\n};\nconst faEarthEurope = {\n prefix: 'fas',\n iconName: 'earth-europe',\n icon: [512, 512, [\"globe-europe\"], \"f7a2\", \"M266.3 48.3L232.5 73.6c-5.4 4-8.5 10.4-8.5 17.1l0 9.1c0 6.8 5.5 12.3 12.3 12.3c2.4 0 4.8-.7 6.8-2.1l41.8-27.9c2-1.3 4.4-2.1 6.8-2.1l1 0c6.2 0 11.3 5.1 11.3 11.3c0 3-1.2 5.9-3.3 8l-19.9 19.9c-5.8 5.8-12.9 10.2-20.7 12.8l-26.5 8.8c-5.8 1.9-9.6 7.3-9.6 13.4c0 3.7-1.5 7.3-4.1 10l-17.9 17.9c-6.4 6.4-9.9 15-9.9 24l0 4.3c0 16.4 13.6 29.7 29.9 29.7c11 0 21.2-6.2 26.1-16l4-8.1c2.4-4.8 7.4-7.9 12.8-7.9c4.5 0 8.7 2.1 11.4 5.7l16.3 21.7c2.1 2.9 5.5 4.5 9.1 4.5c8.4 0 13.9-8.9 10.1-16.4l-1.1-2.3c-3.5-7 0-15.5 7.5-18l21.2-7.1c7.6-2.5 12.7-9.6 12.7-17.6c0-10.3 8.3-18.6 18.6-18.6l29.4 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-20.7 0c-7.2 0-14.2 2.9-19.3 8l-4.7 4.7c-2.1 2.1-3.3 5-3.3 8c0 6.2 5.1 11.3 11.3 11.3l11.3 0c6 0 11.8 2.4 16 6.6l6.5 6.5c1.8 1.8 2.8 4.3 2.8 6.8s-1 5-2.8 6.8l-7.5 7.5C386 262 384 266.9 384 272s2 10 5.7 13.7L408 304c10.2 10.2 24.1 16 38.6 16l7.3 0c6.5-20.2 10-41.7 10-64c0-111.4-87.6-202.4-197.7-207.7zm172 307.9c-3.7-2.6-8.2-4.1-13-4.1c-6 0-11.8-2.4-16-6.6L396 332c-7.7-7.7-18-12-28.9-12c-9.7 0-19.2-3.5-26.6-9.8L314 287.4c-11.6-9.9-26.4-15.4-41.7-15.4l-20.9 0c-12.6 0-25 3.7-35.5 10.7L188.5 301c-17.8 11.9-28.5 31.9-28.5 53.3l0 3.2c0 17 6.7 33.3 18.7 45.3l16 16c8.5 8.5 20 13.3 32 13.3l21.3 0c13.3 0 24 10.7 24 24c0 2.5 .4 5 1.1 7.3c71.3-5.8 132.5-47.6 165.2-107.2zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM187.3 100.7c-6.2-6.2-16.4-6.2-22.6 0l-32 32c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l32-32c6.2-6.2 6.2-16.4 0-22.6z\"]\n};\nconst faGlobeEurope = faEarthEurope;\nconst faCartFlatbedSuitcase = {\n prefix: 'fas',\n iconName: 'cart-flatbed-suitcase',\n icon: [640, 512, [\"luggage-cart\"], \"f59d\", \"M0 32C0 14.3 14.3 0 32 0L48 0c44.2 0 80 35.8 80 80l0 288c0 8.8 7.2 16 16 16l464 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-66.7 0c1.8 5 2.7 10.4 2.7 16c0 26.5-21.5 48-48 48s-48-21.5-48-48c0-5.6 1-11 2.7-16l-197.5 0c1.8 5 2.7 10.4 2.7 16c0 26.5-21.5 48-48 48s-48-21.5-48-48c0-5.6 1-11 2.7-16L144 448c-44.2 0-80-35.8-80-80L64 80c0-8.8-7.2-16-16-16L32 64C14.3 64 0 49.7 0 32zM432 96l0-40c0-4.4-3.6-8-8-8l-80 0c-4.4 0-8 3.6-8 8l0 40 96 0zM288 96l0-40c0-30.9 25.1-56 56-56l80 0c30.9 0 56 25.1 56 56l0 40 0 224-192 0 0-224zM512 320l0-224 16 0c26.5 0 48 21.5 48 48l0 128c0 26.5-21.5 48-48 48l-16 0zM240 96l16 0 0 224-16 0c-26.5 0-48-21.5-48-48l0-128c0-26.5 21.5-48 48-48z\"]\n};\nconst faLuggageCart = faCartFlatbedSuitcase;\nconst faRectangleXmark = {\n prefix: 'fas',\n iconName: 'rectangle-xmark',\n icon: [512, 512, [62164, \"rectangle-times\", \"times-rectangle\", \"window-close\"], \"f410\", \"M64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32zM175 175c9.4-9.4 24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9z\"]\n};\nconst faRectangleTimes = faRectangleXmark;\nconst faTimesRectangle = faRectangleXmark;\nconst faWindowClose = faRectangleXmark;\nconst faBahtSign = {\n prefix: 'fas',\n iconName: 'baht-sign',\n icon: [320, 512, [], \"e0ac\", \"M144 0c-17.7 0-32 14.3-32 32l0 32L37.6 64C16.8 64 0 80.8 0 101.6L0 224l0 41.7L0 288 0 406.3c0 23 18.7 41.7 41.7 41.7l70.3 0 0 32c0 17.7 14.3 32 32 32s32-14.3 32-32l0-32 32 0c61.9 0 112-50.1 112-112c0-40.1-21.1-75.3-52.7-95.1C280.3 222.6 288 200.2 288 176c0-61.9-50.1-112-112-112l0-32c0-17.7-14.3-32-32-32zM112 128l0 96-48 0 0-96 48 0zm64 96l0-96c26.5 0 48 21.5 48 48s-21.5 48-48 48zm-64 64l0 96-48 0 0-96 48 0zm64 96l0-96 32 0c26.5 0 48 21.5 48 48s-21.5 48-48 48l-32 0z\"]\n};\nconst faBookOpen = {\n prefix: 'fas',\n iconName: 'book-open',\n icon: [576, 512, [128214, 128366], \"f518\", \"M249.6 471.5c10.8 3.8 22.4-4.1 22.4-15.5l0-377.4c0-4.2-1.6-8.4-5-11C247.4 52 202.4 32 144 32C93.5 32 46.3 45.3 18.1 56.1C6.8 60.5 0 71.7 0 83.8L0 454.1c0 11.9 12.8 20.2 24.1 16.5C55.6 460.1 105.5 448 144 448c33.9 0 79 14 105.6 23.5zm76.8 0C353 462 398.1 448 432 448c38.5 0 88.4 12.1 119.9 22.6c11.3 3.8 24.1-4.6 24.1-16.5l0-370.3c0-12.1-6.8-23.3-18.1-27.6C529.7 45.3 482.5 32 432 32c-58.4 0-103.4 20-123 35.6c-3.3 2.6-5 6.8-5 11L304 456c0 11.4 11.7 19.3 22.4 15.5z\"]\n};\nconst faBookJournalWhills = {\n prefix: 'fas',\n iconName: 'book-journal-whills',\n icon: [448, 512, [\"journal-whills\"], \"f66a\", \"M0 96C0 43 43 0 96 0L384 0l32 0c17.7 0 32 14.3 32 32l0 320c0 17.7-14.3 32-32 32l0 64c17.7 0 32 14.3 32 32s-14.3 32-32 32l-32 0L96 512c-53 0-96-43-96-96L0 96zM64 416c0 17.7 14.3 32 32 32l256 0 0-64L96 384c-17.7 0-32 14.3-32 32zm90.4-234.4l-21.2-21.2c-3 10.1-5.1 20.6-5.1 31.6c0 .2 0 .5 .1 .8s.1 .5 .1 .8L165.2 226c2.5 2.1 3.4 5.8 2.3 8.9c-1.3 3-4.1 5.1-7.5 5.1c-1.9-.1-3.8-.8-5.2-2l-23.6-20.6C142.8 267 186.9 304 240 304s97.3-37 108.9-86.6L325.3 238c-1.4 1.2-3.3 2-5.3 2c-2.2-.1-4.4-1.1-6-2.8c-1.2-1.5-1.9-3.4-2-5.2c.1-2.2 1.1-4.4 2.8-6l37.1-32.5c0-.3 0-.5 .1-.8s.1-.5 .1-.8c0-11-2.1-21.5-5.1-31.6l-21.2 21.2c-3.1 3.1-8.1 3.1-11.3 0s-3.1-8.1 0-11.2l26.4-26.5c-8.2-17-20.5-31.7-35.9-42.6c-2.7-1.9-6.2 1.4-5 4.5c8.5 22.4 3.6 48-13 65.6c-3.2 3.4-3.6 8.9-.9 12.7c9.8 14 12.7 31.9 7.5 48.5c-5.9 19.4-22 34.1-41.9 38.3l-1.4-34.3 12.6 8.6c.6 .4 1.5 .6 2.3 .6c1.5 0 2.7-.8 3.5-2s.6-2.8-.1-4L260 225.4l18-3.6c1.8-.4 3.1-2.1 3.1-4s-1.4-3.5-3.1-3.9l-18-3.7 8.5-14.3c.8-1.2 .9-2.9 .1-4.1s-2-2-3.5-2l-.1 0c-.7 .1-1.5 .3-2.1 .7l-14.1 9.6L244 87.9c-.1-2.2-1.9-3.9-4-3.9s-3.9 1.6-4 3.9l-4.6 110.8-12-8.1c-1.5-1.1-3.6-.9-5 .4s-1.6 3.4-.8 5l8.6 14.3-18 3.7c-1.8 .4-3.1 2-3.1 3.9s1.4 3.6 3.1 4l18 3.8-8.6 14.2c-.2 .6-.5 1.4-.5 2c0 1.1 .5 2.1 1.2 3c.8 .6 1.8 1 2.8 1c.7 0 1.6-.2 2.2-.6l10.4-7.1-1.4 32.8c-19.9-4.1-36-18.9-41.9-38.3c-5.1-16.6-2.2-34.4 7.6-48.5c2.7-3.9 2.3-9.3-.9-12.7c-16.6-17.5-21.6-43.1-13.1-65.5c1.2-3.1-2.3-6.4-5-4.5c-15.3 10.9-27.6 25.6-35.8 42.6l26.4 26.5c3.1 3.1 3.1 8.1 0 11.2s-8.1 3.1-11.2 0z\"]\n};\nconst faJournalWhills = faBookJournalWhills;\nconst faHandcuffs = {\n prefix: 'fas',\n iconName: 'handcuffs',\n icon: [640, 512, [], \"e4f8\", \"M240 32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM192 48a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm-32 80c17.7 0 32 14.3 32 32l8 0c13.3 0 24 10.7 24 24l0 16c0 1.7-.2 3.4-.5 5.1C280.3 229.6 320 286.2 320 352c0 88.4-71.6 160-160 160S0 440.4 0 352c0-65.8 39.7-122.4 96.5-146.9c-.4-1.6-.5-3.3-.5-5.1l0-16c0-13.3 10.7-24 24-24l8 0c0-17.7 14.3-32 32-32zm0 320a96 96 0 1 0 0-192 96 96 0 1 0 0 192zm192-96c0-25.9-5.1-50.5-14.4-73.1c16.9-32.9 44.8-59.1 78.9-73.9c-.4-1.6-.5-3.3-.5-5.1l0-16c0-13.3 10.7-24 24-24l8 0c0-17.7 14.3-32 32-32s32 14.3 32 32l8 0c13.3 0 24 10.7 24 24l0 16c0 1.7-.2 3.4-.5 5.1C600.3 229.6 640 286.2 640 352c0 88.4-71.6 160-160 160c-62 0-115.8-35.3-142.4-86.9c9.3-22.5 14.4-47.2 14.4-73.1zm224 0a96 96 0 1 0 -192 0 96 96 0 1 0 192 0zM368 0a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm80 48a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nconst faTriangleExclamation = {\n prefix: 'fas',\n iconName: 'triangle-exclamation',\n icon: [512, 512, [9888, \"exclamation-triangle\", \"warning\"], \"f071\", \"M256 32c14.2 0 27.3 7.5 34.5 19.8l216 368c7.3 12.4 7.3 27.7 .2 40.1S486.3 480 472 480L40 480c-14.3 0-27.6-7.7-34.7-20.1s-7-27.8 .2-40.1l216-368C228.7 39.5 241.8 32 256 32zm0 128c-13.3 0-24 10.7-24 24l0 112c0 13.3 10.7 24 24 24s24-10.7 24-24l0-112c0-13.3-10.7-24-24-24zm32 224a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nconst faExclamationTriangle = faTriangleExclamation;\nconst faWarning = faTriangleExclamation;\nconst faDatabase = {\n prefix: 'fas',\n iconName: 'database',\n icon: [448, 512, [], \"f1c0\", \"M448 80l0 48c0 44.2-100.3 80-224 80S0 172.2 0 128L0 80C0 35.8 100.3 0 224 0S448 35.8 448 80zM393.2 214.7c20.8-7.4 39.9-16.9 54.8-28.6L448 288c0 44.2-100.3 80-224 80S0 332.2 0 288L0 186.1c14.9 11.8 34 21.2 54.8 28.6C99.7 230.7 159.5 240 224 240s124.3-9.3 169.2-25.3zM0 346.1c14.9 11.8 34 21.2 54.8 28.6C99.7 390.7 159.5 400 224 400s124.3-9.3 169.2-25.3c20.8-7.4 39.9-16.9 54.8-28.6l0 85.9c0 44.2-100.3 80-224 80S0 476.2 0 432l0-85.9z\"]\n};\nconst faShare = {\n prefix: 'fas',\n iconName: 'share',\n icon: [512, 512, [\"mail-forward\"], \"f064\", \"M307 34.8c-11.5 5.1-19 16.6-19 29.2l0 64-112 0C78.8 128 0 206.8 0 304C0 417.3 81.5 467.9 100.2 478.1c2.5 1.4 5.3 1.9 8.1 1.9c10.9 0 19.7-8.9 19.7-19.7c0-7.5-4.3-14.4-9.8-19.5C108.8 431.9 96 414.4 96 384c0-53 43-96 96-96l96 0 0 64c0 12.6 7.4 24.1 19 29.2s25 3 34.4-5.4l160-144c6.7-6.1 10.6-14.7 10.6-23.8s-3.8-17.7-10.6-23.8l-160-144c-9.4-8.5-22.9-10.6-34.4-5.4z\"]\n};\nconst faMailForward = faShare;\nconst faBottleDroplet = {\n prefix: 'fas',\n iconName: 'bottle-droplet',\n icon: [320, 512, [], \"e4c4\", \"M96 0C82.7 0 72 10.7 72 24s10.7 24 24 24c4.4 0 8 3.6 8 8l0 64.9c0 12.2-7.2 23.1-17.2 30.1C53.7 174.1 32 212.5 32 256l0 192c0 35.3 28.7 64 64 64l128 0c35.3 0 64-28.7 64-64l0-192c0-43.5-21.7-81.9-54.8-105c-10-7-17.2-17.9-17.2-30.1L216 56c0-4.4 3.6-8 8-8c13.3 0 24-10.7 24-24s-10.7-24-24-24l-8 0s0 0 0 0s0 0 0 0L104 0s0 0 0 0s0 0 0 0L96 0zm64 382c-26.5 0-48-20.1-48-45c0-16.8 22.1-48.1 36.3-66.4c6-7.8 17.5-7.8 23.5 0C185.9 288.9 208 320.2 208 337c0 24.9-21.5 45-48 45z\"]\n};\nconst faMaskFace = {\n prefix: 'fas',\n iconName: 'mask-face',\n icon: [640, 512, [], \"e1d7\", \"M320 64c-27.2 0-53.8 8-76.4 23.1l-37.1 24.8c-15.8 10.5-34.3 16.1-53.3 16.1l-9.2 0-16 0-72 0c-30.9 0-56 25.1-56 56l0 85c0 55.1 37.5 103.1 90.9 116.4l108 27C233.8 435 275.4 448 320 448s86.2-13 121.1-35.5l108-27C602.5 372.1 640 324.1 640 269l0-85c0-30.9-25.1-56-56-56l-72 0-16 0-9.2 0c-19 0-37.5-5.6-53.3-16.1L396.4 87.1C373.8 72 347.2 64 320 64zM132.3 346.3l-29.8-7.4C70.5 330.9 48 302.1 48 269l0-85c0-4.4 3.6-8 8-8l40 0 0 48c0 45.1 13.4 87.2 36.3 122.3zm405.1-7.4l-29.8 7.4c23-35.2 36.3-77.2 36.3-122.3l0-48 40 0c4.4 0 8 3.6 8 8l0 85c0 33-22.5 61.8-54.5 69.9zM192 208c0-8.8 7.2-16 16-16l224 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-224 0c-8.8 0-16-7.2-16-16zm16 48l224 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-224 0c-8.8 0-16-7.2-16-16s7.2-16 16-16zm16 80c0-8.8 7.2-16 16-16l160 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-160 0c-8.8 0-16-7.2-16-16z\"]\n};\nconst faHillRockslide = {\n prefix: 'fas',\n iconName: 'hill-rockslide',\n icon: [576, 512, [], \"e508\", \"M252.4 103.8l27 48c2.8 5 8.2 8.2 13.9 8.2l53.3 0c5.8 0 11.1-3.1 13.9-8.2l27-48c2.7-4.9 2.7-10.8 0-15.7l-27-48c-2.8-5-8.2-8.2-13.9-8.2l-53.3 0c-5.8 0-11.1 3.1-13.9 8.2l-27 48c-2.7 4.9-2.7 10.8 0 15.7zM68.3 87C43.1 61.8 0 79.7 0 115.3L0 432c0 44.2 35.8 80 80 80l316.7 0c35.6 0 53.5-43.1 28.3-68.3L68.3 87zM504.2 403.6c4.9 2.7 10.8 2.7 15.7 0l48-27c5-2.8 8.2-8.2 8.2-13.9l0-53.3c0-5.8-3.1-11.1-8.2-13.9l-48-27c-4.9-2.7-10.8-2.7-15.7 0l-48 27c-5 2.8-8.2 8.2-8.2 13.9l0 53.3c0 5.8 3.1 11.1 8.2 13.9l48 27zM192 64a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM384 288a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nconst faRightLeft = {\n prefix: 'fas',\n iconName: 'right-left',\n icon: [512, 512, [\"exchange-alt\"], \"f362\", \"M32 96l320 0 0-64c0-12.9 7.8-24.6 19.8-29.6s25.7-2.2 34.9 6.9l96 96c6 6 9.4 14.1 9.4 22.6s-3.4 16.6-9.4 22.6l-96 96c-9.2 9.2-22.9 11.9-34.9 6.9s-19.8-16.6-19.8-29.6l0-64L32 160c-17.7 0-32-14.3-32-32s14.3-32 32-32zM480 352c17.7 0 32 14.3 32 32s-14.3 32-32 32l-320 0 0 64c0 12.9-7.8 24.6-19.8 29.6s-25.7 2.2-34.9-6.9l-96-96c-6-6-9.4-14.1-9.4-22.6s3.4-16.6 9.4-22.6l96-96c9.2-9.2 22.9-11.9 34.9-6.9s19.8 16.6 19.8 29.6l0 64 320 0z\"]\n};\nconst faExchangeAlt = faRightLeft;\nconst faPaperPlane = {\n prefix: 'fas',\n iconName: 'paper-plane',\n icon: [512, 512, [61913], \"f1d8\", \"M498.1 5.6c10.1 7 15.4 19.1 13.5 31.2l-64 416c-1.5 9.7-7.4 18.2-16 23s-18.9 5.4-28 1.6L284 427.7l-68.5 74.1c-8.9 9.7-22.9 12.9-35.2 8.1S160 493.2 160 480l0-83.6c0-4 1.5-7.8 4.2-10.8L331.8 202.8c5.8-6.3 5.6-16-.4-22s-15.7-6.4-22-.7L106 360.8 17.7 316.6C7.1 311.3 .3 300.7 0 288.9s5.9-22.8 16.1-28.7l448-256c10.7-6.1 23.9-5.5 34 1.4z\"]\n};\nconst faRoadCircleExclamation = {\n prefix: 'fas',\n iconName: 'road-circle-exclamation',\n icon: [640, 512, [], \"e565\", \"M213.2 32L288 32l0 64c0 17.7 14.3 32 32 32s32-14.3 32-32l0-64 74.8 0c27.1 0 51.3 17.1 60.3 42.6l42.7 120.6c-10.9-2.1-22.2-3.2-33.8-3.2c-59.5 0-112.1 29.6-144 74.8l0-42.8c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 64c0 17.7 14.3 32 32 32c2.3 0 4.6-.3 6.8-.7c-4.5 15.5-6.8 31.8-6.8 48.7c0 5.4 .2 10.7 .7 16l-.7 0c-17.7 0-32 14.3-32 32l0 64L86.6 480C56.5 480 32 455.5 32 425.4c0-6.2 1.1-12.4 3.1-18.2L152.9 74.6C162 49.1 186.1 32 213.2 32zM496 224a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm0 240a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm0-192c-8.8 0-16 7.2-16 16l0 80c0 8.8 7.2 16 16 16s16-7.2 16-16l0-80c0-8.8-7.2-16-16-16z\"]\n};\nconst faDungeon = {\n prefix: 'fas',\n iconName: 'dungeon',\n icon: [512, 512, [], \"f6d9\", \"M336.6 156.5c1.3 1.1 2.7 2.2 3.9 3.3c9.3 8.2 23 10.5 33.4 3.6l67.6-45.1c11.4-7.6 14.2-23.2 5.1-33.4C430 66.6 410.9 50.6 389.7 37.6c-11.9-7.3-26.9-1.4-32.1 11.6l-30.5 76.2c-4.5 11.1 .2 23.6 9.5 31.2zM328 36.8c5.1-12.8-1.6-27.4-15-30.5C294.7 2.2 275.6 0 256 0s-38.7 2.2-57 6.4C185.5 9.4 178.8 24 184 36.8l30.3 75.8c4.5 11.3 16.8 17.2 29 16c4.2-.4 8.4-.6 12.7-.6s8.6 .2 12.7 .6c12.1 1.2 24.4-4.7 29-16L328 36.8zM65.5 85c-9.1 10.2-6.3 25.8 5.1 33.4l67.6 45.1c10.3 6.9 24.1 4.6 33.4-3.6c1.3-1.1 2.6-2.3 4-3.3c9.3-7.5 13.9-20.1 9.5-31.2L154.4 49.2c-5.2-12.9-20.3-18.8-32.1-11.6C101.1 50.6 82 66.6 65.5 85zm314 137.1c.9 3.3 1.7 6.6 2.3 10c2.5 13 13 23.9 26.2 23.9l80 0c13.3 0 24.1-10.8 22.9-24c-2.5-27.2-9.3-53.2-19.7-77.3c-5.5-12.9-21.4-16.6-33.1-8.9l-68.6 45.7c-9.8 6.5-13.2 19.2-10 30.5zM53.9 145.8c-11.6-7.8-27.6-4-33.1 8.9C10.4 178.8 3.6 204.8 1.1 232c-1.2 13.2 9.6 24 22.9 24l80 0c13.3 0 23.8-10.8 26.2-23.9c.6-3.4 1.4-6.7 2.3-10c3.1-11.4-.2-24-10-30.5L53.9 145.8zM104 288l-80 0c-13.3 0-24 10.7-24 24l0 48c0 13.3 10.7 24 24 24l80 0c13.3 0 24-10.7 24-24l0-48c0-13.3-10.7-24-24-24zm304 0c-13.3 0-24 10.7-24 24l0 48c0 13.3 10.7 24 24 24l80 0c13.3 0 24-10.7 24-24l0-48c0-13.3-10.7-24-24-24l-80 0zM24 416c-13.3 0-24 10.7-24 24l0 48c0 13.3 10.7 24 24 24l80 0c13.3 0 24-10.7 24-24l0-48c0-13.3-10.7-24-24-24l-80 0zm384 0c-13.3 0-24 10.7-24 24l0 48c0 13.3 10.7 24 24 24l80 0c13.3 0 24-10.7 24-24l0-48c0-13.3-10.7-24-24-24l-80 0zM272 192c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 272c0 8.8 7.2 16 16 16s16-7.2 16-16l0-272zm-64 32c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 240c0 8.8 7.2 16 16 16s16-7.2 16-16l0-240zm128 0c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 240c0 8.8 7.2 16 16 16s16-7.2 16-16l0-240z\"]\n};\nconst faAlignRight = {\n prefix: 'fas',\n iconName: 'align-right',\n icon: [448, 512, [], \"f038\", \"M448 64c0 17.7-14.3 32-32 32L192 96c-17.7 0-32-14.3-32-32s14.3-32 32-32l224 0c17.7 0 32 14.3 32 32zm0 256c0 17.7-14.3 32-32 32l-224 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l224 0c17.7 0 32 14.3 32 32zM0 192c0-17.7 14.3-32 32-32l384 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 224c-17.7 0-32-14.3-32-32zM448 448c0 17.7-14.3 32-32 32L32 480c-17.7 0-32-14.3-32-32s14.3-32 32-32l384 0c17.7 0 32 14.3 32 32z\"]\n};\nconst faMoneyBill1Wave = {\n prefix: 'fas',\n iconName: 'money-bill-1-wave',\n icon: [576, 512, [\"money-bill-wave-alt\"], \"f53b\", \"M0 112.5L0 422.3c0 18 10.1 35 27 41.3c87 32.5 174 10.3 261-11.9c79.8-20.3 159.6-40.7 239.3-18.9c23 6.3 48.7-9.5 48.7-33.4l0-309.9c0-18-10.1-35-27-41.3C462 15.9 375 38.1 288 60.3C208.2 80.6 128.4 100.9 48.7 79.1C25.6 72.8 0 88.6 0 112.5zM128 416l-64 0 0-64c35.3 0 64 28.7 64 64zM64 224l0-64 64 0c0 35.3-28.7 64-64 64zM448 352c0-35.3 28.7-64 64-64l0 64-64 0zm64-192c-35.3 0-64-28.7-64-64l64 0 0 64zM384 256c0 61.9-43 112-96 112s-96-50.1-96-112s43-112 96-112s96 50.1 96 112zM252 208c0 9.7 6.9 17.7 16 19.6l0 48.4-4 0c-11 0-20 9-20 20s9 20 20 20l24 0 24 0c11 0 20-9 20-20s-9-20-20-20l-4 0 0-68c0-11-9-20-20-20l-16 0c-11 0-20 9-20 20z\"]\n};\nconst faMoneyBillWaveAlt = faMoneyBill1Wave;\nconst faLifeRing = {\n prefix: 'fas',\n iconName: 'life-ring',\n icon: [512, 512, [], \"f1cd\", \"M367.2 412.5C335.9 434.9 297.5 448 256 448s-79.9-13.1-111.2-35.5l58-58c15.8 8.6 34 13.5 53.3 13.5s37.4-4.9 53.3-13.5l58 58zm90.7 .8c33.8-43.4 54-98 54-157.3s-20.2-113.9-54-157.3c9-12.5 7.9-30.1-3.4-41.3S425.8 45 413.3 54C369.9 20.2 315.3 0 256 0S142.1 20.2 98.7 54c-12.5-9-30.1-7.9-41.3 3.4S45 86.2 54 98.7C20.2 142.1 0 196.7 0 256s20.2 113.9 54 157.3c-9 12.5-7.9 30.1 3.4 41.3S86.2 467 98.7 458c43.4 33.8 98 54 157.3 54s113.9-20.2 157.3-54c12.5 9 30.1 7.9 41.3-3.4s12.4-28.8 3.4-41.3zm-45.5-46.1l-58-58c8.6-15.8 13.5-34 13.5-53.3s-4.9-37.4-13.5-53.3l58-58C434.9 176.1 448 214.5 448 256s-13.1 79.9-35.5 111.2zM367.2 99.5l-58 58c-15.8-8.6-34-13.5-53.3-13.5s-37.4 4.9-53.3 13.5l-58-58C176.1 77.1 214.5 64 256 64s79.9 13.1 111.2 35.5zM157.5 309.3l-58 58C77.1 335.9 64 297.5 64 256s13.1-79.9 35.5-111.2l58 58c-8.6 15.8-13.5 34-13.5 53.3s4.9 37.4 13.5 53.3zM208 256a48 48 0 1 1 96 0 48 48 0 1 1 -96 0z\"]\n};\nconst faHands = {\n prefix: 'fas',\n iconName: 'hands',\n icon: [576, 512, [\"sign-language\", \"signing\"], \"f2a7\", \"M544 160l-.1 72.6c-.1 52.2-24 101-64 133.1c.1-1.9 .1-3.8 .1-5.7l0-8c0-71.8-37-138.6-97.9-176.7l-60.2-37.6c-8.6-5.4-17.9-8.4-27.3-9.4L248.7 48.8c-6.6-11.5-2.7-26.2 8.8-32.8s26.2-2.7 32.8 8.8l78 135.1c3.3 5.7 10.7 7.7 16.4 4.4s7.7-10.7 4.4-16.4l-62-107.4c-6.6-11.5-2.7-26.2 8.8-32.8S362 5 368.6 16.5l68 117.8s0 0 0 0s0 0 0 0l43.3 75L480 160c0-17.7 14.4-32 32-32s32 14.4 32 32zM243.9 88.5L268.5 131c-13.9 4.5-26.4 13.7-34.7 27c-.9 1.4-1.7 2.9-2.5 4.4l-28.9-50c-6.6-11.5-2.7-26.2 8.8-32.8s26.2-2.7 32.8 8.8zm-46.4 63.7l26.8 46.4c.6 6 2.1 11.8 4.3 17.4l-4.7 0-13.3 0s0 0 0 0L179 216l-23-39.8c-6.6-11.5-2.7-26.2 8.8-32.8s26.2-2.7 32.8 8.8zM260.9 175c9.4-15 29.1-19.5 44.1-10.2l60.2 37.6C416.7 234.7 448 291.2 448 352l0 8c0 83.9-68.1 152-152 152l-176 0c-13.3 0-24-10.7-24-24s10.7-24 24-24l92 0c6.6 0 12-5.4 12-12s-5.4-12-12-12L88 440c-13.3 0-24-10.7-24-24s10.7-24 24-24l124 0c6.6 0 12-5.4 12-12s-5.4-12-12-12L56 368c-13.3 0-24-10.7-24-24s10.7-24 24-24l156 0c6.6 0 12-5.4 12-12s-5.4-12-12-12L88 296c-13.3 0-24-10.7-24-24s10.7-24 24-24l136 0s0 0 0 0s0 0 0 0l93.2 0L271 219.1c-15-9.4-19.5-29.1-10.2-44.1z\"]\n};\nconst faSignLanguage = faHands;\nconst faSigning = faHands;\nconst faCalendarDay = {\n prefix: 'fas',\n iconName: 'calendar-day',\n icon: [448, 512, [], \"f783\", \"M128 0c17.7 0 32 14.3 32 32l0 32 128 0 0-32c0-17.7 14.3-32 32-32s32 14.3 32 32l0 32 48 0c26.5 0 48 21.5 48 48l0 48L0 160l0-48C0 85.5 21.5 64 48 64l48 0 0-32c0-17.7 14.3-32 32-32zM0 192l448 0 0 272c0 26.5-21.5 48-48 48L48 512c-26.5 0-48-21.5-48-48L0 192zm80 64c-8.8 0-16 7.2-16 16l0 96c0 8.8 7.2 16 16 16l96 0c8.8 0 16-7.2 16-16l0-96c0-8.8-7.2-16-16-16l-96 0z\"]\n};\nconst faWaterLadder = {\n prefix: 'fas',\n iconName: 'water-ladder',\n icon: [576, 512, [\"ladder-water\", \"swimming-pool\"], \"f5c5\", \"M128 127.7C128 74.9 170.9 32 223.7 32c48.3 0 89 36 95 83.9l1 8.2c2.2 17.5-10.2 33.5-27.8 35.7s-33.5-10.2-35.7-27.8l-1-8.2c-2-15.9-15.5-27.8-31.5-27.8c-17.5 0-31.7 14.2-31.7 31.7l0 96.3 192 0 0-96.3C384 74.9 426.9 32 479.7 32c48.3 0 89 36 95 83.9l1 8.2c2.2 17.5-10.2 33.5-27.8 35.7s-33.5-10.2-35.7-27.8l-1-8.2c-2-15.9-15.5-27.8-31.5-27.8c-17.5 0-31.7 14.2-31.7 31.7L448 361c-1.6 1-3.3 2-4.8 3.1c-18 12.4-40.1 20.3-59.2 20.3c0 0 0 0 0 0l0-96.5-192 0 0 96.5c-19 0-41.2-7.9-59.1-20.3c-1.6-1.1-3.2-2.2-4.9-3.1l0-233.3zM306.5 389.9C329 405.4 356.5 416 384 416c26.9 0 55.4-10.8 77.4-26.1c0 0 0 0 0 0c11.9-8.5 28.1-7.8 39.2 1.7c14.4 11.9 32.5 21 50.6 25.2c17.2 4 27.9 21.2 23.9 38.4s-21.2 27.9-38.4 23.9c-24.5-5.7-44.9-16.5-58.2-25C449.5 469.7 417 480 384 480c-31.9 0-60.6-9.9-80.4-18.9c-5.8-2.7-11.1-5.3-15.6-7.7c-4.5 2.4-9.7 5.1-15.6 7.7c-19.8 9-48.5 18.9-80.4 18.9c-33 0-65.5-10.3-94.5-25.8c-13.4 8.4-33.7 19.3-58.2 25c-17.2 4-34.4-6.7-38.4-23.9s6.7-34.4 23.9-38.4c18.1-4.2 36.2-13.3 50.6-25.2c11.1-9.4 27.3-10.1 39.2-1.7c0 0 0 0 0 0C136.7 405.2 165.1 416 192 416c27.5 0 55-10.6 77.5-26.1c11.1-7.9 25.9-7.9 37 0z\"]\n};\nconst faLadderWater = faWaterLadder;\nconst faSwimmingPool = faWaterLadder;\nconst faArrowsUpDown = {\n prefix: 'fas',\n iconName: 'arrows-up-down',\n icon: [320, 512, [\"arrows-v\"], \"f07d\", \"M182.6 9.4c-12.5-12.5-32.8-12.5-45.3 0l-96 96c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L128 109.3l0 293.5L86.6 361.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l96 96c12.5 12.5 32.8 12.5 45.3 0l96-96c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192 402.7l0-293.5 41.4 41.4c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-96-96z\"]\n};\nconst faArrowsV = faArrowsUpDown;\nconst faFaceGrimace = {\n prefix: 'fas',\n iconName: 'face-grimace',\n icon: [512, 512, [128556, \"grimace\"], \"f57f\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm96-112l-8 0 0-40 55.3 0c-3.8 22.7-23.6 40-47.3 40zm47.3-56L344 344l0-40 8 0c23.8 0 43.5 17.3 47.3 40zM328 344l-64 0 0-40 64 0 0 40zm0 56l-64 0 0-40 64 0 0 40zm-80-96l0 40-64 0 0-40 64 0zm0 56l0 40-64 0 0-40 64 0zm-80-16l-55.3 0c3.8-22.7 23.6-40 47.3-40l8 0 0 40zm0 56l-8 0c-23.8 0-43.5-17.3-47.3-40l55.3 0 0 40zM144.4 208a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm192-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nconst faGrimace = faFaceGrimace;\nconst faWheelchairMove = {\n prefix: 'fas',\n iconName: 'wheelchair-move',\n icon: [448, 512, [\"wheelchair-alt\"], \"e2ce\", \"M320 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM204.5 121.3c-5.4-2.5-11.7-1.9-16.4 1.7l-40.9 30.7c-14.1 10.6-34.2 7.7-44.8-6.4s-7.7-34.2 6.4-44.8l40.9-30.7c23.7-17.8 55.3-21 82.1-8.4l90.4 42.5c29.1 13.7 36.8 51.6 15.2 75.5L299.1 224l97.4 0c30.3 0 53 27.7 47.1 57.4L415.4 422.3c-3.5 17.3-20.3 28.6-37.7 25.1s-28.6-20.3-25.1-37.7L377 288l-70.3 0c8.6 19.6 13.3 41.2 13.3 64c0 88.4-71.6 160-160 160S0 440.4 0 352s71.6-160 160-160c11.1 0 22 1.1 32.4 3.3l54.2-54.2-42.1-19.8zM160 448a96 96 0 1 0 0-192 96 96 0 1 0 0 192z\"]\n};\nconst faWheelchairAlt = faWheelchairMove;\nconst faTurnDown = {\n prefix: 'fas',\n iconName: 'turn-down',\n icon: [384, 512, [10549, \"level-down-alt\"], \"f3be\", \"M350 334.5c3.8 8.8 2 19-4.6 26l-136 144c-4.5 4.8-10.8 7.5-17.4 7.5s-12.9-2.7-17.4-7.5l-136-144c-6.6-7-8.4-17.2-4.6-26s12.5-14.5 22-14.5l88 0 0-192c0-17.7-14.3-32-32-32L32 96C14.3 96 0 81.7 0 64L0 32C0 14.3 14.3 0 32 0l80 0c70.7 0 128 57.3 128 128l0 192 88 0c9.6 0 18.2 5.7 22 14.5z\"]\n};\nconst faLevelDownAlt = faTurnDown;\nconst faPersonWalkingArrowRight = {\n prefix: 'fas',\n iconName: 'person-walking-arrow-right',\n icon: [640, 512, [], \"e552\", \"M208 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM123.7 200.5c1-.4 1.9-.8 2.9-1.2l-16.9 63.5c-5.6 21.1-.1 43.6 14.7 59.7l70.7 77.1 22 88.1c4.3 17.1 21.7 27.6 38.8 23.3s27.6-21.7 23.3-38.8l-23-92.1c-1.9-7.8-5.8-14.9-11.2-20.8l-49.5-54 19.3-65.5 9.6 23c4.4 10.6 12.5 19.3 22.8 24.5l26.7 13.3c15.8 7.9 35 1.5 42.9-14.3s1.5-35-14.3-42.9L281 232.7l-15.3-36.8C248.5 154.8 208.3 128 163.7 128c-22.8 0-45.3 4.8-66.1 14l-8 3.5c-32.9 14.6-58.1 42.4-69.4 76.5l-2.6 7.8c-5.6 16.8 3.5 34.9 20.2 40.5s34.9-3.5 40.5-20.2l2.6-7.8c5.7-17.1 18.3-30.9 34.7-38.2l8-3.5zm-30 135.1L68.7 398 9.4 457.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L116.3 441c4.6-4.6 8.2-10.1 10.6-16.1l14.5-36.2-40.7-44.4c-2.5-2.7-4.8-5.6-7-8.6zM550.6 153.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L530.7 224 384 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l146.7 0-25.4 25.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l80-80c12.5-12.5 12.5-32.8 0-45.3l-80-80z\"]\n};\nconst faSquareEnvelope = {\n prefix: 'fas',\n iconName: 'square-envelope',\n icon: [448, 512, [\"envelope-square\"], \"f199\", \"M64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32zM218 271.7L64.2 172.4C66 156.4 79.5 144 96 144l256 0c16.5 0 30 12.4 31.8 28.4L230 271.7c-1.8 1.2-3.9 1.8-6 1.8s-4.2-.6-6-1.8zm29.4 26.9L384 210.4 384 336c0 17.7-14.3 32-32 32L96 368c-17.7 0-32-14.3-32-32l0-125.6 136.6 88.2c7 4.5 15.1 6.9 23.4 6.9s16.4-2.4 23.4-6.9z\"]\n};\nconst faEnvelopeSquare = faSquareEnvelope;\nconst faDice = {\n prefix: 'fas',\n iconName: 'dice',\n icon: [640, 512, [127922], \"f522\", \"M274.9 34.3c-28.1-28.1-73.7-28.1-101.8 0L34.3 173.1c-28.1 28.1-28.1 73.7 0 101.8L173.1 413.7c28.1 28.1 73.7 28.1 101.8 0L413.7 274.9c28.1-28.1 28.1-73.7 0-101.8L274.9 34.3zM200 224a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM96 200a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM224 376a24 24 0 1 1 0-48 24 24 0 1 1 0 48zM352 200a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM224 120a24 24 0 1 1 0-48 24 24 0 1 1 0 48zm96 328c0 35.3 28.7 64 64 64l192 0c35.3 0 64-28.7 64-64l0-192c0-35.3-28.7-64-64-64l-114.3 0c11.6 36 3.1 77-25.4 105.5L320 413.8l0 34.2zM480 328a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nconst faBowlingBall = {\n prefix: 'fas',\n iconName: 'bowling-ball',\n icon: [512, 512, [], \"f436\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM240 80a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM208 208a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm-64-64a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nconst faBrain = {\n prefix: 'fas',\n iconName: 'brain',\n icon: [512, 512, [129504], \"f5dc\", \"M184 0c30.9 0 56 25.1 56 56l0 400c0 30.9-25.1 56-56 56c-28.9 0-52.7-21.9-55.7-50.1c-5.2 1.4-10.7 2.1-16.3 2.1c-35.3 0-64-28.7-64-64c0-7.4 1.3-14.6 3.6-21.2C21.4 367.4 0 338.2 0 304c0-31.9 18.7-59.5 45.8-72.3C37.1 220.8 32 207 32 192c0-30.7 21.6-56.3 50.4-62.6C80.8 123.9 80 118 80 112c0-29.9 20.6-55.1 48.3-62.1C131.3 21.9 155.1 0 184 0zM328 0c28.9 0 52.6 21.9 55.7 49.9c27.8 7 48.3 32.1 48.3 62.1c0 6-.8 11.9-2.4 17.4c28.8 6.2 50.4 31.9 50.4 62.6c0 15-5.1 28.8-13.8 39.7C493.3 244.5 512 272.1 512 304c0 34.2-21.4 63.4-51.6 74.8c2.3 6.6 3.6 13.8 3.6 21.2c0 35.3-28.7 64-64 64c-5.6 0-11.1-.7-16.3-2.1c-3 28.2-26.8 50.1-55.7 50.1c-30.9 0-56-25.1-56-56l0-400c0-30.9 25.1-56 56-56z\"]\n};\nconst faBandage = {\n prefix: 'fas',\n iconName: 'bandage',\n icon: [640, 512, [129657, \"band-aid\"], \"f462\", \"M480 416l96 0c35.3 0 64-28.7 64-64l0-192c0-35.3-28.7-64-64-64l-96 0 0 320zM448 96L192 96l0 320 256 0 0-320zM64 96C28.7 96 0 124.7 0 160L0 352c0 35.3 28.7 64 64 64l96 0 0-320L64 96zM248 208a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm120-24a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM248 304a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm120-24a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nconst faBandAid = faBandage;\nconst faCalendarMinus = {\n prefix: 'fas',\n iconName: 'calendar-minus',\n icon: [448, 512, [], \"f272\", \"M128 0c17.7 0 32 14.3 32 32l0 32 128 0 0-32c0-17.7 14.3-32 32-32s32 14.3 32 32l0 32 48 0c26.5 0 48 21.5 48 48l0 48L0 160l0-48C0 85.5 21.5 64 48 64l48 0 0-32c0-17.7 14.3-32 32-32zM0 192l448 0 0 272c0 26.5-21.5 48-48 48L48 512c-26.5 0-48-21.5-48-48L0 192zM312 376c13.3 0 24-10.7 24-24s-10.7-24-24-24l-176 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l176 0z\"]\n};\nconst faCircleXmark = {\n prefix: 'fas',\n iconName: 'circle-xmark',\n icon: [512, 512, [61532, \"times-circle\", \"xmark-circle\"], \"f057\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM175 175c9.4-9.4 24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9z\"]\n};\nconst faTimesCircle = faCircleXmark;\nconst faXmarkCircle = faCircleXmark;\nconst faGifts = {\n prefix: 'fas',\n iconName: 'gifts',\n icon: [640, 512, [], \"f79c\", \"M200.6 32C205 19.5 198.5 5.8 186 1.4S159.8 3.5 155.4 16L144.7 46.2l-9.9-29.8C130.6 3.8 117-3 104.4 1.2S85 19 89.2 31.6l8.3 25-27.4-20c-10.7-7.8-25.7-5.4-33.5 5.3s-5.4 25.7 5.3 33.5L70.2 96 48 96C21.5 96 0 117.5 0 144L0 464c0 26.5 21.5 48 48 48l152.6 0c-5.4-9.4-8.6-20.3-8.6-32l0-224c0-29.9 20.5-55 48.2-62c1.8-31 17.1-58.2 40.1-76.1C271.7 104.7 256.9 96 240 96l-22.2 0 28.3-20.6c10.7-7.8 13.1-22.8 5.3-33.5s-22.8-13.1-33.5-5.3L192.5 55.1 200.6 32zM363.5 185.5L393.1 224 344 224c-13.3 0-24-10.7-24-24c0-13.1 10.8-24 24.2-24c7.6 0 14.7 3.5 19.3 9.5zM272 200c0 8.4 1.4 16.5 4.1 24l-4.1 0c-26.5 0-48 21.5-48 48l0 80 192 0 0-96 32 0 0 96 192 0 0-80c0-26.5-21.5-48-48-48l-4.1 0c2.7-7.5 4.1-15.6 4.1-24c0-39.9-32.5-72-72.2-72c-22.4 0-43.6 10.4-57.3 28.2L432 195.8l-30.5-39.6c-13.7-17.8-35-28.2-57.3-28.2c-39.7 0-72.2 32.1-72.2 72zM224 464c0 26.5 21.5 48 48 48l144 0 0-128-192 0 0 80zm224 48l144 0c26.5 0 48-21.5 48-48l0-80-192 0 0 128zm96-312c0 13.3-10.7 24-24 24l-49.1 0 29.6-38.5c4.6-5.9 11.7-9.5 19.3-9.5c13.4 0 24.2 10.9 24.2 24z\"]\n};\nconst faHotel = {\n prefix: 'fas',\n iconName: 'hotel',\n icon: [512, 512, [127976], \"f594\", \"M0 32C0 14.3 14.3 0 32 0L480 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l0 384c17.7 0 32 14.3 32 32s-14.3 32-32 32l-176 0 0-48c0-26.5-21.5-48-48-48s-48 21.5-48 48l0 48L32 512c-17.7 0-32-14.3-32-32s14.3-32 32-32L32 64C14.3 64 0 49.7 0 32zm96 80l0 32c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16l-32 0c-8.8 0-16 7.2-16 16zM240 96c-8.8 0-16 7.2-16 16l0 32c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16l-32 0zm112 16l0 32c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16l-32 0c-8.8 0-16 7.2-16 16zM112 192c-8.8 0-16 7.2-16 16l0 32c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16l-32 0zm112 16l0 32c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16l-32 0c-8.8 0-16 7.2-16 16zm144-16c-8.8 0-16 7.2-16 16l0 32c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16l-32 0zM328 384c13.3 0 24.3-10.9 21-23.8c-10.6-41.5-48.2-72.2-93-72.2s-82.5 30.7-93 72.2c-3.3 12.8 7.8 23.8 21 23.8l144 0z\"]\n};\nconst faEarthAsia = {\n prefix: 'fas',\n iconName: 'earth-asia',\n icon: [512, 512, [127759, \"globe-asia\"], \"f57e\", \"M51.7 295.1l31.7 6.3c7.9 1.6 16-.9 21.7-6.6l15.4-15.4c11.6-11.6 31.1-8.4 38.4 6.2l9.3 18.5c4.8 9.6 14.6 15.7 25.4 15.7c15.2 0 26.1-14.6 21.7-29.2l-6-19.9c-4.6-15.4 6.9-30.9 23-30.9l2.3 0c13.4 0 25.9-6.7 33.3-17.8l10.7-16.1c5.6-8.5 5.3-19.6-.8-27.7l-16.1-21.5c-10.3-13.7-3.3-33.5 13.4-37.7l17-4.3c7.5-1.9 13.6-7.2 16.5-14.4l16.4-40.9C303.4 52.1 280.2 48 256 48C141.1 48 48 141.1 48 256c0 13.4 1.3 26.5 3.7 39.1zm407.7 4.6c-3-.3-6-.1-9 .8l-15.8 4.4c-6.7 1.9-13.8-.9-17.5-6.7l-2-3.1c-6-9.4-16.4-15.1-27.6-15.1s-21.6 5.7-27.6 15.1l-6.1 9.5c-1.4 2.2-3.4 4.1-5.7 5.3L312 330.1c-18.1 10.1-25.5 32.4-17 51.3l5.5 12.4c8.6 19.2 30.7 28.5 50.5 21.1l2.6-1c10-3.7 21.3-2.2 29.9 4.1l1.5 1.1c37.2-29.5 64.1-71.4 74.4-119.5zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm144.5 92.1c-2.1 8.6 3.1 17.3 11.6 19.4l32 8c8.6 2.1 17.3-3.1 19.4-11.6s-3.1-17.3-11.6-19.4l-32-8c-8.6-2.1-17.3 3.1-19.4 11.6zm92-20c-2.1 8.6 3.1 17.3 11.6 19.4s17.3-3.1 19.4-11.6l8-32c2.1-8.6-3.1-17.3-11.6-19.4s-17.3 3.1-19.4 11.6l-8 32zM343.2 113.7c-7.9-4-17.5-.7-21.5 7.2l-16 32c-4 7.9-.7 17.5 7.2 21.5s17.5 .7 21.5-7.2l16-32c4-7.9 .7-17.5-7.2-21.5z\"]\n};\nconst faGlobeAsia = faEarthAsia;\nconst faIdCardClip = {\n prefix: 'fas',\n iconName: 'id-card-clip',\n icon: [576, 512, [\"id-card-alt\"], \"f47f\", \"M256 0l64 0c17.7 0 32 14.3 32 32l0 64c0 17.7-14.3 32-32 32l-64 0c-17.7 0-32-14.3-32-32l0-64c0-17.7 14.3-32 32-32zM64 64l128 0 0 48c0 26.5 21.5 48 48 48l96 0c26.5 0 48-21.5 48-48l0-48 128 0c35.3 0 64 28.7 64 64l0 320c0 35.3-28.7 64-64 64L64 512c-35.3 0-64-28.7-64-64L0 128C0 92.7 28.7 64 64 64zM176 437.3c0 5.9 4.8 10.7 10.7 10.7l202.7 0c5.9 0 10.7-4.8 10.7-10.7c0-29.5-23.9-53.3-53.3-53.3l-117.3 0c-29.5 0-53.3 23.9-53.3 53.3zM288 352a64 64 0 1 0 0-128 64 64 0 1 0 0 128z\"]\n};\nconst faIdCardAlt = faIdCardClip;\nconst faMagnifyingGlassPlus = {\n prefix: 'fas',\n iconName: 'magnifying-glass-plus',\n icon: [512, 512, [\"search-plus\"], \"f00e\", \"M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376c-34.4 25.2-76.8 40-122.7 40C93.1 416 0 322.9 0 208S93.1 0 208 0S416 93.1 416 208zM184 296c0 13.3 10.7 24 24 24s24-10.7 24-24l0-64 64 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-64 0 0-64c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 64-64 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l64 0 0 64z\"]\n};\nconst faSearchPlus = faMagnifyingGlassPlus;\nconst faThumbsUp = {\n prefix: 'fas',\n iconName: 'thumbs-up',\n icon: [512, 512, [128077, 61575], \"f164\", \"M313.4 32.9c26 5.2 42.9 30.5 37.7 56.5l-2.3 11.4c-5.3 26.7-15.1 52.1-28.8 75.2l144 0c26.5 0 48 21.5 48 48c0 18.5-10.5 34.6-25.9 42.6C497 275.4 504 288.9 504 304c0 23.4-16.8 42.9-38.9 47.1c4.4 7.3 6.9 15.8 6.9 24.9c0 21.3-13.9 39.4-33.1 45.6c.7 3.3 1.1 6.8 1.1 10.4c0 26.5-21.5 48-48 48l-97.5 0c-19 0-37.5-5.6-53.3-16.1l-38.5-25.7C176 420.4 160 390.4 160 358.3l0-38.3 0-48 0-24.9c0-29.2 13.3-56.7 36-75l7.4-5.9c26.5-21.2 44.6-51 51.2-84.2l2.3-11.4c5.2-26 30.5-42.9 56.5-37.7zM32 192l64 0c17.7 0 32 14.3 32 32l0 224c0 17.7-14.3 32-32 32l-64 0c-17.7 0-32-14.3-32-32L0 224c0-17.7 14.3-32 32-32z\"]\n};\nconst faUserClock = {\n prefix: 'fas',\n iconName: 'user-clock',\n icon: [640, 512, [], \"f4fd\", \"M224 0a128 128 0 1 1 0 256A128 128 0 1 1 224 0zM178.3 304l91.4 0c20.6 0 40.4 3.5 58.8 9.9C323 331 320 349.1 320 368c0 59.5 29.5 112.1 74.8 144L29.7 512C13.3 512 0 498.7 0 482.3C0 383.8 79.8 304 178.3 304zM352 368a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm144-80c-8.8 0-16 7.2-16 16l0 64c0 8.8 7.2 16 16 16l48 0c8.8 0 16-7.2 16-16s-7.2-16-16-16l-32 0 0-48c0-8.8-7.2-16-16-16z\"]\n};\nconst faHandDots = {\n prefix: 'fas',\n iconName: 'hand-dots',\n icon: [512, 512, [\"allergies\"], \"f461\", \"M288 32c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 208c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-176c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 272c0 1.5 0 3.1 .1 4.6L67.6 283c-16-15.2-41.3-14.6-56.6 1.4s-14.6 41.3 1.4 56.6L124.8 448c43.1 41.1 100.4 64 160 64l19.2 0c97.2 0 176-78.8 176-176l0-208c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 112c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-176c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 176c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-208zM240 336a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm80 16a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm48-16a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm-16 80a16 16 0 1 1 0 32 16 16 0 1 1 0-32zM240 432a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm-48-48a16 16 0 1 1 0 32 16 16 0 1 1 0-32z\"]\n};\nconst faAllergies = faHandDots;\nconst faFileInvoice = {\n prefix: 'fas',\n iconName: 'file-invoice',\n icon: [384, 512, [], \"f570\", \"M64 0C28.7 0 0 28.7 0 64L0 448c0 35.3 28.7 64 64 64l256 0c35.3 0 64-28.7 64-64l0-288-128 0c-17.7 0-32-14.3-32-32L224 0 64 0zM256 0l0 128 128 0L256 0zM80 64l64 0c8.8 0 16 7.2 16 16s-7.2 16-16 16L80 96c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 64l64 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-64 0c-8.8 0-16-7.2-16-16s7.2-16 16-16zm16 96l192 0c17.7 0 32 14.3 32 32l0 64c0 17.7-14.3 32-32 32L96 352c-17.7 0-32-14.3-32-32l0-64c0-17.7 14.3-32 32-32zm0 32l0 64 192 0 0-64L96 256zM240 416l64 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-64 0c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nconst faWindowMinimize = {\n prefix: 'fas',\n iconName: 'window-minimize',\n icon: [512, 512, [128469], \"f2d1\", \"M32 416c-17.7 0-32 14.3-32 32s14.3 32 32 32l448 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L32 416z\"]\n};\nconst faMugSaucer = {\n prefix: 'fas',\n iconName: 'mug-saucer',\n icon: [640, 512, [\"coffee\"], \"f0f4\", \"M96 64c0-17.7 14.3-32 32-32l320 0 64 0c70.7 0 128 57.3 128 128s-57.3 128-128 128l-32 0c0 53-43 96-96 96l-192 0c-53 0-96-43-96-96L96 64zM480 224l32 0c35.3 0 64-28.7 64-64s-28.7-64-64-64l-32 0 0 128zM32 416l512 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 480c-17.7 0-32-14.3-32-32s14.3-32 32-32z\"]\n};\nconst faCoffee = faMugSaucer;\nconst faBrush = {\n prefix: 'fas',\n iconName: 'brush',\n icon: [384, 512, [], \"f55d\", \"M162.4 6c-1.5-3.6-5-6-8.9-6l-19 0c-3.9 0-7.5 2.4-8.9 6L104.9 57.7c-3.2 8-14.6 8-17.8 0L66.4 6c-1.5-3.6-5-6-8.9-6L48 0C21.5 0 0 21.5 0 48L0 224l0 22.4L0 256l9.6 0 364.8 0 9.6 0 0-9.6 0-22.4 0-176c0-26.5-21.5-48-48-48L230.5 0c-3.9 0-7.5 2.4-8.9 6L200.9 57.7c-3.2 8-14.6 8-17.8 0L162.4 6zM0 288l0 32c0 35.3 28.7 64 64 64l64 0 0 64c0 35.3 28.7 64 64 64s64-28.7 64-64l0-64 64 0c35.3 0 64-28.7 64-64l0-32L0 288zM192 432a16 16 0 1 1 0 32 16 16 0 1 1 0-32z\"]\n};\nconst faFileHalfDashed = {\n prefix: 'fas',\n iconName: 'file-half-dashed',\n icon: [384, 512, [], \"e698\", \"M64 0C28.7 0 0 28.7 0 64L0 320l384 0 0-160-128 0c-17.7 0-32-14.3-32-32L224 0 64 0zM256 0l0 128 128 0L256 0zM0 416l64 0 0-64L0 352l0 64zm288 32l-80 0 0 64 80 0 0-64zm-112 0l-80 0 0 64 80 0 0-64zM64 448L0 448c0 35.3 28.7 64 64 64l0-64zm256 0l0 64c35.3 0 64-28.7 64-64l-64 0zm64-32l0-64-64 0 0 64 64 0z\"]\n};\nconst faMask = {\n prefix: 'fas',\n iconName: 'mask',\n icon: [576, 512, [], \"f6fa\", \"M288 64C64 64 0 160 0 272S80 448 176 448l8.4 0c24.2 0 46.4-13.7 57.2-35.4l23.2-46.3c4.4-8.8 13.3-14.3 23.2-14.3s18.8 5.5 23.2 14.3l23.2 46.3c10.8 21.7 33 35.4 57.2 35.4l8.4 0c96 0 176-64 176-176s-64-208-288-208zM96 256a64 64 0 1 1 128 0A64 64 0 1 1 96 256zm320-64a64 64 0 1 1 0 128 64 64 0 1 1 0-128z\"]\n};\nconst faMagnifyingGlassMinus = {\n prefix: 'fas',\n iconName: 'magnifying-glass-minus',\n icon: [512, 512, [\"search-minus\"], \"f010\", \"M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376c-34.4 25.2-76.8 40-122.7 40C93.1 416 0 322.9 0 208S93.1 0 208 0S416 93.1 416 208zM136 184c-13.3 0-24 10.7-24 24s10.7 24 24 24l144 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-144 0z\"]\n};\nconst faSearchMinus = faMagnifyingGlassMinus;\nconst faRulerVertical = {\n prefix: 'fas',\n iconName: 'ruler-vertical',\n icon: [256, 512, [], \"f548\", \"M0 48C0 21.5 21.5 0 48 0L208 0c26.5 0 48 21.5 48 48l0 48-80 0c-8.8 0-16 7.2-16 16s7.2 16 16 16l80 0 0 64-80 0c-8.8 0-16 7.2-16 16s7.2 16 16 16l80 0 0 64-80 0c-8.8 0-16 7.2-16 16s7.2 16 16 16l80 0 0 64-80 0c-8.8 0-16 7.2-16 16s7.2 16 16 16l80 0 0 48c0 26.5-21.5 48-48 48L48 512c-26.5 0-48-21.5-48-48L0 48z\"]\n};\nconst faUserLarge = {\n prefix: 'fas',\n iconName: 'user-large',\n icon: [512, 512, [\"user-alt\"], \"f406\", \"M256 288A144 144 0 1 0 256 0a144 144 0 1 0 0 288zm-94.7 32C72.2 320 0 392.2 0 481.3c0 17 13.8 30.7 30.7 30.7l450.6 0c17 0 30.7-13.8 30.7-30.7C512 392.2 439.8 320 350.7 320l-189.4 0z\"]\n};\nconst faUserAlt = faUserLarge;\nconst faTrainTram = {\n prefix: 'fas',\n iconName: 'train-tram',\n icon: [448, 512, [128650], \"e5b4\", \"M86.8 48c-12.2 0-23.6 5.5-31.2 15L42.7 79C34.5 89.3 19.4 91 9 82.7S-3 59.4 5.3 49L18 33C34.7 12.2 60 0 86.8 0L361.2 0c26.7 0 52 12.2 68.7 33l12.8 16c8.3 10.4 6.6 25.5-3.8 33.7s-25.5 6.6-33.7-3.7L392.5 63c-7.6-9.5-19.1-15-31.2-15L248 48l0 48 40 0c53 0 96 43 96 96l0 160c0 30.6-14.3 57.8-36.6 75.4l65.5 65.5c7.1 7.1 2.1 19.1-7.9 19.1l-39.7 0c-8.5 0-16.6-3.4-22.6-9.4L288 448l-128 0-54.6 54.6c-6 6-14.1 9.4-22.6 9.4L43 512c-10 0-15-12.1-7.9-19.1l65.5-65.5C78.3 409.8 64 382.6 64 352l0-160c0-53 43-96 96-96l40 0 0-48L86.8 48zM160 160c-17.7 0-32 14.3-32 32l0 32c0 17.7 14.3 32 32 32l128 0c17.7 0 32-14.3 32-32l0-32c0-17.7-14.3-32-32-32l-128 0zm32 192a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm96 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nconst faUserNurse = {\n prefix: 'fas',\n iconName: 'user-nurse',\n icon: [448, 512, [], \"f82f\", \"M96 128l0-57.8c0-13.3 8.3-25.3 20.8-30l96-36c7.2-2.7 15.2-2.7 22.5 0l96 36c12.5 4.7 20.8 16.6 20.8 30l0 57.8-.3 0c.2 2.6 .3 5.3 .3 8l0 40c0 70.7-57.3 128-128 128s-128-57.3-128-128l0-40c0-2.7 .1-5.4 .3-8l-.3 0zm48 48c0 44.2 35.8 80 80 80s80-35.8 80-80l0-16-160 0 0 16zM111.9 327.7c10.5-3.4 21.8 .4 29.4 8.5l71 75.5c6.3 6.7 17 6.7 23.3 0l71-75.5c7.6-8.1 18.9-11.9 29.4-8.5C401 348.6 448 409.4 448 481.3c0 17-13.8 30.7-30.7 30.7L30.7 512C13.8 512 0 498.2 0 481.3c0-71.9 47-132.7 111.9-153.6zM208 48l0 16-16 0c-4.4 0-8 3.6-8 8l0 16c0 4.4 3.6 8 8 8l16 0 0 16c0 4.4 3.6 8 8 8l16 0c4.4 0 8-3.6 8-8l0-16 16 0c4.4 0 8-3.6 8-8l0-16c0-4.4-3.6-8-8-8l-16 0 0-16c0-4.4-3.6-8-8-8l-16 0c-4.4 0-8 3.6-8 8z\"]\n};\nconst faSyringe = {\n prefix: 'fas',\n iconName: 'syringe',\n icon: [512, 512, [128137], \"f48e\", \"M441 7l32 32 32 32c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-15-15L417.9 128l55 55c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-72-72L295 73c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l55 55L422.1 56 407 41c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0zM210.3 155.7l61.1-61.1c.3 .3 .6 .7 1 1l16 16 56 56 56 56 16 16c.3 .3 .6 .6 1 1l-191 191c-10.5 10.5-24.7 16.4-39.6 16.4l-88.8 0L41 505c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l57-57 0-88.8c0-14.9 5.9-29.1 16.4-39.6l43.3-43.3 57 57c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-57-57 41.4-41.4 57 57c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-57-57z\"]\n};\nconst faCloudSun = {\n prefix: 'fas',\n iconName: 'cloud-sun',\n icon: [640, 512, [9925], \"f6c4\", \"M294.2 1.2c5.1 2.1 8.7 6.7 9.6 12.1l14.1 84.7 84.7 14.1c5.4 .9 10 4.5 12.1 9.6s1.5 10.9-1.6 15.4l-38.5 55c-2.2-.1-4.4-.2-6.7-.2c-23.3 0-45.1 6.2-64 17.1l0-1.1c0-53-43-96-96-96s-96 43-96 96s43 96 96 96c8.1 0 15.9-1 23.4-2.9c-36.6 18.1-63.3 53.1-69.8 94.9l-24.4 17c-4.5 3.2-10.3 3.8-15.4 1.6s-8.7-6.7-9.6-12.1L98.1 317.9 13.4 303.8c-5.4-.9-10-4.5-12.1-9.6s-1.5-10.9 1.6-15.4L52.5 208 2.9 137.2c-3.2-4.5-3.8-10.3-1.6-15.4s6.7-8.7 12.1-9.6L98.1 98.1l14.1-84.7c.9-5.4 4.5-10 9.6-12.1s10.9-1.5 15.4 1.6L208 52.5 278.8 2.9c4.5-3.2 10.3-3.8 15.4-1.6zM144 208a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zM639.9 431.9c0 44.2-35.8 80-80 80l-271.9 0c-53 0-96-43-96-96c0-47.6 34.6-87 80-94.6l0-1.3c0-53 43-96 96-96c34.9 0 65.4 18.6 82.2 46.4c13-9.1 28.8-14.4 45.8-14.4c44.2 0 80 35.8 80 80c0 5.9-.6 11.7-1.9 17.2c37.4 6.7 65.8 39.4 65.8 78.7z\"]\n};\nconst faStopwatch20 = {\n prefix: 'fas',\n iconName: 'stopwatch-20',\n icon: [448, 512, [], \"e06f\", \"M176 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l16 0 0 34.4C92.3 113.8 16 200 16 304c0 114.9 93.1 208 208 208s208-93.1 208-208c0-41.8-12.3-80.7-33.5-113.2l24.1-24.1c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L355.7 143c-28.1-23-62.2-38.8-99.7-44.6L256 64l16 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L176 0zM288 204c28.7 0 52 23.3 52 52l0 96c0 28.7-23.3 52-52 52s-52-23.3-52-52l0-96c0-28.7 23.3-52 52-52zm-12 52l0 96c0 6.6 5.4 12 12 12s12-5.4 12-12l0-96c0-6.6-5.4-12-12-12s-12 5.4-12 12zM159.5 244c-5.4 0-10.2 3.5-11.9 8.6l-.6 1.7c-3.5 10.5-14.8 16.1-25.3 12.6s-16.1-14.8-12.6-25.3l.6-1.7c7.2-21.5 27.2-35.9 49.8-35.9c29 0 52.5 23.5 52.5 52.5l0 2.2c0 13.4-4.9 26.4-13.8 36.4l-39 43.9c-6.2 7-10 15.7-10.9 24.9l43.8 0c11 0 20 9 20 20s-9 20-20 20l-64 0c-11 0-20-9-20-20l0-15.7c0-20.6 7.5-40.4 21.2-55.8l39-43.9c2.4-2.7 3.7-6.2 3.7-9.8l0-2.2c0-6.9-5.6-12.5-12.5-12.5z\"]\n};\nconst faSquareFull = {\n prefix: 'fas',\n iconName: 'square-full',\n icon: [512, 512, [128997, 128998, 128999, 129000, 129001, 129002, 129003, 11035, 11036], \"f45c\", \"M0 0H512V512H0V0z\"]\n};\nconst faMagnet = {\n prefix: 'fas',\n iconName: 'magnet',\n icon: [448, 512, [129522], \"f076\", \"M0 160l0 96C0 379.7 100.3 480 224 480s224-100.3 224-224l0-96-128 0 0 96c0 53-43 96-96 96s-96-43-96-96l0-96L0 160zm0-32l128 0 0-64c0-17.7-14.3-32-32-32L32 32C14.3 32 0 46.3 0 64l0 64zm320 0l128 0 0-64c0-17.7-14.3-32-32-32l-64 0c-17.7 0-32 14.3-32 32l0 64z\"]\n};\nconst faJar = {\n prefix: 'fas',\n iconName: 'jar',\n icon: [320, 512, [], \"e516\", \"M32 32C32 14.3 46.3 0 64 0L256 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L64 64C46.3 64 32 49.7 32 32zM0 160c0-35.3 28.7-64 64-64l192 0c35.3 0 64 28.7 64 64l0 288c0 35.3-28.7 64-64 64L64 512c-35.3 0-64-28.7-64-64L0 160zm96 64c-17.7 0-32 14.3-32 32l0 96c0 17.7 14.3 32 32 32l128 0c17.7 0 32-14.3 32-32l0-96c0-17.7-14.3-32-32-32L96 224z\"]\n};\nconst faNoteSticky = {\n prefix: 'fas',\n iconName: 'note-sticky',\n icon: [448, 512, [62026, \"sticky-note\"], \"f249\", \"M64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l224 0 0-112c0-26.5 21.5-48 48-48l112 0 0-224c0-35.3-28.7-64-64-64L64 32zM448 352l-45.3 0L336 352c-8.8 0-16 7.2-16 16l0 66.7 0 45.3 32-32 64-64 32-32z\"]\n};\nconst faStickyNote = faNoteSticky;\nconst faBugSlash = {\n prefix: 'fas',\n iconName: 'bug-slash',\n icon: [640, 512, [], \"e490\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L477.4 348.9c1.7-9.4 2.6-19 2.6-28.9l64 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-64.3 0c-1.1-14.1-5-27.5-11.1-39.5c.7-.6 1.4-1.2 2.1-1.9l64-64c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-64 64c-.7 .7-1.3 1.4-1.9 2.1C409.2 164.1 393.1 160 376 160l-112 0c-8.3 0-16.3 1-24 2.8L38.8 5.1zM320 0c-53 0-96 43-96 96l0 3.6c0 15.7 12.7 28.4 28.4 28.4l135.1 0c15.7 0 28.4-12.7 28.4-28.4l0-3.6c0-53-43-96-96-96zM160.3 256L96 256c-17.7 0-32 14.3-32 32s14.3 32 32 32l64 0c0 24.6 5.5 47.8 15.4 68.6c-2.2 1.3-4.2 2.9-6 4.8l-64 64c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l63.1-63.1c24.5 21.8 55.8 36.2 90.3 39.6l0-143.7L166.7 227.3c-3.4 9-5.6 18.7-6.4 28.7zM336 479.2c36.6-3.6 69.7-19.6 94.8-43.8L336 360.7l0 118.5z\"]\n};\nconst faArrowUpFromWaterPump = {\n prefix: 'fas',\n iconName: 'arrow-up-from-water-pump',\n icon: [576, 512, [], \"e4b6\", \"M112 0C85.5 0 64 21.5 64 48l0 208-16 0c-26.5 0-48 21.5-48 48l0 96c0 8 2 15.6 5.4 22.2c3.8-1.7 7.8-3.1 12-4.1c13.1-3.1 26.7-9.8 37.3-18.6c22.2-18.7 54.3-20.1 78.1-3.4c18 12.4 40.1 20.3 59.2 20.3c21.1 0 42-8.5 59.2-20.3c22.1-15.5 51.6-15.5 73.7 0c18.4 12.7 39.6 20.3 59.2 20.3c19 0 41.2-7.9 59.2-20.3c23.8-16.7 55.8-15.3 78.1 3.4c10.6 8.8 24.2 15.6 37.3 18.6c4.2 1 8.2 2.4 12 4.1C574 415.6 576 408 576 400l0-96c0-26.5-21.5-48-48-48l-48 0 0-146.7 25.4 25.4c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-80-80c-12.5-12.5-32.8-12.5-45.3 0l-80 80c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L416 109.3 416 256l-128 0 0-208c0-26.5-21.5-48-48-48L112 0zM306.5 421.9c-11.1-7.9-25.9-7.9-37 0C247 437.4 219.5 448 192 448c-26.9 0-55.3-10.8-77.4-26.1c0 0 0 0 0 0c-11.9-8.5-28.1-7.8-39.2 1.7c-14.4 11.9-32.5 21-50.6 25.2c-17.2 4-27.9 21.2-23.9 38.4s21.2 27.9 38.4 23.9c24.5-5.7 44.9-16.5 58.2-25C126.5 501.7 159 512 192 512c31.9 0 60.6-9.9 80.4-18.9c5.8-2.7 11.1-5.3 15.6-7.7c4.5 2.4 9.7 5.1 15.6 7.7c19.8 9 48.5 18.9 80.4 18.9c33 0 65.5-10.3 94.5-25.8c13.4 8.4 33.7 19.3 58.2 25c17.2 4 34.4-6.7 38.4-23.9s-6.7-34.4-23.9-38.4c-18.1-4.2-36.2-13.3-50.6-25.2c-11.1-9.4-27.3-10.1-39.2-1.7c0 0 0 0 0 0C439.4 437.2 410.9 448 384 448c-27.5 0-55-10.6-77.5-26.1z\"]\n};\nconst faBone = {\n prefix: 'fas',\n iconName: 'bone',\n icon: [576, 512, [129460], \"f5d7\", \"M153.7 144.8c6.9 16.3 20.6 31.2 38.3 31.2l192 0c17.7 0 31.4-14.9 38.3-31.2C434.4 116.1 462.9 96 496 96c44.2 0 80 35.8 80 80c0 30.4-17 56.9-42 70.4c-3.6 1.9-6 5.5-6 9.6s2.4 7.7 6 9.6c25 13.5 42 40 42 70.4c0 44.2-35.8 80-80 80c-33.1 0-61.6-20.1-73.7-48.8C415.4 350.9 401.7 336 384 336l-192 0c-17.7 0-31.4 14.9-38.3 31.2C141.6 395.9 113.1 416 80 416c-44.2 0-80-35.8-80-80c0-30.4 17-56.9 42-70.4c3.6-1.9 6-5.5 6-9.6s-2.4-7.7-6-9.6C17 232.9 0 206.4 0 176c0-44.2 35.8-80 80-80c33.1 0 61.6 20.1 73.7 48.8z\"]\n};\nconst faTableCellsRowUnlock = {\n prefix: 'fas',\n iconName: 'table-cells-row-unlock',\n icon: [640, 512, [], \"e691\", \"M0 96C0 60.7 28.7 32 64 32l384 0c35.3 0 64 28.7 64 64l0 65.1c-37.8 5.4-69.4 29.6-85.2 62.9L360 224l0 64 56 0 0 8.6c-19.1 11.1-32 31.7-32 55.4l-24 0 0 64 24 0 0 64L64 480c-35.3 0-64-28.7-64-64L0 96zM64 224l0 64 88 0 0-64-88 0zm232 0l-88 0 0 64 88 0 0-64zM152 352l-88 0 0 64 88 0 0-64zm56 0l0 64 88 0 0-64-88 0zm288-80l0 48 32 0 32 0 48 0c17.7 0 32 14.3 32 32l0 128c0 17.7-14.3 32-32 32l-160 0c-17.7 0-32-14.3-32-32l0-128c0-17.7 14.3-32 32-32l0-48c0-44.2 35.8-80 80-80s80 35.8 80 80l-48 0c0-17.7-14.3-32-32-32s-32 14.3-32 32z\"]\n};\nconst faUserInjured = {\n prefix: 'fas',\n iconName: 'user-injured',\n icon: [448, 512, [], \"f728\", \"M240 80l102.7 0c-7.9-19.5-20.4-36.5-36.2-49.9L240 80zm37.7-68.2C261.3 4.2 243.2 0 224 0c-53.7 0-99.7 33.1-118.7 80l81.4 0 91-68.2zM224 256c70.7 0 128-57.3 128-128c0-5.4-.3-10.8-1-16L97 112c-.7 5.2-1 10.6-1 16c0 70.7 57.3 128 128 128zM124 312.4c-9.7 3.1-19.1 7-28 11.7L96 512l147.7 0L181.5 408.2 124 312.4zm33-7.2L204.3 384l67.7 0c44.2 0 80 35.8 80 80c0 18-6 34.6-16 48l82.3 0c16.4 0 29.7-13.3 29.7-29.7C448 383.8 368.2 304 269.7 304l-91.4 0c-7.2 0-14.3 .4-21.3 1.3zM0 482.3C0 498.7 13.3 512 29.7 512L64 512l0-166.6C24.9 378.1 0 427.3 0 482.3zM320 464c0-26.5-21.5-48-48-48l-48.5 0 57.1 95.2C303 507.2 320 487.6 320 464z\"]\n};\nconst faFaceSadTear = {\n prefix: 'fas',\n iconName: 'face-sad-tear',\n icon: [512, 512, [128546, \"sad-tear\"], \"f5b4\", \"M0 256a256 256 0 1 0 512 0A256 256 0 1 0 0 256zm240 80c0-8.8 7.2-16 16-16c45 0 85.6 20.5 115.7 53.1c6 6.5 5.6 16.6-.9 22.6s-16.6 5.6-22.6-.9c-25-27.1-57.4-42.9-92.3-42.9c-8.8 0-16-7.2-16-16zm-80 80c-26.5 0-48-21-48-47c0-20 28.6-60.4 41.6-77.7c3.2-4.4 9.6-4.4 12.8 0C179.6 308.6 208 349 208 369c0 26-21.5 47-48 47zM367.6 208a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zm-192-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nconst faSadTear = faFaceSadTear;\nconst faPlane = {\n prefix: 'fas',\n iconName: 'plane',\n icon: [576, 512, [], \"f072\", \"M482.3 192c34.2 0 93.7 29 93.7 64c0 36-59.5 64-93.7 64l-116.6 0L265.2 495.9c-5.7 10-16.3 16.1-27.8 16.1l-56.2 0c-10.6 0-18.3-10.2-15.4-20.4l49-171.6L112 320 68.8 377.6c-3 4-7.8 6.4-12.8 6.4l-42 0c-7.8 0-14-6.3-14-14c0-1.3 .2-2.6 .5-3.9L32 256 .5 145.9c-.4-1.3-.5-2.6-.5-3.9c0-7.8 6.3-14 14-14l42 0c5 0 9.8 2.4 12.8 6.4L112 192l102.9 0-49-171.6C162.9 10.2 170.6 0 181.2 0l56.2 0c11.5 0 22.1 6.2 27.8 16.1L365.7 192l116.6 0z\"]\n};\nconst faTentArrowsDown = {\n prefix: 'fas',\n iconName: 'tent-arrows-down',\n icon: [576, 512, [], \"e581\", \"M209.8 111.9c-8.9-9.9-24-10.7-33.9-1.8l-39.9 36L136 24c0-13.3-10.7-24-24-24S88 10.7 88 24l0 122.1-39.9-36c-9.9-8.9-25-8.1-33.9 1.8s-8.1 25 1.8 33.9l80 72c9.1 8.2 23 8.2 32.1 0l80-72c9.9-8.9 10.7-24 1.8-33.9zm352 0c-8.9-9.9-24-10.7-33.9-1.8l-39.9 36L488 24c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 122.1-39.9-36c-9.9-8.9-25-8.1-33.9 1.8s-8.1 25 1.8 33.9l80 72c9.1 8.2 23 8.2 32.1 0l80-72c9.9-8.9 10.7-24 1.8-33.9zM307.4 166.5c-11.5-8.7-27.3-8.7-38.8 0l-168 128c-6.6 5-11 12.5-12.3 20.7l-24 160c-1.4 9.2 1.3 18.6 7.4 25.6S86.7 512 96 512l144 0 16 0c17.7 0 32-14.3 32-32l0-118.1c0-5.5 4.4-9.9 9.9-9.9c3.7 0 7.2 2.1 8.8 5.5l68.4 136.8c5.4 10.8 16.5 17.7 28.6 17.7l60.2 0 16 0c9.3 0 18.2-4.1 24.2-11.1s8.8-16.4 7.4-25.6l-24-160c-1.2-8.2-5.6-15.7-12.3-20.7l-168-128z\"]\n};\nconst faExclamation = {\n prefix: 'fas',\n iconName: 'exclamation',\n icon: [128, 512, [10069, 10071, 61738], \"21\", \"M96 64c0-17.7-14.3-32-32-32S32 46.3 32 64l0 256c0 17.7 14.3 32 32 32s32-14.3 32-32L96 64zM64 480a40 40 0 1 0 0-80 40 40 0 1 0 0 80z\"]\n};\nconst faArrowsSpin = {\n prefix: 'fas',\n iconName: 'arrows-spin',\n icon: [512, 512, [], \"e4bb\", \"M256 96c38.4 0 73.7 13.5 101.3 36.1l-32.6 32.6c-4.6 4.6-5.9 11.5-3.5 17.4s8.3 9.9 14.8 9.9l112 0c8.8 0 16-7.2 16-16l0-112c0-6.5-3.9-12.3-9.9-14.8s-12.9-1.1-17.4 3.5l-34 34C363.4 52.6 312.1 32 256 32c-10.9 0-21.5 .8-32 2.3l0 64.9c10.3-2.1 21-3.2 32-3.2zM132.1 154.7l32.6 32.6c4.6 4.6 11.5 5.9 17.4 3.5s9.9-8.3 9.9-14.8l0-112c0-8.8-7.2-16-16-16L64 48c-6.5 0-12.3 3.9-14.8 9.9s-1.1 12.9 3.5 17.4l34 34C52.6 148.6 32 199.9 32 256c0 10.9 .8 21.5 2.3 32l64.9 0c-2.1-10.3-3.2-21-3.2-32c0-38.4 13.5-73.7 36.1-101.3zM477.7 224l-64.9 0c2.1 10.3 3.2 21 3.2 32c0 38.4-13.5 73.7-36.1 101.3l-32.6-32.6c-4.6-4.6-11.5-5.9-17.4-3.5s-9.9 8.3-9.9 14.8l0 112c0 8.8 7.2 16 16 16l112 0c6.5 0 12.3-3.9 14.8-9.9s1.1-12.9-3.5-17.4l-34-34C459.4 363.4 480 312.1 480 256c0-10.9-.8-21.5-2.3-32zM256 416c-38.4 0-73.7-13.5-101.3-36.1l32.6-32.6c4.6-4.6 5.9-11.5 3.5-17.4s-8.3-9.9-14.8-9.9L64 320c-8.8 0-16 7.2-16 16l0 112c0 6.5 3.9 12.3 9.9 14.8s12.9 1.1 17.4-3.5l34-34C148.6 459.4 199.9 480 256 480c10.9 0 21.5-.8 32-2.3l0-64.9c-10.3 2.1-21 3.2-32 3.2z\"]\n};\nconst faPrint = {\n prefix: 'fas',\n iconName: 'print',\n icon: [512, 512, [128424, 128438, 9113], \"f02f\", \"M128 0C92.7 0 64 28.7 64 64l0 96 64 0 0-96 226.7 0L384 93.3l0 66.7 64 0 0-66.7c0-17-6.7-33.3-18.7-45.3L400 18.7C388 6.7 371.7 0 354.7 0L128 0zM384 352l0 32 0 64-256 0 0-64 0-16 0-16 256 0zm64 32l32 0c17.7 0 32-14.3 32-32l0-96c0-35.3-28.7-64-64-64L64 192c-35.3 0-64 28.7-64 64l0 96c0 17.7 14.3 32 32 32l32 0 0 64c0 35.3 28.7 64 64 64l256 0c35.3 0 64-28.7 64-64l0-64zM432 248a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nconst faTurkishLiraSign = {\n prefix: 'fas',\n iconName: 'turkish-lira-sign',\n icon: [384, 512, [\"try\", \"turkish-lira\"], \"e2bb\", \"M96 32c17.7 0 32 14.3 32 32l0 35.3L247.2 65.2c17-4.9 34.7 5 39.6 22s-5 34.7-22 39.6L128 165.9l0 29.4 119.2-34.1c17-4.9 34.7 5 39.6 22s-5 34.7-22 39.6L128 261.9 128 416l63.8 0c68.2 0 124.4-53.5 127.8-121.6l.4-8c.9-17.7 15.9-31.2 33.6-30.4s31.2 15.9 30.4 33.6l-.4 8C378.5 399.8 294.1 480 191.8 480L96 480c-17.7 0-32-14.3-32-32l0-167.9-23.2 6.6c-17 4.9-34.7-5-39.6-22s5-34.7 22-39.6L64 213.6l0-29.4-23.2 6.6c-17 4.9-34.7-5-39.6-22s5-34.7 22-39.6L64 117.6 64 64c0-17.7 14.3-32 32-32z\"]\n};\nconst faTry = faTurkishLiraSign;\nconst faTurkishLira = faTurkishLiraSign;\nconst faDollarSign = {\n prefix: 'fas',\n iconName: 'dollar-sign',\n icon: [320, 512, [128178, 61781, \"dollar\", \"usd\"], \"24\", \"M160 0c17.7 0 32 14.3 32 32l0 35.7c1.6 .2 3.1 .4 4.7 .7c.4 .1 .7 .1 1.1 .2l48 8.8c17.4 3.2 28.9 19.9 25.7 37.2s-19.9 28.9-37.2 25.7l-47.5-8.7c-31.3-4.6-58.9-1.5-78.3 6.2s-27.2 18.3-29 28.1c-2 10.7-.5 16.7 1.2 20.4c1.8 3.9 5.5 8.3 12.8 13.2c16.3 10.7 41.3 17.7 73.7 26.3l2.9 .8c28.6 7.6 63.6 16.8 89.6 33.8c14.2 9.3 27.6 21.9 35.9 39.5c8.5 17.9 10.3 37.9 6.4 59.2c-6.9 38-33.1 63.4-65.6 76.7c-13.7 5.6-28.6 9.2-44.4 11l0 33.4c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-34.9c-.4-.1-.9-.1-1.3-.2l-.2 0s0 0 0 0c-24.4-3.8-64.5-14.3-91.5-26.3c-16.1-7.2-23.4-26.1-16.2-42.2s26.1-23.4 42.2-16.2c20.9 9.3 55.3 18.5 75.2 21.6c31.9 4.7 58.2 2 76-5.3c16.9-6.9 24.6-16.9 26.8-28.9c1.9-10.6 .4-16.7-1.3-20.4c-1.9-4-5.6-8.4-13-13.3c-16.4-10.7-41.5-17.7-74-26.3l-2.8-.7s0 0 0 0C119.4 279.3 84.4 270 58.4 253c-14.2-9.3-27.5-22-35.8-39.6c-8.4-17.9-10.1-37.9-6.1-59.2C23.7 116 52.3 91.2 84.8 78.3c13.3-5.3 27.9-8.9 43.2-11L128 32c0-17.7 14.3-32 32-32z\"]\n};\nconst faDollar = faDollarSign;\nconst faUsd = faDollarSign;\nconst faX = {\n prefix: 'fas',\n iconName: 'x',\n icon: [384, 512, [120], \"58\", \"M376.6 84.5c11.3-13.6 9.5-33.8-4.1-45.1s-33.8-9.5-45.1 4.1L192 206 56.6 43.5C45.3 29.9 25.1 28.1 11.5 39.4S-3.9 70.9 7.4 84.5L150.3 256 7.4 427.5c-11.3 13.6-9.5 33.8 4.1 45.1s33.8 9.5 45.1-4.1L192 306 327.4 468.5c11.3 13.6 31.5 15.4 45.1 4.1s15.4-31.5 4.1-45.1L233.7 256 376.6 84.5z\"]\n};\nconst faMagnifyingGlassDollar = {\n prefix: 'fas',\n iconName: 'magnifying-glass-dollar',\n icon: [512, 512, [\"search-dollar\"], \"f688\", \"M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376c-34.4 25.2-76.8 40-122.7 40C93.1 416 0 322.9 0 208S93.1 0 208 0S416 93.1 416 208zM228 104c0-11-9-20-20-20s-20 9-20 20l0 14c-7.6 1.7-15.2 4.4-22.2 8.5c-13.9 8.3-25.9 22.8-25.8 43.9c.1 20.3 12 33.1 24.7 40.7c11 6.6 24.7 10.8 35.6 14l1.7 .5c12.6 3.8 21.8 6.8 28 10.7c5.1 3.2 5.8 5.4 5.9 8.2c.1 5-1.8 8-5.9 10.5c-5 3.1-12.9 5-21.4 4.7c-11.1-.4-21.5-3.9-35.1-8.5c-2.3-.8-4.7-1.6-7.2-2.4c-10.5-3.5-21.8 2.2-25.3 12.6s2.2 21.8 12.6 25.3c1.9 .6 4 1.3 6.1 2.1c0 0 0 0 0 0s0 0 0 0c8.3 2.9 17.9 6.2 28.2 8.4l0 14.6c0 11 9 20 20 20s20-9 20-20l0-13.8c8-1.7 16-4.5 23.2-9c14.3-8.9 25.1-24.1 24.8-45c-.3-20.3-11.7-33.4-24.6-41.6c-11.5-7.2-25.9-11.6-37.1-15l-.7-.2c-12.8-3.9-21.9-6.7-28.3-10.5c-5.2-3.1-5.3-4.9-5.3-6.7c0-3.7 1.4-6.5 6.2-9.3c5.4-3.2 13.6-5.1 21.5-5c9.6 .1 20.2 2.2 31.2 5.2c10.7 2.8 21.6-3.5 24.5-14.2s-3.5-21.6-14.2-24.5c-6.5-1.7-13.7-3.4-21.1-4.7l0-13.9z\"]\n};\nconst faSearchDollar = faMagnifyingGlassDollar;\nconst faUsersGear = {\n prefix: 'fas',\n iconName: 'users-gear',\n icon: [640, 512, [\"users-cog\"], \"f509\", \"M144 160A80 80 0 1 0 144 0a80 80 0 1 0 0 160zm368 0A80 80 0 1 0 512 0a80 80 0 1 0 0 160zM0 298.7C0 310.4 9.6 320 21.3 320l213.3 0c.2 0 .4 0 .7 0c-26.6-23.5-43.3-57.8-43.3-96c0-7.6 .7-15 1.9-22.3c-13.6-6.3-28.7-9.7-44.6-9.7l-42.7 0C47.8 192 0 239.8 0 298.7zM320 320c24 0 45.9-8.8 62.7-23.3c2.5-3.7 5.2-7.3 8-10.7c2.7-3.3 5.7-6.1 9-8.3C410 262.3 416 243.9 416 224c0-53-43-96-96-96s-96 43-96 96s43 96 96 96zm65.4 60.2c-10.3-5.9-18.1-16.2-20.8-28.2l-103.2 0C187.7 352 128 411.7 128 485.3c0 14.7 11.9 26.7 26.7 26.7l300.6 0c-2.1-5.2-3.2-10.9-3.2-16.4l0-3c-1.3-.7-2.7-1.5-4-2.3l-2.6 1.5c-16.8 9.7-40.5 8-54.7-9.7c-4.5-5.6-8.6-11.5-12.4-17.6l-.1-.2-.1-.2-2.4-4.1-.1-.2-.1-.2c-3.4-6.2-6.4-12.6-9-19.3c-8.2-21.2 2.2-42.6 19-52.3l2.7-1.5c0-.8 0-1.5 0-2.3s0-1.5 0-2.3l-2.7-1.5zM533.3 192l-42.7 0c-15.9 0-31 3.5-44.6 9.7c1.3 7.2 1.9 14.7 1.9 22.3c0 17.4-3.5 33.9-9.7 49c2.5 .9 4.9 2 7.1 3.3l2.6 1.5c1.3-.8 2.6-1.6 4-2.3l0-3c0-19.4 13.3-39.1 35.8-42.6c7.9-1.2 16-1.9 24.2-1.9s16.3 .6 24.2 1.9c22.5 3.5 35.8 23.2 35.8 42.6l0 3c1.3 .7 2.7 1.5 4 2.3l2.6-1.5c16.8-9.7 40.5-8 54.7 9.7c2.3 2.8 4.5 5.8 6.6 8.7c-2.1-57.1-49-102.7-106.6-102.7zm91.3 163.9c6.3-3.6 9.5-11.1 6.8-18c-2.1-5.5-4.6-10.8-7.4-15.9l-2.3-4c-3.1-5.1-6.5-9.9-10.2-14.5c-4.6-5.7-12.7-6.7-19-3l-2.9 1.7c-9.2 5.3-20.4 4-29.6-1.3s-16.1-14.5-16.1-25.1l0-3.4c0-7.3-4.9-13.8-12.1-14.9c-6.5-1-13.1-1.5-19.9-1.5s-13.4 .5-19.9 1.5c-7.2 1.1-12.1 7.6-12.1 14.9l0 3.4c0 10.6-6.9 19.8-16.1 25.1s-20.4 6.6-29.6 1.3l-2.9-1.7c-6.3-3.6-14.4-2.6-19 3c-3.7 4.6-7.1 9.5-10.2 14.6l-2.3 3.9c-2.8 5.1-5.3 10.4-7.4 15.9c-2.6 6.8 .5 14.3 6.8 17.9l2.9 1.7c9.2 5.3 13.7 15.8 13.7 26.4s-4.5 21.1-13.7 26.4l-3 1.7c-6.3 3.6-9.5 11.1-6.8 17.9c2.1 5.5 4.6 10.7 7.4 15.8l2.4 4.1c3 5.1 6.4 9.9 10.1 14.5c4.6 5.7 12.7 6.7 19 3l2.9-1.7c9.2-5.3 20.4-4 29.6 1.3s16.1 14.5 16.1 25.1l0 3.4c0 7.3 4.9 13.8 12.1 14.9c6.5 1 13.1 1.5 19.9 1.5s13.4-.5 19.9-1.5c7.2-1.1 12.1-7.6 12.1-14.9l0-3.4c0-10.6 6.9-19.8 16.1-25.1s20.4-6.6 29.6-1.3l2.9 1.7c6.3 3.6 14.4 2.6 19-3c3.7-4.6 7.1-9.4 10.1-14.5l2.4-4.2c2.8-5.1 5.3-10.3 7.4-15.8c2.6-6.8-.5-14.3-6.8-17.9l-3-1.7c-9.2-5.3-13.7-15.8-13.7-26.4s4.5-21.1 13.7-26.4l3-1.7zM472 384a40 40 0 1 1 80 0 40 40 0 1 1 -80 0z\"]\n};\nconst faUsersCog = faUsersGear;\nconst faPersonMilitaryPointing = {\n prefix: 'fas',\n iconName: 'person-military-pointing',\n icon: [576, 512, [], \"e54a\", \"M246.9 14.1C234 15.2 224 26 224 39c0 13.8 11.2 25 25 25l151 0c8.8 0 16-7.2 16-16l0-30.6C416 8 408 .7 398.7 1.4L246.9 14.1zM240 112c0 44.2 35.8 80 80 80s80-35.8 80-80c0-5.5-.6-10.8-1.6-16L241.6 96c-1 5.2-1.6 10.5-1.6 16zM72 224c-22.1 0-40 17.9-40 40s17.9 40 40 40l152 0 0 89.4L386.8 230.5c-13.3-4.3-27.3-6.5-41.6-6.5L240 224 72 224zm345.7 20.9L246.6 416 416 416l0-46.3 53.6 90.6c11.2 19 35.8 25.3 54.8 14.1s25.3-35.8 14.1-54.8L462.3 290.8c-11.2-18.9-26.6-34.5-44.6-45.9zM224 448l0 32c0 17.7 14.3 32 32 32l128 0c17.7 0 32-14.3 32-32l0-32-192 0z\"]\n};\nconst faBuildingColumns = {\n prefix: 'fas',\n iconName: 'building-columns',\n icon: [512, 512, [\"bank\", \"institution\", \"museum\", \"university\"], \"f19c\", \"M243.4 2.6l-224 96c-14 6-21.8 21-18.7 35.8S16.8 160 32 160l0 8c0 13.3 10.7 24 24 24l400 0c13.3 0 24-10.7 24-24l0-8c15.2 0 28.3-10.7 31.3-25.6s-4.8-29.9-18.7-35.8l-224-96c-8-3.4-17.2-3.4-25.2 0zM128 224l-64 0 0 196.3c-.6 .3-1.2 .7-1.8 1.1l-48 32c-11.7 7.8-17 22.4-12.9 35.9S17.9 512 32 512l448 0c14.1 0 26.5-9.2 30.6-22.7s-1.1-28.1-12.9-35.9l-48-32c-.6-.4-1.2-.7-1.8-1.1L448 224l-64 0 0 192-40 0 0-192-64 0 0 192-48 0 0-192-64 0 0 192-40 0 0-192zM256 64a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nconst faBank = faBuildingColumns;\nconst faInstitution = faBuildingColumns;\nconst faMuseum = faBuildingColumns;\nconst faUniversity = faBuildingColumns;\nconst faUmbrella = {\n prefix: 'fas',\n iconName: 'umbrella',\n icon: [576, 512, [], \"f0e9\", \"M288 0c17.7 0 32 14.3 32 32l0 17.7C451.8 63.4 557.7 161 573.9 285.9c2 15.6-17.3 24.4-27.8 12.7C532.1 283 504.8 272 480 272c-38.7 0-71 27.5-78.4 64.1c-1.7 8.7-8.7 15.9-17.6 15.9s-15.8-7.2-17.6-15.9C359 299.5 326.7 272 288 272s-71 27.5-78.4 64.1c-1.7 8.7-8.7 15.9-17.6 15.9s-15.8-7.2-17.6-15.9C167 299.5 134.7 272 96 272c-24.8 0-52.1 11-66.1 26.7C19.4 310.4 .1 301.5 2.1 285.9C18.3 161 124.2 63.4 256 49.7L256 32c0-17.7 14.3-32 32-32zm0 304c12.3 0 23.5 4.6 32 12.2l0 114.3c0 45-36.5 81.4-81.4 81.4c-30.8 0-59-17.4-72.8-45l-2.3-4.7c-7.9-15.8-1.5-35 14.3-42.9s35-1.5 42.9 14.3l2.3 4.7c3 5.9 9 9.6 15.6 9.6c9.6 0 17.4-7.8 17.4-17.4l0-114.3c8.5-7.6 19.7-12.2 32-12.2z\"]\n};\nconst faTrowel = {\n prefix: 'fas',\n iconName: 'trowel',\n icon: [512, 512, [], \"e589\", \"M343.9 213.4L245.3 312l65.4 65.4c7.9 7.9 11.1 19.4 8.4 30.3s-10.8 19.6-21.5 22.9l-256 80c-11.4 3.5-23.8 .5-32.2-7.9S-2.1 481.8 1.5 470.5l80-256c3.3-10.7 12-18.9 22.9-21.5s22.4 .5 30.3 8.4L200 266.7l98.6-98.6c-14.3-14.6-14.2-38 .3-52.5l95.4-95.4c26.9-26.9 70.5-26.9 97.5 0s26.9 70.5 0 97.5l-95.4 95.4c-14.5 14.5-37.9 14.6-52.5 .3z\"]\n};\nconst faD = {\n prefix: 'fas',\n iconName: 'd',\n icon: [384, 512, [100], \"44\", \"M0 96C0 60.7 28.7 32 64 32l96 0c123.7 0 224 100.3 224 224s-100.3 224-224 224l-96 0c-35.3 0-64-28.7-64-64L0 96zm160 0L64 96l0 320 96 0c88.4 0 160-71.6 160-160s-71.6-160-160-160z\"]\n};\nconst faStapler = {\n prefix: 'fas',\n iconName: 'stapler',\n icon: [640, 512, [], \"e5af\", \"M640 299.3l0 4.7 0 128c0 26.5-21.5 48-48 48l-80 0-64 0L64 480c-17.7 0-32-14.3-32-32s14.3-32 32-32l384 0 0-48L96 368c-17.7 0-32-14.3-32-32l0-116.6L33.8 214C14.2 210.5 0 193.5 0 173.7c0-8.9 2.9-17.5 8.2-24.6l35.6-47.5C76.7 57.8 128.2 32 182.9 32c27 0 53.6 6.3 77.8 18.4L586.9 213.5C619.5 229.7 640 263 640 299.3zM448 304l0-16L128 230.9l0 73.1 320 0z\"]\n};\nconst faMasksTheater = {\n prefix: 'fas',\n iconName: 'masks-theater',\n icon: [640, 512, [127917, \"theater-masks\"], \"f630\", \"M74.6 373.2c41.7 36.1 108 82.5 166.1 73.7c6.1-.9 12.1-2.5 18-4.5c-9.2-12.3-17.3-24.4-24.2-35.4c-21.9-35-28.8-75.2-25.9-113.6c-20.6 4.1-39.2 13-54.7 25.4c-6.5 5.2-16.3 1.3-14.8-7c6.4-33.5 33-60.9 68.2-66.3c2.6-.4 5.3-.7 7.9-.8l19.4-131.3c2-13.8 8-32.7 25-45.9C278.2 53.2 310.5 37 363.2 32.2c-.8-.7-1.6-1.4-2.4-2.1C340.6 14.5 288.4-11.5 175.7 5.6S20.5 63 5.7 83.9C0 91.9-.8 102 .6 111.8L24.8 276.1c5.5 37.3 21.5 72.6 49.8 97.2zm87.7-219.6c4.4-3.1 10.8-2 11.8 3.3c.1 .5 .2 1.1 .3 1.6c3.2 21.8-11.6 42-33.1 45.3s-41.5-11.8-44.7-33.5c-.1-.5-.1-1.1-.2-1.6c-.6-5.4 5.2-8.4 10.3-6.7c9 3 18.8 3.9 28.7 2.4s19.1-5.3 26.8-10.8zM261.6 390c29.4 46.9 79.5 110.9 137.6 119.7s124.5-37.5 166.1-73.7c28.3-24.5 44.3-59.8 49.8-97.2l24.2-164.3c1.4-9.8 .6-19.9-5.1-27.9c-14.8-20.9-57.3-61.2-170-78.3S299.4 77.2 279.2 92.8c-7.8 6-11.5 15.4-12.9 25.2L242.1 282.3c-5.5 37.3-.4 75.8 19.6 107.7zM404.5 235.3c-7.7-5.5-16.8-9.3-26.8-10.8s-19.8-.6-28.7 2.4c-5.1 1.7-10.9-1.3-10.3-6.7c.1-.5 .1-1.1 .2-1.6c3.2-21.8 23.2-36.8 44.7-33.5s36.3 23.5 33.1 45.3c-.1 .5-.2 1.1-.3 1.6c-1 5.3-7.4 6.4-11.8 3.3zm136.2 15.5c-1 5.3-7.4 6.4-11.8 3.3c-7.7-5.5-16.8-9.3-26.8-10.8s-19.8-.6-28.7 2.4c-5.1 1.7-10.9-1.3-10.3-6.7c.1-.5 .1-1.1 .2-1.6c3.2-21.8 23.2-36.8 44.7-33.5s36.3 23.5 33.1 45.3c-.1 .5-.2 1.1-.3 1.6zM530 350.2c-19.6 44.7-66.8 72.5-116.8 64.9s-87.1-48.2-93-96.7c-1-8.3 8.9-12.1 15.2-6.7c23.9 20.8 53.6 35.3 87 40.3s66.1 .1 94.9-12.8c7.6-3.4 16 3.2 12.6 10.9z\"]\n};\nconst faTheaterMasks = faMasksTheater;\nconst faKipSign = {\n prefix: 'fas',\n iconName: 'kip-sign',\n icon: [384, 512, [], \"e1c4\", \"M340.8 88.3c13.4-11.5 15-31.7 3.5-45.1s-31.7-15-45.1-3.5L128 186.4 128 64c0-17.7-14.3-32-32-32S64 46.3 64 64l0 160-32 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l32 0 0 160c0 17.7 14.3 32 32 32s32-14.3 32-32l0-122.4L299.2 472.3c13.4 11.5 33.6 9.9 45.1-3.5s9.9-33.6-3.5-45.1L182.5 288 352 288c17.7 0 32-14.3 32-32s-14.3-32-32-32l-169.5 0L340.8 88.3z\"]\n};\nconst faHandPointLeft = {\n prefix: 'fas',\n iconName: 'hand-point-left',\n icon: [512, 512, [], \"f0a5\", \"M32 96C14.3 96 0 110.3 0 128s14.3 32 32 32l208 0 0-64L32 96zM192 288c-17.7 0-32 14.3-32 32s14.3 32 32 32l64 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-64 0zm-64-64c0 17.7 14.3 32 32 32l48 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-48 0c-17.7 0-32 14.3-32 32zm96 160c-17.7 0-32 14.3-32 32s14.3 32 32 32l64 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-64 0zm88-96l-.6 0c5.4 9.4 8.6 20.3 8.6 32c0 13.2-4 25.4-10.8 35.6c24.9 8.7 42.8 32.5 42.8 60.4c0 11.7-3.1 22.6-8.6 32l8.6 0c88.4 0 160-71.6 160-160l0-61.7c0-42.4-16.9-83.1-46.9-113.1l-11.6-11.6C429.5 77.5 396.9 64 363 64l-27 0c-35.3 0-64 28.7-64 64l0 88c0 22.1 17.9 40 40 40s40-17.9 40-40l0-56c0-8.8 7.2-16 16-16s16 7.2 16 16l0 56c0 39.8-32.2 72-72 72z\"]\n};\nconst faHandshakeSimple = {\n prefix: 'fas',\n iconName: 'handshake-simple',\n icon: [640, 512, [129309, \"handshake-alt\"], \"f4c6\", \"M323.4 85.2l-96.8 78.4c-16.1 13-19.2 36.4-7 53.1c12.9 17.8 38 21.3 55.3 7.8l99.3-77.2c7-5.4 17-4.2 22.5 2.8s4.2 17-2.8 22.5l-20.9 16.2L550.2 352l41.8 0c26.5 0 48-21.5 48-48l0-128c0-26.5-21.5-48-48-48l-76 0-4 0-.7 0-3.9-2.5L434.8 79c-15.3-9.8-33.2-15-51.4-15c-21.8 0-43 7.5-60 21.2zm22.8 124.4l-51.7 40.2C263 274.4 217.3 268 193.7 235.6c-22.2-30.5-16.6-73.1 12.7-96.8l83.2-67.3c-11.6-4.9-24.1-7.4-36.8-7.4C234 64 215.7 69.6 200 80l-72 48-80 0c-26.5 0-48 21.5-48 48L0 304c0 26.5 21.5 48 48 48l108.2 0 91.4 83.4c19.6 17.9 49.9 16.5 67.8-3.1c5.5-6.1 9.2-13.2 11.1-20.6l17 15.6c19.5 17.9 49.9 16.6 67.8-2.9c4.5-4.9 7.8-10.6 9.9-16.5c19.4 13 45.8 10.3 62.1-7.5c17.9-19.5 16.6-49.9-2.9-67.8l-134.2-123z\"]\n};\nconst faHandshakeAlt = faHandshakeSimple;\nconst faJetFighter = {\n prefix: 'fas',\n iconName: 'jet-fighter',\n icon: [640, 512, [\"fighter-jet\"], \"f0fb\", \"M160 24c0-13.3 10.7-24 24-24L296 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-16 0L384 192l116.4 0c7.7 0 15.3 1.4 22.5 4.1L625 234.4c9 3.4 15 12 15 21.6s-6 18.2-15 21.6L522.9 315.9c-7.2 2.7-14.8 4.1-22.5 4.1L384 320 280 464l16 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-112 0c-13.3 0-24-10.7-24-24s10.7-24 24-24l8 0 0-144-32 0-54.6 54.6c-6 6-14.1 9.4-22.6 9.4L64 384c-17.7 0-32-14.3-32-32l0-64c-17.7 0-32-14.3-32-32s14.3-32 32-32l0-64c0-17.7 14.3-32 32-32l18.7 0c8.5 0 16.6 3.4 22.6 9.4L160 192l32 0 0-144-8 0c-13.3 0-24-10.7-24-24zM80 240c-8.8 0-16 7.2-16 16s7.2 16 16 16l64 0c8.8 0 16-7.2 16-16s-7.2-16-16-16l-64 0z\"]\n};\nconst faFighterJet = faJetFighter;\nconst faSquareShareNodes = {\n prefix: 'fas',\n iconName: 'square-share-nodes',\n icon: [448, 512, [\"share-alt-square\"], \"f1e1\", \"M64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32zM384 160c0 35.3-28.7 64-64 64c-15.4 0-29.5-5.4-40.6-14.5L194.1 256l85.3 46.5c11-9.1 25.2-14.5 40.6-14.5c35.3 0 64 28.7 64 64s-28.7 64-64 64s-64-28.7-64-64c0-2.5 .1-4.9 .4-7.3L174.5 300c-11.7 12.3-28.2 20-46.5 20c-35.3 0-64-28.7-64-64s28.7-64 64-64c18.3 0 34.8 7.7 46.5 20l81.9-44.7c-.3-2.4-.4-4.9-.4-7.3c0-35.3 28.7-64 64-64s64 28.7 64 64z\"]\n};\nconst faShareAltSquare = faSquareShareNodes;\nconst faBarcode = {\n prefix: 'fas',\n iconName: 'barcode',\n icon: [512, 512, [], \"f02a\", \"M24 32C10.7 32 0 42.7 0 56L0 456c0 13.3 10.7 24 24 24l16 0c13.3 0 24-10.7 24-24L64 56c0-13.3-10.7-24-24-24L24 32zm88 0c-8.8 0-16 7.2-16 16l0 416c0 8.8 7.2 16 16 16s16-7.2 16-16l0-416c0-8.8-7.2-16-16-16zm72 0c-13.3 0-24 10.7-24 24l0 400c0 13.3 10.7 24 24 24l16 0c13.3 0 24-10.7 24-24l0-400c0-13.3-10.7-24-24-24l-16 0zm96 0c-13.3 0-24 10.7-24 24l0 400c0 13.3 10.7 24 24 24l16 0c13.3 0 24-10.7 24-24l0-400c0-13.3-10.7-24-24-24l-16 0zM448 56l0 400c0 13.3 10.7 24 24 24l16 0c13.3 0 24-10.7 24-24l0-400c0-13.3-10.7-24-24-24l-16 0c-13.3 0-24 10.7-24 24zm-64-8l0 416c0 8.8 7.2 16 16 16s16-7.2 16-16l0-416c0-8.8-7.2-16-16-16s-16 7.2-16 16z\"]\n};\nconst faPlusMinus = {\n prefix: 'fas',\n iconName: 'plus-minus',\n icon: [384, 512, [], \"e43c\", \"M224 32c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 112L48 144c-17.7 0-32 14.3-32 32s14.3 32 32 32l112 0 0 112c0 17.7 14.3 32 32 32s32-14.3 32-32l0-112 112 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-112 0 0-112zM0 480c0 17.7 14.3 32 32 32l320 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L32 448c-17.7 0-32 14.3-32 32z\"]\n};\nconst faVideo = {\n prefix: 'fas',\n iconName: 'video',\n icon: [576, 512, [\"video-camera\"], \"f03d\", \"M0 128C0 92.7 28.7 64 64 64l256 0c35.3 0 64 28.7 64 64l0 256c0 35.3-28.7 64-64 64L64 448c-35.3 0-64-28.7-64-64L0 128zM559.1 99.8c10.4 5.6 16.9 16.4 16.9 28.2l0 256c0 11.8-6.5 22.6-16.9 28.2s-23 5-32.9-1.6l-96-64L416 337.1l0-17.1 0-128 0-17.1 14.2-9.5 96-64c9.8-6.5 22.4-7.2 32.9-1.6z\"]\n};\nconst faVideoCamera = faVideo;\nconst faGraduationCap = {\n prefix: 'fas',\n iconName: 'graduation-cap',\n icon: [640, 512, [127891, \"mortar-board\"], \"f19d\", \"M320 32c-8.1 0-16.1 1.4-23.7 4.1L15.8 137.4C6.3 140.9 0 149.9 0 160s6.3 19.1 15.8 22.6l57.9 20.9C57.3 229.3 48 259.8 48 291.9l0 28.1c0 28.4-10.8 57.7-22.3 80.8c-6.5 13-13.9 25.8-22.5 37.6C0 442.7-.9 448.3 .9 453.4s6 8.9 11.2 10.2l64 16c4.2 1.1 8.7 .3 12.4-2s6.3-6.1 7.1-10.4c8.6-42.8 4.3-81.2-2.1-108.7C90.3 344.3 86 329.8 80 316.5l0-24.6c0-30.2 10.2-58.7 27.9-81.5c12.9-15.5 29.6-28 49.2-35.7l157-61.7c8.2-3.2 17.5 .8 20.7 9s-.8 17.5-9 20.7l-157 61.7c-12.4 4.9-23.3 12.4-32.2 21.6l159.6 57.6c7.6 2.7 15.6 4.1 23.7 4.1s16.1-1.4 23.7-4.1L624.2 182.6c9.5-3.4 15.8-12.5 15.8-22.6s-6.3-19.1-15.8-22.6L343.7 36.1C336.1 33.4 328.1 32 320 32zM128 408c0 35.3 86 72 192 72s192-36.7 192-72L496.7 262.6 354.5 314c-11.1 4-22.8 6-34.5 6s-23.5-2-34.5-6L143.3 262.6 128 408z\"]\n};\nconst faMortarBoard = faGraduationCap;\nconst faHandHoldingMedical = {\n prefix: 'fas',\n iconName: 'hand-holding-medical',\n icon: [576, 512, [], \"e05c\", \"M224 24l0 56-56 0c-13.3 0-24 10.7-24 24l0 48c0 13.3 10.7 24 24 24l56 0 0 56c0 13.3 10.7 24 24 24l48 0c13.3 0 24-10.7 24-24l0-56 56 0c13.3 0 24-10.7 24-24l0-48c0-13.3-10.7-24-24-24l-56 0 0-56c0-13.3-10.7-24-24-24L248 0c-13.3 0-24 10.7-24 24zM559.7 392.2c17.8-13.1 21.6-38.1 8.5-55.9s-38.1-21.6-55.9-8.5L392.6 416 272 416c-8.8 0-16-7.2-16-16s7.2-16 16-16l16 0 64 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-64 0-16 0-78.3 0c-29.1 0-57.3 9.9-80 28L68.8 384 32 384c-17.7 0-32 14.3-32 32l0 64c0 17.7 14.3 32 32 32l160 0 160.5 0c29 0 57.3-9.3 80.7-26.5l126.6-93.3zm-367-8.2l.9 0c0 0 0 0 0 0c-.3 0-.6 0-.9 0z\"]\n};\nconst faPersonCircleCheck = {\n prefix: 'fas',\n iconName: 'person-circle-check',\n icon: [576, 512, [], \"e53e\", \"M112 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm40 304l0 128c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-223.1L59.4 304.5c-9.1 15.1-28.8 20-43.9 10.9s-20-28.8-10.9-43.9l58.3-97c17.4-28.9 48.6-46.6 82.3-46.6l29.7 0c33.7 0 64.9 17.7 82.3 46.6l44.9 74.7c-16.1 17.6-28.6 38.5-36.6 61.5c-1.9-1.8-3.5-3.9-4.9-6.3L232 256.9 232 480c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-128-16 0zm136 16a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm211.3-43.3c-6.2-6.2-16.4-6.2-22.6 0L416 385.4l-28.7-28.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l40 40c6.2 6.2 16.4 6.2 22.6 0l72-72c6.2-6.2 6.2-16.4 0-22.6z\"]\n};\nconst faTurnUp = {\n prefix: 'fas',\n iconName: 'turn-up',\n icon: [384, 512, [10548, \"level-up-alt\"], \"f3bf\", \"M350 177.5c3.8-8.8 2-19-4.6-26l-136-144C204.9 2.7 198.6 0 192 0s-12.9 2.7-17.4 7.5l-136 144c-6.6 7-8.4 17.2-4.6 26s12.5 14.5 22 14.5l88 0 0 192c0 17.7-14.3 32-32 32l-80 0c-17.7 0-32 14.3-32 32l0 32c0 17.7 14.3 32 32 32l80 0c70.7 0 128-57.3 128-128l0-192 88 0c9.6 0 18.2-5.7 22-14.5z\"]\n};\nconst faLevelUpAlt = faTurnUp;\nvar icons = {\n fa0,\n fa1,\n fa2,\n fa3,\n fa4,\n fa5,\n fa6,\n fa7,\n fa8,\n fa9,\n faFillDrip,\n faArrowsToCircle,\n faCircleChevronRight,\n faChevronCircleRight,\n faAt,\n faTrashCan,\n faTrashAlt,\n faTextHeight,\n faUserXmark,\n faUserTimes,\n faStethoscope,\n faMessage,\n faCommentAlt,\n faInfo,\n faDownLeftAndUpRightToCenter,\n faCompressAlt,\n faExplosion,\n faFileLines,\n faFileAlt,\n faFileText,\n faWaveSquare,\n faRing,\n faBuildingUn,\n faDiceThree,\n faCalendarDays,\n faCalendarAlt,\n faAnchorCircleCheck,\n faBuildingCircleArrowRight,\n faVolleyball,\n faVolleyballBall,\n faArrowsUpToLine,\n faSortDown,\n faSortDesc,\n faCircleMinus,\n faMinusCircle,\n faDoorOpen,\n faRightFromBracket,\n faSignOutAlt,\n faAtom,\n faSoap,\n faIcons,\n faHeartMusicCameraBolt,\n faMicrophoneLinesSlash,\n faMicrophoneAltSlash,\n faBridgeCircleCheck,\n faPumpMedical,\n faFingerprint,\n faHandPointRight,\n faMagnifyingGlassLocation,\n faSearchLocation,\n faForwardStep,\n faStepForward,\n faFaceSmileBeam,\n faSmileBeam,\n faFlagCheckered,\n faFootball,\n faFootballBall,\n faSchoolCircleExclamation,\n faCrop,\n faAnglesDown,\n faAngleDoubleDown,\n faUsersRectangle,\n faPeopleRoof,\n faPeopleLine,\n faBeerMugEmpty,\n faBeer,\n faDiagramPredecessor,\n faArrowUpLong,\n faLongArrowUp,\n faFireFlameSimple,\n faBurn,\n faPerson,\n faMale,\n faLaptop,\n faFileCsv,\n faMenorah,\n faTruckPlane,\n faRecordVinyl,\n faFaceGrinStars,\n faGrinStars,\n faBong,\n faSpaghettiMonsterFlying,\n faPastafarianism,\n faArrowDownUpAcrossLine,\n faSpoon,\n faUtensilSpoon,\n faJarWheat,\n faEnvelopesBulk,\n faMailBulk,\n faFileCircleExclamation,\n faCircleH,\n faHospitalSymbol,\n faPager,\n faAddressBook,\n faContactBook,\n faStrikethrough,\n faK,\n faLandmarkFlag,\n faPencil,\n faPencilAlt,\n faBackward,\n faCaretRight,\n faComments,\n faPaste,\n faFileClipboard,\n faCodePullRequest,\n faClipboardList,\n faTruckRampBox,\n faTruckLoading,\n faUserCheck,\n faVialVirus,\n faSheetPlastic,\n faBlog,\n faUserNinja,\n faPersonArrowUpFromLine,\n faScrollTorah,\n faTorah,\n faBroomBall,\n faQuidditch,\n faQuidditchBroomBall,\n faToggleOff,\n faBoxArchive,\n faArchive,\n faPersonDrowning,\n faArrowDown91,\n faSortNumericDesc,\n faSortNumericDownAlt,\n faFaceGrinTongueSquint,\n faGrinTongueSquint,\n faSprayCan,\n faTruckMonster,\n faW,\n faEarthAfrica,\n faGlobeAfrica,\n faRainbow,\n faCircleNotch,\n faTabletScreenButton,\n faTabletAlt,\n faPaw,\n faCloud,\n faTrowelBricks,\n faFaceFlushed,\n faFlushed,\n faHospitalUser,\n faTentArrowLeftRight,\n faGavel,\n faLegal,\n faBinoculars,\n faMicrophoneSlash,\n faBoxTissue,\n faMotorcycle,\n faBellConcierge,\n faConciergeBell,\n faPenRuler,\n faPencilRuler,\n faPeopleArrows,\n faPeopleArrowsLeftRight,\n faMarsAndVenusBurst,\n faSquareCaretRight,\n faCaretSquareRight,\n faScissors,\n faCut,\n faSunPlantWilt,\n faToiletsPortable,\n faHockeyPuck,\n faTable,\n faMagnifyingGlassArrowRight,\n faTachographDigital,\n faDigitalTachograph,\n faUsersSlash,\n faClover,\n faReply,\n faMailReply,\n faStarAndCrescent,\n faHouseFire,\n faSquareMinus,\n faMinusSquare,\n faHelicopter,\n faCompass,\n faSquareCaretDown,\n faCaretSquareDown,\n faFileCircleQuestion,\n faLaptopCode,\n faSwatchbook,\n faPrescriptionBottle,\n faBars,\n faNavicon,\n faPeopleGroup,\n faHourglassEnd,\n faHourglass3,\n faHeartCrack,\n faHeartBroken,\n faSquareUpRight,\n faExternalLinkSquareAlt,\n faFaceKissBeam,\n faKissBeam,\n faFilm,\n faRulerHorizontal,\n faPeopleRobbery,\n faLightbulb,\n faCaretLeft,\n faCircleExclamation,\n faExclamationCircle,\n faSchoolCircleXmark,\n faArrowRightFromBracket,\n faSignOut,\n faCircleChevronDown,\n faChevronCircleDown,\n faUnlockKeyhole,\n faUnlockAlt,\n faCloudShowersHeavy,\n faHeadphonesSimple,\n faHeadphonesAlt,\n faSitemap,\n faCircleDollarToSlot,\n faDonate,\n faMemory,\n faRoadSpikes,\n faFireBurner,\n faFlag,\n faHanukiah,\n faFeather,\n faVolumeLow,\n faVolumeDown,\n faCommentSlash,\n faCloudSunRain,\n faCompress,\n faWheatAwn,\n faWheatAlt,\n faAnkh,\n faHandsHoldingChild,\n faAsterisk,\n faSquareCheck,\n faCheckSquare,\n faPesetaSign,\n faHeading,\n faHeader,\n faGhost,\n faList,\n faListSquares,\n faSquarePhoneFlip,\n faPhoneSquareAlt,\n faCartPlus,\n faGamepad,\n faCircleDot,\n faDotCircle,\n faFaceDizzy,\n faDizzy,\n faEgg,\n faHouseMedicalCircleXmark,\n faCampground,\n faFolderPlus,\n faFutbol,\n faFutbolBall,\n faSoccerBall,\n faPaintbrush,\n faPaintBrush,\n faLock,\n faGasPump,\n faHotTubPerson,\n faHotTub,\n faMapLocation,\n faMapMarked,\n faHouseFloodWater,\n faTree,\n faBridgeLock,\n faSackDollar,\n faPenToSquare,\n faEdit,\n faCarSide,\n faShareNodes,\n faShareAlt,\n faHeartCircleMinus,\n faHourglassHalf,\n faHourglass2,\n faMicroscope,\n faSink,\n faBagShopping,\n faShoppingBag,\n faArrowDownZA,\n faSortAlphaDesc,\n faSortAlphaDownAlt,\n faMitten,\n faPersonRays,\n faUsers,\n faEyeSlash,\n faFlaskVial,\n faHand,\n faHandPaper,\n faOm,\n faWorm,\n faHouseCircleXmark,\n faPlug,\n faChevronUp,\n faHandSpock,\n faStopwatch,\n faFaceKiss,\n faKiss,\n faBridgeCircleXmark,\n faFaceGrinTongue,\n faGrinTongue,\n faChessBishop,\n faFaceGrinWink,\n faGrinWink,\n faEarDeaf,\n faDeaf,\n faDeafness,\n faHardOfHearing,\n faRoadCircleCheck,\n faDiceFive,\n faSquareRss,\n faRssSquare,\n faLandMineOn,\n faICursor,\n faStamp,\n faStairs,\n faI,\n faHryvniaSign,\n faHryvnia,\n faPills,\n faFaceGrinWide,\n faGrinAlt,\n faTooth,\n faV,\n faBangladeshiTakaSign,\n faBicycle,\n faStaffSnake,\n faRodAsclepius,\n faRodSnake,\n faStaffAesculapius,\n faHeadSideCoughSlash,\n faTruckMedical,\n faAmbulance,\n faWheatAwnCircleExclamation,\n faSnowman,\n faMortarPestle,\n faRoadBarrier,\n faSchool,\n faIgloo,\n faJoint,\n faAngleRight,\n faHorse,\n faQ,\n faG,\n faNotesMedical,\n faTemperatureHalf,\n faTemperature2,\n faThermometer2,\n faThermometerHalf,\n faDongSign,\n faCapsules,\n faPooStorm,\n faPooBolt,\n faFaceFrownOpen,\n faFrownOpen,\n faHandPointUp,\n faMoneyBill,\n faBookmark,\n faAlignJustify,\n faUmbrellaBeach,\n faHelmetUn,\n faBullseye,\n faBacon,\n faHandPointDown,\n faArrowUpFromBracket,\n faFolder,\n faFolderBlank,\n faFileWaveform,\n faFileMedicalAlt,\n faRadiation,\n faChartSimple,\n faMarsStroke,\n faVial,\n faGauge,\n faDashboard,\n faGaugeMed,\n faTachometerAltAverage,\n faWandMagicSparkles,\n faMagicWandSparkles,\n faE,\n faPenClip,\n faPenAlt,\n faBridgeCircleExclamation,\n faUser,\n faSchoolCircleCheck,\n faDumpster,\n faVanShuttle,\n faShuttleVan,\n faBuildingUser,\n faSquareCaretLeft,\n faCaretSquareLeft,\n faHighlighter,\n faKey,\n faBullhorn,\n faGlobe,\n faSynagogue,\n faPersonHalfDress,\n faRoadBridge,\n faLocationArrow,\n faC,\n faTabletButton,\n faBuildingLock,\n faPizzaSlice,\n faMoneyBillWave,\n faChartArea,\n faAreaChart,\n faHouseFlag,\n faPersonCircleMinus,\n faBan,\n faCancel,\n faCameraRotate,\n faSprayCanSparkles,\n faAirFreshener,\n faStar,\n faRepeat,\n faCross,\n faBox,\n faVenusMars,\n faArrowPointer,\n faMousePointer,\n faMaximize,\n faExpandArrowsAlt,\n faChargingStation,\n faShapes,\n faTriangleCircleSquare,\n faShuffle,\n faRandom,\n faPersonRunning,\n faRunning,\n faMobileRetro,\n faGripLinesVertical,\n faSpider,\n faHandsBound,\n faFileInvoiceDollar,\n faPlaneCircleExclamation,\n faXRay,\n faSpellCheck,\n faSlash,\n faComputerMouse,\n faMouse,\n faArrowRightToBracket,\n faSignIn,\n faShopSlash,\n faStoreAltSlash,\n faServer,\n faVirusCovidSlash,\n faShopLock,\n faHourglassStart,\n faHourglass1,\n faBlenderPhone,\n faBuildingWheat,\n faPersonBreastfeeding,\n faRightToBracket,\n faSignInAlt,\n faVenus,\n faPassport,\n faThumbtackSlash,\n faThumbTackSlash,\n faHeartPulse,\n faHeartbeat,\n faPeopleCarryBox,\n faPeopleCarry,\n faTemperatureHigh,\n faMicrochip,\n faCrown,\n faWeightHanging,\n faXmarksLines,\n faFilePrescription,\n faWeightScale,\n faWeight,\n faUserGroup,\n faUserFriends,\n faArrowUpAZ,\n faSortAlphaUp,\n faChessKnight,\n faFaceLaughSquint,\n faLaughSquint,\n faWheelchair,\n faCircleArrowUp,\n faArrowCircleUp,\n faToggleOn,\n faPersonWalking,\n faWalking,\n faL,\n faFire,\n faBedPulse,\n faProcedures,\n faShuttleSpace,\n faSpaceShuttle,\n faFaceLaugh,\n faLaugh,\n faFolderOpen,\n faHeartCirclePlus,\n faCodeFork,\n faCity,\n faMicrophoneLines,\n faMicrophoneAlt,\n faPepperHot,\n faUnlock,\n faColonSign,\n faHeadset,\n faStoreSlash,\n faRoadCircleXmark,\n faUserMinus,\n faMarsStrokeUp,\n faMarsStrokeV,\n faChampagneGlasses,\n faGlassCheers,\n faClipboard,\n faHouseCircleExclamation,\n faFileArrowUp,\n faFileUpload,\n faWifi,\n faWifi3,\n faWifiStrong,\n faBath,\n faBathtub,\n faUnderline,\n faUserPen,\n faUserEdit,\n faSignature,\n faStroopwafel,\n faBold,\n faAnchorLock,\n faBuildingNgo,\n faManatSign,\n faNotEqual,\n faBorderTopLeft,\n faBorderStyle,\n faMapLocationDot,\n faMapMarkedAlt,\n faJedi,\n faSquarePollVertical,\n faPoll,\n faMugHot,\n faCarBattery,\n faBatteryCar,\n faGift,\n faDiceTwo,\n faChessQueen,\n faGlasses,\n faChessBoard,\n faBuildingCircleCheck,\n faPersonChalkboard,\n faMarsStrokeRight,\n faMarsStrokeH,\n faHandBackFist,\n faHandRock,\n faSquareCaretUp,\n faCaretSquareUp,\n faCloudShowersWater,\n faChartBar,\n faBarChart,\n faHandsBubbles,\n faHandsWash,\n faLessThanEqual,\n faTrain,\n faEyeLowVision,\n faLowVision,\n faCrow,\n faSailboat,\n faWindowRestore,\n faSquarePlus,\n faPlusSquare,\n faToriiGate,\n faFrog,\n faBucket,\n faImage,\n faMicrophone,\n faCow,\n faCaretUp,\n faScrewdriver,\n faFolderClosed,\n faHouseTsunami,\n faSquareNfi,\n faArrowUpFromGroundWater,\n faMartiniGlass,\n faGlassMartiniAlt,\n faSquareBinary,\n faRotateLeft,\n faRotateBack,\n faRotateBackward,\n faUndoAlt,\n faTableColumns,\n faColumns,\n faLemon,\n faHeadSideMask,\n faHandshake,\n faGem,\n faDolly,\n faDollyBox,\n faSmoking,\n faMinimize,\n faCompressArrowsAlt,\n faMonument,\n faSnowplow,\n faAnglesRight,\n faAngleDoubleRight,\n faCannabis,\n faCirclePlay,\n faPlayCircle,\n faTablets,\n faEthernet,\n faEuroSign,\n faEur,\n faEuro,\n faChair,\n faCircleCheck,\n faCheckCircle,\n faCircleStop,\n faStopCircle,\n faCompassDrafting,\n faDraftingCompass,\n faPlateWheat,\n faIcicles,\n faPersonShelter,\n faNeuter,\n faIdBadge,\n faMarker,\n faFaceLaughBeam,\n faLaughBeam,\n faHelicopterSymbol,\n faUniversalAccess,\n faCircleChevronUp,\n faChevronCircleUp,\n faLariSign,\n faVolcano,\n faPersonWalkingDashedLineArrowRight,\n faSterlingSign,\n faGbp,\n faPoundSign,\n faViruses,\n faSquarePersonConfined,\n faUserTie,\n faArrowDownLong,\n faLongArrowDown,\n faTentArrowDownToLine,\n faCertificate,\n faReplyAll,\n faMailReplyAll,\n faSuitcase,\n faPersonSkating,\n faSkating,\n faFilterCircleDollar,\n faFunnelDollar,\n faCameraRetro,\n faCircleArrowDown,\n faArrowCircleDown,\n faFileImport,\n faArrowRightToFile,\n faSquareArrowUpRight,\n faExternalLinkSquare,\n faBoxOpen,\n faScroll,\n faSpa,\n faLocationPinLock,\n faPause,\n faHillAvalanche,\n faTemperatureEmpty,\n faTemperature0,\n faThermometer0,\n faThermometerEmpty,\n faBomb,\n faRegistered,\n faAddressCard,\n faContactCard,\n faVcard,\n faScaleUnbalancedFlip,\n faBalanceScaleRight,\n faSubscript,\n faDiamondTurnRight,\n faDirections,\n faBurst,\n faHouseLaptop,\n faLaptopHouse,\n faFaceTired,\n faTired,\n faMoneyBills,\n faSmog,\n faCrutch,\n faFontAwesome,\n faFontAwesomeFlag,\n faFontAwesomeLogoFull,\n faCloudArrowUp,\n faCloudUpload,\n faCloudUploadAlt,\n faPalette,\n faArrowsTurnRight,\n faVest,\n faFerry,\n faArrowsDownToPeople,\n faSeedling,\n faSprout,\n faLeftRight,\n faArrowsAltH,\n faBoxesPacking,\n faCircleArrowLeft,\n faArrowCircleLeft,\n faGroupArrowsRotate,\n faBowlFood,\n faCandyCane,\n faArrowDownWideShort,\n faSortAmountAsc,\n faSortAmountDown,\n faCloudBolt,\n faThunderstorm,\n faTextSlash,\n faRemoveFormat,\n faFaceSmileWink,\n faSmileWink,\n faFileWord,\n faFilePowerpoint,\n faArrowsLeftRight,\n faArrowsH,\n faHouseLock,\n faCloudArrowDown,\n faCloudDownload,\n faCloudDownloadAlt,\n faChildren,\n faChalkboard,\n faBlackboard,\n faUserLargeSlash,\n faUserAltSlash,\n faEnvelopeOpen,\n faHandshakeSimpleSlash,\n faHandshakeAltSlash,\n faMattressPillow,\n faGuaraniSign,\n faArrowsRotate,\n faRefresh,\n faSync,\n faFireExtinguisher,\n faCruzeiroSign,\n faGreaterThanEqual,\n faShieldHalved,\n faShieldAlt,\n faBookAtlas,\n faAtlas,\n faVirus,\n faEnvelopeCircleCheck,\n faLayerGroup,\n faArrowsToDot,\n faArchway,\n faHeartCircleCheck,\n faHouseChimneyCrack,\n faHouseDamage,\n faFileZipper,\n faFileArchive,\n faSquare,\n faMartiniGlassEmpty,\n faGlassMartini,\n faCouch,\n faCediSign,\n faItalic,\n faTableCellsColumnLock,\n faChurch,\n faCommentsDollar,\n faDemocrat,\n faZ,\n faPersonSkiing,\n faSkiing,\n faRoadLock,\n faA,\n faTemperatureArrowDown,\n faTemperatureDown,\n faFeatherPointed,\n faFeatherAlt,\n faP,\n faSnowflake,\n faNewspaper,\n faRectangleAd,\n faAd,\n faCircleArrowRight,\n faArrowCircleRight,\n faFilterCircleXmark,\n faLocust,\n faSort,\n faUnsorted,\n faListOl,\n faList12,\n faListNumeric,\n faPersonDressBurst,\n faMoneyCheckDollar,\n faMoneyCheckAlt,\n faVectorSquare,\n faBreadSlice,\n faLanguage,\n faFaceKissWinkHeart,\n faKissWinkHeart,\n faFilter,\n faQuestion,\n faFileSignature,\n faUpDownLeftRight,\n faArrowsAlt,\n faHouseChimneyUser,\n faHandHoldingHeart,\n faPuzzlePiece,\n faMoneyCheck,\n faStarHalfStroke,\n faStarHalfAlt,\n faCode,\n faWhiskeyGlass,\n faGlassWhiskey,\n faBuildingCircleExclamation,\n faMagnifyingGlassChart,\n faArrowUpRightFromSquare,\n faExternalLink,\n faCubesStacked,\n faWonSign,\n faKrw,\n faWon,\n faVirusCovid,\n faAustralSign,\n faF,\n faLeaf,\n faRoad,\n faTaxi,\n faCab,\n faPersonCirclePlus,\n faChartPie,\n faPieChart,\n faBoltLightning,\n faSackXmark,\n faFileExcel,\n faFileContract,\n faFishFins,\n faBuildingFlag,\n faFaceGrinBeam,\n faGrinBeam,\n faObjectUngroup,\n faPoop,\n faLocationPin,\n faMapMarker,\n faKaaba,\n faToiletPaper,\n faHelmetSafety,\n faHardHat,\n faHatHard,\n faEject,\n faCircleRight,\n faArrowAltCircleRight,\n faPlaneCircleCheck,\n faFaceRollingEyes,\n faMehRollingEyes,\n faObjectGroup,\n faChartLine,\n faLineChart,\n faMaskVentilator,\n faArrowRight,\n faSignsPost,\n faMapSigns,\n faCashRegister,\n faPersonCircleQuestion,\n faH,\n faTarp,\n faScrewdriverWrench,\n faTools,\n faArrowsToEye,\n faPlugCircleBolt,\n faHeart,\n faMarsAndVenus,\n faHouseUser,\n faHomeUser,\n faDumpsterFire,\n faHouseCrack,\n faMartiniGlassCitrus,\n faCocktail,\n faFaceSurprise,\n faSurprise,\n faBottleWater,\n faCirclePause,\n faPauseCircle,\n faToiletPaperSlash,\n faAppleWhole,\n faAppleAlt,\n faKitchenSet,\n faR,\n faTemperatureQuarter,\n faTemperature1,\n faThermometer1,\n faThermometerQuarter,\n faCube,\n faBitcoinSign,\n faShieldDog,\n faSolarPanel,\n faLockOpen,\n faElevator,\n faMoneyBillTransfer,\n faMoneyBillTrendUp,\n faHouseFloodWaterCircleArrowRight,\n faSquarePollHorizontal,\n faPollH,\n faCircle,\n faBackwardFast,\n faFastBackward,\n faRecycle,\n faUserAstronaut,\n faPlaneSlash,\n faTrademark,\n faBasketball,\n faBasketballBall,\n faSatelliteDish,\n faCircleUp,\n faArrowAltCircleUp,\n faMobileScreenButton,\n faMobileAlt,\n faVolumeHigh,\n faVolumeUp,\n faUsersRays,\n faWallet,\n faClipboardCheck,\n faFileAudio,\n faBurger,\n faHamburger,\n faWrench,\n faBugs,\n faRupeeSign,\n faRupee,\n faFileImage,\n faCircleQuestion,\n faQuestionCircle,\n faPlaneDeparture,\n faHandshakeSlash,\n faBookBookmark,\n faCodeBranch,\n faHatCowboy,\n faBridge,\n faPhoneFlip,\n faPhoneAlt,\n faTruckFront,\n faCat,\n faAnchorCircleExclamation,\n faTruckField,\n faRoute,\n faClipboardQuestion,\n faPanorama,\n faCommentMedical,\n faTeethOpen,\n faFileCircleMinus,\n faTags,\n faWineGlass,\n faForwardFast,\n faFastForward,\n faFaceMehBlank,\n faMehBlank,\n faSquareParking,\n faParking,\n faHouseSignal,\n faBarsProgress,\n faTasksAlt,\n faFaucetDrip,\n faCartFlatbed,\n faDollyFlatbed,\n faBanSmoking,\n faSmokingBan,\n faTerminal,\n faMobileButton,\n faHouseMedicalFlag,\n faBasketShopping,\n faShoppingBasket,\n faTape,\n faBusSimple,\n faBusAlt,\n faEye,\n faFaceSadCry,\n faSadCry,\n faAudioDescription,\n faPersonMilitaryToPerson,\n faFileShield,\n faUserSlash,\n faPen,\n faTowerObservation,\n faFileCode,\n faSignal,\n faSignal5,\n faSignalPerfect,\n faBus,\n faHeartCircleXmark,\n faHouseChimney,\n faHomeLg,\n faWindowMaximize,\n faFaceFrown,\n faFrown,\n faPrescription,\n faShop,\n faStoreAlt,\n faFloppyDisk,\n faSave,\n faVihara,\n faScaleUnbalanced,\n faBalanceScaleLeft,\n faSortUp,\n faSortAsc,\n faCommentDots,\n faCommenting,\n faPlantWilt,\n faDiamond,\n faFaceGrinSquint,\n faGrinSquint,\n faHandHoldingDollar,\n faHandHoldingUsd,\n faChartDiagram,\n faBacterium,\n faHandPointer,\n faDrumSteelpan,\n faHandScissors,\n faHandsPraying,\n faPrayingHands,\n faArrowRotateRight,\n faArrowRightRotate,\n faArrowRotateForward,\n faRedo,\n faWebAwesome,\n faBiohazard,\n faLocationCrosshairs,\n faLocation,\n faMarsDouble,\n faChildDress,\n faUsersBetweenLines,\n faLungsVirus,\n faFaceGrinTears,\n faGrinTears,\n faPhone,\n faCalendarXmark,\n faCalendarTimes,\n faChildReaching,\n faHeadSideVirus,\n faUserGear,\n faUserCog,\n faArrowUp19,\n faSortNumericUp,\n faDoorClosed,\n faShieldVirus,\n faDiceSix,\n faMosquitoNet,\n faFileFragment,\n faBridgeWater,\n faPersonBooth,\n faTextWidth,\n faHatWizard,\n faPenFancy,\n faPersonDigging,\n faDigging,\n faTrash,\n faGaugeSimple,\n faGaugeSimpleMed,\n faTachometerAverage,\n faBookMedical,\n faPoo,\n faQuoteRight,\n faQuoteRightAlt,\n faShirt,\n faTShirt,\n faTshirt,\n faCubes,\n faDivide,\n faTengeSign,\n faTenge,\n faHeadphones,\n faHandsHolding,\n faHandsClapping,\n faRepublican,\n faArrowLeft,\n faPersonCircleXmark,\n faRuler,\n faAlignLeft,\n faDiceD6,\n faRestroom,\n faJ,\n faUsersViewfinder,\n faFileVideo,\n faUpRightFromSquare,\n faExternalLinkAlt,\n faTableCells,\n faTh,\n faFilePdf,\n faBookBible,\n faBible,\n faO,\n faSuitcaseMedical,\n faMedkit,\n faUserSecret,\n faOtter,\n faPersonDress,\n faFemale,\n faCommentDollar,\n faBusinessTime,\n faBriefcaseClock,\n faTableCellsLarge,\n faThLarge,\n faBookTanakh,\n faTanakh,\n faPhoneVolume,\n faVolumeControlPhone,\n faHatCowboySide,\n faClipboardUser,\n faChild,\n faLiraSign,\n faSatellite,\n faPlaneLock,\n faTag,\n faComment,\n faCakeCandles,\n faBirthdayCake,\n faCake,\n faEnvelope,\n faAnglesUp,\n faAngleDoubleUp,\n faPaperclip,\n faArrowRightToCity,\n faRibbon,\n faLungs,\n faArrowUp91,\n faSortNumericUpAlt,\n faLitecoinSign,\n faBorderNone,\n faCircleNodes,\n faParachuteBox,\n faIndent,\n faTruckFieldUn,\n faHourglass,\n faHourglassEmpty,\n faMountain,\n faUserDoctor,\n faUserMd,\n faCircleInfo,\n faInfoCircle,\n faCloudMeatball,\n faCamera,\n faCameraAlt,\n faSquareVirus,\n faMeteor,\n faCarOn,\n faSleigh,\n faArrowDown19,\n faSortNumericAsc,\n faSortNumericDown,\n faHandHoldingDroplet,\n faHandHoldingWater,\n faWater,\n faCalendarCheck,\n faBraille,\n faPrescriptionBottleMedical,\n faPrescriptionBottleAlt,\n faLandmark,\n faTruck,\n faCrosshairs,\n faPersonCane,\n faTent,\n faVestPatches,\n faCheckDouble,\n faArrowDownAZ,\n faSortAlphaAsc,\n faSortAlphaDown,\n faMoneyBillWheat,\n faCookie,\n faArrowRotateLeft,\n faArrowLeftRotate,\n faArrowRotateBack,\n faArrowRotateBackward,\n faUndo,\n faHardDrive,\n faHdd,\n faFaceGrinSquintTears,\n faGrinSquintTears,\n faDumbbell,\n faRectangleList,\n faListAlt,\n faTarpDroplet,\n faHouseMedicalCircleCheck,\n faPersonSkiingNordic,\n faSkiingNordic,\n faCalendarPlus,\n faPlaneArrival,\n faCircleLeft,\n faArrowAltCircleLeft,\n faTrainSubway,\n faSubway,\n faChartGantt,\n faIndianRupeeSign,\n faIndianRupee,\n faInr,\n faCropSimple,\n faCropAlt,\n faMoneyBill1,\n faMoneyBillAlt,\n faLeftLong,\n faLongArrowAltLeft,\n faDna,\n faVirusSlash,\n faMinus,\n faSubtract,\n faChess,\n faArrowLeftLong,\n faLongArrowLeft,\n faPlugCircleCheck,\n faStreetView,\n faFrancSign,\n faVolumeOff,\n faHandsAslInterpreting,\n faAmericanSignLanguageInterpreting,\n faAslInterpreting,\n faHandsAmericanSignLanguageInterpreting,\n faGear,\n faCog,\n faDropletSlash,\n faTintSlash,\n faMosque,\n faMosquito,\n faStarOfDavid,\n faPersonMilitaryRifle,\n faCartShopping,\n faShoppingCart,\n faVials,\n faPlugCirclePlus,\n faPlaceOfWorship,\n faGripVertical,\n faHexagonNodes,\n faArrowTurnUp,\n faLevelUp,\n faU,\n faSquareRootVariable,\n faSquareRootAlt,\n faClock,\n faClockFour,\n faBackwardStep,\n faStepBackward,\n faPallet,\n faFaucet,\n faBaseballBatBall,\n faS,\n faTimeline,\n faKeyboard,\n faCaretDown,\n faHouseChimneyMedical,\n faClinicMedical,\n faTemperatureThreeQuarters,\n faTemperature3,\n faThermometer3,\n faThermometerThreeQuarters,\n faMobileScreen,\n faMobileAndroidAlt,\n faPlaneUp,\n faPiggyBank,\n faBatteryHalf,\n faBattery3,\n faMountainCity,\n faCoins,\n faKhanda,\n faSliders,\n faSlidersH,\n faFolderTree,\n faNetworkWired,\n faMapPin,\n faHamsa,\n faCentSign,\n faFlask,\n faPersonPregnant,\n faWandSparkles,\n faEllipsisVertical,\n faEllipsisV,\n faTicket,\n faPowerOff,\n faRightLong,\n faLongArrowAltRight,\n faFlagUsa,\n faLaptopFile,\n faTty,\n faTeletype,\n faDiagramNext,\n faPersonRifle,\n faHouseMedicalCircleExclamation,\n faClosedCaptioning,\n faPersonHiking,\n faHiking,\n faVenusDouble,\n faImages,\n faCalculator,\n faPeoplePulling,\n faN,\n faCableCar,\n faTram,\n faCloudRain,\n faBuildingCircleXmark,\n faShip,\n faArrowsDownToLine,\n faDownload,\n faFaceGrin,\n faGrin,\n faDeleteLeft,\n faBackspace,\n faEyeDropper,\n faEyeDropperEmpty,\n faEyedropper,\n faFileCircleCheck,\n faForward,\n faMobile,\n faMobileAndroid,\n faMobilePhone,\n faFaceMeh,\n faMeh,\n faAlignCenter,\n faBookSkull,\n faBookDead,\n faIdCard,\n faDriversLicense,\n faOutdent,\n faDedent,\n faHeartCircleExclamation,\n faHouse,\n faHome,\n faHomeAlt,\n faHomeLgAlt,\n faCalendarWeek,\n faLaptopMedical,\n faB,\n faFileMedical,\n faDiceOne,\n faKiwiBird,\n faArrowRightArrowLeft,\n faExchange,\n faRotateRight,\n faRedoAlt,\n faRotateForward,\n faUtensils,\n faCutlery,\n faArrowUpWideShort,\n faSortAmountUp,\n faMillSign,\n faBowlRice,\n faSkull,\n faTowerBroadcast,\n faBroadcastTower,\n faTruckPickup,\n faUpLong,\n faLongArrowAltUp,\n faStop,\n faCodeMerge,\n faUpload,\n faHurricane,\n faMound,\n faToiletPortable,\n faCompactDisc,\n faFileArrowDown,\n faFileDownload,\n faCaravan,\n faShieldCat,\n faBolt,\n faZap,\n faGlassWater,\n faOilWell,\n faVault,\n faMars,\n faToilet,\n faPlaneCircleXmark,\n faYenSign,\n faCny,\n faJpy,\n faRmb,\n faYen,\n faRubleSign,\n faRouble,\n faRub,\n faRuble,\n faSun,\n faGuitar,\n faFaceLaughWink,\n faLaughWink,\n faHorseHead,\n faBoreHole,\n faIndustry,\n faCircleDown,\n faArrowAltCircleDown,\n faArrowsTurnToDots,\n faFlorinSign,\n faArrowDownShortWide,\n faSortAmountDesc,\n faSortAmountDownAlt,\n faLessThan,\n faAngleDown,\n faCarTunnel,\n faHeadSideCough,\n faGripLines,\n faThumbsDown,\n faUserLock,\n faArrowRightLong,\n faLongArrowRight,\n faAnchorCircleXmark,\n faEllipsis,\n faEllipsisH,\n faChessPawn,\n faKitMedical,\n faFirstAid,\n faPersonThroughWindow,\n faToolbox,\n faHandsHoldingCircle,\n faBug,\n faCreditCard,\n faCreditCardAlt,\n faCar,\n faAutomobile,\n faHandHoldingHand,\n faBookOpenReader,\n faBookReader,\n faMountainSun,\n faArrowsLeftRightToLine,\n faDiceD20,\n faTruckDroplet,\n faFileCircleXmark,\n faTemperatureArrowUp,\n faTemperatureUp,\n faMedal,\n faBed,\n faSquareH,\n faHSquare,\n faPodcast,\n faTemperatureFull,\n faTemperature4,\n faThermometer4,\n faThermometerFull,\n faBell,\n faSuperscript,\n faPlugCircleXmark,\n faStarOfLife,\n faPhoneSlash,\n faPaintRoller,\n faHandshakeAngle,\n faHandsHelping,\n faLocationDot,\n faMapMarkerAlt,\n faFile,\n faGreaterThan,\n faPersonSwimming,\n faSwimmer,\n faArrowDown,\n faDroplet,\n faTint,\n faEraser,\n faEarthAmericas,\n faEarth,\n faEarthAmerica,\n faGlobeAmericas,\n faPersonBurst,\n faDove,\n faBatteryEmpty,\n faBattery0,\n faSocks,\n faInbox,\n faSection,\n faGaugeHigh,\n faTachometerAlt,\n faTachometerAltFast,\n faEnvelopeOpenText,\n faHospital,\n faHospitalAlt,\n faHospitalWide,\n faWineBottle,\n faChessRook,\n faBarsStaggered,\n faReorder,\n faStream,\n faDharmachakra,\n faHotdog,\n faPersonWalkingWithCane,\n faBlind,\n faDrum,\n faIceCream,\n faHeartCircleBolt,\n faFax,\n faParagraph,\n faCheckToSlot,\n faVoteYea,\n faStarHalf,\n faBoxesStacked,\n faBoxes,\n faBoxesAlt,\n faLink,\n faChain,\n faEarListen,\n faAssistiveListeningSystems,\n faTreeCity,\n faPlay,\n faFont,\n faTableCellsRowLock,\n faRupiahSign,\n faMagnifyingGlass,\n faSearch,\n faTableTennisPaddleBall,\n faPingPongPaddleBall,\n faTableTennis,\n faPersonDotsFromLine,\n faDiagnoses,\n faTrashCanArrowUp,\n faTrashRestoreAlt,\n faNairaSign,\n faCartArrowDown,\n faWalkieTalkie,\n faFilePen,\n faFileEdit,\n faReceipt,\n faSquarePen,\n faPenSquare,\n faPencilSquare,\n faSuitcaseRolling,\n faPersonCircleExclamation,\n faChevronDown,\n faBatteryFull,\n faBattery,\n faBattery5,\n faSkullCrossbones,\n faCodeCompare,\n faListUl,\n faListDots,\n faSchoolLock,\n faTowerCell,\n faDownLong,\n faLongArrowAltDown,\n faRankingStar,\n faChessKing,\n faPersonHarassing,\n faBrazilianRealSign,\n faLandmarkDome,\n faLandmarkAlt,\n faArrowUp,\n faTv,\n faTelevision,\n faTvAlt,\n faShrimp,\n faListCheck,\n faTasks,\n faJugDetergent,\n faCircleUser,\n faUserCircle,\n faUserShield,\n faWind,\n faCarBurst,\n faCarCrash,\n faY,\n faPersonSnowboarding,\n faSnowboarding,\n faTruckFast,\n faShippingFast,\n faFish,\n faUserGraduate,\n faCircleHalfStroke,\n faAdjust,\n faClapperboard,\n faCircleRadiation,\n faRadiationAlt,\n faBaseball,\n faBaseballBall,\n faJetFighterUp,\n faDiagramProject,\n faProjectDiagram,\n faCopy,\n faVolumeXmark,\n faVolumeMute,\n faVolumeTimes,\n faHandSparkles,\n faGrip,\n faGripHorizontal,\n faShareFromSquare,\n faShareSquare,\n faChildCombatant,\n faChildRifle,\n faGun,\n faSquarePhone,\n faPhoneSquare,\n faPlus,\n faAdd,\n faExpand,\n faComputer,\n faXmark,\n faClose,\n faMultiply,\n faRemove,\n faTimes,\n faArrowsUpDownLeftRight,\n faArrows,\n faChalkboardUser,\n faChalkboardTeacher,\n faPesoSign,\n faBuildingShield,\n faBaby,\n faUsersLine,\n faQuoteLeft,\n faQuoteLeftAlt,\n faTractor,\n faTrashArrowUp,\n faTrashRestore,\n faArrowDownUpLock,\n faLinesLeaning,\n faRulerCombined,\n faCopyright,\n faEquals,\n faBlender,\n faTeeth,\n faShekelSign,\n faIls,\n faShekel,\n faSheqel,\n faSheqelSign,\n faMap,\n faRocket,\n faPhotoFilm,\n faPhotoVideo,\n faFolderMinus,\n faHexagonNodesBolt,\n faStore,\n faArrowTrendUp,\n faPlugCircleMinus,\n faSignHanging,\n faSign,\n faBezierCurve,\n faBellSlash,\n faTablet,\n faTabletAndroid,\n faSchoolFlag,\n faFill,\n faAngleUp,\n faDrumstickBite,\n faHollyBerry,\n faChevronLeft,\n faBacteria,\n faHandLizard,\n faNotdef,\n faDisease,\n faBriefcaseMedical,\n faGenderless,\n faChevronRight,\n faRetweet,\n faCarRear,\n faCarAlt,\n faPumpSoap,\n faVideoSlash,\n faBatteryQuarter,\n faBattery2,\n faRadio,\n faBabyCarriage,\n faCarriageBaby,\n faTrafficLight,\n faThermometer,\n faVrCardboard,\n faHandMiddleFinger,\n faPercent,\n faPercentage,\n faTruckMoving,\n faGlassWaterDroplet,\n faDisplay,\n faFaceSmile,\n faSmile,\n faThumbtack,\n faThumbTack,\n faTrophy,\n faPersonPraying,\n faPray,\n faHammer,\n faHandPeace,\n faRotate,\n faSyncAlt,\n faSpinner,\n faRobot,\n faPeace,\n faGears,\n faCogs,\n faWarehouse,\n faArrowUpRightDots,\n faSplotch,\n faFaceGrinHearts,\n faGrinHearts,\n faDiceFour,\n faSimCard,\n faTransgender,\n faTransgenderAlt,\n faMercury,\n faArrowTurnDown,\n faLevelDown,\n faPersonFallingBurst,\n faAward,\n faTicketSimple,\n faTicketAlt,\n faBuilding,\n faAnglesLeft,\n faAngleDoubleLeft,\n faQrcode,\n faClockRotateLeft,\n faHistory,\n faFaceGrinBeamSweat,\n faGrinBeamSweat,\n faFileExport,\n faArrowRightFromFile,\n faShield,\n faShieldBlank,\n faArrowUpShortWide,\n faSortAmountUpAlt,\n faCommentNodes,\n faHouseMedical,\n faGolfBallTee,\n faGolfBall,\n faCircleChevronLeft,\n faChevronCircleLeft,\n faHouseChimneyWindow,\n faPenNib,\n faTentArrowTurnLeft,\n faTents,\n faWandMagic,\n faMagic,\n faDog,\n faCarrot,\n faMoon,\n faWineGlassEmpty,\n faWineGlassAlt,\n faCheese,\n faYinYang,\n faMusic,\n faCodeCommit,\n faTemperatureLow,\n faPersonBiking,\n faBiking,\n faBroom,\n faShieldHeart,\n faGopuram,\n faEarthOceania,\n faGlobeOceania,\n faSquareXmark,\n faTimesSquare,\n faXmarkSquare,\n faHashtag,\n faUpRightAndDownLeftFromCenter,\n faExpandAlt,\n faOilCan,\n faT,\n faHippo,\n faChartColumn,\n faInfinity,\n faVialCircleCheck,\n faPersonArrowDownToLine,\n faVoicemail,\n faFan,\n faPersonWalkingLuggage,\n faUpDown,\n faArrowsAltV,\n faCloudMoonRain,\n faCalendar,\n faTrailer,\n faBahai,\n faHaykal,\n faSdCard,\n faDragon,\n faShoePrints,\n faCirclePlus,\n faPlusCircle,\n faFaceGrinTongueWink,\n faGrinTongueWink,\n faHandHolding,\n faPlugCircleExclamation,\n faLinkSlash,\n faChainBroken,\n faChainSlash,\n faUnlink,\n faClone,\n faPersonWalkingArrowLoopLeft,\n faArrowUpZA,\n faSortAlphaUpAlt,\n faFireFlameCurved,\n faFireAlt,\n faTornado,\n faFileCirclePlus,\n faBookQuran,\n faQuran,\n faAnchor,\n faBorderAll,\n faFaceAngry,\n faAngry,\n faCookieBite,\n faArrowTrendDown,\n faRss,\n faFeed,\n faDrawPolygon,\n faScaleBalanced,\n faBalanceScale,\n faGaugeSimpleHigh,\n faTachometer,\n faTachometerFast,\n faShower,\n faDesktop,\n faDesktopAlt,\n faM,\n faTableList,\n faThList,\n faCommentSms,\n faSms,\n faBook,\n faUserPlus,\n faCheck,\n faBatteryThreeQuarters,\n faBattery4,\n faHouseCircleCheck,\n faAngleLeft,\n faDiagramSuccessor,\n faTruckArrowRight,\n faArrowsSplitUpAndLeft,\n faHandFist,\n faFistRaised,\n faCloudMoon,\n faBriefcase,\n faPersonFalling,\n faImagePortrait,\n faPortrait,\n faUserTag,\n faRug,\n faEarthEurope,\n faGlobeEurope,\n faCartFlatbedSuitcase,\n faLuggageCart,\n faRectangleXmark,\n faRectangleTimes,\n faTimesRectangle,\n faWindowClose,\n faBahtSign,\n faBookOpen,\n faBookJournalWhills,\n faJournalWhills,\n faHandcuffs,\n faTriangleExclamation,\n faExclamationTriangle,\n faWarning,\n faDatabase,\n faShare,\n faMailForward,\n faBottleDroplet,\n faMaskFace,\n faHillRockslide,\n faRightLeft,\n faExchangeAlt,\n faPaperPlane,\n faRoadCircleExclamation,\n faDungeon,\n faAlignRight,\n faMoneyBill1Wave,\n faMoneyBillWaveAlt,\n faLifeRing,\n faHands,\n faSignLanguage,\n faSigning,\n faCalendarDay,\n faWaterLadder,\n faLadderWater,\n faSwimmingPool,\n faArrowsUpDown,\n faArrowsV,\n faFaceGrimace,\n faGrimace,\n faWheelchairMove,\n faWheelchairAlt,\n faTurnDown,\n faLevelDownAlt,\n faPersonWalkingArrowRight,\n faSquareEnvelope,\n faEnvelopeSquare,\n faDice,\n faBowlingBall,\n faBrain,\n faBandage,\n faBandAid,\n faCalendarMinus,\n faCircleXmark,\n faTimesCircle,\n faXmarkCircle,\n faGifts,\n faHotel,\n faEarthAsia,\n faGlobeAsia,\n faIdCardClip,\n faIdCardAlt,\n faMagnifyingGlassPlus,\n faSearchPlus,\n faThumbsUp,\n faUserClock,\n faHandDots,\n faAllergies,\n faFileInvoice,\n faWindowMinimize,\n faMugSaucer,\n faCoffee,\n faBrush,\n faFileHalfDashed,\n faMask,\n faMagnifyingGlassMinus,\n faSearchMinus,\n faRulerVertical,\n faUserLarge,\n faUserAlt,\n faTrainTram,\n faUserNurse,\n faSyringe,\n faCloudSun,\n faStopwatch20,\n faSquareFull,\n faMagnet,\n faJar,\n faNoteSticky,\n faStickyNote,\n faBugSlash,\n faArrowUpFromWaterPump,\n faBone,\n faTableCellsRowUnlock,\n faUserInjured,\n faFaceSadTear,\n faSadTear,\n faPlane,\n faTentArrowsDown,\n faExclamation,\n faArrowsSpin,\n faPrint,\n faTurkishLiraSign,\n faTry,\n faTurkishLira,\n faDollarSign,\n faDollar,\n faUsd,\n faX,\n faMagnifyingGlassDollar,\n faSearchDollar,\n faUsersGear,\n faUsersCog,\n faPersonMilitaryPointing,\n faBuildingColumns,\n faBank,\n faInstitution,\n faMuseum,\n faUniversity,\n faUmbrella,\n faTrowel,\n faD,\n faStapler,\n faMasksTheater,\n faTheaterMasks,\n faKipSign,\n faHandPointLeft,\n faHandshakeSimple,\n faHandshakeAlt,\n faJetFighter,\n faFighterJet,\n faSquareShareNodes,\n faShareAltSquare,\n faBarcode,\n faPlusMinus,\n faVideo,\n faVideoCamera,\n faGraduationCap,\n faMortarBoard,\n faHandHoldingMedical,\n faPersonCircleCheck,\n faTurnUp,\n faLevelUpAlt\n};\n\nexport { icons as fas, prefix, fa0, fa1, fa2, fa3, fa4, fa5, fa6, fa7, fa8, fa9, faFillDrip, faArrowsToCircle, faCircleChevronRight, faChevronCircleRight, faAt, faTrashCan, faTrashAlt, faTextHeight, faUserXmark, faUserTimes, faStethoscope, faMessage, faCommentAlt, faInfo, faDownLeftAndUpRightToCenter, faCompressAlt, faExplosion, faFileLines, faFileAlt, faFileText, faWaveSquare, faRing, faBuildingUn, faDiceThree, faCalendarDays, faCalendarAlt, faAnchorCircleCheck, faBuildingCircleArrowRight, faVolleyball, faVolleyballBall, faArrowsUpToLine, faSortDown, faSortDesc, faCircleMinus, faMinusCircle, faDoorOpen, faRightFromBracket, faSignOutAlt, faAtom, faSoap, faIcons, faHeartMusicCameraBolt, faMicrophoneLinesSlash, faMicrophoneAltSlash, faBridgeCircleCheck, faPumpMedical, faFingerprint, faHandPointRight, faMagnifyingGlassLocation, faSearchLocation, faForwardStep, faStepForward, faFaceSmileBeam, faSmileBeam, faFlagCheckered, faFootball, faFootballBall, faSchoolCircleExclamation, faCrop, faAnglesDown, faAngleDoubleDown, faUsersRectangle, faPeopleRoof, faPeopleLine, faBeerMugEmpty, faBeer, faDiagramPredecessor, faArrowUpLong, faLongArrowUp, faFireFlameSimple, faBurn, faPerson, faMale, faLaptop, faFileCsv, faMenorah, faTruckPlane, faRecordVinyl, faFaceGrinStars, faGrinStars, faBong, faSpaghettiMonsterFlying, faPastafarianism, faArrowDownUpAcrossLine, faSpoon, faUtensilSpoon, faJarWheat, faEnvelopesBulk, faMailBulk, faFileCircleExclamation, faCircleH, faHospitalSymbol, faPager, faAddressBook, faContactBook, faStrikethrough, faK, faLandmarkFlag, faPencil, faPencilAlt, faBackward, faCaretRight, faComments, faPaste, faFileClipboard, faCodePullRequest, faClipboardList, faTruckRampBox, faTruckLoading, faUserCheck, faVialVirus, faSheetPlastic, faBlog, faUserNinja, faPersonArrowUpFromLine, faScrollTorah, faTorah, faBroomBall, faQuidditch, faQuidditchBroomBall, faToggleOff, faBoxArchive, faArchive, faPersonDrowning, faArrowDown91, faSortNumericDesc, faSortNumericDownAlt, faFaceGrinTongueSquint, faGrinTongueSquint, faSprayCan, faTruckMonster, faW, faEarthAfrica, faGlobeAfrica, faRainbow, faCircleNotch, faTabletScreenButton, faTabletAlt, faPaw, faCloud, faTrowelBricks, faFaceFlushed, faFlushed, faHospitalUser, faTentArrowLeftRight, faGavel, faLegal, faBinoculars, faMicrophoneSlash, faBoxTissue, faMotorcycle, faBellConcierge, faConciergeBell, faPenRuler, faPencilRuler, faPeopleArrows, faPeopleArrowsLeftRight, faMarsAndVenusBurst, faSquareCaretRight, faCaretSquareRight, faScissors, faCut, faSunPlantWilt, faToiletsPortable, faHockeyPuck, faTable, faMagnifyingGlassArrowRight, faTachographDigital, faDigitalTachograph, faUsersSlash, faClover, faReply, faMailReply, faStarAndCrescent, faHouseFire, faSquareMinus, faMinusSquare, faHelicopter, faCompass, faSquareCaretDown, faCaretSquareDown, faFileCircleQuestion, faLaptopCode, faSwatchbook, faPrescriptionBottle, faBars, faNavicon, faPeopleGroup, faHourglassEnd, faHourglass3, faHeartCrack, faHeartBroken, faSquareUpRight, faExternalLinkSquareAlt, faFaceKissBeam, faKissBeam, faFilm, faRulerHorizontal, faPeopleRobbery, faLightbulb, faCaretLeft, faCircleExclamation, faExclamationCircle, faSchoolCircleXmark, faArrowRightFromBracket, faSignOut, faCircleChevronDown, faChevronCircleDown, faUnlockKeyhole, faUnlockAlt, faCloudShowersHeavy, faHeadphonesSimple, faHeadphonesAlt, faSitemap, faCircleDollarToSlot, faDonate, faMemory, faRoadSpikes, faFireBurner, faFlag, faHanukiah, faFeather, faVolumeLow, faVolumeDown, faCommentSlash, faCloudSunRain, faCompress, faWheatAwn, faWheatAlt, faAnkh, faHandsHoldingChild, faAsterisk, faSquareCheck, faCheckSquare, faPesetaSign, faHeading, faHeader, faGhost, faList, faListSquares, faSquarePhoneFlip, faPhoneSquareAlt, faCartPlus, faGamepad, faCircleDot, faDotCircle, faFaceDizzy, faDizzy, faEgg, faHouseMedicalCircleXmark, faCampground, faFolderPlus, faFutbol, faFutbolBall, faSoccerBall, faPaintbrush, faPaintBrush, faLock, faGasPump, faHotTubPerson, faHotTub, faMapLocation, faMapMarked, faHouseFloodWater, faTree, faBridgeLock, faSackDollar, faPenToSquare, faEdit, faCarSide, faShareNodes, faShareAlt, faHeartCircleMinus, faHourglassHalf, faHourglass2, faMicroscope, faSink, faBagShopping, faShoppingBag, faArrowDownZA, faSortAlphaDesc, faSortAlphaDownAlt, faMitten, faPersonRays, faUsers, faEyeSlash, faFlaskVial, faHand, faHandPaper, faOm, faWorm, faHouseCircleXmark, faPlug, faChevronUp, faHandSpock, faStopwatch, faFaceKiss, faKiss, faBridgeCircleXmark, faFaceGrinTongue, faGrinTongue, faChessBishop, faFaceGrinWink, faGrinWink, faEarDeaf, faDeaf, faDeafness, faHardOfHearing, faRoadCircleCheck, faDiceFive, faSquareRss, faRssSquare, faLandMineOn, faICursor, faStamp, faStairs, faI, faHryvniaSign, faHryvnia, faPills, faFaceGrinWide, faGrinAlt, faTooth, faV, faBangladeshiTakaSign, faBicycle, faStaffSnake, faRodAsclepius, faRodSnake, faStaffAesculapius, faHeadSideCoughSlash, faTruckMedical, faAmbulance, faWheatAwnCircleExclamation, faSnowman, faMortarPestle, faRoadBarrier, faSchool, faIgloo, faJoint, faAngleRight, faHorse, faQ, faG, faNotesMedical, faTemperatureHalf, faTemperature2, faThermometer2, faThermometerHalf, faDongSign, faCapsules, faPooStorm, faPooBolt, faFaceFrownOpen, faFrownOpen, faHandPointUp, faMoneyBill, faBookmark, faAlignJustify, faUmbrellaBeach, faHelmetUn, faBullseye, faBacon, faHandPointDown, faArrowUpFromBracket, faFolder, faFolderBlank, faFileWaveform, faFileMedicalAlt, faRadiation, faChartSimple, faMarsStroke, faVial, faGauge, faDashboard, faGaugeMed, faTachometerAltAverage, faWandMagicSparkles, faMagicWandSparkles, faE, faPenClip, faPenAlt, faBridgeCircleExclamation, faUser, faSchoolCircleCheck, faDumpster, faVanShuttle, faShuttleVan, faBuildingUser, faSquareCaretLeft, faCaretSquareLeft, faHighlighter, faKey, faBullhorn, faGlobe, faSynagogue, faPersonHalfDress, faRoadBridge, faLocationArrow, faC, faTabletButton, faBuildingLock, faPizzaSlice, faMoneyBillWave, faChartArea, faAreaChart, faHouseFlag, faPersonCircleMinus, faBan, faCancel, faCameraRotate, faSprayCanSparkles, faAirFreshener, faStar, faRepeat, faCross, faBox, faVenusMars, faArrowPointer, faMousePointer, faMaximize, faExpandArrowsAlt, faChargingStation, faShapes, faTriangleCircleSquare, faShuffle, faRandom, faPersonRunning, faRunning, faMobileRetro, faGripLinesVertical, faSpider, faHandsBound, faFileInvoiceDollar, faPlaneCircleExclamation, faXRay, faSpellCheck, faSlash, faComputerMouse, faMouse, faArrowRightToBracket, faSignIn, faShopSlash, faStoreAltSlash, faServer, faVirusCovidSlash, faShopLock, faHourglassStart, faHourglass1, faBlenderPhone, faBuildingWheat, faPersonBreastfeeding, faRightToBracket, faSignInAlt, faVenus, faPassport, faThumbtackSlash, faThumbTackSlash, faHeartPulse, faHeartbeat, faPeopleCarryBox, faPeopleCarry, faTemperatureHigh, faMicrochip, faCrown, faWeightHanging, faXmarksLines, faFilePrescription, faWeightScale, faWeight, faUserGroup, faUserFriends, faArrowUpAZ, faSortAlphaUp, faChessKnight, faFaceLaughSquint, faLaughSquint, faWheelchair, faCircleArrowUp, faArrowCircleUp, faToggleOn, faPersonWalking, faWalking, faL, faFire, faBedPulse, faProcedures, faShuttleSpace, faSpaceShuttle, faFaceLaugh, faLaugh, faFolderOpen, faHeartCirclePlus, faCodeFork, faCity, faMicrophoneLines, faMicrophoneAlt, faPepperHot, faUnlock, faColonSign, faHeadset, faStoreSlash, faRoadCircleXmark, faUserMinus, faMarsStrokeUp, faMarsStrokeV, faChampagneGlasses, faGlassCheers, faClipboard, faHouseCircleExclamation, faFileArrowUp, faFileUpload, faWifi, faWifi3, faWifiStrong, faBath, faBathtub, faUnderline, faUserPen, faUserEdit, faSignature, faStroopwafel, faBold, faAnchorLock, faBuildingNgo, faManatSign, faNotEqual, faBorderTopLeft, faBorderStyle, faMapLocationDot, faMapMarkedAlt, faJedi, faSquarePollVertical, faPoll, faMugHot, faCarBattery, faBatteryCar, faGift, faDiceTwo, faChessQueen, faGlasses, faChessBoard, faBuildingCircleCheck, faPersonChalkboard, faMarsStrokeRight, faMarsStrokeH, faHandBackFist, faHandRock, faSquareCaretUp, faCaretSquareUp, faCloudShowersWater, faChartBar, faBarChart, faHandsBubbles, faHandsWash, faLessThanEqual, faTrain, faEyeLowVision, faLowVision, faCrow, faSailboat, faWindowRestore, faSquarePlus, faPlusSquare, faToriiGate, faFrog, faBucket, faImage, faMicrophone, faCow, faCaretUp, faScrewdriver, faFolderClosed, faHouseTsunami, faSquareNfi, faArrowUpFromGroundWater, faMartiniGlass, faGlassMartiniAlt, faSquareBinary, faRotateLeft, faRotateBack, faRotateBackward, faUndoAlt, faTableColumns, faColumns, faLemon, faHeadSideMask, faHandshake, faGem, faDolly, faDollyBox, faSmoking, faMinimize, faCompressArrowsAlt, faMonument, faSnowplow, faAnglesRight, faAngleDoubleRight, faCannabis, faCirclePlay, faPlayCircle, faTablets, faEthernet, faEuroSign, faEur, faEuro, faChair, faCircleCheck, faCheckCircle, faCircleStop, faStopCircle, faCompassDrafting, faDraftingCompass, faPlateWheat, faIcicles, faPersonShelter, faNeuter, faIdBadge, faMarker, faFaceLaughBeam, faLaughBeam, faHelicopterSymbol, faUniversalAccess, faCircleChevronUp, faChevronCircleUp, faLariSign, faVolcano, faPersonWalkingDashedLineArrowRight, faSterlingSign, faGbp, faPoundSign, faViruses, faSquarePersonConfined, faUserTie, faArrowDownLong, faLongArrowDown, faTentArrowDownToLine, faCertificate, faReplyAll, faMailReplyAll, faSuitcase, faPersonSkating, faSkating, faFilterCircleDollar, faFunnelDollar, faCameraRetro, faCircleArrowDown, faArrowCircleDown, faFileImport, faArrowRightToFile, faSquareArrowUpRight, faExternalLinkSquare, faBoxOpen, faScroll, faSpa, faLocationPinLock, faPause, faHillAvalanche, faTemperatureEmpty, faTemperature0, faThermometer0, faThermometerEmpty, faBomb, faRegistered, faAddressCard, faContactCard, faVcard, faScaleUnbalancedFlip, faBalanceScaleRight, faSubscript, faDiamondTurnRight, faDirections, faBurst, faHouseLaptop, faLaptopHouse, faFaceTired, faTired, faMoneyBills, faSmog, faCrutch, faFontAwesome, faFontAwesomeFlag, faFontAwesomeLogoFull, faCloudArrowUp, faCloudUpload, faCloudUploadAlt, faPalette, faArrowsTurnRight, faVest, faFerry, faArrowsDownToPeople, faSeedling, faSprout, faLeftRight, faArrowsAltH, faBoxesPacking, faCircleArrowLeft, faArrowCircleLeft, faGroupArrowsRotate, faBowlFood, faCandyCane, faArrowDownWideShort, faSortAmountAsc, faSortAmountDown, faCloudBolt, faThunderstorm, faTextSlash, faRemoveFormat, faFaceSmileWink, faSmileWink, faFileWord, faFilePowerpoint, faArrowsLeftRight, faArrowsH, faHouseLock, faCloudArrowDown, faCloudDownload, faCloudDownloadAlt, faChildren, faChalkboard, faBlackboard, faUserLargeSlash, faUserAltSlash, faEnvelopeOpen, faHandshakeSimpleSlash, faHandshakeAltSlash, faMattressPillow, faGuaraniSign, faArrowsRotate, faRefresh, faSync, faFireExtinguisher, faCruzeiroSign, faGreaterThanEqual, faShieldHalved, faShieldAlt, faBookAtlas, faAtlas, faVirus, faEnvelopeCircleCheck, faLayerGroup, faArrowsToDot, faArchway, faHeartCircleCheck, faHouseChimneyCrack, faHouseDamage, faFileZipper, faFileArchive, faSquare, faMartiniGlassEmpty, faGlassMartini, faCouch, faCediSign, faItalic, faTableCellsColumnLock, faChurch, faCommentsDollar, faDemocrat, faZ, faPersonSkiing, faSkiing, faRoadLock, faA, faTemperatureArrowDown, faTemperatureDown, faFeatherPointed, faFeatherAlt, faP, faSnowflake, faNewspaper, faRectangleAd, faAd, faCircleArrowRight, faArrowCircleRight, faFilterCircleXmark, faLocust, faSort, faUnsorted, faListOl, faList12, faListNumeric, faPersonDressBurst, faMoneyCheckDollar, faMoneyCheckAlt, faVectorSquare, faBreadSlice, faLanguage, faFaceKissWinkHeart, faKissWinkHeart, faFilter, faQuestion, faFileSignature, faUpDownLeftRight, faArrowsAlt, faHouseChimneyUser, faHandHoldingHeart, faPuzzlePiece, faMoneyCheck, faStarHalfStroke, faStarHalfAlt, faCode, faWhiskeyGlass, faGlassWhiskey, faBuildingCircleExclamation, faMagnifyingGlassChart, faArrowUpRightFromSquare, faExternalLink, faCubesStacked, faWonSign, faKrw, faWon, faVirusCovid, faAustralSign, faF, faLeaf, faRoad, faTaxi, faCab, faPersonCirclePlus, faChartPie, faPieChart, faBoltLightning, faSackXmark, faFileExcel, faFileContract, faFishFins, faBuildingFlag, faFaceGrinBeam, faGrinBeam, faObjectUngroup, faPoop, faLocationPin, faMapMarker, faKaaba, faToiletPaper, faHelmetSafety, faHardHat, faHatHard, faEject, faCircleRight, faArrowAltCircleRight, faPlaneCircleCheck, faFaceRollingEyes, faMehRollingEyes, faObjectGroup, faChartLine, faLineChart, faMaskVentilator, faArrowRight, faSignsPost, faMapSigns, faCashRegister, faPersonCircleQuestion, faH, faTarp, faScrewdriverWrench, faTools, faArrowsToEye, faPlugCircleBolt, faHeart, faMarsAndVenus, faHouseUser, faHomeUser, faDumpsterFire, faHouseCrack, faMartiniGlassCitrus, faCocktail, faFaceSurprise, faSurprise, faBottleWater, faCirclePause, faPauseCircle, faToiletPaperSlash, faAppleWhole, faAppleAlt, faKitchenSet, faR, faTemperatureQuarter, faTemperature1, faThermometer1, faThermometerQuarter, faCube, faBitcoinSign, faShieldDog, faSolarPanel, faLockOpen, faElevator, faMoneyBillTransfer, faMoneyBillTrendUp, faHouseFloodWaterCircleArrowRight, faSquarePollHorizontal, faPollH, faCircle, faBackwardFast, faFastBackward, faRecycle, faUserAstronaut, faPlaneSlash, faTrademark, faBasketball, faBasketballBall, faSatelliteDish, faCircleUp, faArrowAltCircleUp, faMobileScreenButton, faMobileAlt, faVolumeHigh, faVolumeUp, faUsersRays, faWallet, faClipboardCheck, faFileAudio, faBurger, faHamburger, faWrench, faBugs, faRupeeSign, faRupee, faFileImage, faCircleQuestion, faQuestionCircle, faPlaneDeparture, faHandshakeSlash, faBookBookmark, faCodeBranch, faHatCowboy, faBridge, faPhoneFlip, faPhoneAlt, faTruckFront, faCat, faAnchorCircleExclamation, faTruckField, faRoute, faClipboardQuestion, faPanorama, faCommentMedical, faTeethOpen, faFileCircleMinus, faTags, faWineGlass, faForwardFast, faFastForward, faFaceMehBlank, faMehBlank, faSquareParking, faParking, faHouseSignal, faBarsProgress, faTasksAlt, faFaucetDrip, faCartFlatbed, faDollyFlatbed, faBanSmoking, faSmokingBan, faTerminal, faMobileButton, faHouseMedicalFlag, faBasketShopping, faShoppingBasket, faTape, faBusSimple, faBusAlt, faEye, faFaceSadCry, faSadCry, faAudioDescription, faPersonMilitaryToPerson, faFileShield, faUserSlash, faPen, faTowerObservation, faFileCode, faSignal, faSignal5, faSignalPerfect, faBus, faHeartCircleXmark, faHouseChimney, faHomeLg, faWindowMaximize, faFaceFrown, faFrown, faPrescription, faShop, faStoreAlt, faFloppyDisk, faSave, faVihara, faScaleUnbalanced, faBalanceScaleLeft, faSortUp, faSortAsc, faCommentDots, faCommenting, faPlantWilt, faDiamond, faFaceGrinSquint, faGrinSquint, faHandHoldingDollar, faHandHoldingUsd, faChartDiagram, faBacterium, faHandPointer, faDrumSteelpan, faHandScissors, faHandsPraying, faPrayingHands, faArrowRotateRight, faArrowRightRotate, faArrowRotateForward, faRedo, faWebAwesome, faBiohazard, faLocationCrosshairs, faLocation, faMarsDouble, faChildDress, faUsersBetweenLines, faLungsVirus, faFaceGrinTears, faGrinTears, faPhone, faCalendarXmark, faCalendarTimes, faChildReaching, faHeadSideVirus, faUserGear, faUserCog, faArrowUp19, faSortNumericUp, faDoorClosed, faShieldVirus, faDiceSix, faMosquitoNet, faFileFragment, faBridgeWater, faPersonBooth, faTextWidth, faHatWizard, faPenFancy, faPersonDigging, faDigging, faTrash, faGaugeSimple, faGaugeSimpleMed, faTachometerAverage, faBookMedical, faPoo, faQuoteRight, faQuoteRightAlt, faShirt, faTShirt, faTshirt, faCubes, faDivide, faTengeSign, faTenge, faHeadphones, faHandsHolding, faHandsClapping, faRepublican, faArrowLeft, faPersonCircleXmark, faRuler, faAlignLeft, faDiceD6, faRestroom, faJ, faUsersViewfinder, faFileVideo, faUpRightFromSquare, faExternalLinkAlt, faTableCells, faTh, faFilePdf, faBookBible, faBible, faO, faSuitcaseMedical, faMedkit, faUserSecret, faOtter, faPersonDress, faFemale, faCommentDollar, faBusinessTime, faBriefcaseClock, faTableCellsLarge, faThLarge, faBookTanakh, faTanakh, faPhoneVolume, faVolumeControlPhone, faHatCowboySide, faClipboardUser, faChild, faLiraSign, faSatellite, faPlaneLock, faTag, faComment, faCakeCandles, faBirthdayCake, faCake, faEnvelope, faAnglesUp, faAngleDoubleUp, faPaperclip, faArrowRightToCity, faRibbon, faLungs, faArrowUp91, faSortNumericUpAlt, faLitecoinSign, faBorderNone, faCircleNodes, faParachuteBox, faIndent, faTruckFieldUn, faHourglass, faHourglassEmpty, faMountain, faUserDoctor, faUserMd, faCircleInfo, faInfoCircle, faCloudMeatball, faCamera, faCameraAlt, faSquareVirus, faMeteor, faCarOn, faSleigh, faArrowDown19, faSortNumericAsc, faSortNumericDown, faHandHoldingDroplet, faHandHoldingWater, faWater, faCalendarCheck, faBraille, faPrescriptionBottleMedical, faPrescriptionBottleAlt, faLandmark, faTruck, faCrosshairs, faPersonCane, faTent, faVestPatches, faCheckDouble, faArrowDownAZ, faSortAlphaAsc, faSortAlphaDown, faMoneyBillWheat, faCookie, faArrowRotateLeft, faArrowLeftRotate, faArrowRotateBack, faArrowRotateBackward, faUndo, faHardDrive, faHdd, faFaceGrinSquintTears, faGrinSquintTears, faDumbbell, faRectangleList, faListAlt, faTarpDroplet, faHouseMedicalCircleCheck, faPersonSkiingNordic, faSkiingNordic, faCalendarPlus, faPlaneArrival, faCircleLeft, faArrowAltCircleLeft, faTrainSubway, faSubway, faChartGantt, faIndianRupeeSign, faIndianRupee, faInr, faCropSimple, faCropAlt, faMoneyBill1, faMoneyBillAlt, faLeftLong, faLongArrowAltLeft, faDna, faVirusSlash, faMinus, faSubtract, faChess, faArrowLeftLong, faLongArrowLeft, faPlugCircleCheck, faStreetView, faFrancSign, faVolumeOff, faHandsAslInterpreting, faAmericanSignLanguageInterpreting, faAslInterpreting, faHandsAmericanSignLanguageInterpreting, faGear, faCog, faDropletSlash, faTintSlash, faMosque, faMosquito, faStarOfDavid, faPersonMilitaryRifle, faCartShopping, faShoppingCart, faVials, faPlugCirclePlus, faPlaceOfWorship, faGripVertical, faHexagonNodes, faArrowTurnUp, faLevelUp, faU, faSquareRootVariable, faSquareRootAlt, faClock, faClockFour, faBackwardStep, faStepBackward, faPallet, faFaucet, faBaseballBatBall, faS, faTimeline, faKeyboard, faCaretDown, faHouseChimneyMedical, faClinicMedical, faTemperatureThreeQuarters, faTemperature3, faThermometer3, faThermometerThreeQuarters, faMobileScreen, faMobileAndroidAlt, faPlaneUp, faPiggyBank, faBatteryHalf, faBattery3, faMountainCity, faCoins, faKhanda, faSliders, faSlidersH, faFolderTree, faNetworkWired, faMapPin, faHamsa, faCentSign, faFlask, faPersonPregnant, faWandSparkles, faEllipsisVertical, faEllipsisV, faTicket, faPowerOff, faRightLong, faLongArrowAltRight, faFlagUsa, faLaptopFile, faTty, faTeletype, faDiagramNext, faPersonRifle, faHouseMedicalCircleExclamation, faClosedCaptioning, faPersonHiking, faHiking, faVenusDouble, faImages, faCalculator, faPeoplePulling, faN, faCableCar, faTram, faCloudRain, faBuildingCircleXmark, faShip, faArrowsDownToLine, faDownload, faFaceGrin, faGrin, faDeleteLeft, faBackspace, faEyeDropper, faEyeDropperEmpty, faEyedropper, faFileCircleCheck, faForward, faMobile, faMobileAndroid, faMobilePhone, faFaceMeh, faMeh, faAlignCenter, faBookSkull, faBookDead, faIdCard, faDriversLicense, faOutdent, faDedent, faHeartCircleExclamation, faHouse, faHome, faHomeAlt, faHomeLgAlt, faCalendarWeek, faLaptopMedical, faB, faFileMedical, faDiceOne, faKiwiBird, faArrowRightArrowLeft, faExchange, faRotateRight, faRedoAlt, faRotateForward, faUtensils, faCutlery, faArrowUpWideShort, faSortAmountUp, faMillSign, faBowlRice, faSkull, faTowerBroadcast, faBroadcastTower, faTruckPickup, faUpLong, faLongArrowAltUp, faStop, faCodeMerge, faUpload, faHurricane, faMound, faToiletPortable, faCompactDisc, faFileArrowDown, faFileDownload, faCaravan, faShieldCat, faBolt, faZap, faGlassWater, faOilWell, faVault, faMars, faToilet, faPlaneCircleXmark, faYenSign, faCny, faJpy, faRmb, faYen, faRubleSign, faRouble, faRub, faRuble, faSun, faGuitar, faFaceLaughWink, faLaughWink, faHorseHead, faBoreHole, faIndustry, faCircleDown, faArrowAltCircleDown, faArrowsTurnToDots, faFlorinSign, faArrowDownShortWide, faSortAmountDesc, faSortAmountDownAlt, faLessThan, faAngleDown, faCarTunnel, faHeadSideCough, faGripLines, faThumbsDown, faUserLock, faArrowRightLong, faLongArrowRight, faAnchorCircleXmark, faEllipsis, faEllipsisH, faChessPawn, faKitMedical, faFirstAid, faPersonThroughWindow, faToolbox, faHandsHoldingCircle, faBug, faCreditCard, faCreditCardAlt, faCar, faAutomobile, faHandHoldingHand, faBookOpenReader, faBookReader, faMountainSun, faArrowsLeftRightToLine, faDiceD20, faTruckDroplet, faFileCircleXmark, faTemperatureArrowUp, faTemperatureUp, faMedal, faBed, faSquareH, faHSquare, faPodcast, faTemperatureFull, faTemperature4, faThermometer4, faThermometerFull, faBell, faSuperscript, faPlugCircleXmark, faStarOfLife, faPhoneSlash, faPaintRoller, faHandshakeAngle, faHandsHelping, faLocationDot, faMapMarkerAlt, faFile, faGreaterThan, faPersonSwimming, faSwimmer, faArrowDown, faDroplet, faTint, faEraser, faEarthAmericas, faEarth, faEarthAmerica, faGlobeAmericas, faPersonBurst, faDove, faBatteryEmpty, faBattery0, faSocks, faInbox, faSection, faGaugeHigh, faTachometerAlt, faTachometerAltFast, faEnvelopeOpenText, faHospital, faHospitalAlt, faHospitalWide, faWineBottle, faChessRook, faBarsStaggered, faReorder, faStream, faDharmachakra, faHotdog, faPersonWalkingWithCane, faBlind, faDrum, faIceCream, faHeartCircleBolt, faFax, faParagraph, faCheckToSlot, faVoteYea, faStarHalf, faBoxesStacked, faBoxes, faBoxesAlt, faLink, faChain, faEarListen, faAssistiveListeningSystems, faTreeCity, faPlay, faFont, faTableCellsRowLock, faRupiahSign, faMagnifyingGlass, faSearch, faTableTennisPaddleBall, faPingPongPaddleBall, faTableTennis, faPersonDotsFromLine, faDiagnoses, faTrashCanArrowUp, faTrashRestoreAlt, faNairaSign, faCartArrowDown, faWalkieTalkie, faFilePen, faFileEdit, faReceipt, faSquarePen, faPenSquare, faPencilSquare, faSuitcaseRolling, faPersonCircleExclamation, faChevronDown, faBatteryFull, faBattery, faBattery5, faSkullCrossbones, faCodeCompare, faListUl, faListDots, faSchoolLock, faTowerCell, faDownLong, faLongArrowAltDown, faRankingStar, faChessKing, faPersonHarassing, faBrazilianRealSign, faLandmarkDome, faLandmarkAlt, faArrowUp, faTv, faTelevision, faTvAlt, faShrimp, faListCheck, faTasks, faJugDetergent, faCircleUser, faUserCircle, faUserShield, faWind, faCarBurst, faCarCrash, faY, faPersonSnowboarding, faSnowboarding, faTruckFast, faShippingFast, faFish, faUserGraduate, faCircleHalfStroke, faAdjust, faClapperboard, faCircleRadiation, faRadiationAlt, faBaseball, faBaseballBall, faJetFighterUp, faDiagramProject, faProjectDiagram, faCopy, faVolumeXmark, faVolumeMute, faVolumeTimes, faHandSparkles, faGrip, faGripHorizontal, faShareFromSquare, faShareSquare, faChildCombatant, faChildRifle, faGun, faSquarePhone, faPhoneSquare, faPlus, faAdd, faExpand, faComputer, faXmark, faClose, faMultiply, faRemove, faTimes, faArrowsUpDownLeftRight, faArrows, faChalkboardUser, faChalkboardTeacher, faPesoSign, faBuildingShield, faBaby, faUsersLine, faQuoteLeft, faQuoteLeftAlt, faTractor, faTrashArrowUp, faTrashRestore, faArrowDownUpLock, faLinesLeaning, faRulerCombined, faCopyright, faEquals, faBlender, faTeeth, faShekelSign, faIls, faShekel, faSheqel, faSheqelSign, faMap, faRocket, faPhotoFilm, faPhotoVideo, faFolderMinus, faHexagonNodesBolt, faStore, faArrowTrendUp, faPlugCircleMinus, faSignHanging, faSign, faBezierCurve, faBellSlash, faTablet, faTabletAndroid, faSchoolFlag, faFill, faAngleUp, faDrumstickBite, faHollyBerry, faChevronLeft, faBacteria, faHandLizard, faNotdef, faDisease, faBriefcaseMedical, faGenderless, faChevronRight, faRetweet, faCarRear, faCarAlt, faPumpSoap, faVideoSlash, faBatteryQuarter, faBattery2, faRadio, faBabyCarriage, faCarriageBaby, faTrafficLight, faThermometer, faVrCardboard, faHandMiddleFinger, faPercent, faPercentage, faTruckMoving, faGlassWaterDroplet, faDisplay, faFaceSmile, faSmile, faThumbtack, faThumbTack, faTrophy, faPersonPraying, faPray, faHammer, faHandPeace, faRotate, faSyncAlt, faSpinner, faRobot, faPeace, faGears, faCogs, faWarehouse, faArrowUpRightDots, faSplotch, faFaceGrinHearts, faGrinHearts, faDiceFour, faSimCard, faTransgender, faTransgenderAlt, faMercury, faArrowTurnDown, faLevelDown, faPersonFallingBurst, faAward, faTicketSimple, faTicketAlt, faBuilding, faAnglesLeft, faAngleDoubleLeft, faQrcode, faClockRotateLeft, faHistory, faFaceGrinBeamSweat, faGrinBeamSweat, faFileExport, faArrowRightFromFile, faShield, faShieldBlank, faArrowUpShortWide, faSortAmountUpAlt, faCommentNodes, faHouseMedical, faGolfBallTee, faGolfBall, faCircleChevronLeft, faChevronCircleLeft, faHouseChimneyWindow, faPenNib, faTentArrowTurnLeft, faTents, faWandMagic, faMagic, faDog, faCarrot, faMoon, faWineGlassEmpty, faWineGlassAlt, faCheese, faYinYang, faMusic, faCodeCommit, faTemperatureLow, faPersonBiking, faBiking, faBroom, faShieldHeart, faGopuram, faEarthOceania, faGlobeOceania, faSquareXmark, faTimesSquare, faXmarkSquare, faHashtag, faUpRightAndDownLeftFromCenter, faExpandAlt, faOilCan, faT, faHippo, faChartColumn, faInfinity, faVialCircleCheck, faPersonArrowDownToLine, faVoicemail, faFan, faPersonWalkingLuggage, faUpDown, faArrowsAltV, faCloudMoonRain, faCalendar, faTrailer, faBahai, faHaykal, faSdCard, faDragon, faShoePrints, faCirclePlus, faPlusCircle, faFaceGrinTongueWink, faGrinTongueWink, faHandHolding, faPlugCircleExclamation, faLinkSlash, faChainBroken, faChainSlash, faUnlink, faClone, faPersonWalkingArrowLoopLeft, faArrowUpZA, faSortAlphaUpAlt, faFireFlameCurved, faFireAlt, faTornado, faFileCirclePlus, faBookQuran, faQuran, faAnchor, faBorderAll, faFaceAngry, faAngry, faCookieBite, faArrowTrendDown, faRss, faFeed, faDrawPolygon, faScaleBalanced, faBalanceScale, faGaugeSimpleHigh, faTachometer, faTachometerFast, faShower, faDesktop, faDesktopAlt, faM, faTableList, faThList, faCommentSms, faSms, faBook, faUserPlus, faCheck, faBatteryThreeQuarters, faBattery4, faHouseCircleCheck, faAngleLeft, faDiagramSuccessor, faTruckArrowRight, faArrowsSplitUpAndLeft, faHandFist, faFistRaised, faCloudMoon, faBriefcase, faPersonFalling, faImagePortrait, faPortrait, faUserTag, faRug, faEarthEurope, faGlobeEurope, faCartFlatbedSuitcase, faLuggageCart, faRectangleXmark, faRectangleTimes, faTimesRectangle, faWindowClose, faBahtSign, faBookOpen, faBookJournalWhills, faJournalWhills, faHandcuffs, faTriangleExclamation, faExclamationTriangle, faWarning, faDatabase, faShare, faMailForward, faBottleDroplet, faMaskFace, faHillRockslide, faRightLeft, faExchangeAlt, faPaperPlane, faRoadCircleExclamation, faDungeon, faAlignRight, faMoneyBill1Wave, faMoneyBillWaveAlt, faLifeRing, faHands, faSignLanguage, faSigning, faCalendarDay, faWaterLadder, faLadderWater, faSwimmingPool, faArrowsUpDown, faArrowsV, faFaceGrimace, faGrimace, faWheelchairMove, faWheelchairAlt, faTurnDown, faLevelDownAlt, faPersonWalkingArrowRight, faSquareEnvelope, faEnvelopeSquare, faDice, faBowlingBall, faBrain, faBandage, faBandAid, faCalendarMinus, faCircleXmark, faTimesCircle, faXmarkCircle, faGifts, faHotel, faEarthAsia, faGlobeAsia, faIdCardClip, faIdCardAlt, faMagnifyingGlassPlus, faSearchPlus, faThumbsUp, faUserClock, faHandDots, faAllergies, faFileInvoice, faWindowMinimize, faMugSaucer, faCoffee, faBrush, faFileHalfDashed, faMask, faMagnifyingGlassMinus, faSearchMinus, faRulerVertical, faUserLarge, faUserAlt, faTrainTram, faUserNurse, faSyringe, faCloudSun, faStopwatch20, faSquareFull, faMagnet, faJar, faNoteSticky, faStickyNote, faBugSlash, faArrowUpFromWaterPump, faBone, faTableCellsRowUnlock, faUserInjured, faFaceSadTear, faSadTear, faPlane, faTentArrowsDown, faExclamation, faArrowsSpin, faPrint, faTurkishLiraSign, faTry, faTurkishLira, faDollarSign, faDollar, faUsd, faX, faMagnifyingGlassDollar, faSearchDollar, faUsersGear, faUsersCog, faPersonMilitaryPointing, faBuildingColumns, faBank, faInstitution, faMuseum, faUniversity, faUmbrella, faTrowel, faD, faStapler, faMasksTheater, faTheaterMasks, faKipSign, faHandPointLeft, faHandshakeSimple, faHandshakeAlt, faJetFighter, faFighterJet, faSquareShareNodes, faShareAltSquare, faBarcode, faPlusMinus, faVideo, faVideoCamera, faGraduationCap, faMortarBoard, faHandHoldingMedical, faPersonCircleCheck, faTurnUp, faLevelUpAlt };\n","import { useRef } from \"react\";\n\n// Saves incoming handler to the ref in order to avoid \"useCallback hell\"\nexport function useEventCallback(handler?: (value: T) => void): (value: T) => void {\n const callbackRef = useRef(handler);\n const fn = useRef((value: T) => {\n callbackRef.current && callbackRef.current(value);\n });\n callbackRef.current = handler;\n\n return fn.current;\n}\n","// Clamps a value between an upper and lower bound.\n// We use ternary operators because it makes the minified code\n// 2 times shorter then `Math.min(Math.max(a,b),c)`\nexport const clamp = (number: number, min = 0, max = 1): number => {\n return number > max ? max : number < min ? min : number;\n};\n","import React, { useRef, useMemo, useEffect } from \"react\";\n\nimport { useEventCallback } from \"../../hooks/useEventCallback\";\nimport { clamp } from \"../../utils/clamp\";\n\nexport interface Interaction {\n left: number;\n top: number;\n}\n\n// Check if an event was triggered by touch\nconst isTouch = (event: MouseEvent | TouchEvent): event is TouchEvent => \"touches\" in event;\n\n// Finds a proper touch point by its identifier\nconst getTouchPoint = (touches: TouchList, touchId: null | number): Touch => {\n for (let i = 0; i < touches.length; i++) {\n if (touches[i].identifier === touchId) return touches[i];\n }\n return touches[0];\n};\n\n// Finds the proper window object to fix iframe embedding issues\nconst getParentWindow = (node?: HTMLDivElement | null): Window => {\n return (node && node.ownerDocument.defaultView) || self;\n};\n\n// Returns a relative position of the pointer inside the node's bounding box\nconst getRelativePosition = (\n node: HTMLDivElement,\n event: MouseEvent | TouchEvent,\n touchId: null | number\n): Interaction => {\n const rect = node.getBoundingClientRect();\n\n // Get user's pointer position from `touches` array if it's a `TouchEvent`\n const pointer = isTouch(event) ? getTouchPoint(event.touches, touchId) : (event as MouseEvent);\n\n return {\n left: clamp((pointer.pageX - (rect.left + getParentWindow(node).pageXOffset)) / rect.width),\n top: clamp((pointer.pageY - (rect.top + getParentWindow(node).pageYOffset)) / rect.height),\n };\n};\n\n// Browsers introduced an intervention, making touch events passive by default.\n// This workaround removes `preventDefault` call from the touch handlers.\n// https://github.com/facebook/react/issues/19651\nconst preventDefaultMove = (event: MouseEvent | TouchEvent): void => {\n !isTouch(event) && event.preventDefault();\n};\n\n// Prevent mobile browsers from handling mouse events (conflicting with touch ones).\n// If we detected a touch interaction before, we prefer reacting to touch events only.\nconst isInvalid = (event: MouseEvent | TouchEvent, hasTouch: boolean): boolean => {\n return hasTouch && !isTouch(event);\n};\n\ninterface Props {\n onMove: (interaction: Interaction) => void;\n onKey: (offset: Interaction) => void;\n children: React.ReactNode;\n}\n\nconst InteractiveBase = ({ onMove, onKey, ...rest }: Props) => {\n const container = useRef(null);\n const onMoveCallback = useEventCallback(onMove);\n const onKeyCallback = useEventCallback(onKey);\n const touchId = useRef(null);\n const hasTouch = useRef(false);\n\n const [handleMoveStart, handleKeyDown, toggleDocumentEvents] = useMemo(() => {\n const handleMoveStart = ({ nativeEvent }: React.MouseEvent | React.TouchEvent) => {\n const el = container.current;\n if (!el) return;\n\n // Prevent text selection\n preventDefaultMove(nativeEvent);\n\n if (isInvalid(nativeEvent, hasTouch.current) || !el) return;\n\n if (isTouch(nativeEvent)) {\n hasTouch.current = true;\n const changedTouches = nativeEvent.changedTouches || [];\n if (changedTouches.length) touchId.current = changedTouches[0].identifier;\n }\n\n el.focus();\n onMoveCallback(getRelativePosition(el, nativeEvent, touchId.current));\n toggleDocumentEvents(true);\n };\n\n const handleMove = (event: MouseEvent | TouchEvent) => {\n // Prevent text selection\n preventDefaultMove(event);\n\n // If user moves the pointer outside of the window or iframe bounds and release it there,\n // `mouseup`/`touchend` won't be fired. In order to stop the picker from following the cursor\n // after the user has moved the mouse/finger back to the document, we check `event.buttons`\n // and `event.touches`. It allows us to detect that the user is just moving his pointer\n // without pressing it down\n const isDown = isTouch(event) ? event.touches.length > 0 : event.buttons > 0;\n\n if (isDown && container.current) {\n onMoveCallback(getRelativePosition(container.current, event, touchId.current));\n } else {\n toggleDocumentEvents(false);\n }\n };\n\n const handleMoveEnd = () => toggleDocumentEvents(false);\n\n const handleKeyDown = (event: React.KeyboardEvent) => {\n const keyCode = event.which || event.keyCode;\n\n // Ignore all keys except arrow ones\n if (keyCode < 37 || keyCode > 40) return;\n // Do not scroll page by arrow keys when document is focused on the element\n event.preventDefault();\n // Send relative offset to the parent component.\n // We use codes (37←, 38↑, 39→, 40↓) instead of keys ('ArrowRight', 'ArrowDown', etc)\n // to reduce the size of the library\n onKeyCallback({\n left: keyCode === 39 ? 0.05 : keyCode === 37 ? -0.05 : 0,\n top: keyCode === 40 ? 0.05 : keyCode === 38 ? -0.05 : 0,\n });\n };\n\n function toggleDocumentEvents(state?: boolean) {\n const touch = hasTouch.current;\n const el = container.current;\n const parentWindow = getParentWindow(el);\n\n // Add or remove additional pointer event listeners\n const toggleEvent = state ? parentWindow.addEventListener : parentWindow.removeEventListener;\n toggleEvent(touch ? \"touchmove\" : \"mousemove\", handleMove);\n toggleEvent(touch ? \"touchend\" : \"mouseup\", handleMoveEnd);\n }\n\n return [handleMoveStart, handleKeyDown, toggleDocumentEvents];\n }, [onKeyCallback, onMoveCallback]);\n\n // Remove window event listeners before unmounting\n useEffect(() => toggleDocumentEvents, [toggleDocumentEvents]);\n\n return (\n \n );\n};\n\nexport const Interactive = React.memo(InteractiveBase);\n","export const formatClassName = (names: unknown[]): string => names.filter(Boolean).join(\" \");\n","import React from \"react\";\nimport { formatClassName } from \"../../utils/format\";\n\ninterface Props {\n className?: string;\n top?: number;\n left: number;\n color: string;\n}\n\nexport const Pointer = ({ className, color, left, top = 0.5 }: Props): JSX.Element => {\n const nodeClassName = formatClassName([\"react-colorful__pointer\", className]);\n\n const style = {\n top: `${top * 100}%`,\n left: `${left * 100}%`,\n };\n\n return (\n
\n
\n
\n );\n};\n","export const round = (number: number, digits = 0, base = Math.pow(10, digits)): number => {\n return Math.round(base * number) / base;\n};\n","import { round } from \"./round\";\nimport { RgbaColor, RgbColor, HslaColor, HslColor, HsvaColor, HsvColor } from \"../types\";\n\n/**\n * Valid CSS units.\n * https://developer.mozilla.org/en-US/docs/Web/CSS/angle\n */\nconst angleUnits: Record = {\n grad: 360 / 400,\n turn: 360,\n rad: 360 / (Math.PI * 2),\n};\n\nexport const hexToHsva = (hex: string): HsvaColor => rgbaToHsva(hexToRgba(hex));\n\nexport const hexToRgba = (hex: string): RgbaColor => {\n if (hex[0] === \"#\") hex = hex.substring(1);\n\n if (hex.length < 6) {\n return {\n r: parseInt(hex[0] + hex[0], 16),\n g: parseInt(hex[1] + hex[1], 16),\n b: parseInt(hex[2] + hex[2], 16),\n a: hex.length === 4 ? round(parseInt(hex[3] + hex[3], 16) / 255, 2) : 1,\n };\n }\n\n return {\n r: parseInt(hex.substring(0, 2), 16),\n g: parseInt(hex.substring(2, 4), 16),\n b: parseInt(hex.substring(4, 6), 16),\n a: hex.length === 8 ? round(parseInt(hex.substring(6, 8), 16) / 255, 2) : 1,\n };\n};\n\nexport const parseHue = (value: string, unit = \"deg\"): number => {\n return Number(value) * (angleUnits[unit] || 1);\n};\n\nexport const hslaStringToHsva = (hslString: string): HsvaColor => {\n const matcher = /hsla?\\(?\\s*(-?\\d*\\.?\\d+)(deg|rad|grad|turn)?[,\\s]+(-?\\d*\\.?\\d+)%?[,\\s]+(-?\\d*\\.?\\d+)%?,?\\s*[/\\s]*(-?\\d*\\.?\\d+)?(%)?\\s*\\)?/i;\n const match = matcher.exec(hslString);\n\n if (!match) return { h: 0, s: 0, v: 0, a: 1 };\n\n return hslaToHsva({\n h: parseHue(match[1], match[2]),\n s: Number(match[3]),\n l: Number(match[4]),\n a: match[5] === undefined ? 1 : Number(match[5]) / (match[6] ? 100 : 1),\n });\n};\n\nexport const hslStringToHsva = hslaStringToHsva;\n\nexport const hslaToHsva = ({ h, s, l, a }: HslaColor): HsvaColor => {\n s *= (l < 50 ? l : 100 - l) / 100;\n\n return {\n h: h,\n s: s > 0 ? ((2 * s) / (l + s)) * 100 : 0,\n v: l + s,\n a,\n };\n};\n\nexport const hsvaToHex = (hsva: HsvaColor): string => rgbaToHex(hsvaToRgba(hsva));\n\nexport const hsvaToHsla = ({ h, s, v, a }: HsvaColor): HslaColor => {\n const hh = ((200 - s) * v) / 100;\n\n return {\n h: round(h),\n s: round(hh > 0 && hh < 200 ? ((s * v) / 100 / (hh <= 100 ? hh : 200 - hh)) * 100 : 0),\n l: round(hh / 2),\n a: round(a, 2),\n };\n};\n\nexport const hsvaToHslString = (hsva: HsvaColor): string => {\n const { h, s, l } = hsvaToHsla(hsva);\n return `hsl(${h}, ${s}%, ${l}%)`;\n};\n\nexport const hsvaToHsvString = (hsva: HsvaColor): string => {\n const { h, s, v } = roundHsva(hsva);\n return `hsv(${h}, ${s}%, ${v}%)`;\n};\n\nexport const hsvaToHsvaString = (hsva: HsvaColor): string => {\n const { h, s, v, a } = roundHsva(hsva);\n return `hsva(${h}, ${s}%, ${v}%, ${a})`;\n};\n\nexport const hsvaToHslaString = (hsva: HsvaColor): string => {\n const { h, s, l, a } = hsvaToHsla(hsva);\n return `hsla(${h}, ${s}%, ${l}%, ${a})`;\n};\n\nexport const hsvaToRgba = ({ h, s, v, a }: HsvaColor): RgbaColor => {\n h = (h / 360) * 6;\n s = s / 100;\n v = v / 100;\n\n const hh = Math.floor(h),\n b = v * (1 - s),\n c = v * (1 - (h - hh) * s),\n d = v * (1 - (1 - h + hh) * s),\n module = hh % 6;\n\n return {\n r: round([v, c, b, b, d, v][module] * 255),\n g: round([d, v, v, c, b, b][module] * 255),\n b: round([b, b, d, v, v, c][module] * 255),\n a: round(a, 2),\n };\n};\n\nexport const hsvaToRgbString = (hsva: HsvaColor): string => {\n const { r, g, b } = hsvaToRgba(hsva);\n return `rgb(${r}, ${g}, ${b})`;\n};\n\nexport const hsvaToRgbaString = (hsva: HsvaColor): string => {\n const { r, g, b, a } = hsvaToRgba(hsva);\n return `rgba(${r}, ${g}, ${b}, ${a})`;\n};\n\nexport const hsvaStringToHsva = (hsvString: string): HsvaColor => {\n const matcher = /hsva?\\(?\\s*(-?\\d*\\.?\\d+)(deg|rad|grad|turn)?[,\\s]+(-?\\d*\\.?\\d+)%?[,\\s]+(-?\\d*\\.?\\d+)%?,?\\s*[/\\s]*(-?\\d*\\.?\\d+)?(%)?\\s*\\)?/i;\n const match = matcher.exec(hsvString);\n\n if (!match) return { h: 0, s: 0, v: 0, a: 1 };\n\n return roundHsva({\n h: parseHue(match[1], match[2]),\n s: Number(match[3]),\n v: Number(match[4]),\n a: match[5] === undefined ? 1 : Number(match[5]) / (match[6] ? 100 : 1),\n });\n};\n\nexport const hsvStringToHsva = hsvaStringToHsva;\n\nexport const rgbaStringToHsva = (rgbaString: string): HsvaColor => {\n const matcher = /rgba?\\(?\\s*(-?\\d*\\.?\\d+)(%)?[,\\s]+(-?\\d*\\.?\\d+)(%)?[,\\s]+(-?\\d*\\.?\\d+)(%)?,?\\s*[/\\s]*(-?\\d*\\.?\\d+)?(%)?\\s*\\)?/i;\n const match = matcher.exec(rgbaString);\n\n if (!match) return { h: 0, s: 0, v: 0, a: 1 };\n\n return rgbaToHsva({\n r: Number(match[1]) / (match[2] ? 100 / 255 : 1),\n g: Number(match[3]) / (match[4] ? 100 / 255 : 1),\n b: Number(match[5]) / (match[6] ? 100 / 255 : 1),\n a: match[7] === undefined ? 1 : Number(match[7]) / (match[8] ? 100 : 1),\n });\n};\n\nexport const rgbStringToHsva = rgbaStringToHsva;\n\nconst format = (number: number) => {\n const hex = number.toString(16);\n return hex.length < 2 ? \"0\" + hex : hex;\n};\n\nexport const rgbaToHex = ({ r, g, b, a }: RgbaColor): string => {\n const alphaHex = a < 1 ? format(round(a * 255)) : \"\";\n return \"#\" + format(r) + format(g) + format(b) + alphaHex;\n};\n\nexport const rgbaToHsva = ({ r, g, b, a }: RgbaColor): HsvaColor => {\n const max = Math.max(r, g, b);\n const delta = max - Math.min(r, g, b);\n\n // prettier-ignore\n const hh = delta\n ? max === r\n ? (g - b) / delta\n : max === g\n ? 2 + (b - r) / delta\n : 4 + (r - g) / delta\n : 0;\n\n return {\n h: round(60 * (hh < 0 ? hh + 6 : hh)),\n s: round(max ? (delta / max) * 100 : 0),\n v: round((max / 255) * 100),\n a,\n };\n};\n\nexport const roundHsva = (hsva: HsvaColor): HsvaColor => ({\n h: round(hsva.h),\n s: round(hsva.s),\n v: round(hsva.v),\n a: round(hsva.a, 2),\n});\n\nexport const rgbaToRgb = ({ r, g, b }: RgbaColor): RgbColor => ({ r, g, b });\n\nexport const hslaToHsl = ({ h, s, l }: HslaColor): HslColor => ({ h, s, l });\n\nexport const hsvaToHsv = (hsva: HsvaColor): HsvColor => {\n const { h, s, v } = roundHsva(hsva);\n return { h, s, v };\n};\n","import React from \"react\";\n\nimport { Interactive, Interaction } from \"./Interactive\";\nimport { Pointer } from \"./Pointer\";\n\nimport { hsvaToHslString } from \"../../utils/convert\";\nimport { formatClassName } from \"../../utils/format\";\nimport { clamp } from \"../../utils/clamp\";\nimport { round } from \"../../utils/round\";\n\ninterface Props {\n className?: string;\n hue: number;\n onChange: (newHue: { h: number }) => void;\n}\n\nconst HueBase = ({ className, hue, onChange }: Props) => {\n const handleMove = (interaction: Interaction) => {\n onChange({ h: 360 * interaction.left });\n };\n\n const handleKey = (offset: Interaction) => {\n // Hue measured in degrees of the color circle ranging from 0 to 360\n onChange({\n h: clamp(hue + offset.left * 360, 0, 360),\n });\n };\n\n const nodeClassName = formatClassName([\"react-colorful__hue\", className]);\n\n return (\n
\n \n \n \n
\n );\n};\n\nexport const Hue = React.memo(HueBase);\n","import React from \"react\";\nimport { Interactive, Interaction } from \"./Interactive\";\nimport { Pointer } from \"./Pointer\";\nimport { HsvaColor } from \"../../types\";\nimport { hsvaToHslString } from \"../../utils/convert\";\nimport { clamp } from \"../../utils/clamp\";\nimport { round } from \"../../utils/round\";\n\ninterface Props {\n hsva: HsvaColor;\n onChange: (newColor: { s: number; v: number }) => void;\n}\n\nconst SaturationBase = ({ hsva, onChange }: Props) => {\n const handleMove = (interaction: Interaction) => {\n onChange({\n s: interaction.left * 100,\n v: 100 - interaction.top * 100,\n });\n };\n\n const handleKey = (offset: Interaction) => {\n // Saturation and brightness always fit into [0, 100] range\n onChange({\n s: clamp(hsva.s + offset.left * 100, 0, 100),\n v: clamp(hsva.v - offset.top * 100, 0, 100),\n });\n };\n\n const containerStyle = {\n backgroundColor: hsvaToHslString({ h: hsva.h, s: 100, v: 100, a: 1 }),\n };\n\n return (\n
\n \n \n \n
\n );\n};\n\nexport const Saturation = React.memo(SaturationBase);\n","import { hexToRgba } from \"./convert\";\nimport { ObjectColor } from \"../types\";\n\nexport const equalColorObjects = (first: ObjectColor, second: ObjectColor): boolean => {\n if (first === second) return true;\n\n for (const prop in first) {\n // The following allows for a type-safe calling of this function (first & second have to be HSL, HSV, or RGB)\n // with type-unsafe iterating over object keys. TS does not allow this without an index (`[key: string]: number`)\n // on an object to define how iteration is normally done. To ensure extra keys are not allowed on our types,\n // we must cast our object to unknown (as RGB demands `r` be a key, while `Record` does not care if\n // there is or not), and then as a type TS can iterate over.\n if (\n ((first as unknown) as Record)[prop] !==\n ((second as unknown) as Record)[prop]\n )\n return false;\n }\n\n return true;\n};\n\nexport const equalColorString = (first: string, second: string): boolean => {\n return first.replace(/\\s/g, \"\") === second.replace(/\\s/g, \"\");\n};\n\nexport const equalHex = (first: string, second: string): boolean => {\n if (first.toLowerCase() === second.toLowerCase()) return true;\n\n // To compare colors like `#FFF` and `ffffff` we convert them into RGB objects\n return equalColorObjects(hexToRgba(first), hexToRgba(second));\n};\n","import { useState, useEffect, useCallback, useRef } from \"react\";\nimport { ColorModel, AnyColor, HsvaColor } from \"../types\";\nimport { equalColorObjects } from \"../utils/compare\";\nimport { useEventCallback } from \"./useEventCallback\";\n\nexport function useColorManipulation(\n colorModel: ColorModel,\n color: T,\n onChange?: (color: T) => void\n): [HsvaColor, (color: Partial) => void] {\n // Save onChange callback in the ref for avoiding \"useCallback hell\"\n const onChangeCallback = useEventCallback(onChange);\n\n // No matter which color model is used (HEX, RGB(A) or HSL(A)),\n // all internal calculations are based on HSVA model\n const [hsva, updateHsva] = useState(() => colorModel.toHsva(color));\n\n // By using this ref we're able to prevent extra updates\n // and the effects recursion during the color conversion\n const cache = useRef({ color, hsva });\n\n // Update local HSVA-value if `color` property value is changed,\n // but only if that's not the same color that we just sent to the parent\n useEffect(() => {\n if (!colorModel.equal(color, cache.current.color)) {\n const newHsva = colorModel.toHsva(color);\n cache.current = { hsva: newHsva, color };\n updateHsva(newHsva);\n }\n }, [color, colorModel]);\n\n // Trigger `onChange` callback only if an updated color is different from cached one;\n // save the new color to the ref to prevent unnecessary updates\n useEffect(() => {\n let newColor;\n if (\n !equalColorObjects(hsva, cache.current.hsva) &&\n !colorModel.equal((newColor = colorModel.fromHsva(hsva)), cache.current.color)\n ) {\n cache.current = { hsva, color: newColor };\n onChangeCallback(newColor);\n }\n }, [hsva, colorModel, onChangeCallback]);\n\n // Merge the current HSVA color object with updated params.\n // For example, when a child component sends `h` or `s` only\n const handleChange = useCallback((params: Partial) => {\n updateHsva((current) => Object.assign({}, current, params));\n }, []);\n\n return [hsva, handleChange];\n}\n","declare const __webpack_nonce__: string | undefined;\nlet nonce: string | undefined;\n\n/**\n * Returns a nonce hash included by Webpack or the one defined manually by developer.\n * https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/nonce\n * https://webpack.js.org/guides/csp/\n */\nexport const getNonce = (): string | undefined => {\n if (nonce) return nonce;\n if (typeof __webpack_nonce__ !== \"undefined\") return __webpack_nonce__;\n return undefined;\n};\n\n/**\n * Signs the style tag with a base64-encoded string (nonce) to conforms to Content Security Policies.\n * This function has to be invoked before any picker is rendered if you aren't using Webpack for CSP.\n */\nexport const setNonce = (hash: string): void => {\n nonce = hash;\n};\n","import { useLayoutEffect, useEffect } from \"react\";\n\n// React currently throws a warning when using useLayoutEffect on the server.\n// To get around it, we can conditionally useEffect on the server (no-op) and\n// useLayoutEffect in the browser.\nexport const useIsomorphicLayoutEffect =\n typeof window !== \"undefined\" ? useLayoutEffect : useEffect;\n","import { RefObject } from \"react\";\n\nimport { useIsomorphicLayoutEffect } from \"./useIsomorphicLayoutEffect\";\nimport { getNonce } from \"../utils/nonce\";\n\n// Bundler is configured to load this as a processed minified CSS-string\nimport styles from \"../css/styles.css\";\n\nconst styleElementMap: Map = new Map();\n\n/**\n * Injects CSS code into the document's \n */\nexport const useStyleSheet = (nodeRef: RefObject): void => {\n useIsomorphicLayoutEffect(() => {\n const parentDocument = nodeRef.current ? nodeRef.current.ownerDocument : document;\n\n if (typeof parentDocument !== \"undefined\" && !styleElementMap.has(parentDocument)) {\n const styleElement = parentDocument.createElement(\"style\");\n styleElement.innerHTML = styles;\n styleElementMap.set(parentDocument, styleElement);\n\n // Conform to CSP rules by setting `nonce` attribute to the inline styles\n const nonce = getNonce();\n if (nonce) styleElement.setAttribute(\"nonce\", nonce);\n\n parentDocument.head.appendChild(styleElement);\n }\n }, []);\n};\n","import React, { useRef } from \"react\";\n\nimport { Hue } from \"./Hue\";\nimport { Saturation } from \"./Saturation\";\n\nimport { ColorModel, ColorPickerBaseProps, AnyColor } from \"../../types\";\nimport { useColorManipulation } from \"../../hooks/useColorManipulation\";\nimport { useStyleSheet } from \"../../hooks/useStyleSheet\";\nimport { formatClassName } from \"../../utils/format\";\n\ninterface Props extends Partial> {\n colorModel: ColorModel;\n}\n\nexport const ColorPicker = ({\n className,\n colorModel,\n color = colorModel.defaultColor,\n onChange,\n ...rest\n}: Props): JSX.Element => {\n const nodeRef = useRef(null);\n useStyleSheet(nodeRef);\n\n const [hsva, updateHsva] = useColorManipulation(colorModel, color, onChange);\n\n const nodeClassName = formatClassName([\"react-colorful\", className]);\n\n return (\n
\n \n \n
\n );\n};\n","import React from \"react\";\n\nimport { ColorPicker } from \"./common/ColorPicker\";\nimport { ColorModel, ColorPickerBaseProps, HslColor } from \"../types\";\nimport { equalColorObjects } from \"../utils/compare\";\nimport { hslaToHsva, hsvaToHsla, hslaToHsl } from \"../utils/convert\";\n\nconst colorModel: ColorModel = {\n defaultColor: { h: 0, s: 0, l: 0 },\n toHsva: ({ h, s, l }) => hslaToHsva({ h, s, l, a: 1 }),\n fromHsva: (hsva) => hslaToHsl(hsvaToHsla(hsva)),\n equal: equalColorObjects,\n};\n\nexport const HslColorPicker = (props: Partial>): JSX.Element => (\n \n);\n","import React, { useState, useCallback } from 'react'\nimport { Button, Form, Table, Modal, Badge, Spinner } from 'react-bootstrap'\nimport styled from 'styled-components'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faUpload, faTrash, faPlus } from '@fortawesome/free-solid-svg-icons'\nimport { useDropzone } from 'react-dropzone'\nimport { HslColorPicker, HslColor } from 'react-colorful'\nimport {\n useGetTagsQuery,\n useCreateTagMutation,\n useDeleteTagMutation,\n useUpdateTagMutation,\n} from '../../../services/tagApi'\nimport { useAppSelector, useAnnotationStats } from '../../../store/hooks'\nimport { selectSelectedProjectId } from '../../../store/slices/projectSlice'\nimport { useGetProjectQuery } from '../../../services/projectsApi'\nimport { Tag } from '../../../types/tag'\nimport { generateRandomColor } from '../../../utils/helpers'\n\nconst TagManagementContainer = styled.div`\n background: #2a2a2a;\n border: none;\n height: 100%;\n display: flex;\n flex-direction: column;\n position: relative;\n\n .table {\n color: #e0e0e0;\n margin-bottom: 0;\n border-collapse: separate;\n border-spacing: 0;\n\n th {\n background: #1a1a1a;\n border: none;\n padding: 1rem 1.25rem;\n font-weight: 600;\n font-size: 0.9rem;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n color: #8c8c8c;\n cursor: pointer;\n transition: color 0.2s ease;\n white-space: nowrap;\n\n &:hover {\n color: #fff;\n }\n\n i {\n margin-left: 0.5rem;\n font-size: 0.8rem;\n }\n }\n\n td {\n background: #2a2a2a;\n padding: 1rem 1.25rem;\n border: none;\n border-bottom: 1px solid rgba(255, 255, 255, 0.05);\n vertical-align: middle;\n font-size: 0.95rem;\n color: #e0e0e0;\n\n .tag-name {\n font-weight: 500;\n color: #fff;\n }\n\n .color-preview {\n display: inline-block;\n width: 20px;\n height: 20px;\n border-radius: 4px;\n margin-right: 0.75rem;\n border: 2px solid rgba(255, 255, 255, 0.1);\n vertical-align: middle;\n }\n\n .hex-color {\n color: #8c8c8c;\n font-family: monospace;\n font-size: 0.9rem;\n }\n\n .badge {\n font-weight: 500;\n font-size: 0.85rem;\n padding: 0.4em 0.8em;\n background: rgba(255, 255, 255, 0.1);\n color: #e0e0e0;\n }\n\n .date {\n color: #8c8c8c;\n font-size: 0.9rem;\n }\n\n .btn-outline-danger {\n padding: 0.5rem 1rem;\n min-width: 100px;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: 0.5rem;\n border: 1px solid rgba(220, 53, 69, 0.5);\n color: #dc3545;\n background: transparent;\n transition: all 0.2s ease;\n border-radius: 4px;\n\n &:hover {\n background: rgba(220, 53, 69, 0.15);\n color: #ff4757;\n border-color: #dc3545;\n }\n\n i {\n font-size: 0.9rem;\n }\n }\n }\n\n tbody tr {\n background: #2a2a2a;\n transition: background-color 0.2s ease;\n\n &:hover {\n background-color: #333;\n td {\n background-color: #333;\n }\n }\n }\n\n .form-check {\n margin: 0;\n\n .form-check-input {\n background-color: #2b3035;\n border-color: #495057;\n cursor: pointer;\n\n &:checked {\n background-color: #0d6efd;\n border-color: #0d6efd;\n }\n\n &:focus {\n box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);\n }\n }\n }\n }\n\n .header-actions {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 1.25rem;\n background: rgba(0, 0, 0, 0.2);\n border-bottom: 1px solid rgba(255, 255, 255, 0.05);\n\n .search-box {\n flex: 1;\n max-width: 300px;\n margin-right: 1rem;\n\n .form-control {\n background-color: #2b3035;\n border-color: #495057;\n color: #fff;\n padding: 0.5rem 1rem;\n font-size: 0.95rem;\n\n &:focus {\n background-color: #2b3035;\n border-color: #86b7fe;\n box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);\n }\n\n &::placeholder {\n color: #6c757d;\n }\n }\n }\n\n .btn {\n padding: 0.5rem 1rem;\n font-weight: 500;\n display: inline-flex;\n align-items: center;\n gap: 0.5rem;\n transition: all 0.2s ease;\n\n &:hover {\n transform: translateY(-1px);\n }\n\n i,\n svg {\n font-size: 0.9rem;\n }\n }\n }\n\n .bulk-actions {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 0.75rem 1.25rem;\n background: rgba(220, 53, 69, 0.15);\n border-bottom: 1px solid rgba(255, 255, 255, 0.05);\n\n span {\n font-size: 0.95rem;\n font-weight: 500;\n }\n\n .btn-danger {\n background-color: transparent;\n border-color: #dc3545;\n color: #dc3545;\n font-weight: 500;\n padding: 0.4rem 0.75rem;\n\n &:hover {\n background-color: #dc3545;\n color: #fff;\n }\n\n i {\n font-size: 0.9rem;\n }\n }\n }\n`\n\nconst TagHeader = styled.div<{ $gradient: string }>`\n background: ${(props) => props.$gradient};\n padding: 1rem;\n border-radius: 8px 8px 0 0;\n color: white;\n font-weight: 600;\n font-size: 1.1rem;\n display: flex;\n align-items: center;\n gap: 0.75rem;\n flex-shrink: 0;\n`\n\nconst TagContent = styled.div`\n background: #2a2a2a;\n padding: 1.5rem;\n border-radius: 0 0 8px 8px;\n flex: 1;\n display: flex;\n flex-direction: column;\n overflow-y: auto;\n\n .header-actions {\n display: flex;\n gap: 1rem;\n align-items: center;\n margin-bottom: 1.5rem;\n\n .search-box {\n flex: 1;\n max-width: 300px;\n\n .form-control {\n background: #1a1a1a;\n border: 1px solid rgba(255, 255, 255, 0.1);\n color: #fff;\n padding: 0.6rem 1rem;\n font-size: 0.95rem;\n\n &:focus {\n border-color: rgba(13, 110, 253, 0.5);\n box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.15);\n }\n\n &::placeholder {\n color: #6c757d;\n }\n }\n }\n\n .btn {\n padding: 0.6rem 1rem;\n font-weight: 500;\n\n &:hover {\n transform: translateY(-1px);\n }\n }\n }\n\n .bulk-actions {\n padding: 0.875rem 1.25rem;\n background: rgba(13, 110, 253, 0.1);\n border: 1px solid rgba(13, 110, 253, 0.2);\n border-radius: 8px;\n margin-bottom: 1.5rem;\n display: flex;\n align-items: center;\n gap: 1rem;\n\n .text-white {\n font-weight: 500;\n font-size: 0.95rem;\n }\n\n .btn-danger {\n background: #dc3545;\n border: none;\n padding: 0.5rem 1rem;\n font-weight: 500;\n color: #fff;\n\n &:hover {\n background: #bb2d3b;\n transform: translateY(-1px);\n box-shadow: 0 4px 8px rgba(220, 53, 69, 0.2);\n }\n }\n }\n\n ::-webkit-scrollbar {\n width: 8px;\n height: 8px;\n }\n\n ::-webkit-scrollbar-track {\n background: #1a1a1a;\n border-radius: 4px;\n }\n\n ::-webkit-scrollbar-thumb {\n background: #4a4a4a;\n border-radius: 4px;\n }\n\n ::-webkit-scrollbar-thumb:hover {\n background: #5a5a5a;\n }\n`\n\nconst ColorPickerContainer = styled.div`\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 1.5rem;\n padding: 1rem;\n\n .react-colorful {\n width: 280px !important;\n height: 280px !important;\n\n &__hue {\n border-radius: 0;\n }\n\n &__saturation {\n border-radius: 50%;\n margin-bottom: 1rem;\n }\n }\n\n .current-color {\n display: flex;\n align-items: center;\n gap: 1rem;\n\n .color-preview {\n width: 36px;\n height: 36px;\n border-radius: 50%;\n border: 2px solid rgba(255, 255, 255, 0.1);\n }\n\n .color-value {\n font-family: monospace;\n color: #e0e0e0;\n }\n }\n`\n\ninterface TagManagementProps {\n gradient: string\n}\n\n// Helper functions for color conversion\nconst hexToHsl = (hex: string): HslColor => {\n // Remove the hash if it exists\n hex = hex.replace('#', '')\n\n // Convert hex to RGB\n const r = parseInt(hex.slice(0, 2), 16) / 255\n const g = parseInt(hex.slice(2, 4), 16) / 255\n const b = parseInt(hex.slice(4, 6), 16) / 255\n\n const max = Math.max(r, g, b)\n const min = Math.min(r, g, b)\n let h = 0\n let s = 0\n const l = (max + min) / 2\n\n if (max !== min) {\n const d = max - min\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min)\n\n switch (max) {\n case r:\n h = (g - b) / d + (g < b ? 6 : 0)\n break\n case g:\n h = (b - r) / d + 2\n break\n case b:\n h = (r - g) / d + 4\n break\n }\n\n h /= 6\n }\n\n return { h: h * 360, s: s * 100, l: l * 100 }\n}\n\nconst hslToHex = ({ h, s, l }: HslColor): string => {\n l /= 100\n const a = (s * Math.min(l, 1 - l)) / 100\n\n const f = (n: number) => {\n const k = (n + h / 30) % 12\n const color = l - a * Math.max(Math.min(k - 3, 9 - k, 1), -1)\n return Math.round(255 * color)\n .toString(16)\n .padStart(2, '0')\n }\n\n return `#${f(0)}${f(8)}${f(4)}`\n}\n\nconst DatasetManageTags: React.FC = ({ gradient }) => {\n // Local state\n const [tagFilter, setTagFilter] = useState('')\n const [selectedTags, setSelectedTags] = useState([])\n const [showAddTagModal, setShowAddTagModal] = useState(false)\n const [showDeleteConfirmation, setShowDeleteConfirmation] = useState(false)\n const [tagInput, setTagInput] = useState('')\n const [selectedTagForColor, setSelectedTagForColor] = useState(null)\n const [showColorPicker, setShowColorPicker] = useState(false)\n const [tempColor, setTempColor] = useState({ h: 0, s: 0, l: 0 })\n const [displayColor, setDisplayColor] = useState('#000000')\n\n // Redux selectors\n const selectedProjectId = useAppSelector(selectSelectedProjectId)\n const { data: project } = useGetProjectQuery(selectedProjectId || '', { skip: !selectedProjectId })\n\n // API hooks\n const {\n data: existingTagsData,\n isLoading: isTagsLoading,\n refetch: refetchTags,\n } = useGetTagsQuery(\n {\n project_id: selectedProjectId || '',\n dataset_id: project?.datasetid || '',\n },\n { skip: !selectedProjectId || !project?.datasetid }\n )\n\n const { data: annoStats, refetch: refetchAnnoStats } = useAnnotationStats(\n selectedProjectId || '',\n project?.datasetid || '',\n undefined\n )\n\n const [createTag] = useCreateTagMutation()\n const [deleteTag] = useDeleteTagMutation()\n const [updateTag] = useUpdateTagMutation()\n\n // Filtered tags with usage count\n const filteredExistingTags = React.useMemo(() => {\n if (!existingTagsData?.tags) return []\n return existingTagsData.tags\n .map((tag) => ({\n ...tag,\n usage_count: annoStats?.statistics?.annotations_per_class?.[tag.id]?.count || 0,\n }))\n .filter((tag) => tag.name.toLowerCase().includes(tagFilter.toLowerCase()))\n }, [existingTagsData?.tags, tagFilter, annoStats?.statistics?.annotations_per_class])\n\n // Event handlers\n const handleTagSelection = (tagId: string) => {\n if (tagId === 'all') {\n setSelectedTags(filteredExistingTags.map((tag) => tag.id))\n } else if (tagId === 'none') {\n setSelectedTags([])\n } else {\n setSelectedTags((prev) => {\n if (prev.includes(tagId)) {\n return prev.filter((id) => id !== tagId)\n } else {\n return [...prev, tagId]\n }\n })\n }\n }\n\n const handleAddTag = async () => {\n if (tagInput.trim()) {\n try {\n // Split by commas and create each tag\n const tagNames = tagInput\n .split(',')\n .map((tag) => tag.trim())\n .filter((tag) => tag.length > 0)\n\n for (const tagName of tagNames) {\n const newTag = {\n name: tagName,\n color: generateRandomColor().number,\n dataset_id: project?.datasetid || '',\n project_id: selectedProjectId || '',\n }\n await createTag(newTag).unwrap()\n }\n\n setTagInput('')\n setShowAddTagModal(false)\n } catch (error) {\n console.error('Failed to create tags:', error)\n }\n }\n }\n\n const handleTagInputKeyDown = (e: React.KeyboardEvent) => {\n if (e.key === 'Enter') {\n e.preventDefault()\n handleAddTag()\n }\n }\n\n const confirmDeleteTags = async () => {\n setShowDeleteConfirmation(false)\n for (const tagId of selectedTags) {\n try {\n await deleteTag({\n tagId,\n projectId: selectedProjectId || '',\n datasetId: project?.datasetid || '',\n })\n await refetchAnnoStats()\n await refetchTags()\n } catch (error) {\n console.error('Failed to delete tag:', error)\n }\n }\n setSelectedTags([])\n }\n\n const processContent = useCallback(\n (content: string) => {\n const processedTags = content\n .split(/[,\\n]/)\n .map((tag) => tag.trim())\n .filter((tag) => tag.length > 0)\n .map((tagName) => ({\n name: tagName,\n color: generateRandomColor().number,\n dataset_id: project?.datasetid || '',\n project_id: selectedProjectId || '',\n }))\n\n processedTags.forEach(async (tag) => {\n try {\n await createTag(tag).unwrap()\n } catch (error) {\n console.error('Failed to create tag:', error)\n }\n })\n },\n [selectedProjectId, project?.datasetid, createTag]\n )\n\n const onDrop = useCallback(\n (acceptedFiles: File[]) => {\n acceptedFiles.forEach((file) => {\n const reader = new FileReader()\n reader.onload = (e) => {\n const content = e.target?.result as string\n processContent(content)\n }\n reader.readAsText(file)\n })\n },\n [processContent]\n )\n\n const { getRootProps, getInputProps } = useDropzone({\n onDrop,\n accept: {\n 'text/plain': ['.txt'],\n 'text/csv': ['.csv'],\n },\n multiple: false,\n })\n\n const handleColorClick = (tag: Tag) => {\n const hexColor = `#${tag.color.toString(16).padStart(6, '0')}`\n setDisplayColor(hexColor)\n setTempColor(hexToHsl(hexColor))\n setSelectedTagForColor(tag)\n setShowColorPicker(true)\n }\n\n const handleColorChange = (newColor: HslColor) => {\n setTempColor(newColor)\n setDisplayColor(hslToHex(newColor))\n }\n\n const handleColorConfirm = async () => {\n if (selectedTagForColor && project?.datasetid) {\n try {\n const colorNumber = parseInt(displayColor.replace('#', ''), 16)\n await updateTag({\n id: selectedTagForColor.id,\n dataset_id: project.datasetid,\n tagData: {\n color: colorNumber,\n },\n }).unwrap()\n setShowColorPicker(false)\n setSelectedTagForColor(null)\n } catch (error) {\n console.error('Failed to update tag color:', error)\n }\n }\n }\n\n return (\n \n \n \n Tag Management\n \n\n \n
\n
\n setTagFilter(e.target.value)}\n />\n
\n
\n \n \n \n \n Upload\n \n
\n
\n\n {selectedTags.length > 0 && (\n
\n \n {selectedTags.length} tag{selectedTags.length !== 1 ? 's' : ''} selected\n \n \n
\n )}\n\n \n \n \n \n \n \n \n \n \n \n \n\n \n {isTagsLoading ? (\n \n \n \n ) : filteredExistingTags.length === 0 ? (\n \n \n \n ) : (\n filteredExistingTags.map((tag) => (\n \n \n \n \n \n \n \n \n ))\n )}\n \n
\n {\n if (e.target.checked) {\n handleTagSelection('all')\n } else {\n handleTagSelection('none')\n }\n }}\n checked={selectedTags.length === filteredExistingTags.length && filteredExistingTags.length > 0}\n />\n Tag NameColorUsage CountCreatedActions
\n \n
\n {tagFilter ? 'No tags match your search' : 'No tags available'}\n
\n handleTagSelection(tag.id)}\n />\n \n {tag.name}\n \n handleColorClick(tag)}\n >\n #{tag.color.toString(16).padStart(6, '0')}\n \n {tag.usage_count} uses\n \n {new Date(tag.created_at).toLocaleDateString()}\n \n {\n handleTagSelection(tag.id)\n setShowDeleteConfirmation(true)\n }}\n >\n \n Delete\n \n
\n\n {/* Add Tag Modal */}\n setShowAddTagModal(false)} centered contentClassName=\"bg-dark\">\n \n Add New Tag\n \n \n \n Tag Name\n setTagInput(e.target.value)}\n placeholder=\"Enter tag name (e.g. 'cat' or 'cat, dog')\"\n onKeyDown={handleTagInputKeyDown}\n />\n Enter a single tag or multiple tags separated by commas\n \n \n \n \n \n \n \n\n {/* Delete Confirmation Modal */}\n setShowDeleteConfirmation(false)}\n centered\n contentClassName=\"bg-dark\"\n >\n \n Confirm Tag Deletion\n \n \n

\n Are you sure you want to delete {selectedTags.length} selected tag\n {selectedTags.length !== 1 ? 's' : ''}? This action cannot be undone.\n

\n

Warning: Deleting these tags will affect all annotations using them.

\n
\n \n \n \n \n \n\n {/* Color Picker Modal */}\n setShowColorPicker(false)} centered contentClassName=\"bg-dark\">\n \n Choose Tag Color\n \n \n \n
\n
\n {displayColor}\n
\n \n \n \n \n \n \n \n \n \n \n )\n}\n\nexport default DatasetManageTags\n","// src/components/views/AnnotatedTab.tsx\nimport React, { useState } from 'react'\nimport { Col, Row, Tab, Tabs, Card } from 'react-bootstrap'\n\nimport styled from 'styled-components'\nimport DatasetManageContent from './DatasetManageContent'\nimport DatasetManageTags from './DatasetManageTags'\n\n// Add these styled components\nconst PageHeader = styled(Card)`\n margin-bottom: 1.5rem;\n background: #1a1a1a !important;\n border: none !important;\n padding: 24px 24px 0;\n\n .card-header {\n border-bottom: 1px solid rgba(255, 255, 255, 0.1);\n background: transparent;\n padding: 0;\n }\n\n .subtitle {\n color: #8c8c8c;\n font-size: 0.9rem;\n margin-top: 0.25rem;\n }\n\n @media (max-width: 768px) {\n padding: 16px 16px 0;\n }\n`\n\nconst ManagementContainer = styled.div`\n display: flex;\n flex-direction: column;\n gap: 1.5rem;\n`\n\nconst ManagementTabsContainer = styled.div`\n .nav-tabs {\n border: none;\n gap: 0.75rem;\n margin: 0;\n display: flex;\n padding: 0;\n background: transparent;\n\n .nav-item {\n margin: 0;\n flex: 1;\n max-width: 300px;\n }\n\n .nav-link {\n border: 1px solid rgba(255, 255, 255, 0.1);\n background: #1a1a1a;\n color: #a0a0a0;\n border-radius: 12px;\n padding: 1.25rem;\n font-size: 1rem;\n transition: all 0.2s ease;\n margin: 0;\n text-align: left;\n font-weight: 500;\n height: 100%;\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n\n .tab-icon {\n font-size: 1.5rem;\n margin-bottom: 0.5rem;\n opacity: 0.7;\n }\n\n .tab-title {\n font-weight: 600;\n color: #e0e0e0;\n }\n\n .tab-description {\n font-size: 0.85rem;\n color: #8c8c8c;\n font-weight: normal;\n }\n\n &:hover {\n background: #222;\n border-color: rgba(255, 255, 255, 0.2);\n }\n\n &.active {\n background: #0d6efd;\n color: #fff;\n border-color: #0d6efd;\n box-shadow: 0 4px 12px rgba(13, 110, 253, 0.3);\n\n .tab-icon {\n opacity: 1;\n }\n\n .tab-title,\n .tab-description {\n color: #fff;\n }\n }\n }\n }\n`\n\nconst DashboardContainer = styled.div`\n height: 100%;\n min-height: 0;\n display: flex;\n flex-direction: column;\n background: #1a1a1a;\n overflow: hidden;\n`\n\nconst ScrollableContent = styled.div`\n flex: 1;\n overflow-y: auto;\n min-height: 0;\n padding: 0 1.5rem 1.5rem;\n\n /* Hide scrollbar for Chrome, Safari and Opera */\n &::-webkit-scrollbar {\n display: none;\n }\n\n /* Hide scrollbar for IE, Edge and Firefox */\n -ms-overflow-style: none; /* IE and Edge */\n scrollbar-width: none; /* Firefox */\n`\n\ninterface DatasetManageSubViewProps {\n itemsPerPage: number\n}\n\nconst DatasetManageSubView: React.FC = ({ itemsPerPage = 100 }) => {\n const [activeManageTab, setActiveManageTab] = useState<'content' | 'tags'>('tags')\n\n const gradients = React.useMemo(\n () => ({\n tag: `linear-gradient(${Math.floor(Math.random() * 360)}deg, #402563, #114ee0)`,\n }),\n []\n )\n\n return (\n \n \n \n \n \n

Dataset Management

\n
Manage your dataset content and tags in one place
\n \n
\n
\n
\n\n \n \n \n setActiveManageTab(k as 'content' | 'tags')}>\n \n \n
Tag Management
\n
Create, Delete and Manage Classification Tags
\n
\n }\n />\n \n \n
Content Management
\n
Delete, filter and manage your dataset images
\n
\n }\n />\n \n \n\n {activeManageTab === 'content' ? (\n \n ) : (\n \n )}\n \n \n \n )\n}\n\nexport default DatasetManageSubView\n","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { cloneElement } from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { map } from './ElementChildren';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst ROUND_PRECISION = 1000;\n\n/**\n * Validate that children, if any, are instances of `ProgressBar`.\n */\nfunction onlyProgressBar(props, propName, componentName) {\n const children = props[propName];\n if (!children) {\n return null;\n }\n let error = null;\n React.Children.forEach(children, child => {\n if (error) {\n return;\n }\n\n /**\n * Compare types in a way that works with libraries that patch and proxy\n * components like react-hot-loader.\n *\n * see https://github.com/gaearon/react-hot-loader#checking-element-types\n */\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n const element = /*#__PURE__*/_jsx(ProgressBar, {});\n if (child.type === element.type) return;\n const childType = child.type;\n const childIdentifier = /*#__PURE__*/React.isValidElement(child) ? childType.displayName || childType.name || childType : child;\n error = new Error(`Children of ${componentName} can contain only ProgressBar ` + `components. Found ${childIdentifier}.`);\n });\n return error;\n}\nfunction getPercentage(now, min, max) {\n const percentage = (now - min) / (max - min) * 100;\n return Math.round(percentage * ROUND_PRECISION) / ROUND_PRECISION;\n}\nfunction renderProgressBar({\n min,\n now,\n max,\n label,\n visuallyHidden,\n striped,\n animated,\n className,\n style,\n variant,\n bsPrefix,\n ...props\n}, ref) {\n return /*#__PURE__*/_jsx(\"div\", {\n ref: ref,\n ...props,\n role: \"progressbar\",\n className: classNames(className, `${bsPrefix}-bar`, {\n [`bg-${variant}`]: variant,\n [`${bsPrefix}-bar-animated`]: animated,\n [`${bsPrefix}-bar-striped`]: animated || striped\n }),\n style: {\n width: `${getPercentage(now, min, max)}%`,\n ...style\n },\n \"aria-valuenow\": now,\n \"aria-valuemin\": min,\n \"aria-valuemax\": max,\n children: visuallyHidden ? /*#__PURE__*/_jsx(\"span\", {\n className: \"visually-hidden\",\n children: label\n }) : label\n });\n}\nconst ProgressBar = /*#__PURE__*/React.forwardRef(({\n isChild = false,\n ...rest\n}, ref) => {\n const props = {\n min: 0,\n max: 100,\n animated: false,\n visuallyHidden: false,\n striped: false,\n ...rest\n };\n props.bsPrefix = useBootstrapPrefix(props.bsPrefix, 'progress');\n if (isChild) {\n return renderProgressBar(props, ref);\n }\n const {\n min,\n now,\n max,\n label,\n visuallyHidden,\n striped,\n animated,\n bsPrefix,\n variant,\n className,\n children,\n ...wrapperProps\n } = props;\n return /*#__PURE__*/_jsx(\"div\", {\n ref: ref,\n ...wrapperProps,\n className: classNames(className, bsPrefix),\n children: children ? map(children, child => /*#__PURE__*/cloneElement(child, {\n isChild: true\n })) : renderProgressBar({\n min,\n now,\n max,\n label,\n visuallyHidden,\n striped,\n animated,\n bsPrefix,\n variant\n }, ref)\n });\n});\nProgressBar.displayName = 'ProgressBar';\nexport default ProgressBar;","// components/ExportButton.tsx\nimport React, { useState, useEffect } from 'react'\nimport { Button, ProgressBar } from 'react-bootstrap'\nimport { useSelector } from 'react-redux'\nimport { RootState } from '../../store'\nimport { downloadExport } from '../../utils/fileDownloader'\n\ninterface ExportButtonProps {\n exportId: string\n uri?: string\n filename?: string\n className?: string\n showProgress?: boolean\n size?: 'sm' | 'lg'\n children?: React.ReactNode\n}\n\nconst ExportButton: React.FC = ({ exportId, uri, filename, className, size, children }) => {\n const [isDownloading, setIsDownloading] = useState(false)\n const [progress, setProgress] = useState(0)\n const [error, setError] = useState(null)\n\n // Use the accessToken from the auth slice\n const accessToken = useSelector((state: RootState) => state.auth.accessToken)\n const isAuthenticated = useSelector((state: RootState) => state.auth.isAuthenticated)\n\n // Reset error state when exportId changes\n useEffect(() => {\n setError(null)\n }, [exportId])\n\n const handleExport = () => {\n if (!isAuthenticated || !accessToken) {\n setError('Authentication required. Please log in again.')\n return\n }\n\n setIsDownloading(true)\n setProgress(0)\n setError(null)\n\n downloadExport({\n exportId,\n uri,\n accessToken,\n filename,\n onProgress: (progressValue: number) => {\n setProgress(progressValue)\n },\n onComplete: () => {\n setIsDownloading(false)\n setProgress(100)\n },\n onError: (error: Error) => {\n console.error('Download failed:', error)\n setIsDownloading(false)\n setError(error.message)\n },\n })\n }\n\n return (\n
\n {isDownloading ? (\n \n ) : (\n \n )}\n\n {error &&
{error}
}\n
\n )\n}\n\nexport default ExportButton\n","// utils/fileDownloader.ts\ninterface DownloadOptions {\n exportId: string\n accessToken: string\n uri?: string\n filename?: string\n onProgress?: (progress: number) => void\n onError?: (error: Error) => void\n onComplete?: () => void\n}\n\nexport const DATASET_EXPORT_URL = `${process.env.REACT_APP_API_ENDPOINT}/v1/exports`\n\nexport const downloadExport = async ({\n exportId,\n accessToken,\n uri,\n filename,\n onProgress,\n onError,\n onComplete,\n}: DownloadOptions): Promise => {\n try {\n // First, get the presigned URL from the API\n const params = new URLSearchParams({\n download: 'false',\n expire: '1440', // 24 hours expiration\n })\n\n if (uri) {\n params.append('uri', uri)\n }\n\n // Get the presigned URL\n const urlResponse = await fetch(`${DATASET_EXPORT_URL}/${exportId}/content?${params.toString()}`, {\n method: 'GET',\n headers: {\n Authorization: `Bearer ${accessToken}`,\n 'Content-Type': 'application/json',\n },\n })\n\n if (!urlResponse.ok) {\n throw new Error(`Failed to get download URL: ${urlResponse.status}`)\n }\n\n // Parse the response to get the AWS S3 presigned URL\n const { URL: presignedUrl } = await urlResponse.json()\n\n if (!presignedUrl) {\n throw new Error('No presigned URL was returned from the server')\n }\n\n // Now download directly from the S3 presigned URL\n // This doesn't require the auth token since the URL is presigned\n const s3Response = await fetch(presignedUrl, {\n method: 'GET',\n })\n\n if (!s3Response.ok) {\n throw new Error(`Download from S3 failed with status: ${s3Response.status}`)\n }\n\n // Get content type to verify it's a file\n const contentType = s3Response.headers.get('Content-Type')\n if (contentType && contentType.includes('application/json')) {\n // This is likely an error response, not a file\n const data = await s3Response.json()\n throw new Error(`Expected file but received JSON: ${JSON.stringify(data)}`)\n }\n\n // Get the total size for progress calculation\n const contentLength = s3Response.headers.get('Content-Length')\n const total = contentLength ? parseInt(contentLength, 10) : 0\n\n // Get filename from Content-Disposition if available\n const contentDisposition = s3Response.headers.get('Content-Disposition')\n let suggestedFilename = filename\n\n if (contentDisposition) {\n const filenameMatch = contentDisposition.match(/filename=\"?([^\"]*)\"?/)\n if (filenameMatch && filenameMatch[1]) {\n suggestedFilename = filenameMatch[1]\n }\n } else if (uri) {\n // Fall back to the last part of the URI if provided\n suggestedFilename = uri.split('/').pop() || `export-${exportId}.zip`\n } else {\n suggestedFilename = suggestedFilename || `export-${exportId}.zip`\n }\n\n // Create a reader to stream the response\n const reader = s3Response.body?.getReader()\n if (!reader) {\n throw new Error('Response body is not readable')\n }\n\n // Read the data chunks\n let receivedLength = 0\n const chunks: Uint8Array[] = []\n\n // eslint-disable-next-line no-constant-condition\n while (true) {\n const { done, value } = await reader.read()\n\n if (done) {\n break\n }\n\n chunks.push(value)\n receivedLength += value.length\n\n if (onProgress && total) {\n const progressPercentage = Math.min((receivedLength / total) * 100, 100)\n onProgress(progressPercentage)\n }\n }\n\n // Concatenate chunks into a single Uint8Array\n const chunksAll = new Uint8Array(receivedLength)\n let position = 0\n for (const chunk of chunks) {\n chunksAll.set(chunk, position)\n position += chunk.length\n }\n\n // Create blob and download\n const blob = new Blob([chunksAll])\n const url = URL.createObjectURL(blob)\n\n const link = document.createElement('a')\n link.href = url\n link.download = suggestedFilename || 'export.zip'\n document.body.appendChild(link)\n link.click()\n document.body.removeChild(link)\n\n // Clean up\n URL.revokeObjectURL(url)\n\n if (onComplete) {\n onComplete()\n }\n } catch (err) {\n if (onError && err instanceof Error) {\n onError(err)\n } else if (onError) {\n onError(new Error('An unknown error occurred'))\n }\n }\n}\n","import React, { useState } from 'react'\nimport { Modal, Button, Form } from 'react-bootstrap'\nimport { ExportType } from '../../types/export'\nimport styled from 'styled-components'\n\nconst StyledModal = styled(Modal)`\n .modal-content {\n background: ${(props) => props.theme.bgLight || '#2a2a2a'};\n color: ${(props) => props.theme.textLight || '#fff'};\n }\n\n .modal-header {\n border-bottom: 1px solid rgba(255, 255, 255, 0.1);\n\n .modal-title {\n color: ${(props) => props.theme.textLight || '#fff'};\n }\n\n .btn-close {\n filter: brightness(0) invert(1);\n }\n }\n\n .modal-footer {\n border-top: 1px solid rgba(255, 255, 255, 0.1);\n }\n`\n\nconst StyledFormCheck = styled(Form.Check)`\n margin-bottom: 1rem;\n\n .form-check-input {\n background-color: transparent;\n border-color: rgba(255, 255, 255, 0.2);\n\n &:checked {\n background-color: ${(props) => props.theme.primary || '#0d6efd'};\n border-color: ${(props) => props.theme.primary || '#0d6efd'};\n }\n }\n\n .form-check-label {\n color: ${(props) => props.theme.textLight || '#fff'};\n }\n`\n\ninterface ExportTypeDialogProps {\n show: boolean\n onHide: () => void\n onConfirm: (selectedTypes: ExportType[]) => void\n}\n\nconst ExportTypeDialog: React.FC = ({ show, onHide, onConfirm }) => {\n const [selectedTypes, setSelectedTypes] = useState([])\n\n const handleTypeToggle = (type: ExportType) => {\n setSelectedTypes((prev) => (prev.includes(type) ? prev.filter((t) => t !== type) : [...prev, type]))\n }\n\n const handleConfirm = () => {\n onConfirm(selectedTypes)\n setSelectedTypes([]) // Reset selection after confirming\n onHide()\n }\n\n return (\n \n \n Select Export Types\n \n \n
\n {(['DATASET', 'MODEL', 'PROJECT'] as ExportType[]).map((type) => (\n handleTypeToggle(type)}\n />\n ))}\n \n
\n \n \n \n \n
\n )\n}\n\nexport default ExportTypeDialog\n","import React, { useEffect, useState, useCallback } from 'react'\nimport { Card, Table, Button, Spinner, Badge, Dropdown, Col, Row } from 'react-bootstrap'\nimport { useCreateExportMutation, useDeleteExportMutation, useGetExportsQuery } from '../../../services/exportApi'\n\nimport { Export, ExportType } from '../../../types/export'\nimport styled from 'styled-components'\nimport { useAppDispatch, useAppSelector } from '../../../store/hooks'\nimport { selectSelectedProjectId } from '../../../store/slices/projectSlice'\nimport { useGetProjectQuery } from '../../../services/projectsApi'\nimport ConfirmDialog from '../../../components/modals/ConfirmDialog'\nimport { selectSelectedModelId, setSelectedModelId } from '../../../store/slices/modelSlice'\nimport ExportButton from '../../../components/buttons/ExportButton'\nimport { useFetchModelsQuery } from '../../../services/modelsApi'\nimport ExportTypeDialog from '../../../components/modals/ExportTypeDialog'\n\nconst StyledCard = styled(Card)`\n background: ${(props) => props.theme.bgLight || '#2a2a2a'};\n color: ${(props) => props.theme.textLight || '#fff'};\n border: none;\n margin-bottom: 1rem;\n`\n\nconst StyledTable = styled(Table)`\n color: #fff;\n\n th,\n td {\n border-color: rgba(255, 255, 255, 0.1);\n padding: 1rem;\n vertical-align: middle;\n color: #fff;\n }\n\n thead th {\n background: ${(props) => props.theme.bgDark || '#1a1a1a'};\n border-bottom: 2px solid rgba(255, 255, 255, 0.1);\n color: #fff;\n }\n\n tbody {\n tr {\n &:hover {\n background: ${(props) => props.theme.bgDark || '#1a1a1a'};\n }\n td {\n background: transparent;\n color: #fff;\n }\n }\n }\n\n .badge {\n font-size: 0.85rem;\n padding: 0.5em 0.85em;\n color: #fff;\n }\n`\n\n// Add these styled components\nconst PageHeader = styled(Card)`\n margin-bottom: 1.5rem;\n background: #1a1a1a !important;\n border: none !important;\n padding: 24px 24px 0;\n\n .card-header {\n border-bottom: 1px solid rgba(255, 255, 255, 0.1);\n background: transparent;\n padding: 0;\n }\n\n .subtitle {\n color: #8c8c8c;\n font-size: 0.9rem;\n margin-top: 0.25rem;\n }\n\n @media (max-width: 768px) {\n padding: 16px 16px 0;\n }\n`\n\nconst ExportsSubView: React.FC = () => {\n const selectedProjectId = useAppSelector(selectSelectedProjectId)\n const selectedModelId = useAppSelector(selectSelectedModelId)\n const dispatch = useAppDispatch()\n const { data: project } = useGetProjectQuery(selectedProjectId || '', { skip: !selectedProjectId })\n const [showDeleteConfirm, setShowDeleteConfirm] = useState(false)\n const [showExportTypeDialog, setShowExportTypeDialog] = useState(false)\n const [selectedExport, setSelectedExport] = useState(null)\n const [pollingInterval, setPollingInterval] = useState(0)\n\n const { data: modelsData } = useFetchModelsQuery({\n project_id: selectedProjectId || '',\n page: 0,\n limit: 100,\n sort_key: 'created_at',\n sort_val: -1,\n })\n\n const {\n data: exportsData,\n isLoading,\n error,\n } = useGetExportsQuery(\n {\n page: 0,\n limit: 100,\n sort_key: 'created_at',\n sort_val: -1,\n },\n {\n pollingInterval,\n }\n )\n\n const showExportItem = useCallback(\n (exportItem: Export): boolean => {\n return (\n exportItem.project?.id === selectedProjectId ||\n modelsData?.models?.some((model) => model.id === exportItem.model?.id) ||\n exportItem.dataset?.id === project?.datasetid\n )\n },\n [selectedProjectId, modelsData?.models, project?.datasetid]\n )\n\n // Update polling interval when running exports are detected\n useEffect(() => {\n const hasRunningExports = exportsData?.exports?.some(\n (exportItem: Export) => exportItem.state.toLowerCase() === 'running' && showExportItem(exportItem)\n )\n setPollingInterval(hasRunningExports ? 30000 : 0)\n }, [exportsData, showExportItem])\n\n // Add effect to restore selected model from localStorage\n useEffect(() => {\n const savedModelId = localStorage.getItem('selectedModelId')\n const existsInModelsData = modelsData?.models?.some((model) => model.id === savedModelId)\n\n if (savedModelId && existsInModelsData && !selectedModelId) {\n dispatch(setSelectedModelId(savedModelId))\n } else if (!existsInModelsData) {\n localStorage.removeItem('selectedModelId')\n if (modelsData?.models?.length) {\n dispatch(setSelectedModelId(modelsData.models[0].id))\n localStorage.setItem('selectedModelId', modelsData.models[0].id)\n }\n }\n }, [dispatch, selectedModelId, modelsData])\n\n const [createExport] = useCreateExportMutation()\n const [deleteExport] = useDeleteExportMutation()\n\n const handleCreateExport = async (selectedTypes: ExportType[]): Promise => {\n try {\n if (!project?.id || !project?.datasetid) {\n throw new Error('Project ID or Dataset ID is missing')\n }\n\n await createExport({\n name: `${project.name}-${new Date().toLocaleDateString('en-US', {\n day: '2-digit',\n month: 'short',\n year: 'numeric',\n })}`,\n export_types: selectedTypes,\n project_id: project.id,\n dataset_id: project.datasetid,\n model_id: selectedModelId || undefined,\n })\n } catch (err) {\n console.error('Failed to create export:', err)\n }\n }\n\n const handleDeleteExport = async (id: string): Promise => {\n try {\n await deleteExport(id)\n setShowDeleteConfirm(false)\n setSelectedExport(null)\n } catch (err) {\n console.error('Failed to delete export:', err)\n }\n }\n\n const initiateDelete = (export_: Export | undefined): void => {\n if (export_) {\n setSelectedExport(export_)\n setShowDeleteConfirm(true)\n }\n }\n\n const renderDownloadButton = (exportItem: Export): React.ReactNode => {\n // For single content key, render a simple ExportButton\n if (exportItem.content_keys.length === 1) {\n const filename = exportItem.content_keys[0].split('/').pop()\n return (\n \n Download\n \n )\n }\n\n // For multiple content keys, render a dropdown with ExportButtons\n return (\n \n \n Download\n \n \n {exportItem.content_keys.map((key) => {\n const filename = key.split('/').pop()\n return (\n \n \n {filename}\n \n \n )\n })}\n \n \n )\n }\n\n if (isLoading) {\n return (\n
\n \n
\n )\n }\n\n if (error) {\n return
Error loading exports
\n }\n\n return (\n <>\n \n \n \n \n

Exports

\n
Export your projects, datasets, and models here
\n \n
\n
\n
\n \n \n

Exports

\n \n
\n \n \n \n \n Name\n Type\n State\n Created\n Actions\n Download\n \n \n \n {exportsData?.exports?.map(\n (exportItem: Export) =>\n showExportItem(exportItem) && (\n \n {exportItem?.name}\n {exportItem?.types?.join(', ')}\n \n {exportItem?.state.toLowerCase() === 'running' ? (\n
\n {exportItem?.state}\n
\n ) : (\n \n {exportItem?.state}\n \n )}\n \n {new Date(exportItem?.created_at || '').toLocaleDateString()}\n \n \n \n \n {exportItem?.state.toLowerCase() === 'complete' && exportItem.content_keys?.length ? (\n renderDownloadButton(exportItem)\n ) : (\n \n )}\n \n \n )\n )}\n \n
\n
\n
\n\n setShowDeleteConfirm(false)}\n onConfirm={() => selectedExport && handleDeleteExport(selectedExport.id)}\n title=\"Delete Export\"\n message={`Are you sure you want to delete export \"${selectedExport?.name}\"?`}\n confirmText=\"Delete\"\n cancelText=\"Cancel\"\n variant=\"danger\"\n />\n\n setShowExportTypeDialog(false)}\n onConfirm={handleCreateExport}\n />\n \n )\n}\n\nexport default ExportsSubView\n","import React from 'react'\nimport { useAppSelector } from '../../store/hooks'\nimport { selectActiveDatasetSubView } from '../../store/slices/projectSlice'\nimport DatasetOverviewSubView from './subviews/DatasetOverviewSubView'\nimport AnnotationsSubView from './subviews/AnnotationsSubView'\nimport DatasetManageSubView from './subviews/DatasetManageSubView'\nimport ExportsSubView from './subviews/ExportsSubView'\n\nconst DatasetView: React.FC = () => {\n const activeDatasetSubView = useAppSelector(selectActiveDatasetSubView)\n\n switch (activeDatasetSubView) {\n case 'Overview':\n return \n case 'Manage (Content, Tags)':\n return \n case 'Annotations':\n return \n case 'Export':\n return \n default:\n return null\n }\n}\n\nexport default DatasetView\n","import React, { useState, useEffect, useRef } from 'react'\nimport { Modal, Button, Form, Row, Col, Collapse } from 'react-bootstrap'\nimport styled from 'styled-components'\nimport { FaChevronRight } from 'react-icons/fa'\nimport { useGetDefaultHyperparametersQuery } from '../../services/modelsApi'\nimport { useAppSelector } from '../../store/hooks'\nimport { selectSelectedModelId } from '../../store/slices/modelSlice'\n\ninterface ModelParameter {\n name: string\n type: 'static'\n input_type: 'integer' | 'float' | 'boolean' | 'string'\n value: number | boolean | string\n allowed_values?: string[]\n min_value?: number\n max_value?: number\n}\n\ninterface ModelHyperparameters {\n type: string\n hyperparameters: {\n training: {\n [key: string]: ModelParameter\n }\n transforms: {\n [key: string]: {\n [key: string]: ModelParameter\n }\n }\n }\n}\n\ninterface HyperparameterSettingsModalProps {\n show: boolean\n handleClose: () => void\n onSave: (parameters: any) => void\n initialHyperparameters?: any\n}\n\nconst StyledModal = styled(Modal)`\n .modal-content {\n background: #2a2a2a;\n color: #ffffff;\n }\n\n .modal-header {\n border-bottom: 1px solid #404040;\n }\n\n .modal-footer {\n border-top: 1px solid #404040;\n }\n\n .form-control {\n background: #1a1a1a;\n border: 1px solid #404040;\n color: #ffffff;\n\n &:focus {\n background: #1a1a1a;\n border-color: #007bff;\n color: #ffffff;\n }\n\n &::placeholder {\n color: rgba(255, 255, 255, 0.5);\n }\n }\n\n .form-check-input {\n background-color: #1a1a1a;\n border-color: #404040;\n\n &:checked {\n background-color: #007bff;\n border-color: #007bff;\n }\n }\n\n .form-label {\n color: #ffffff;\n }\n\n .text-muted {\n color: rgba(255, 255, 255, 0.7) !important;\n }\n`\n\nconst Section = styled.div`\n margin-bottom: 2rem;\n padding: 1rem;\n background: #1a1a1a;\n border-radius: 8px;\n\n h4 {\n color: #ffffff;\n margin-bottom: 0;\n display: flex;\n align-items: center;\n cursor: pointer;\n user-select: none;\n\n .chevron {\n margin-right: 0.5rem;\n transition: transform 0.2s ease;\n\n &.open {\n transform: rotate(90deg);\n }\n }\n }\n\n .section-content {\n margin-top: 1rem;\n }\n`\n\nconst SubSection = styled.div`\n margin-bottom: 1.5rem;\n padding: 1rem;\n background: #2a2a2a;\n border-radius: 6px;\n\n h5 {\n color: #ffffff;\n margin-bottom: 1rem;\n opacity: 0.8;\n display: flex;\n align-items: center;\n cursor: pointer;\n user-select: none;\n\n .chevron {\n margin-right: 0.5rem;\n transition: transform 0.2s ease;\n\n &.open {\n transform: rotate(90deg);\n }\n }\n }\n\n .subsection-content {\n margin-top: 1rem;\n }\n`\n\nconst HyperparameterSettingsModal: React.FC = ({\n show,\n handleClose,\n onSave,\n initialHyperparameters = {},\n}) => {\n const [hyperparameters, setHyperparameters] = useState(null)\n const [openSections, setOpenSections] = useState<{ [key: string]: boolean }>({\n training: true,\n transforms: false,\n })\n\n const [openSubSections, setOpenSubSections] = useState<{ [key: string]: boolean }>({})\n const selectedModelId = useAppSelector(selectSelectedModelId)\n const { data: defaultHyperparameters } = useGetDefaultHyperparametersQuery(selectedModelId || '', {\n skip: !selectedModelId,\n })\n\n // Store the initial hyperparameters in a ref to compare changes\n const previousHyperparametersRef = useRef(initialHyperparameters)\n\n useEffect(() => {\n if (initialHyperparameters && defaultHyperparameters && !hyperparameters?.type) {\n // Only update if the hyperparameters have actually changed\n if (JSON.stringify(previousHyperparametersRef.current) !== JSON.stringify(initialHyperparameters)) {\n // Combine the hyperparameter objects\n const combinedHyperparameters: ModelHyperparameters = JSON.parse(\n JSON.stringify({\n ...defaultHyperparameters,\n ...initialHyperparameters,\n })\n )\n\n // Validate and fix any invalid parameter values\n if (combinedHyperparameters?.hyperparameters?.training) {\n ;(Object.entries(combinedHyperparameters.hyperparameters.training) as [string, ModelParameter][]).forEach(\n ([key, param]) => {\n if (param.min_value !== undefined && param.max_value !== undefined) {\n // For min/max parameters, clamp value to valid range\n const value = param.value as number\n if (value < param.min_value) {\n combinedHyperparameters.hyperparameters.training[key].value = param.min_value\n } else if (value > param.max_value) {\n combinedHyperparameters.hyperparameters.training[key].value = param.max_value\n }\n } else if (param.allowed_values && typeof param.value === 'string') {\n // For allowed_values parameters, ensure value is in list\n if (!param.allowed_values.includes(param.value)) {\n combinedHyperparameters.hyperparameters.training[key].value = param.allowed_values[0]\n }\n }\n }\n )\n }\n setHyperparameters(combinedHyperparameters)\n previousHyperparametersRef.current = initialHyperparameters\n }\n }\n }, [initialHyperparameters, defaultHyperparameters, hyperparameters?.type])\n\n useEffect(() => {\n if (show && initialHyperparameters?.type && initialHyperparameters?.hyperparameters) {\n // Only set initial subsection states if they haven't been set yet\n if (Object.keys(openSubSections).length === 0) {\n const initialSubSections: { [key: string]: boolean } = {}\n Object.keys(initialHyperparameters.hyperparameters.transforms || {}).forEach((transformName) => {\n initialSubSections[transformName] = false\n })\n setOpenSubSections(initialSubSections)\n }\n }\n }, [show, initialHyperparameters, openSubSections])\n\n // Reset states when modal is closed\n useEffect(() => {\n if (!show) {\n setHyperparameters(null)\n previousHyperparametersRef.current = {}\n }\n }, [show])\n\n const handleInputChange = (\n section: 'training' | 'transforms',\n transformName: string | null,\n paramName: string,\n value: any\n ) => {\n setHyperparameters((prev: ModelHyperparameters | null) => {\n if (!prev) return prev\n\n const newHyperparameters = {\n type: prev.type,\n hyperparameters: {\n training: { ...prev.hyperparameters.training },\n transforms: { ...prev.hyperparameters.transforms },\n },\n }\n\n if (section === 'training') {\n newHyperparameters.hyperparameters.training[paramName] = {\n ...prev.hyperparameters.training[paramName],\n value: value,\n }\n } else if (section === 'transforms' && transformName) {\n if (!newHyperparameters.hyperparameters.transforms[transformName]) {\n newHyperparameters.hyperparameters.transforms[transformName] = {}\n }\n newHyperparameters.hyperparameters.transforms[transformName] = {\n ...prev.hyperparameters.transforms[transformName],\n }\n newHyperparameters.hyperparameters.transforms[transformName][paramName] = {\n ...prev.hyperparameters.transforms[transformName][paramName],\n value: value,\n }\n }\n\n return newHyperparameters\n })\n }\n\n const renderParameter = (param: ModelParameter, section: 'training' | 'transforms', transformName: string | null) => {\n const handleChange = (e: React.ChangeEvent) => {\n let value: number | boolean | string\n\n if (param.input_type === 'boolean') {\n value = e.target.checked\n } else {\n const numValue = param.input_type === 'integer' ? parseInt(e.target.value) : parseFloat(e.target.value)\n\n // Clamp the value between min and max if they exist\n if (param.min_value !== undefined && numValue < param.min_value) {\n value = param.min_value\n } else if (param.max_value !== undefined && numValue > param.max_value) {\n value = param.max_value\n } else {\n value = numValue\n }\n }\n\n handleInputChange(section, transformName, param.name, value)\n }\n\n return (\n \n \n {(param?.name?.split('_') || []).map((word) => word.charAt(0).toUpperCase() + word.slice(1)).join(' ')}\n \n \n {param.input_type === 'boolean' ? (\n \n ) : param.allowed_values ? (\n handleInputChange(section, transformName, param.name, e.target.value)}\n >\n {param.allowed_values.map((value, index) => (\n \n ))}\n \n ) : (\n <>\n \n {(param.min_value !== undefined || param.max_value !== undefined) && (\n \n {param.min_value !== undefined && param.max_value !== undefined\n ? `Range: ${param.min_value} to ${param.max_value}`\n : param.min_value !== undefined\n ? `Min: ${param.min_value}`\n : `Max: ${param.max_value}`}\n \n )}\n \n )}\n \n \n )\n }\n\n const handleSave = () => {\n if (hyperparameters) {\n onSave({\n hyperparameters: hyperparameters,\n })\n }\n handleClose()\n }\n\n const toggleSection = (section: string) => {\n setOpenSections((prev) => ({\n ...prev,\n [section]: !prev[section],\n }))\n }\n\n const toggleSubSection = (transformName: string) => {\n setOpenSubSections((prev) => ({\n ...prev,\n [transformName]: !prev[transformName],\n }))\n }\n\n return (\n \n \n Model Hyperparameters {hyperparameters?.type ? `- ${hyperparameters.type}` : ''}\n \n \n
\n {hyperparameters?.hyperparameters?.training &&\n Object.keys(hyperparameters.hyperparameters.training).length > 0 && (\n
\n

toggleSection('training')}>\n \n Training Parameters\n

\n \n
\n {Object.entries(hyperparameters.hyperparameters.training)?.map(([key, param]) => (\n
{renderParameter(param, 'training', null)}
\n ))}\n
\n
\n
\n )}\n\n {hyperparameters?.hyperparameters?.transforms &&\n Object.keys(hyperparameters.hyperparameters.transforms).length > 0 && (\n
\n

toggleSection('transforms')}>\n \n Transform Parameters\n

\n \n
\n {Object.entries(hyperparameters.hyperparameters.transforms)?.map(([transformName, params]) => (\n \n
toggleSubSection(transformName)}>\n \n {(transformName?.split('_') || [])\n .map((word) => word.charAt(0).toUpperCase() + word.slice(1))\n .join(' ')}\n
\n \n
\n {Object.entries(params || {}).map(([key, param]) => (\n
\n {renderParameter(param, 'transforms', transformName)}\n
\n ))}\n
\n
\n
\n ))}\n
\n
\n
\n )}\n
\n
\n \n \n \n \n
\n )\n}\n\nexport default HyperparameterSettingsModal\n","import React from 'react'\nimport { Card } from 'react-bootstrap'\nimport styled from 'styled-components'\n\ninterface HeaderProps {\n $gradient: string\n}\n\nexport const StepHeader = styled.div`\n background: ${(props) => props.$gradient};\n padding: 1.25rem 1.5rem;\n border-radius: 8px 8px 0 0;\n color: white;\n font-weight: 600;\n font-size: 1.1rem;\n display: flex;\n align-items: center;\n gap: 0.75rem;\n flex-shrink: 0;\n\n .lock-icon-container {\n margin-left: auto;\n display: flex;\n align-items: center;\n z-index: 3;\n opacity: 1 !important;\n }\n\n @media (max-width: 768px) {\n padding: 1rem 1.25rem;\n }\n`\n\nexport const StepContent = styled.div`\n background: #2a2a2a;\n padding: 1.5rem;\n border-radius: 0 0 8px 8px;\n flex: 1;\n display: flex;\n flex-direction: column;\n overflow-y: auto;\n min-height: 0;\n\n @media (max-width: 768px) {\n padding: 1.25rem;\n }\n\n ::-webkit-scrollbar {\n width: 8px;\n height: 8px;\n }\n\n ::-webkit-scrollbar-track {\n background: #1a1a1a;\n border-radius: 4px;\n }\n\n ::-webkit-scrollbar-thumb {\n background: #4a4a4a;\n border-radius: 4px;\n }\n\n ::-webkit-scrollbar-thumb:hover {\n background: #5a5a5a;\n }\n`\n\nexport const StepCard = styled(Card)`\n background: #2a2a2a;\n border: none;\n height: 100%;\n width: 100%;\n display: flex;\n flex-direction: column;\n position: relative;\n margin-bottom: 0;\n border-radius: 8px;\n\n &.locked {\n position: relative;\n\n &::before {\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background-color: rgba(0, 0, 0, 0.5);\n border-radius: 8px;\n z-index: 1;\n pointer-events: none;\n }\n\n .step-header {\n position: relative;\n z-index: 2;\n\n > *:not(.lock-icon-container) {\n opacity: 0.5;\n }\n }\n\n .step-content {\n position: relative;\n z-index: 0;\n opacity: 0.5;\n }\n }\n`\n\ninterface StepCardProps {\n children: React.ReactNode\n className?: string\n}\n\nexport const BaseStepCard: React.FC = ({ children, className }) => {\n return {children}\n}\n","import styled from 'styled-components'\n\nexport const gradients = {\n info: 'linear-gradient(135deg, #402563, #114ee0)',\n sources: 'linear-gradient(135deg, #402563, #2042ba)',\n stats: 'linear-gradient(135deg, #402563, #2448cc)',\n settings: 'linear-gradient(135deg, #402563, #114ee0)',\n train: 'linear-gradient(135deg, #402563, #2042ba)',\n} as const\n\nexport const ValueBox = styled.div`\n background: #1a1a1a;\n border-radius: 8px;\n padding: 1.25rem;\n margin-bottom: 1rem;\n\n &:last-child {\n margin-bottom: 0;\n }\n\n .label {\n color: rgba(255, 255, 255, 0.7);\n font-size: 0.85rem;\n margin-bottom: 0.5rem;\n }\n\n .value {\n color: #ffffff;\n font-family: monospace;\n font-size: 0.9rem;\n word-break: break-all;\n }\n`\n\nexport const StatCard = styled.div`\n background: #1a1a1a;\n border-radius: 8px;\n padding: 1.25rem;\n text-align: center;\n height: 100%;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n\n .stat-number {\n color: #4dabf7;\n font-size: 1.5rem;\n font-weight: 600;\n margin-bottom: 0.5rem;\n }\n\n .text-muted {\n color: rgba(255, 255, 255, 0.7) !important;\n font-size: 0.9rem;\n font-weight: 500;\n }\n`\n","import React from 'react'\nimport { FaInfo } from 'react-icons/fa'\nimport { BaseStepCard, StepHeader, StepContent } from './StepCard'\nimport { ValueBox, gradients } from './shared'\nimport { Model } from '../../../types/model'\n\ninterface ModelInfoCardProps {\n model: Model | undefined\n}\n\nexport const ModelInfoCard: React.FC = ({ model }) => {\n return (\n \n \n Model Information\n \n \n \n \n
Base
\n
AG
\n
\n \n
Architecture
\n
Yolo V8
\n
\n \n
Status
\n
{model?.state || 'Not Started'}
\n
\n
\n
\n )\n}\n","import React, { useState } from 'react'\nimport { Button } from 'react-bootstrap'\nimport { useAppDispatch, useAppSelector } from '../store/hooks'\nimport PillsDataset from './PillsDataset'\nimport SelectDatasetModal from './modals/SelectDatasetModal'\nimport { selectSelectedTrainingSource, setTrainingSource } from '../store/slices/datasetSlice'\nimport { FaPlus } from 'react-icons/fa'\n\ninterface Props {\n readOnly?: boolean\n}\n\nconst SelectedTrainingSourceCard: React.FC = ({ readOnly = false }) => {\n const dispatch = useAppDispatch()\n\n const [showModal, setShowModal] = useState(false)\n\n const selectedTrainingSources = useAppSelector(selectSelectedTrainingSource)\n\n const handleClose = () => setShowModal(false)\n\n const handleAcceptSelections = (sources: string[]) => {\n dispatch(setTrainingSource(sources))\n setShowModal(false)\n }\n\n const handleRemoveDataset = (datasetName: string) => {\n if (readOnly) return\n const updatedSources = selectedTrainingSources.filter((source) => source !== datasetName)\n dispatch(setTrainingSource(updatedSources))\n }\n\n if (!selectedTrainingSources?.length) {\n return (\n <>\n !readOnly && setShowModal(true)}\n className=\"select-dataset-btn\"\n style={{\n borderStyle: 'dashed',\n borderWidth: '2px',\n borderColor: '#3498db',\n backgroundColor: 'transparent',\n width: '100%',\n height: '60px',\n cursor: readOnly ? 'default' : 'pointer',\n opacity: readOnly ? 0.7 : 1,\n }}\n disabled={readOnly}\n >\n \n Training Dataset\n \n \n \n )\n }\n\n return (\n <>\n
\n
\n
Training Source
\n {!readOnly && (\n setShowModal(true)}\n style={{ minWidth: 'auto', padding: '0.25rem 0.5rem' }}\n >\n \n \n )}\n
\n
\n \n
\n
\n \n \n )\n}\n\nexport default SelectedTrainingSourceCard\n","import React, { useState } from 'react'\nimport { Button } from 'react-bootstrap'\nimport { useAppDispatch, useAppSelector } from '../store/hooks'\nimport PillsDataset from './PillsDataset'\nimport SelectDatasetModal from './modals/SelectDatasetModal'\nimport { setValidationSource, selectSelectedValidationSource } from '../store/slices/datasetSlice'\nimport { FaPlus } from 'react-icons/fa'\n\ninterface Props {\n readOnly?: boolean\n}\n\nconst SelectedValidationSourceCard: React.FC = ({ readOnly = false }) => {\n const dispatch = useAppDispatch()\n const [showModal, setShowModal] = useState(false)\n const selectedSources = useAppSelector(selectSelectedValidationSource)\n\n const handleClose = () => setShowModal(false)\n\n const handleAcceptSelections = (sources: string[]) => {\n dispatch(setValidationSource(sources))\n setShowModal(false)\n }\n\n const handleRemoveDataset = (datasetName: string) => {\n if (readOnly) return\n const updatedSources = selectedSources.filter((source) => source !== datasetName)\n dispatch(setValidationSource(updatedSources))\n }\n\n if (!selectedSources?.length) {\n return (\n <>\n !readOnly && setShowModal(true)}\n className=\"select-dataset-btn\"\n style={{\n borderStyle: 'dashed',\n borderWidth: '2px',\n borderColor: '#3498db',\n backgroundColor: 'transparent',\n width: '100%',\n height: '60px',\n cursor: readOnly ? 'default' : 'pointer',\n opacity: readOnly ? 0.7 : 1,\n }}\n disabled={readOnly}\n >\n \n Validation Dataset\n \n \n \n )\n }\n\n return (\n <>\n
\n
\n
Validation Source
\n {!readOnly && (\n setShowModal(true)}\n style={{ minWidth: 'auto', padding: '0.25rem 0.5rem' }}\n >\n \n \n )}\n
\n
\n \n
\n
\n \n \n )\n}\n\nexport default SelectedValidationSourceCard\n","import React from 'react'\nimport { Form } from 'react-bootstrap'\n\ninterface DatasetSplitSliderProps {\n value: number\n onChange: (value: number) => void\n onChangeComplete: () => void\n disabled?: boolean\n}\n\nconst DatasetSplitSlider: React.FC = ({\n value,\n onChange,\n onChangeComplete,\n disabled = false,\n}) => {\n const handleChange = (e: React.ChangeEvent) => {\n onChange(Number(e.target.value))\n }\n\n const handleMouseUp = () => {\n onChangeComplete()\n }\n\n // Function to handle click on tick marks\n const handleTickClick = (newValue: number) => {\n onChange(100 - newValue)\n onChangeComplete() // Trigger change complete immediately\n }\n\n return (\n
\n {/* Tick Marks */}\n
\n {[10, 20, 30, 50].map((tick) => (\n
handleTickClick(tick)}>\n {tick}%\n
\n ))}\n
\n\n \n\n
\n Train {value}%\n
\n
\n Validate {100 - value}%\n
\n
\n )\n}\n\nexport default DatasetSplitSlider\n","import React, { useState } from 'react'\nimport { Button, Form, Modal, Table, Spinner } from 'react-bootstrap'\nimport { useGetTagsQuery } from '../../../services/tagApi'\nimport { useAppSelector } from '../../../store/hooks'\nimport { selectSelectedProjectId } from '../../../store/slices/projectSlice'\nimport { useGetProjectQuery } from '../../../services/projectsApi'\nimport PillsClassification from '../../PillsClassification'\nimport { FaPlus } from 'react-icons/fa'\nimport styled from 'styled-components'\n\nconst StyledTable = styled(Table)`\n color: #e0e0e0;\n margin-bottom: 0;\n border-collapse: separate;\n border-spacing: 0;\n\n th {\n background: #1a1a1a;\n border: none;\n padding: 1rem 1.25rem;\n font-weight: 600;\n font-size: 0.9rem;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n color: #8c8c8c;\n cursor: pointer;\n transition: color 0.2s ease;\n white-space: nowrap;\n\n &:hover {\n color: #fff;\n }\n }\n\n td {\n background: #2a2a2a;\n padding: 1rem 1.25rem;\n border: none;\n border-bottom: 1px solid rgba(255, 255, 255, 0.05);\n vertical-align: middle;\n font-size: 0.95rem;\n color: #e0e0e0;\n\n .tag-name {\n font-weight: 500;\n color: #fff;\n }\n\n .color-preview {\n display: inline-block;\n width: 20px;\n height: 20px;\n border-radius: 4px;\n margin-right: 0.75rem;\n border: 2px solid rgba(255, 255, 255, 0.1);\n vertical-align: middle;\n }\n\n .hex-color {\n color: #8c8c8c;\n font-family: monospace;\n font-size: 0.9rem;\n }\n }\n\n tbody tr {\n background: #2a2a2a;\n transition: background-color 0.2s ease;\n cursor: pointer;\n\n &:hover {\n background-color: #333;\n td {\n background-color: #333;\n }\n }\n }\n\n .form-check {\n margin: 0;\n\n .form-check-input {\n background-color: #2b3035;\n border-color: #495057;\n cursor: pointer;\n\n &:checked {\n background-color: #0d6efd;\n border-color: #0d6efd;\n }\n\n &:focus {\n box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);\n }\n }\n }\n`\n\nconst StyledModalBody = styled(Modal.Body)`\n background: #2a2a2a;\n padding: 1rem;\n border-radius: 0 0 8px 8px;\n max-height: 50vh;\n overflow-y: auto;\n\n .form-control {\n background: #1a1a1a;\n border: 1px solid rgba(255, 255, 255, 0.1);\n color: #fff;\n padding: 0.5rem 0.75rem;\n font-size: 0.95rem;\n\n &:focus {\n border-color: rgba(13, 110, 253, 0.5);\n box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.15);\n }\n\n &::placeholder {\n color: #6c757d;\n }\n }\n\n /* Custom scrollbar styling */\n &::-webkit-scrollbar {\n width: 8px;\n height: 8px;\n }\n\n &::-webkit-scrollbar-track {\n background: #1a1a1a;\n border-radius: 4px;\n }\n\n &::-webkit-scrollbar-thumb {\n background: #4a4a4a;\n border-radius: 4px;\n }\n\n &::-webkit-scrollbar-thumb:hover {\n background: #5a5a5a;\n }\n`\n\ninterface SelectedTagsCardProps {\n selectedTags: string[]\n onTagSelectionChange: (tagIds: string[]) => void\n disabled?: boolean\n}\n\nexport const SelectedTagsCard: React.FC = ({\n selectedTags,\n onTagSelectionChange,\n disabled = false,\n}) => {\n const [showTagModal, setShowTagModal] = useState(false)\n const [tagFilter, setTagFilter] = useState('')\n\n // Redux selectors\n const selectedProjectId = useAppSelector(selectSelectedProjectId)\n const { data: project } = useGetProjectQuery(selectedProjectId || '', { skip: !selectedProjectId })\n\n // API hooks\n const { data: existingTagsData, isLoading: isTagsLoading } = useGetTagsQuery(\n {\n project_id: selectedProjectId || '',\n dataset_id: project?.datasetid || '',\n },\n { skip: !selectedProjectId || !project?.datasetid }\n )\n\n // Filtered tags\n const filteredTags = React.useMemo(() => {\n if (!existingTagsData?.tags) return []\n return existingTagsData.tags.filter((tag) => tag.name.toLowerCase().includes(tagFilter.toLowerCase()))\n }, [existingTagsData?.tags, tagFilter])\n\n const handleTagSelection = (tagId: string) => {\n if (tagId === 'all') {\n onTagSelectionChange(filteredTags.map((tag) => tag.id))\n } else if (tagId === 'none') {\n onTagSelectionChange([])\n } else {\n onTagSelectionChange(\n selectedTags.includes(tagId) ? selectedTags.filter((id) => id !== tagId) : [...selectedTags, tagId]\n )\n }\n }\n\n if (!selectedTags?.length) {\n return (\n <>\n !disabled && setShowTagModal(true)}\n className=\"select-dataset-btn\"\n style={{\n borderStyle: 'dashed',\n borderWidth: '2px',\n borderColor: '#3498db',\n backgroundColor: 'transparent',\n width: '100%',\n height: '60px',\n cursor: disabled ? 'default' : 'pointer',\n opacity: disabled ? 0.7 : 1,\n }}\n disabled={disabled}\n >\n \n Select Tags\n \n setShowTagModal(false)} centered size=\"lg\" contentClassName=\"bg-dark\">\n \n Select Tags\n \n \n \n setTagFilter(e.target.value)}\n />\n \n\n \n \n \n \n {\n if (e.target.checked) {\n handleTagSelection('all')\n } else {\n handleTagSelection('none')\n }\n }}\n checked={selectedTags.length === filteredTags.length && filteredTags.length > 0}\n />\n \n Tag Name\n Color\n \n \n\n \n {isTagsLoading ? (\n \n \n \n \n \n ) : filteredTags.length === 0 ? (\n \n \n {tagFilter ? 'No tags match your search' : 'No tags available'}\n \n \n ) : (\n filteredTags.map((tag) => (\n handleTagSelection(tag.id)} style={{ cursor: 'pointer' }}>\n e.stopPropagation()}>\n handleTagSelection(tag.id)}\n />\n \n \n {tag.name}\n \n \n \n #{tag.color.toString(16).padStart(6, '0')}\n \n \n ))\n )}\n \n \n \n \n \n \n \n \n )\n }\n\n return (\n <>\n
\n
\n
Selected Tags
\n {!disabled && (\n setShowTagModal(true)}\n style={{ minWidth: 'auto', padding: '0.25rem 0.5rem' }}\n >\n \n \n )}\n
\n
\n \n
\n
\n setShowTagModal(false)} centered size=\"lg\" contentClassName=\"bg-dark\">\n \n Select Tags\n \n \n \n setTagFilter(e.target.value)}\n />\n \n\n \n \n \n \n {\n if (e.target.checked) {\n handleTagSelection('all')\n } else {\n handleTagSelection('none')\n }\n }}\n checked={selectedTags.length === filteredTags.length && filteredTags.length > 0}\n />\n \n Tag Name\n Color\n \n \n\n \n {isTagsLoading ? (\n \n \n \n \n \n ) : filteredTags.length === 0 ? (\n \n \n {tagFilter ? 'No tags match your search' : 'No tags available'}\n \n \n ) : (\n filteredTags.map((tag) => (\n handleTagSelection(tag.id)} style={{ cursor: 'pointer' }}>\n e.stopPropagation()}>\n handleTagSelection(tag.id)}\n />\n \n \n {tag.name}\n \n \n \n #{tag.color.toString(16).padStart(6, '0')}\n \n \n ))\n )}\n \n \n \n \n \n \n \n \n )\n}\n","import React from 'react'\nimport { FaDatabase } from 'react-icons/fa'\nimport { Form } from 'react-bootstrap'\nimport { BaseStepCard, StepHeader, StepContent } from './StepCard'\nimport { gradients } from './shared'\nimport SelectedTrainingSourceCard from '../../SelectedTrainingSourceCard'\nimport SelectedValidationSourceCard from '../../SelectedValidationSourceCard'\nimport DatasetSplitSlider from '../../DatasetSplitSlider'\nimport { Model } from '../../../types/model'\nimport { SelectedTagsCard } from './SelectedTagsCard'\n\ninterface DatasetSourcesCardProps {\n model: Model | undefined\n trainSplit: number\n shouldSplit: boolean\n onSplitChange: (value: number) => void\n onSplitChangeComplete: () => void\n selectedTags: string[]\n onTagSelectionChange: (tagIds: string[]) => void\n}\n\nexport const DatasetSourcesCard: React.FC = ({\n model,\n trainSplit,\n shouldSplit,\n onSplitChange,\n onSplitChangeComplete,\n selectedTags,\n onTagSelectionChange,\n}) => {\n return (\n \n \n Dataset Sources\n \n \n \n
\n \n
\n
\n \n
\n {shouldSplit && (\n
\n
\n % of Training Source to use for validation\n
\n \n \n \n
\n )}\n
\n \n
\n
\n
\n )\n}\n","import React from 'react'\nimport { FaChartBar } from 'react-icons/fa'\nimport { BaseStepCard, StepHeader, StepContent } from './StepCard'\nimport { StatCard, gradients } from './shared'\n\ninterface DatasetStatsCardProps {\n selectedTrainingSources: string[]\n classDistribution: Array<{ name: string }>\n annoStats:\n | {\n statistics: {\n total_unannotated_images: number\n total_annotated_images: number\n total_annotations: number\n }\n }\n | undefined\n}\n\nexport const DatasetStatsCard: React.FC = ({\n selectedTrainingSources,\n classDistribution,\n annoStats,\n}) => {\n return (\n \n \n Dataset Statistics\n \n \n \n
\n \n
\n {selectedTrainingSources?.length > 0\n ? classDistribution.filter((item) => item.name !== 'Unknown').length || 0\n : 0}\n
\n
Classes
\n
\n\n \n
\n {selectedTrainingSources?.length > 0\n ? (annoStats?.statistics.total_unannotated_images || 0) +\n (annoStats?.statistics.total_annotated_images || 0) || 0\n : 0}\n
\n
Total Images
\n
\n\n \n
\n {selectedTrainingSources?.length > 0 ? annoStats?.statistics.total_annotations || 0 : 0}\n
\n
Annotations
\n
\n
\n
\n
\n )\n}\n","import React from 'react'\nimport { FaLock, FaLockOpen, FaRunning, FaRocket } from 'react-icons/fa'\nimport { Button } from 'react-bootstrap'\nimport { BaseStepCard, StepHeader, StepContent } from './StepCard'\nimport { ValueBox, gradients } from './shared'\n\ninterface AdvancedSettingsCardProps {\n isLocked: boolean\n instanceType: 'NORMAL' | 'FAST'\n onLockToggle: () => void\n // onInstanceTypeSelect: (type: 'NORMAL' | 'FAST') => void\n onHyperparametersClick: () => void\n}\n\nexport const AdvancedSettingsCard: React.FC = ({\n isLocked,\n instanceType,\n onLockToggle,\n // onInstanceTypeSelect,\n onHyperparametersClick,\n}) => {\n return (\n \n \n Advanced Settings\n
\n {isLocked ? (\n \n ) : (\n \n )}\n
\n
\n \n \n
Training Speed
\n
\n !isLocked && onInstanceTypeSelect('NORMAL')}\n style={{\n cursor: isLocked ? 'not-allowed' : 'pointer',\n marginRight: '15px',\n color: instanceType === 'NORMAL' ? '#4dabf7' : 'gray',\n opacity: isLocked ? 0.5 : 1,\n }}\n >\n \n
Normal
\n
\n\n !isLocked && onInstanceTypeSelect('FAST')}\n style={{\n cursor: isLocked ? 'not-allowed' : 'pointer',\n color: instanceType === 'FAST' ? '#4dabf7' : 'gray',\n opacity: isLocked ? 0.5 : 1,\n }}\n >\n \n
Fast
\n \n \n
\n \n
Tuning
\n
\n \n Hyperparameter Settings\n \n
\n
\n
\n
\n )\n}\n","import React from 'react'\nimport styled from 'styled-components'\nimport { Button, ButtonProps } from 'react-bootstrap'\nimport { BaseStepCard, StepHeader, StepContent } from './StepCard'\nimport { gradients } from './shared'\nimport { Model } from '../../../types/model'\n\nconst TrainButton = styled(Button)`\n background: linear-gradient(45deg, #4a90e2, #800085);\n border: none;\n padding: 1rem 2.5rem;\n border-radius: 25px;\n font-size: 1.1rem;\n font-weight: 600;\n transition: all 0.3s ease;\n\n &.training {\n &:hover {\n background: linear-gradient(45deg, #dc3545, #b30000);\n .training-text {\n display: none;\n }\n .stop-text {\n display: inline;\n }\n }\n\n .stop-text {\n display: none;\n }\n }\n`\n\ninterface TrainModelCardProps {\n model: Model | undefined\n selectedTrainingSources: string[]\n validationSources: string[]\n onTrainClick: () => void\n}\n\nexport const TrainModelCard: React.FC = ({\n model,\n selectedTrainingSources,\n validationSources,\n onTrainClick,\n}) => {\n return (\n \n \n Train Model\n \n \n
\n \n {model?.state.toLowerCase() === 'training' ? (\n <>\n Training\n Stop Training\n \n ) : model?.state.toLowerCase() === 'stopping' ? (\n 'Stopping'\n ) : (\n 'Start Training'\n )}\n \n
\n
\n
\n )\n}\n","import React, { useEffect, useState } from 'react'\nimport { Row, Col, Toast } from 'react-bootstrap'\nimport {\n useUpdateModelMutation,\n useTrainModelMutation,\n useGetModelQuery,\n useStopTrainModelMutation,\n} from '../../../services/modelsApi'\nimport { useUpdateDatasetMutation } from '../../../services/datasetApi'\nimport { InstanceType, TrainParameters } from '../../../types/model'\nimport { useAppDispatch, useAppSelector, useAnnotationStats } from '../../../store/hooks'\nimport { selectSelectedModelId, setSelectedModelId } from '../../../store/slices/modelSlice'\nimport HyperparameterSettingsModal from '../../modals/HyperparametersSettingsModal'\nimport { useClassDistribution } from '../../../store/hooks'\nimport { selectSelectedProjectId } from '../../../store/slices/projectSlice'\nimport {\n selectDatasetSources,\n selectSelectedTrainingSource,\n selectSelectedValidationSource,\n setTrainingSource,\n setValidationSource,\n} from '../../../store/slices/datasetSlice'\nimport ConfirmDialog from '../../modals/ConfirmDialog'\nimport { useGetProjectQuery } from '../../../services/projectsApi'\nimport { ModelInfoCard, DatasetSourcesCard, DatasetStatsCard, AdvancedSettingsCard, TrainModelCard } from '.'\n\nconst ModelGenerationView: React.FC = () => {\n const dispatch = useAppDispatch()\n const selectedProjectId = useAppSelector(selectSelectedProjectId)\n const { data: project } = useGetProjectQuery(selectedProjectId || '', { skip: !selectedProjectId })\n const selectedTrainingSources = useAppSelector(selectSelectedTrainingSource)\n const validationSources = useAppSelector(selectSelectedValidationSource)\n const selectedModelId = useAppSelector(selectSelectedModelId)\n\n const { data: selectedModel } = useGetModelQuery(selectedModelId || '', {\n skip: !selectedModelId,\n refetchOnMountOrArgChange: true,\n refetchOnFocus: true,\n refetchOnReconnect: true,\n pollingInterval: 5000,\n })\n\n const datasetSources = useAppSelector(selectDatasetSources)\n\n const [updateModel] = useUpdateModelMutation()\n const [updateDataset] = useUpdateDatasetMutation()\n const [trainModel] = useTrainModelMutation()\n const [stopTrainModel] = useStopTrainModelMutation()\n\n const [showHyperparametersModal, setShowHyperparametersModal] = useState(false)\n const [showStopTrainingDialog, setShowStopTrainingDialog] = useState(false)\n\n const [trainSplit, setTrainSplit] = useState(80) // Default to 80% train, 20% validation\n const [shouldSplit, setShouldSplit] = useState(false)\n const [selectedTags, setSelectedTags] = useState([])\n\n const [isLocked, setIsLocked] = useState(true) // Lock state\n const [instanceType, setInstanceType] = useState<'NORMAL' | 'FAST'>('NORMAL') // Instance type selection\n\n const classDistribution = useClassDistribution(\n selectedProjectId || '',\n project?.datasetid || '',\n // false,\n selectedTrainingSources\n )\n\n const { data: annoStats } = useAnnotationStats(\n selectedProjectId || '',\n project?.datasetid || '',\n selectedTrainingSources\n )\n\n const [showError, setShowError] = useState(false)\n const [errorMessage, setErrorMessage] = useState('')\n\n // Add this function to validate datasets\n useEffect(() => {\n // Only check if both arrays have items\n if (selectedTrainingSources?.length && validationSources?.length) {\n // Check if there's at least one matching dataset\n const hasMatchingDataset = validationSources.some((source) => selectedTrainingSources.includes(source))\n\n // Show split slider if there's at least one matching dataset\n setShouldSplit(hasMatchingDataset)\n } else {\n // If either array is empty, don't show split slider\n setShouldSplit(false)\n }\n }, [selectedTrainingSources, validationSources])\n\n const handleSplitChange = (value: number) => {\n setTrainSplit(value)\n }\n\n const handleSplitChangeComplete = async () => {\n if (selectedProjectId && project?.datasetid) {\n const datasetSplit = {\n test: 0,\n train: trainSplit / 100,\n validation: (100 - trainSplit) / 100,\n }\n\n try {\n await updateDataset({\n datasetId: project.datasetid,\n datasetData: datasetSplit,\n }).unwrap()\n } catch (err) {\n console.error('Failed to update dataset split:', err)\n }\n }\n }\n\n const handleTrainModel = async () => {\n if (!selectedModel?.id) {\n console.error('No model selected')\n return\n }\n\n if (!selectedTrainingSources?.length) {\n console.error('No training sources selected')\n return\n }\n\n try {\n // Store dataset sources in localStorage\n localStorage.setItem(selectedModel.id, JSON.stringify(datasetSources || ''))\n\n const modelTrainParams = {\n id: selectedModel.id,\n train_metadata_filter:\n selectedTrainingSources && selectedTrainingSources.length > 0\n ? { datasource: selectedTrainingSources }\n : undefined,\n validation_metadata_filter:\n validationSources && validationSources.length > 0 ? { datasource: validationSources } : undefined,\n tag_filter: selectedTags.length > 0 ? selectedTags : undefined,\n }\n\n const updatedModel = await trainModel(modelTrainParams).unwrap()\n\n if (!updatedModel) {\n throw new Error('No model returned from training endpoint')\n }\n\n dispatch(setSelectedModelId(updatedModel.id))\n } catch (err: any) {\n console.error('Failed to train model:', err)\n if (err?.data?.message?.includes('validations are less than the required minimum')) {\n setErrorMessage('Validation dataset must contain at least 10% of total annotations')\n setShowError(true)\n }\n }\n }\n\n const handleOpenHyperparametersModal = () => {\n setShowHyperparametersModal(true)\n }\n\n const handleCloseHyperparametersModal = () => {\n setShowHyperparametersModal(false)\n }\n\n const handleSaveTrainingParameters = async (newParameters: TrainParameters) => {\n if (selectedModel) {\n try {\n const updatedModel = await updateModel({\n id: selectedModel.id,\n modelData: {\n name: selectedModel.name,\n description: selectedModel.description,\n parameters: {\n ...selectedModel.parameters,\n hyperparameters: {\n type: newParameters.hyperparameters.type,\n hyperparameters: {\n ...selectedModel.parameters.hyperparameters.hyperparameters,\n ...newParameters.hyperparameters.hyperparameters,\n },\n },\n resource: {\n ...selectedModel.parameters.resource,\n },\n runtime: {\n ...selectedModel.parameters.runtime,\n ...newParameters.runtime,\n },\n },\n },\n }).unwrap()\n dispatch(setSelectedModelId(updatedModel.id))\n } catch (err) {\n console.error('Failed to update model parameters:', err)\n }\n }\n }\n\n // const handleInstanceTypeSelect = async (type: 'NORMAL' | 'FAST') => {\n // setInstanceType(type)\n // let new_instance_type: InstanceType = 'ml.p3.8xlarge'\n // if (type === 'NORMAL') {\n // new_instance_type = 'ml.p3.2xlarge'\n // } else if (type === 'FAST') {\n // new_instance_type = 'ml.p3.8xlarge'\n // }\n\n // if (selectedModel) {\n // try {\n // const updatedParameters: TrainParameters = {\n // ...selectedModel.parameters,\n // resource: {\n // ...selectedModel.parameters.resource,\n // instance_type: new_instance_type,\n // },\n // }\n\n // const updatedModel = await updateModel({\n // id: selectedModel.id,\n // modelData: {\n // name: selectedModel.name,\n // description: selectedModel.description,\n // parameters: updatedParameters,\n // },\n // }).unwrap()\n // dispatch(setSelectedModelId(updatedModel.id))\n // } catch (err) {\n // console.error('Failed to update model parameters:', err)\n // }\n // }\n // }\n\n // Add effect to clear datasets when model changes or is deleted\n useEffect(() => {\n // Clear selected datasets when model changes\n dispatch(setTrainingSource(selectedModel?.parameters?.train_metadata?.datasource || []))\n dispatch(setValidationSource(selectedModel?.parameters?.validation_metadata?.datasource || []))\n // Reset other states\n setInstanceType('NORMAL')\n setIsLocked(true)\n setTrainSplit(80)\n setSelectedTags([])\n }, [\n dispatch,\n selectedModel?.id,\n selectedModel?.parameters?.train_metadata?.datasource,\n selectedModel?.parameters?.validation_metadata?.datasource,\n ]) // Only trigger when model ID changes\n\n const handleTrainButtonClick = () => {\n if (selectedModel?.state.toLowerCase() === 'training') {\n setShowStopTrainingDialog(true)\n } else {\n handleTrainModel()\n }\n }\n\n const handleStopTraining = async () => {\n if (selectedModel?.id) {\n try {\n const stoppedModel = await stopTrainModel({ id: selectedModel.id }).unwrap()\n\n // Update the selected model with the stopped state\n dispatch(setSelectedModelId(stoppedModel.id))\n\n // Close the dialog\n setShowStopTrainingDialog(false)\n } catch (err) {\n console.error('Failed to stop training:', err)\n setErrorMessage('Failed to stop model training')\n setShowError(true)\n }\n }\n }\n\n return (\n
\n \n \n \n \n\n \n \n \n\n \n \n \n \n\n {/* Bottom row - 2 equal cards */}\n \n \n setIsLocked(!isLocked)}\n // onInstanceTypeSelect={handleInstanceTypeSelect}\n onHyperparametersClick={handleOpenHyperparametersModal}\n />\n \n\n \n \n \n \n\n \n\n setShowStopTrainingDialog(false)}\n onConfirm={handleStopTraining}\n title=\"Stop Training\"\n message=\"Are you sure you want to stop the model training? This action cannot be undone.\"\n confirmText=\"Stop Training\"\n cancelText=\"Cancel\"\n variant=\"danger\"\n />\n\n setShowError(false)}\n style={{\n position: 'fixed',\n top: 20,\n right: 20,\n background: '#dc3545',\n color: 'white',\n }}\n >\n \n Error\n \n {errorMessage}\n \n
\n )\n}\n\nexport default ModelGenerationView\n","import styled from 'styled-components'\nimport { Card, Col } from 'react-bootstrap'\nimport { ChartOptions, Scale, CoreScaleOptions, Tick } from 'chart.js'\n\nexport const StepCard = styled(Card)`\n background: #2a2a2a;\n border: none;\n height: 100%;\n width: 100%;\n display: flex;\n flex-direction: column;\n position: relative;\n margin-bottom: 24px;\n\n &:last-child {\n margin-bottom: 0;\n }\n\n .card-title {\n font-size: 1.25rem;\n margin-bottom: 0;\n color: #ffffff;\n }\n\n .text-muted {\n font-size: 0.9rem;\n opacity: 0.7;\n color: #ffffff;\n }\n\n .gauge-metric {\n background-color: rgba(0, 0, 0, 0.2);\n padding: 0.75rem;\n border-radius: 8px;\n text-align: center;\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: column;\n align-items: center;\n\n h5 {\n color: #ffffff;\n margin-bottom: 1rem;\n font-size: 0.9rem;\n flex-shrink: 0;\n width: 100%;\n text-align: left;\n }\n\n svg {\n flex: 1;\n width: 100% !important;\n height: auto !important;\n min-height: 0;\n margin-top: auto;\n }\n\n .metric-value {\n margin-bottom: 0;\n font-size: 0.9rem;\n }\n }\n`\n\nexport const StepHeader = styled.div<{ $gradient: string }>`\n background: ${(props) => props.$gradient};\n padding: 1rem;\n border-radius: 8px 8px 0 0;\n color: white;\n font-weight: 600;\n font-size: 1.1rem;\n display: flex;\n align-items: center;\n gap: 0.75rem;\n flex-shrink: 0;\n`\n\nexport const StepContent = styled.div`\n background: #2a2a2a;\n padding: 1.5rem;\n border-radius: 0 0 8px 8px;\n flex: 1;\n display: flex;\n flex-direction: column;\n overflow-y: auto;\n min-height: 0;\n\n ::-webkit-scrollbar {\n width: 8px;\n height: 8px;\n }\n\n ::-webkit-scrollbar-track {\n background: #1a1a1a;\n border-radius: 4px;\n }\n\n ::-webkit-scrollbar-thumb {\n background: #4a4a4a;\n border-radius: 4px;\n }\n\n ::-webkit-scrollbar-thumb:hover {\n background: #5a5a5a;\n }\n\n @media (max-width: 768px) {\n padding: 1rem;\n }\n`\n\nexport const StatusCard = styled.div`\n background: #1a1a1a;\n border-radius: 6px;\n padding: 1rem;\n text-align: center;\n height: 100%;\n display: flex;\n flex-direction: column;\n justify-content: center;\n\n span {\n color: rgba(255, 255, 255, 0.7);\n font-size: 0.85rem;\n margin-bottom: 0.25rem;\n }\n\n strong {\n color: #4dabf7;\n font-size: 1rem;\n display: block;\n }\n`\n\nexport const SourceGroup = styled.div`\n background: #1a1a1a;\n border-radius: 6px;\n padding: 1rem;\n margin-bottom: 1rem;\n\n .source-label {\n color: rgba(255, 255, 255, 0.7);\n font-size: 0.85rem;\n margin-bottom: 0.5rem;\n }\n\n .dataset-container {\n color: #ffffff;\n }\n`\n\nexport const GaugeCardContainer = styled.div<{ $color?: string }>`\n perspective: 1000px;\n height: 100%;\n width: 100%;\n transform-style: preserve-3d;\n`\n\nexport const GaugeCardInner = styled.div<{ $isFlipped: boolean }>`\n position: relative;\n width: 100%;\n height: 100%;\n text-align: center;\n transition: transform 0.6s;\n transform-style: preserve-3d;\n transform: ${(props) => (props.$isFlipped ? 'rotateY(180deg)' : 'rotateY(0deg)')};\n`\n\nexport const CardSide = styled.div`\n position: absolute;\n width: 100%;\n height: 100%;\n backface-visibility: hidden;\n background: rgba(0, 0, 0, 0.2);\n border-radius: 8px;\n`\n\nexport const GaugeCardFront = styled(CardSide)<{ $color?: string }>`\n padding: 1rem;\n display: flex;\n flex-direction: column;\n border: 1px solid transparent;\n transition: all 0.2s ease-in-out;\n transform: rotateY(0deg);\n\n &:hover {\n border-color: ${(props) => props.$color || 'transparent'};\n box-shadow: 0 0 15px 0 ${(props) => (props.$color ? `${props.$color}40` : 'transparent')};\n }\n\n .gauge-container {\n flex: 1;\n min-height: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 100%;\n\n svg {\n width: 100% !important;\n height: 100% !important;\n max-width: 300px;\n max-height: 300px;\n }\n }\n`\n\nexport const GaugeCardBack = styled(CardSide)<{ $color?: string }>`\n transform: rotateY(180deg);\n padding: 1rem;\n display: flex;\n flex-direction: column;\n border: 1px solid ${(props) => props.$color || 'transparent'};\n color: rgba(255, 255, 255, 0.9);\n`\n\nexport const CardHeader = styled.div`\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 0.75rem;\n\n h5 {\n color: rgba(255, 255, 255, 0.9);\n font-size: 1rem;\n font-weight: 600;\n margin: 0;\n text-align: left;\n }\n\n button {\n background: none;\n border: none;\n color: rgba(255, 255, 255, 0.6);\n padding: 0.25rem;\n cursor: pointer;\n transition: color 0.2s ease-in-out;\n\n &:hover {\n color: rgba(255, 255, 255, 0.9);\n }\n }\n`\n\nexport const BackContent = styled.div`\n height: 100%;\n display: flex;\n flex-direction: column;\n\n p {\n font-size: 0.9rem;\n color: rgba(255, 255, 255, 0.7);\n margin-bottom: 0.5rem;\n flex: 1;\n text-align: left;\n line-height: 1.5;\n }\n`\n\nexport const MetricsCardContainer = styled.div`\n perspective: 1000px;\n height: 100%;\n\n .metrics-step-content {\n overflow: hidden;\n padding: 0.75rem 1.5rem 1.5rem 1.5rem;\n border-radius: 0 0 8px 8px;\n flex: 1;\n display: flex;\n flex-direction: column;\n }\n`\n\nexport const MetricsCardInner = styled.div<{ $isFlipped: boolean }>`\n position: relative;\n width: 100%;\n height: 100%;\n text-align: center;\n transition: transform 0.6s;\n transform-style: preserve-3d;\n transform: ${(props) => (props.$isFlipped ? 'rotateY(180deg)' : 'rotateY(0)')};\n`\n\nexport const MetricsCardSide = styled.div`\n position: absolute;\n width: 100%;\n height: 100%;\n backface-visibility: hidden;\n background: #2a2a2a;\n border-radius: 8px;\n display: flex;\n flex-direction: column;\n`\n\nexport const MetricsCardFront = styled(MetricsCardSide)``\n\nexport const MetricsCardBack = styled(MetricsCardSide)`\n transform: rotateY(180deg);\n`\n\nexport const MetricsChartContainer = styled.div`\n flex: 1;\n padding: 0 1.5rem 1.5rem 1.5rem;\n display: flex;\n flex-direction: column;\n gap: 2.2rem;\n // min-height: 0;\n overflow-y: auto;\n height: 100%;\n ${StepContent} {\n padding-top: 0.15rem;\n }\n\n .chart-section {\n flex: 1;\n // min-height: 250px;\n\n h6 {\n color: rgba(255, 255, 255, 0.9);\n font-size: 0.9rem;\n font-weight: 600;\n margin-bottom: 0.1rem;\n }\n }\n`\n\nexport const GaugeColumn = styled(Col)`\n height: 265px;\n margin-bottom: ${(props) => (props.index < 2 ? '1rem' : '0')};\n\n @media (max-width: 991px) {\n height: 310px;\n }\n\n .gauge-metric {\n background-color: rgba(0, 0, 0, 0.2);\n padding: 0.75rem;\n border-radius: 8px;\n text-align: center;\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: column;\n align-items: center;\n\n h5 {\n color: #ffffff;\n margin-bottom: 0.75rem;\n font-size: 0.9rem;\n flex-shrink: 0;\n width: 100%;\n text-align: left;\n }\n }\n`\n\nexport const metricsChartOptions: ChartOptions<'line'> = {\n responsive: true,\n maintainAspectRatio: false,\n plugins: {\n legend: {\n labels: {\n color: '#ffffff',\n },\n },\n tooltip: {\n callbacks: {\n label: function (context: any) {\n const label = context.dataset.label || ''\n const value = context.raw\n const displayValue =\n context.dataset.originalData?.[context.dataIndex] === null ? 'null' : (value || 0).toFixed(4)\n return `${label}: ${displayValue}`\n },\n },\n },\n },\n scales: {\n x: {\n beginAtZero: true,\n grid: {\n display: false,\n },\n ticks: {\n color: '#ffffff',\n autoSkip: true,\n callback: function (\n this: Scale,\n tickValue: number | string,\n index: number,\n ticks: Tick[]\n ): string | number | null {\n if (index === 0 || index === ticks.length - 1) {\n return this.getLabelForValue(tickValue as number)\n }\n if (index % Math.ceil(ticks.length / 10) === 0) {\n return this.getLabelForValue(tickValue as number)\n }\n return null\n },\n maxRotation: 45,\n minRotation: 45,\n includeBounds: true,\n },\n afterFit: (scale: any) => {\n scale.paddingRight = 20\n },\n },\n y: {\n type: 'linear' as const,\n beginAtZero: true,\n grid: {\n color: 'rgba(255, 255, 255, 0.1)',\n },\n ticks: {\n color: '#ffffff',\n },\n },\n },\n}\n\nexport const lossChartOptions: ChartOptions<'line'> = {\n ...metricsChartOptions,\n scales: {\n ...(metricsChartOptions.scales || {}),\n y: {\n ...(metricsChartOptions.scales?.y || {}),\n },\n },\n}\n","import React from 'react'\nimport { FaChartLine } from 'react-icons/fa'\nimport StarRating from '../../../StarRating'\nimport { StepCard, StepHeader, StepContent, StatusCard } from '../ModelMetricsCard.styles'\n\ninterface PerformanceCardProps {\n gradients: {\n performance: string\n }\n bBoxRating: number\n modelState: string\n trainTime: string\n deploymentStatus: string\n}\n\nconst PerformanceCard: React.FC = ({\n gradients,\n bBoxRating,\n modelState,\n trainTime,\n deploymentStatus,\n}) => {\n return (\n \n \n Model Performance\n \n \n \n
\n
\n
\n \n
\n \n Model Rating\n
\n
\n \n\n
\n
\n
\n \n Status\n {modelState}\n \n
\n
\n \n Training Time\n {trainTime}\n \n
\n
\n \n Deployment\n {deploymentStatus}\n \n
\n
\n
\n
\n
\n )\n}\n\nexport default PerformanceCard\n","import React from 'react'\nimport { FaDatabase } from 'react-icons/fa'\nimport PillsDataset from '../../../PillsDataset'\nimport { StepCard, StepHeader, StepContent, SourceGroup } from '../ModelMetricsCard.styles'\n\ninterface DataSourcesCardProps {\n gradients: {\n metrics: string\n }\n trainingDataSources: string[]\n validationDataSources: string[]\n}\n\nconst DataSourcesCard: React.FC = ({ gradients, trainingDataSources, validationDataSources }) => {\n return (\n \n \n \n Data Sources\n \n \n \n
Training Dataset
\n
\n \n
\n
\n \n
Validation Dataset
\n
\n \n
\n
\n
\n
\n )\n}\n\nexport default DataSourcesCard\n","import React from 'react'\n\ninterface GaugeMetricProps {\n metricName: string\n metricValue: number\n minValue?: number\n maxValue?: number\n hideTitle?: boolean\n onColorChange?: (color: string) => void\n}\n\n// Metric thresholds for good/bad logic\nconst metricThresholds = {\n mAP: {\n better: 'higher',\n thresholds: {\n bad: 50, // Below 50% is bad\n average: 70, // Between 50% and 75% is average\n good: 100, // Above 75% is good\n },\n },\n 'Cross Entropy': {\n better: 'lower',\n thresholds: {\n good: 0.5, // Below 0.5 is good\n average: 1.0, // Between 0.5 and 1.0 is average, anything higher is bad\n },\n },\n 'F1 Score': {\n better: 'higher',\n thresholds: {\n bad: 50,\n average: 70, // Between 0.5 and 1.0 is average, anything higher is bad\n good: 100, // Above .7 is good\n },\n },\n Precision: {\n better: 'higher',\n thresholds: {\n bad: 50,\n average: 85, // Between 0.5 and 1.0 is average, anything higher is bad\n good: 100, // Above .7 is good\n },\n },\n Recall: {\n better: 'higher',\n thresholds: {\n bad: 50,\n average: 85, // Between 0.5 and 1.0 is average, anything higher is bad\n good: 100, // Below 0.5 is good\n },\n },\n 'Smooth L1': {\n better: 'lower',\n thresholds: {\n good: 0.1, // Below 0.1 is good\n average: 0.5, // Between 0.2 and 0.5 is average, anything higher is bad\n },\n },\n 'Validation Accuracy': {\n better: 'higher',\n thresholds: {\n bad: 50, // Below 50% is bad\n average: 75, // Between 50% and 75% is average\n good: 100, // Above 75% is good\n },\n },\n 'Train Accuracy': {\n better: 'higher',\n thresholds: {\n bad: 50, // Below 50% is bad\n average: 75, // Between 50% and 75% is average\n good: 100, // Above 75% is good\n },\n },\n}\n\n// Metric name mapping\nconst metricNameMap: { [key: string]: string } = {\n 'calculated:f1': 'F1 Score',\n 'train:cross_entropy': 'Cross Entropy',\n 'train:smooth_l1': 'Smooth L1',\n 'validation:mAP50-95': 'mAP',\n 'validation:precision': 'Precision',\n 'validation:recall': 'Recall',\n 'validation:accuracy': 'Validation Accuracy',\n 'train:accuracy': 'Train Accuracy',\n}\n\n// Function to convert metric keys to human-readable names\nexport const convertMetricName = (key: string): string => {\n return metricNameMap[key] || key\n}\n\n// Function to dynamically generate segments based on thresholds\nconst getColorSegments = (metricName: string) => {\n const readableMetricName = convertMetricName(metricName) as keyof typeof metricThresholds\n const thresholds = metricThresholds[readableMetricName]?.thresholds\n\n if (!thresholds) return []\n\n if (metricThresholds[readableMetricName].better === 'higher') {\n // Higher is better (e.g., mAP)\n return [\n { color: '#FF4500', range: 'bad' in thresholds ? thresholds.bad / 100 : 0 }, // Red for bad (below 50%)\n {\n color: '#FFD700',\n range: 'bad' in thresholds ? (thresholds.average - thresholds.bad) / 100 : thresholds.average / 100,\n }, // Yellow for average\n {\n color: '#32CD32',\n range: thresholds.good ? (thresholds.good - thresholds.average) / 100 : 1 - thresholds.average / 100,\n }, // Green for good\n ]\n } else {\n // Lower is better (e.g., Cross Entropy, Smooth L1)\n const maxRange = thresholds.average // Assume the max value is capped at the 'average' threshold\n return [\n { color: '#32CD32', range: thresholds.good / maxRange }, // Green for good (below 0.5)\n { color: '#FFD700', range: (thresholds.average - thresholds.good) / maxRange }, // Yellow for average (0.5 - 1.0)\n { color: '#FF4500', range: 1 - thresholds.average / maxRange }, // Red for bad (anything higher than average)\n ]\n }\n}\n\nconst GaugeMetric: React.FC = ({\n metricName,\n metricValue,\n minValue = 0,\n maxValue = 100,\n onColorChange,\n}) => {\n const percentValue = (metricValue - minValue) / (maxValue - minValue)\n\n // Get the dynamic color segments based on the metric type\n const segments = getColorSegments(metricName)\n\n // Calculate current color based on needle position\n React.useEffect(() => {\n if (!onColorChange || segments.length === 0) return\n\n let currentSegment = segments[0]\n let accumulatedRange = 0\n\n for (const segment of segments) {\n accumulatedRange += segment.range\n if (percentValue <= accumulatedRange) {\n currentSegment = segment\n break\n }\n }\n\n onColorChange(currentSegment.color)\n }, [percentValue, segments, onColorChange])\n\n // Optimized size values for more compact gauges\n const baseWidth = 200\n const baseHeight = 150\n const baseRadius = 65\n const baseNeedleLength = 55\n const baseCenterX = 100\n const baseCenterY = 95\n const baseCenterCircleRadius = 3\n\n // Calculate tick marks\n const createTicks = () => {\n const ticks = []\n for (let i = 0; i <= 10; i++) {\n const angle = i / 10\n const isMainTick = i % 2 === 0\n const tickLength = isMainTick ? 8 : 5\n const startRadius = baseRadius + 2\n const endRadius = startRadius + tickLength\n\n const startX = baseCenterX + startRadius * Math.cos(Math.PI * (1 - angle))\n const startY = baseCenterY - startRadius * Math.sin(Math.PI * (1 - angle))\n const endX = baseCenterX + endRadius * Math.cos(Math.PI * (1 - angle))\n const endY = baseCenterY - endRadius * Math.sin(Math.PI * (1 - angle))\n\n ticks.push(\n \n )\n\n // Add labels for main ticks\n if (isMainTick) {\n const labelRadius = endRadius + 12\n const labelX = baseCenterX + labelRadius * Math.cos(Math.PI * (1 - angle))\n const labelY = baseCenterY - labelRadius * Math.sin(Math.PI * (1 - angle))\n ticks.push(\n \n {i * 10}\n \n )\n }\n }\n return ticks\n }\n\n const getSegmentPath = (startAngle: number, endAngle: number) => {\n const startX = baseCenterX + baseRadius * Math.cos(Math.PI * (1 - startAngle))\n const startY = baseCenterY - baseRadius * Math.sin(Math.PI * (1 - startAngle))\n const endX = baseCenterX + baseRadius * Math.cos(Math.PI * (1 - endAngle))\n const endY = baseCenterY - baseRadius * Math.sin(Math.PI * (1 - endAngle))\n return `M ${startX} ${startY} A ${baseRadius} ${baseRadius} 0 0 1 ${endX} ${endY}`\n }\n\n let prevAngle = 0\n\n return (\n \n \n {/* Subtle gradient for the background arc */}\n \n \n \n \n\n {/* Subtle glow for the colored segments */}\n \n \n \n \n \n \n \n\n {/* Metallic gradient for the needle */}\n \n \n \n \n \n\n {/* Center circle gradient */}\n \n \n \n \n \n\n {/* Background arc with gradient */}\n \n\n {/* Tick marks */}\n {createTicks()}\n\n {/* Colored segments with subtle glow */}\n {segments.map((segment, idx) => {\n const startAngle = prevAngle\n const endAngle = prevAngle + segment.range\n prevAngle = endAngle\n return (\n \n )\n })}\n\n {/* Needle shadow */}\n \n\n {/* Needle with metallic gradient */}\n \n\n {/* Center circle shadow */}\n \n\n {/* Center circle with gradient */}\n \n\n {/* Percentage value */}\n \n {(metricValue ?? 0).toFixed(1)}%\n \n \n )\n}\n\nexport default GaugeMetric\n","import React, { useState } from 'react'\nimport { FaInfoCircle, FaTimes } from 'react-icons/fa'\nimport GaugeMetric, { convertMetricName } from '../../../GaugeMetric'\nimport {\n GaugeCardContainer,\n GaugeCardInner,\n GaugeCardFront,\n GaugeCardBack,\n CardHeader,\n BackContent,\n} from '../ModelMetricsCard.styles'\n\ninterface GaugeMetricCardProps {\n metricKey: string\n value: number\n hoverColor: string\n}\n\nconst getMetricInfo = (metricName: string) => {\n const infoMap: { [key: string]: { title: string; description: string } } = {\n mAP: {\n title: 'mAP',\n description:\n 'Measures overall detection accuracy by balancing both how precise and how complete the model\\'s detections are. A higher score means more correct detections with fewer misses.',\n },\n 'F1 Score': {\n title: 'F1 Score',\n description:\n 'Combines precision and recall into one score. A higher F1 means the model finds most real positives (high recall) without making too many false claims (high precision).',\n },\n Precision: {\n title: 'Precision',\n description:\n 'Shows how many of the model\\'s \"positive\" predictions are actually correct. Higher precision means fewer wrong alerts.',\n },\n Recall: {\n title: 'Recall',\n description:\n 'Shows how many of the real positives the model successfully detects. Higher recall means fewer missed cases.',\n },\n }\n\n return (\n infoMap[metricName] || {\n title: metricName,\n description: 'This metric helps gauge model performance. Higher values typically mean better results.',\n }\n )\n}\n\nconst GaugeMetricCard: React.FC = ({ metricKey, value, hoverColor }) => {\n const [isFlipped, setIsFlipped] = useState(false)\n const [currentColor, setCurrentColor] = useState(hoverColor)\n const metricName = convertMetricName(metricKey)\n const metricInfo = getMetricInfo(metricName)\n\n return (\n \n \n \n \n
{metricName}
\n \n
\n\n
\n \n
\n
\n\n \n \n \n
{metricInfo.title}
\n \n
\n

{metricInfo.description}

\n
\n
\n
\n
\n )\n}\n\nexport default GaugeMetricCard\n","import styled from 'styled-components'\nimport { Card } from 'react-bootstrap'\n\nexport const StepCard = styled(Card)`\n background: #2a2a2a;\n border: none;\n width: 100%;\n display: flex;\n flex-direction: column;\n position: relative;\n\n &.locked {\n .lock-icon-container {\n z-index: 2;\n }\n\n &::after {\n content: '';\n position: absolute;\n inset: 0;\n background: rgba(0, 0, 0, 0.65);\n border-radius: 8px;\n pointer-events: none;\n z-index: 1;\n }\n }\n`\n\ninterface HeaderProps {\n $gradient: string\n}\n\nexport const StepHeader = styled.div`\n background: ${(props) => props.$gradient};\n padding: 1rem;\n border-radius: 8px 8px 0 0;\n color: white;\n font-weight: 600;\n font-size: 1.1rem;\n display: flex;\n align-items: center;\n gap: 0.75rem;\n flex-shrink: 0;\n\n .lock-icon-container {\n margin-left: auto;\n display: flex;\n align-items: center;\n }\n`\n\nexport const StepContent = styled.div`\n background: #2a2a2a;\n padding: 1rem;\n border-radius: 0 0 8px 8px;\n flex: 1;\n display: flex;\n flex-direction: column;\n overflow-y: auto;\n\n ::-webkit-scrollbar {\n width: 8px;\n height: 8px;\n }\n\n ::-webkit-scrollbar-track {\n background: #1a1a1a;\n border-radius: 4px;\n }\n\n ::-webkit-scrollbar-thumb {\n background: #4a4a4a;\n border-radius: 4px;\n }\n\n ::-webkit-scrollbar-thumb:hover {\n background: #5a5a5a;\n }\n`\n\nexport const StatCard = styled.div`\n background: #1a1a1a;\n border-radius: 6px;\n padding: 1.25rem;\n text-align: center;\n\n .stat-number {\n color: #4dabf7;\n font-size: 1.5rem;\n font-weight: 600;\n margin-bottom: 0.5rem;\n }\n\n .text-muted {\n color: rgba(255, 255, 255, 0.7) !important;\n font-size: 0.9rem;\n }\n`\n\nexport const ValueBox = styled.div`\n background: #1a1a1a;\n border-radius: 6px;\n padding: 1rem;\n margin-bottom: 1rem;\n\n .label {\n color: rgba(255, 255, 255, 0.7);\n font-size: 0.85rem;\n margin-bottom: 0.25rem;\n }\n\n .value {\n color: #ffffff;\n font-family: monospace;\n font-size: 0.9rem;\n word-break: break-all;\n }\n`\n\nexport const ChartContainer = styled.div`\n position: relative;\n width: 100%;\n margin-bottom: 0.5rem;\n background: rgba(0, 0, 0, 0.2);\n border-radius: 8px;\n padding: 0.5rem;\n\n canvas {\n width: 100% !important;\n height: 100% !important;\n }\n`\n\nexport const ChartTitle = styled.h5`\n color: #ffffff;\n font-size: 0.9rem;\n margin-bottom: 0.5rem;\n font-weight: 600;\n`\n\nexport const ProgressBar = styled.div<{ $progress: number }>`\n width: 100%;\n height: 12px;\n background: rgba(255, 255, 255, 0.1);\n border-radius: 6px;\n overflow: hidden;\n margin-bottom: 0.5rem;\n box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.2);\n\n &::after {\n content: '';\n display: block;\n width: ${(props) => props.$progress}%;\n height: 100%;\n background: linear-gradient(90deg, #4a90e2, #800085);\n transition: width 0.3s ease;\n box-shadow: 0 0 8px rgba(74, 144, 226, 0.5);\n }\n`\n\nexport const ViewContainer = styled.div`\n height: 100%;\n width: 100%;\n display: flex;\n flex-direction: column;\n`\n\nexport const ScrollableContent = styled.div`\n flex: 1;\n overflow-y: auto;\n overflow-x: hidden;\n`\n\nexport const SourceGroup = styled.div`\n background: #1a1a1a;\n border-radius: 6px;\n padding: 1rem;\n margin-bottom: 1rem;\n\n .source-label {\n color: rgba(255, 255, 255, 0.7);\n font-size: 0.85rem;\n margin-bottom: 0.5rem;\n }\n\n .dataset-container {\n color: #ffffff;\n }\n`\n\nexport const ClassificationButton = styled.button`\n width: 100%;\n height: 300px;\n background: linear-gradient(135deg, #402563, #114ee0);\n border: none;\n border-radius: 8px;\n color: white;\n font-size: 1.5rem;\n font-weight: 600;\n cursor: pointer;\n transition: all 0.3s ease;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap: 1rem;\n position: relative;\n overflow: hidden;\n\n &::before {\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: linear-gradient(135deg, #402563, #114ee0);\n animation: pulse 2s infinite;\n }\n\n @keyframes pulse {\n 0% {\n opacity: 1;\n transform: scale(1);\n }\n 50% {\n opacity: 0.8;\n transform: scale(1.02);\n }\n 100% {\n opacity: 1;\n transform: scale(1);\n }\n }\n\n &:hover {\n transform: translateY(-2px);\n box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);\n }\n\n &:active {\n transform: translateY(0);\n }\n\n .icon {\n font-size: 3rem;\n margin-bottom: 1rem;\n }\n\n .title {\n font-size: 1.5rem;\n font-weight: 600;\n margin-bottom: 0.5rem;\n }\n\n .description {\n font-size: 1rem;\n opacity: 0.8;\n text-align: center;\n max-width: 80%;\n }\n`\n","import React from 'react'\nimport { Line } from 'react-chartjs-2'\nimport { ChartOptions } from 'chart.js'\nimport { ChartContainer, ChartTitle } from './ModelTrainingView.styles'\nimport { Model, TrainingJobEntryBBox } from '../../../types/model'\n\ninterface BBoxPerformanceMetricsChartProps {\n model: Model | undefined\n height?: string\n}\n\nconst BBoxPerformanceMetricsChart: React.FC = ({ model, height = '225px' }) => {\n const metricsChartOptions: ChartOptions<'line'> = {\n responsive: true,\n maintainAspectRatio: false,\n plugins: {\n legend: {\n labels: {\n color: '#ffffff',\n },\n },\n tooltip: {\n callbacks: {\n label: function (context: any) {\n const label = context.dataset.label || ''\n const value = context.raw\n const displayValue = context.dataset.originalData?.[context.dataIndex] === null ? 'null' : value.toFixed(4)\n return `${label}: ${displayValue}`\n },\n },\n },\n },\n scales: {\n x: {\n beginAtZero: true,\n grid: {\n display: false,\n },\n ticks: {\n color: '#ffffff',\n autoSkip: true,\n callback: function (this: any, tickValue: string | number, index: number, ticks: any[]): string | null {\n if (index === 0 || index === ticks.length - 1) {\n return this.getLabelForValue(tickValue)\n }\n if (index % Math.ceil(ticks.length / 10) === 0) {\n return this.getLabelForValue(tickValue)\n }\n return null\n },\n maxRotation: 45,\n minRotation: 45,\n includeBounds: true,\n },\n afterFit: (scale: any) => {\n scale.paddingRight = 20\n },\n },\n y: {\n type: 'linear' as const,\n beginAtZero: true,\n grid: {\n color: 'rgba(255, 255, 255, 0.1)',\n },\n ticks: {\n color: '#ffffff',\n },\n },\n },\n }\n\n const getMetricsChartData = (model: Model | undefined) => {\n if (!model?.training_stats?.bounding_box?.training_job_metrics) {\n return {\n labels: [],\n datasets: [],\n }\n }\n\n const firstJobKey = Object.keys(model.training_stats?.bounding_box?.training_job_metrics || {})[0]\n if (!firstJobKey) {\n return { labels: [], datasets: [] }\n }\n\n const jobEntries = model.training_stats?.bounding_box?.training_job_metrics[firstJobKey].training_job_entries\n\n return {\n labels: jobEntries.map((entry: TrainingJobEntryBBox) => `Epoch ${entry.epoch || 0}`),\n datasets: [\n {\n label: 'Precision',\n data: jobEntries.map((entry: TrainingJobEntryBBox) => (entry.metrics_precision || 0) * 100),\n originalData: jobEntries.map((entry: TrainingJobEntryBBox) => entry.metrics_precision || 0),\n borderColor: 'rgba(13, 202, 240, 1)',\n backgroundColor: 'rgba(13, 202, 240, 0.2)',\n tension: 0.4,\n },\n {\n label: 'Recall',\n data: jobEntries.map((entry: TrainingJobEntryBBox) => (entry.metrics_recall || 0) * 100),\n originalData: jobEntries.map((entry: TrainingJobEntryBBox) => entry.metrics_recall || 0),\n borderColor: 'rgba(25, 135, 84, 1)',\n backgroundColor: 'rgba(25, 135, 84, 0.2)',\n tension: 0.4,\n },\n {\n label: 'mAP50',\n data: jobEntries.map((entry: TrainingJobEntryBBox) => (entry.metrics_map_50 || 0) * 100),\n originalData: jobEntries.map((entry: TrainingJobEntryBBox) => entry.metrics_map_50 || 0),\n borderColor: 'rgba(220, 53, 69, 1)',\n backgroundColor: 'rgba(220, 53, 69, 0.2)',\n tension: 0.4,\n },\n {\n label: 'mAP50-95',\n data: jobEntries.map((entry: TrainingJobEntryBBox) => (entry.metrics_map_50_95 || 0) * 100),\n originalData: jobEntries.map((entry: TrainingJobEntryBBox) => entry.metrics_map_50_95 || 0),\n borderColor: 'rgba(255, 193, 7, 1)',\n backgroundColor: 'rgba(255, 193, 7, 0.2)',\n tension: 0.4,\n },\n ],\n }\n }\n\n if (!model) {\n return
No training data available
\n }\n\n return (\n \n Performance Metrics\n
\n \n
\n
\n )\n}\n\nexport default BBoxPerformanceMetricsChart\n","import React from 'react'\nimport { Line } from 'react-chartjs-2'\nimport { ChartOptions } from 'chart.js'\nimport { ChartContainer, ChartTitle } from './ModelTrainingView.styles'\nimport { Model, TrainingJobEntryBBox } from '../../../types/model'\n\ninterface LossValuesChartProps {\n model: Model | undefined\n height?: string\n}\n\nconst LossValuesChart: React.FC = ({ model, height = '225px' }) => {\n const lossChartOptions: ChartOptions<'line'> = {\n responsive: true,\n maintainAspectRatio: false,\n plugins: {\n legend: {\n labels: {\n color: '#ffffff',\n },\n },\n tooltip: {\n callbacks: {\n label: function (context: any) {\n const label = context.dataset.label || ''\n const value = context.raw\n const displayValue = context.dataset.originalData?.[context.dataIndex] === null ? 'null' : value.toFixed(4)\n return `${label}: ${displayValue}`\n },\n },\n },\n },\n scales: {\n x: {\n beginAtZero: true,\n grid: {\n display: false,\n },\n ticks: {\n color: '#ffffff',\n autoSkip: true,\n callback: function (this: any, tickValue: string | number, index: number, ticks: any[]): string | null {\n if (index === 0 || index === ticks.length - 1) {\n return this.getLabelForValue(tickValue)\n }\n if (index % Math.ceil(ticks.length / 10) === 0) {\n return this.getLabelForValue(tickValue)\n }\n return null\n },\n maxRotation: 45,\n minRotation: 45,\n includeBounds: true,\n },\n afterFit: (scale: any) => {\n scale.paddingRight = 20\n },\n },\n y: {\n type: 'linear' as const,\n beginAtZero: true,\n grid: {\n color: 'rgba(255, 255, 255, 0.1)',\n },\n ticks: {\n color: '#ffffff',\n },\n },\n },\n }\n\n const getLossChartData = (model: Model | undefined) => {\n if (!model?.training_stats?.bounding_box?.training_job_metrics) {\n return {\n labels: [],\n datasets: [],\n }\n }\n\n const firstJobKey = Object.keys(model.training_stats?.bounding_box?.training_job_metrics || {})[0]\n if (!firstJobKey) {\n return { labels: [], datasets: [] }\n }\n\n const jobEntries = model.training_stats?.bounding_box?.training_job_metrics[firstJobKey].training_job_entries\n\n return {\n labels: jobEntries.map((entry: TrainingJobEntryBBox) => `Epoch ${entry.epoch || 0}`),\n datasets: [\n {\n label: 'Box Loss',\n data: jobEntries.map((entry: TrainingJobEntryBBox) => entry.validation_box_loss || 0),\n originalData: jobEntries.map((entry: TrainingJobEntryBBox) => entry.validation_box_loss || 0),\n borderColor: 'rgba(13, 202, 240, 1)',\n backgroundColor: 'rgba(13, 202, 240, 0.2)',\n tension: 0.4,\n },\n {\n label: 'Class Loss',\n data: jobEntries.map((entry: TrainingJobEntryBBox) => entry.validation_class_loss || 0),\n originalData: jobEntries.map((entry: TrainingJobEntryBBox) => entry.validation_class_loss || 0),\n borderColor: 'rgba(25, 135, 84, 1)',\n backgroundColor: 'rgba(25, 135, 84, 0.2)',\n tension: 0.4,\n },\n {\n label: 'DFL Loss',\n data: jobEntries.map((entry: TrainingJobEntryBBox) => entry.validation_dfl_loss || 0),\n originalData: jobEntries.map((entry: TrainingJobEntryBBox) => entry.validation_dfl_loss || 0),\n borderColor: 'rgba(220, 53, 69, 1)',\n backgroundColor: 'rgba(220, 53, 69, 0.2)',\n tension: 0.4,\n },\n ],\n }\n }\n\n if (!model) {\n return
No training data available
\n }\n\n return (\n \n Loss Values\n
\n \n
\n
\n )\n}\n\nexport default LossValuesChart\n","import React from 'react'\nimport { Col, Row } from 'react-bootstrap'\nimport { FaChartLine, FaTachometerAlt } from 'react-icons/fa'\nimport {\n StepCard,\n StepHeader,\n MetricsCardContainer,\n MetricsCardInner,\n MetricsCardFront,\n MetricsCardBack,\n MetricsChartContainer,\n GaugeColumn,\n} from '../ModelMetricsCard.styles'\nimport GaugeMetricCard from './GaugeMetricCard'\nimport BBoxPerformanceMetricsChart from '../../../views/ModelTrainingView/BBoxPerformanceMetricsChart'\nimport LossValuesChart from '../../../views/ModelTrainingView/LossValuesChart'\nimport { useAppSelector } from '../../../../store/hooks'\nimport { useGetModelQuery } from '../../../../services/modelsApi'\nimport { selectSelectedModelId } from '../../../../store/slices/modelSlice'\n\ninterface BBoxMetricsCardProps {\n gradients: {\n metrics: string\n }\n metrics: Array<{\n key: string\n value: number\n }>\n}\n\nconst BBoxMetricsCard: React.FC = ({ gradients, metrics }) => {\n const [isMetricsFlipped, setIsMetricsFlipped] = React.useState(false)\n const selectedModelId = useAppSelector(selectSelectedModelId)\n const { data: selectedModel } = useGetModelQuery(selectedModelId || '', { skip: !selectedModelId })\n\n return (\n \n \n \n \n \n Performance Metrics\n \n
\n setIsMetricsFlipped(true)}\n style={{ background: 'none', border: 'none', color: 'white', cursor: 'pointer' }}\n aria-label=\"Show metrics graph\"\n >\n \n \n
\n
\n\n
\n \n {metrics.map(({ key, value }, index) => {\n let color = '#32CD32'\n if (value < 30) {\n color = '#FF4500'\n } else if (value < 85) {\n color = '#FFD700'\n }\n\n return (\n \n \n \n )\n })}\n \n
\n
\n
\n\n \n \n \n Metrics Over Time\n \n
\n setIsMetricsFlipped(false)}\n style={{ background: 'none', border: 'none', color: 'white', cursor: 'pointer' }}\n aria-label=\"Show metrics gauges\"\n >\n \n \n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n
\n
\n )\n}\n\nexport default BBoxMetricsCard\n","import React from 'react'\nimport { FaChartPie } from 'react-icons/fa'\nimport ClassDistributionCard from '../../../ClassDistributionCard'\nimport { StepCard, StepHeader, StepContent } from '../ModelMetricsCard.styles'\n\ninterface DistributionCardProps {\n gradients: {\n distribution: string\n }\n title: string\n dataSources: string[]\n datasetId?: string\n isLoading: boolean\n}\n\nconst DistributionCard: React.FC = ({ gradients, title, dataSources, datasetId, isLoading }) => {\n return (\n \n \n {title} Data Distribution\n \n \n \n {isLoading ? (\n
Loading...
\n ) : (\n \n )}\n
\n
\n )\n}\n\nexport default DistributionCard\n","import React from 'react'\nimport { Line } from 'react-chartjs-2'\nimport { ChartOptions } from 'chart.js'\nimport { ChartContainer, ChartTitle } from './ModelTrainingView.styles'\nimport { Model, TrainingJobEntryClassification } from '../../../types/model'\n\ninterface AccuracyMetricsChartProps {\n model: Model | undefined\n}\n\nconst AccuracyMetricsChart: React.FC = ({ model }) => {\n const metricsChartOptions: ChartOptions<'line'> = {\n responsive: true,\n maintainAspectRatio: false,\n plugins: {\n legend: {\n position: 'top',\n labels: {\n color: '#fff',\n font: {\n size: 12,\n },\n },\n },\n tooltip: {\n mode: 'index',\n intersect: false,\n backgroundColor: 'rgba(0, 0, 0, 0.8)',\n titleColor: '#fff',\n bodyColor: '#fff',\n borderColor: 'rgba(255, 255, 255, 0.2)',\n borderWidth: 1,\n },\n },\n scales: {\n x: {\n ticks: {\n color: '#aaa',\n },\n grid: {\n color: 'rgba(255, 255, 255, 0.1)',\n },\n },\n y: {\n ticks: {\n color: '#aaa',\n },\n grid: {\n color: 'rgba(255, 255, 255, 0.1)',\n },\n min: 0,\n max: 1,\n },\n },\n }\n\n const getAccuracyChartData = (model: Model | undefined) => {\n if (!model?.training_stats?.classification?.training_job_metrics) {\n return {\n labels: [],\n datasets: [],\n }\n }\n\n const firstJobKey = Object.keys(model.training_stats?.classification?.training_job_metrics || {})[0]\n if (!firstJobKey) {\n return { labels: [], datasets: [] }\n }\n\n const jobEntries = model.training_stats?.classification?.training_job_metrics[firstJobKey].training_job_entries\n\n return {\n labels: jobEntries.map((entry: TrainingJobEntryClassification) => `Epoch ${entry.epoch || 0}`),\n datasets: [\n {\n label: 'Accuracy',\n data: jobEntries.map((entry: TrainingJobEntryClassification) => entry.accuracy || 0),\n originalData: jobEntries.map((entry: TrainingJobEntryClassification) => entry.accuracy || 0),\n borderColor: 'rgba(13, 202, 240, 1)',\n backgroundColor: 'rgba(13, 202, 240, 0.2)',\n tension: 0.4,\n },\n ],\n }\n }\n\n const chartData = getAccuracyChartData(model)\n\n return (\n \n Training Accuracy\n
\n \n
\n
\n )\n}\n\nexport default AccuracyMetricsChart\n","import React from 'react'\nimport { Row } from 'react-bootstrap'\nimport { FaChartLine, FaTachometerAlt } from 'react-icons/fa'\nimport {\n StepCard,\n StepHeader,\n MetricsCardContainer,\n MetricsCardInner,\n MetricsCardFront,\n MetricsCardBack,\n MetricsChartContainer,\n GaugeColumn,\n} from '../ModelMetricsCard.styles'\nimport GaugeMetricCard from './GaugeMetricCard'\nimport { useGetModelQuery } from '../../../../services/modelsApi'\nimport { gradients } from '../../../views/ModelGenerationView/shared'\nimport AccuracyMetricsChart from '../../../views/ModelTrainingView/AccuracyMetricsChart'\n\ninterface ClassificationMetricsCardProps {\n modelId: string\n}\n\nconst ClassificationMetricsCard: React.FC = ({ modelId }) => {\n const [isMetricsFlipped, setIsMetricsFlipped] = React.useState(false)\n const { data: selectedModel } = useGetModelQuery(modelId || '', { skip: !modelId })\n\n const accuracyValue = selectedModel?.metrics?.['validation:accuracy']\n const accuracy = typeof accuracyValue === 'number' ? accuracyValue : 0\n const accuracyPercentage = accuracy * 100\n\n return (\n \n \n \n \n \n Model Accuracy\n \n
\n setIsMetricsFlipped(true)}\n style={{ background: 'none', border: 'none', color: 'white', cursor: 'pointer' }}\n aria-label=\"Show metrics graph\"\n >\n \n \n
\n
\n\n
\n \n \n \n \n \n
\n
\n
\n\n \n \n \n Accuracy Over Time\n \n
\n setIsMetricsFlipped(false)}\n style={{ background: 'none', border: 'none', color: 'white', cursor: 'pointer' }}\n aria-label=\"Show metrics gauges\"\n >\n \n \n
\n
\n \n \n \n
\n
\n
\n
\n )\n}\n\nexport default ClassificationMetricsCard\n","import React from 'react'\nimport { Row, Col } from 'react-bootstrap'\nimport { Model } from '../../../types/model'\nimport { rateBBoxModel } from '../../../utils'\nimport { useAppSelector } from '../../../store/hooks'\nimport { useGetModelQuery } from '../../../services/modelsApi'\nimport { selectSelectedModelId } from '../../../store/slices/modelSlice'\nimport PerformanceCard from './components/PerformanceCard'\nimport DataSourcesCard from './components/DataSourcesCard'\nimport BBoxMetricsCard from './components/BBoxMetricsCard'\nimport DistributionCard from './components/DistributionCard'\nimport { selectSelectedProjectId } from '../../../store/slices/projectSlice'\nimport { useGetProjectQuery } from '../../../services/projectsApi'\nimport ClassificationMetricsCard from './components/ClassificationMetricsCard'\n\ninterface ModelMetricsCardProps {\n onDeleteModel?: () => void\n onEditModel?: () => void\n isEditingName?: boolean\n modelName?: string\n onNameChange?: (e: React.ChangeEvent) => void\n onNameBlur?: () => void\n}\n\nconst ModelMetricsCard: React.FC = () => {\n const selectedProjectId = useAppSelector(selectSelectedProjectId)\n const selectedModelId = useAppSelector(selectSelectedModelId)\n const { data: model, isLoading: isModelLoading } = useGetModelQuery(selectedModelId || '', { skip: !selectedModelId })\n const { data: project } = useGetProjectQuery(selectedProjectId || '', { skip: !selectedProjectId })\n\n const trainingDataSources = model?.parameters?.train_metadata?.datasource || []\n const validationDataSources = model?.parameters?.validation_metadata?.datasource || []\n\n const { metrics, train_started_at, train_ended_at, deployment } = model || {}\n\n const trainStart = train_started_at ? new Date(train_started_at) : null\n const trainEnd = train_ended_at ? new Date(train_ended_at) : null\n\n const { bBoxRating } = rateBBoxModel(model || ({} as Model))\n\n let trainTime = 'N/A'\n if (trainEnd && trainStart) {\n if (train_ended_at === '0001-01-01T00:00:00Z') {\n trainTime = 'In Progress'\n } else {\n const durationMs = trainEnd.getTime() - trainStart.getTime()\n const hours = Math.floor(durationMs / (1000 * 60 * 60))\n const minutes = Math.floor((durationMs % (1000 * 60 * 60)) / (1000 * 60))\n trainTime = `${hours}h ${minutes}m`\n }\n }\n\n const allowedMetrics = ['validation:mAP50-95', 'validation:precision', 'validation:recall']\n\n let recall = 0\n let precision = 0\n const validationMetrics = Object.entries(metrics || {})\n .filter(([key]) => allowedMetrics.includes(key) && key.startsWith('validation:'))\n .map(([key, value]) => {\n const percentageValue = typeof value === 'number' ? value * 100 : 0\n if (key.includes('precision')) {\n precision = typeof value === 'number' ? value * 100 : 0\n }\n if (key.includes('recall')) {\n recall = typeof value === 'number' ? value * 100 : 0\n }\n return { key, value: percentageValue }\n })\n\n const f1Score = (2 * (precision * recall)) / (precision + recall) || 0\n const combinedMetrics = [...validationMetrics, { key: 'calculated:f1', value: f1Score }]\n\n const gradients = React.useMemo(\n () => ({\n performance: 'linear-gradient(135deg, #402563, #114ee0)',\n metrics: 'linear-gradient(135deg, #402563, #2042ba)',\n distribution: 'linear-gradient(135deg, #402563, #2448cc)',\n }),\n []\n )\n\n if (!model) {\n return
No model data available.
\n }\n\n return (\n
\n \n \n
\n \n \n
\n \n \n {project?.annotation_type === 'bounding_box' && (\n \n )}\n {project?.annotation_type === 'classification' && }\n \n
\n\n \n \n \n \n \n \n \n \n
\n )\n}\n\nexport default ModelMetricsCard\n","import React from 'react'\nimport { FaDatabase } from 'react-icons/fa'\nimport { StepCard, StepHeader, StepContent, SourceGroup } from './ModelTrainingView.styles'\nimport PillsDataset from '../../PillsDataset'\nimport { Model } from '../../../types/model'\n\ninterface DataSourcesCardProps {\n model: Model | undefined\n gradient: string\n}\n\nconst DataSourcesCard: React.FC = ({ model, gradient }) => {\n return (\n \n \n \n Data Sources\n \n \n \n
Training Dataset
\n
\n \n
\n
\n \n
Validation Dataset
\n
\n \n
\n
\n {/* \n
Tag Filter
\n
\n \n
\n
*/}\n
\n
\n )\n}\n\nexport default DataSourcesCard\n","import React from 'react'\nimport { FaChartLine } from 'react-icons/fa'\nimport { StepCard, StepHeader, StepContent, ScrollableContent, ProgressBar, StatCard } from './ModelTrainingView.styles'\nimport { Model, TrainingStatsBBox } from '../../../types/model'\nimport BBoxPerformanceMetricsChart from './BBoxPerformanceMetricsChart'\nimport LossValuesChart from './LossValuesChart'\n\n// Define the structure of BBox training data\ninterface BBoxKeyValuePair {\n Key: string\n Value: number | string | BBoxKeyValuePair[] | BBoxTrainingJobEntry[]\n}\n\n// Type for the nested array structure in BBox training data\ntype BBoxTrainingJobEntry = BBoxKeyValuePair[]\n\n// interface TrainingStats {\n// Key: string\n// Value: number | BBoxKeyValuePair[]\n// }\n\n// interface BBoxTrainingJobMetrics {\n// Key: string\n// Value: BBoxKeyValuePair[]\n// }\n\n// interface BBoxTrainingJobStatus {\n// Key: string\n// Value: string\n// }\n\ninterface BBoxTrainingProgressCardProps {\n model: Model | undefined\n gradient: string\n}\n\nconst BBoxTrainingProgressCard: React.FC = ({ model, gradient }) => {\n const getCurrentEpoch = () => {\n const trainingStats = model?.training_stats?.bounding_box as TrainingStatsBBox\n if (!trainingStats?.training_job_metrics) return 0\n\n const firstJobKey = Object.keys(trainingStats.training_job_metrics)[0]\n const firstJob = trainingStats.training_job_metrics[firstJobKey]\n if (!firstJob?.training_job_entries || firstJob.training_job_entries.length === 0) return 0\n\n const lastEntry = firstJob.training_job_entries[firstJob.training_job_entries.length - 1]\n return lastEntry.epoch || 0\n }\n\n const getTotalEpochs = () => {\n try {\n const hyperparameters = model?.parameters?.hyperparameters as any\n const epochs = hyperparameters?.hyperparameters?.training?.epochs\n\n if (epochs && typeof epochs === 'object' && 'value' in epochs) {\n const value = epochs.value as unknown\n return typeof value === 'number' ? value : 0\n }\n\n return 0\n } catch (error) {\n console.error('Error getting total epochs:', error)\n return 0\n }\n }\n\n const getProgressPercentage = () => {\n const currentEpoch = getCurrentEpoch()\n const totalEpochs = getTotalEpochs()\n\n if (totalEpochs === 0) return 0\n return Math.round((currentEpoch / totalEpochs) * 100)\n }\n\n const getStatusText = () => {\n if (!model?.training_stats?.bounding_box) return 'No training data available'\n\n const trainingStats = model.training_stats.bounding_box as TrainingStatsBBox\n if (!trainingStats?.training_job_metrics) return 'No training data available'\n\n const firstJobKey = Object.keys(trainingStats.training_job_metrics)[0]\n const firstJob = trainingStats.training_job_metrics[firstJobKey]\n const status = firstJob?.training_job_status\n\n if (!status) {\n return (\n
\n Pending\n
\n Loading...\n
\n
\n )\n }\n\n return status\n }\n\n const getProgressText = () => {\n return `${getProgressPercentage()}%`\n }\n\n const latestEntry = model?.training_stats?.bounding_box\n ? (() => {\n const trainingStats = model.training_stats.bounding_box as TrainingStatsBBox\n if (!trainingStats?.training_job_metrics) return null\n\n const firstJobKey = Object.keys(trainingStats.training_job_metrics)[0]\n const firstJob = trainingStats.training_job_metrics[firstJobKey]\n if (!firstJob?.training_job_entries || firstJob.training_job_entries.length === 0) return null\n\n const lastEntry = firstJob.training_job_entries[firstJob.training_job_entries.length - 1]\n\n return {\n metrics_precision: lastEntry.metrics_precision || 0,\n metrics_recall: lastEntry.metrics_recall || 0,\n metrics_map_50: lastEntry.metrics_map_50 || 0,\n validation_box_loss: lastEntry.validation_box_loss || 0,\n validation_class_loss: lastEntry.validation_class_loss || 0,\n validation_dfl_loss: lastEntry.validation_dfl_loss || 0,\n }\n })()\n : null\n\n return (\n \n \n \n Training Progress\n \n \n \n {model?.training_stats ? (\n <>\n
\n
\n
\n \n
{getStatusText()}
\n
{getProgressText()}
\n
\n \n
\n
\n
\n \n
\n {getCurrentEpoch()} / {getTotalEpochs()}\n
\n
\n Epochs\n
\n
\n
\n \n\n
\n
\n
\n \n
\n
\n
Latest Metrics
\n {latestEntry && (\n
\n \n
\n {(latestEntry.metrics_precision * 100).toFixed(1)}%\n
\n
\n Precision\n
\n \n \n
\n {(latestEntry.metrics_recall * 100).toFixed(1)}%\n
\n
\n Recall\n
\n \n \n
\n {(latestEntry.metrics_map_50 * 100).toFixed(1)}%\n
\n
\n mAP50\n
\n \n
\n )}\n
\n
\n\n
\n
\n \n
\n
\n
Latest Loss Values
\n {latestEntry && (\n
\n \n
\n {latestEntry.validation_box_loss.toFixed(4)}\n
\n
\n Box Loss\n
\n \n \n
\n {latestEntry.validation_class_loss.toFixed(4)}\n
\n
\n Class Loss\n
\n \n \n
\n {latestEntry.validation_dfl_loss.toFixed(4)}\n
\n
\n DFL Loss\n
\n \n
\n )}\n
\n
\n
\n \n ) : (\n
\n No training data available\n
\n )}\n
\n
\n
\n )\n}\n\nexport default BBoxTrainingProgressCard\n","/* eslint-disable indent */\nimport React from 'react'\nimport { FaChartLine } from 'react-icons/fa'\nimport { StepCard, StepHeader, StepContent, ScrollableContent, StatCard, ProgressBar } from './ModelTrainingView.styles'\nimport { Model, KeyValuePair } from '../../../types/model'\nimport { Row, Col } from 'react-bootstrap'\nimport AccuracyMetricsChart from './AccuracyMetricsChart'\n\n// Define the structure of classification training data\ninterface ClassificationKeyValuePair {\n Key: string\n Value: number | string | ClassificationKeyValuePair[] | ClassificationTrainingJobEntry[]\n}\n\n// Type for the nested array structure in classification training data\ntype ClassificationTrainingJobEntry = ClassificationKeyValuePair[]\n\ninterface ClassificationTrainingProgressCardProps {\n model: Model | undefined\n gradient: string\n}\n\nconst ClassificationTrainingProgressCard: React.FC = ({ model, gradient }) => {\n const getElapsedTime = () => {\n // If training hasn't started, return 'Pending'\n if (!model?.train_started_at) return 'Pending'\n\n try {\n const startDate = new Date(model.train_started_at)\n\n // Check if the date is valid\n if (isNaN(startDate.getTime())) return 'Pending'\n\n const endDate = model.train_ended_at ? new Date(model.train_ended_at) : new Date()\n\n // Calculate time difference\n const diffMs = endDate.getTime() - startDate.getTime()\n\n // Handle negative time difference (could happen if clocks are not synchronized)\n if (diffMs < 0) return '0 minutes'\n\n const diffMins = Math.floor(diffMs / 60000)\n const diffHours = Math.floor(diffMins / 60)\n\n if (diffHours > 0) {\n return `${diffHours} hour${diffHours > 1 ? 's' : ''} ${diffMins % 60} minute${diffMins % 60 !== 1 ? 's' : ''}`\n }\n\n return `${diffMins} minute${diffMins !== 1 ? 's' : ''}`\n } catch (error) {\n console.error('Error calculating elapsed time:', error)\n return 'Pending'\n }\n }\n\n const getFormattedDate = (dateString?: string) => {\n if (!dateString) return 'Pending'\n\n const date = new Date(dateString)\n return date.toLocaleString('en-US', {\n month: 'short',\n day: 'numeric',\n year: 'numeric',\n hour: 'numeric',\n minute: 'numeric',\n hour12: true,\n })\n }\n\n const getTrainingStatus = () => {\n if (!model?.training_stats || !Array.isArray(model.training_stats)) {\n return 'Pending'\n }\n\n const trainingJobMetrics = model.training_stats.find((item: KeyValuePair) => item.Key === 'training_job_metrics')\n\n if (!trainingJobMetrics?.Value || !Array.isArray(trainingJobMetrics.Value)) {\n return 'Pending'\n }\n\n const firstJobValue = trainingJobMetrics.Value[0]?.Value\n if (!firstJobValue || !Array.isArray(firstJobValue)) {\n return 'Pending'\n }\n\n const jobStatus = firstJobValue.find((item: KeyValuePair) => item.Key === 'training_job_status')?.Value || 'unknown'\n\n switch (jobStatus.toLowerCase()) {\n case 'running':\n return 'In progress'\n case 'complete':\n return 'Completed'\n case 'failed':\n return 'Failed'\n case 'stopped':\n return 'Stopped'\n default:\n return jobStatus\n }\n }\n\n const getTrainingProgress = () => {\n const currentEpoch = getCurrentEpoch()\n const totalEpochs = getTotalEpochs()\n\n if (totalEpochs === 0) return 0\n return Math.round((currentEpoch / totalEpochs) * 100)\n }\n\n const getCurrentEpoch = () => {\n if (!model?.training_stats || !Array.isArray(model.training_stats)) {\n return 0\n }\n\n const jobMetrics = model.training_stats.find((stat) => stat.Key === 'training_job_metrics')\n ?.Value as ClassificationKeyValuePair[]\n\n if (!jobMetrics || !Array.isArray(jobMetrics)) {\n return 0\n }\n\n const firstJobValue = jobMetrics[0]?.Value as ClassificationKeyValuePair[]\n if (!firstJobValue || !Array.isArray(firstJobValue)) {\n return 0\n }\n\n const firstJob = firstJobValue.find((metric: ClassificationKeyValuePair) => metric.Key === 'training_job_entries')\n ?.Value as ClassificationTrainingJobEntry[]\n\n if (!firstJob || !Array.isArray(firstJob) || firstJob.length === 0) {\n return 0\n }\n\n const lastEntry = firstJob[firstJob.length - 1]\n if (!Array.isArray(lastEntry)) {\n return 0\n }\n\n const epochEntry = lastEntry.find((item: ClassificationKeyValuePair) => item.Key === 'epoch')\n\n return Number(epochEntry?.Value || 0)\n }\n\n const getTotalEpochs = () => {\n try {\n const hyperparameters = model?.parameters?.hyperparameters as any\n const epochs = hyperparameters?.hyperparameters?.training?.epochs\n\n if (epochs && typeof epochs === 'object' && 'value' in epochs) {\n const value = epochs.value as unknown\n return typeof value === 'number' ? value : 0\n }\n\n return 0\n } catch (error) {\n console.error('Error getting total epochs:', error)\n return 0\n }\n }\n\n // Get the latest entry for displaying current metrics\n const getLatestEntry = () => {\n if (!model?.training_stats || !Array.isArray(model.training_stats)) {\n return null\n }\n\n const trainingJobMetrics = model.training_stats.find((item: KeyValuePair) => item.Key === 'training_job_metrics')\n\n if (!trainingJobMetrics?.Value || !Array.isArray(trainingJobMetrics.Value)) {\n return null\n }\n\n const firstJobValue = trainingJobMetrics.Value[0]?.Value\n if (!firstJobValue || !Array.isArray(firstJobValue)) {\n return null\n }\n\n const jobEntries = firstJobValue.find((item: KeyValuePair) => item.Key === 'training_job_entries')?.Value\n\n if (!jobEntries || !Array.isArray(jobEntries) || jobEntries.length === 0) {\n return null\n }\n\n const lastEntry = jobEntries[jobEntries.length - 1]\n if (!Array.isArray(lastEntry)) {\n return null\n }\n\n const accuracyEntry = lastEntry.find((item: KeyValuePair) => item.Key === 'accuracy')\n\n return {\n accuracy: Number(accuracyEntry?.Value || 0),\n }\n }\n\n const latestEntry = getLatestEntry()\n\n return (\n \n \n \n Classification Training Progress\n \n \n \n {model?.training_stats ? (\n <>\n \n \n \n
{getTrainingStatus()}
\n
{getTrainingProgress()}%
\n \n \n \n
Started: {getFormattedDate(model?.train_started_at)}
\n
Elapsed: {getElapsedTime()}
\n \n \n \n \n
\n {getCurrentEpoch()} / {getTotalEpochs()}\n
\n
\n Epochs\n
\n
\n \n
\n\n {latestEntry && (\n \n \n \n
Current Accuracy
\n
{(latestEntry.accuracy * 100).toFixed(2)}%
\n
\n \n
\n )}\n\n \n \n \n \n \n \n ) : (\n \n \n No training data available\n \n \n )}\n
\n
\n
\n )\n}\n\nexport default ClassificationTrainingProgressCard\n","import React from 'react'\nimport { FaDatabase } from 'react-icons/fa'\nimport { StepCard, StepHeader, StepContent, ValueBox } from './ModelTrainingView.styles'\nimport { Model } from '../../../types/model'\n\ninterface ModelConfigurationCardProps {\n model: Model | undefined\n gradient: string\n}\n\nconst ModelConfigurationCard: React.FC = ({ model, gradient }) => {\n return (\n \n \n \n Model Configuration\n \n \n \n
Base Model
\n
AG
\n
\n \n
Architecture
\n
Yolo V8
\n
\n \n
Instance Type
\n
{model?.parameters?.resource?.instance_type || 'Not Set'}
\n
\n
\n
\n )\n}\n\nexport default ModelConfigurationCard\n","import React, { useEffect, useState } from 'react'\nimport { Row, Col, Toast } from 'react-bootstrap'\nimport { useUpdateModelMutation, useGetModelQuery, useStopTrainModelMutation } from '../../../services/modelsApi'\nimport { TrainParameters } from '../../../types/model'\nimport { useAppDispatch, useAppSelector } from '../../../store/hooks'\nimport { selectSelectedModelId, setSelectedModelId } from '../../../store/slices/modelSlice'\nimport HyperparameterSettingsModal from '../../modals/HyperparametersSettingsModal'\nimport { selectSelectedProjectId } from '../../../store/slices/projectSlice'\nimport { setTrainingSource, setValidationSource } from '../../../store/slices/datasetSlice'\nimport ConfirmDialog from '../../modals/ConfirmDialog'\nimport { ViewContainer } from './ModelTrainingView.styles'\nimport { useGetProjectQuery } from '../../../services/projectsApi'\nimport DataSourcesCard from './DataSourcesCard'\nimport BBoxTrainingProgressCard from './BBoxTrainingProgressCard'\nimport ClassificationTrainingProgressCard from './ClassificationTrainingProgressCard'\nimport ModelConfigurationCard from './ModelConfigurationCard'\n\nconst ModelTrainingView: React.FC = () => {\n const dispatch = useAppDispatch()\n const projectId = useAppSelector(selectSelectedProjectId)\n const { data: project } = useGetProjectQuery(projectId || '', {\n skip: !projectId,\n })\n const selectedModelId = useAppSelector(selectSelectedModelId)\n const { data: selectedModel } = useGetModelQuery(selectedModelId || '', {\n skip: !selectedModelId,\n refetchOnMountOrArgChange: true,\n refetchOnFocus: true,\n refetchOnReconnect: true,\n pollingInterval: 5000,\n })\n\n const [updateModel] = useUpdateModelMutation()\n const [stopTrainModel] = useStopTrainModelMutation()\n\n const [showHyperparametersModal, setShowHyperparametersModal] = useState(false)\n const [showStopTrainingDialog, setShowStopTrainingDialog] = useState(false)\n\n const [showError, setShowError] = useState(false)\n const [errorMessage, setErrorMessage] = useState('')\n\n const gradients = React.useMemo(\n () => ({\n info: `linear-gradient(${Math.floor(Math.random() * 360)}deg, #402563, #114ee0)`,\n sources: `linear-gradient(${Math.floor(Math.random() * 360)}deg, #402563, #2042ba)`,\n stats: `linear-gradient(${Math.floor(Math.random() * 360)}deg, #402563, #2448cc)`,\n settings: `linear-gradient(${Math.floor(Math.random() * 360)}deg, #402563, #114ee0)`,\n train: `linear-gradient(${Math.floor(Math.random() * 360)}deg, #402563, #2042ba)`,\n }),\n []\n )\n\n useEffect(() => {\n dispatch(setTrainingSource(selectedModel?.parameters?.train_metadata?.datasource || []))\n dispatch(setValidationSource(selectedModel?.parameters?.validation_metadata?.datasource || []))\n }, [\n dispatch,\n selectedModel?.id,\n selectedModel?.parameters?.train_metadata?.datasource,\n selectedModel?.parameters?.validation_metadata?.datasource,\n ])\n\n const handleCloseHyperparametersModal = () => {\n setShowHyperparametersModal(false)\n }\n\n const handleSaveTrainingParameters = async (newParameters: TrainParameters) => {\n if (selectedModel) {\n try {\n const updatedModel = await updateModel({\n id: selectedModel.id,\n modelData: {\n name: selectedModel.name,\n parameters: {\n ...selectedModel.parameters,\n hyperparameters: newParameters.hyperparameters,\n resource: newParameters.resource ?? selectedModel.parameters.resource,\n runtime: newParameters.runtime ?? selectedModel.parameters.runtime,\n },\n description: selectedModel.description,\n },\n }).unwrap()\n dispatch(setSelectedModelId(updatedModel.id))\n } catch (err) {\n console.error('Failed to update model parameters:', err)\n }\n }\n }\n\n const handleStopTraining = async () => {\n if (selectedModel?.id) {\n try {\n await stopTrainModel({ id: selectedModel.id }).unwrap()\n setShowStopTrainingDialog(false)\n } catch (err) {\n console.error('Failed to stop training:', err)\n setErrorMessage('Failed to stop model training')\n setShowError(true)\n }\n }\n }\n\n return (\n \n
\n \n \n
\n \n \n
\n \n\n {project?.annotation_type === 'classification' ? (\n \n \n \n ) : (\n \n \n \n )}\n
\n
\n\n \n\n setShowStopTrainingDialog(false)}\n onConfirm={handleStopTraining}\n title=\"Stop Training\"\n message=\"Are you sure you want to stop the model training? This action cannot be undone.\"\n confirmText=\"Stop Training\"\n cancelText=\"Cancel\"\n variant=\"danger\"\n />\n\n setShowError(false)}\n style={{\n position: 'fixed',\n top: 20,\n right: 20,\n background: '#dc3545',\n color: 'white',\n }}\n >\n \n Error\n \n {errorMessage}\n \n
\n )\n}\n\nexport default ModelTrainingView\n","// src/components/PredictionImage.tsx\n\nimport React, { useEffect, useRef, useState } from 'react'\nimport { AnnotationPredictionBoundingBox, Prediction, PredictionMetadata } from '../types/prediction'\nimport { Card } from 'react-bootstrap'\nimport PillsBBox from './PillsBBox'\nimport PillsClassification from './PillsClassification'\nimport { useContentImage } from '../hooks/useContentImage'\nimport { useAppSelector } from '../store/hooks'\nimport { selectSelectedProjectId } from '../store/slices/projectSlice'\nimport { AnnotationDataBoundingBox } from '../types/annotation'\nimport SuggestiveLabelImageCard from './annotation/SuggestiveLabelImageCard'\nimport { normalizeBoundingBox } from '../utils'\nimport { FaCheck } from 'react-icons/fa'\nimport styled from 'styled-components'\nimport { useGetProjectQuery } from '../services/projectsApi'\n\ninterface PredictionImageProps {\n prediction: Prediction\n onEdit: (prediction: Prediction) => void\n onToggle: (prediction: Prediction) => void\n cardSize: number\n isSelected: boolean\n bboxThreshold: number\n}\n\nconst StyledCard = styled(Card)<{ $cardSize: number }>`\n width: ${(props) => props.$cardSize}px;\n cursor: pointer;\n position: relative;\n background-color: #2a2a2a;\n border: 1px solid #404040;\n transition: transform 0.2s ease-in-out;\n\n &:hover {\n transform: scale(1.05);\n z-index: 1;\n }\n\n &.selected {\n border: 2px solid #0d6efd;\n box-shadow: 0 0 0 1px #0d6efd;\n }\n`\n\nconst PredictionImage: React.FC = ({\n prediction,\n onEdit,\n onToggle,\n cardSize,\n isSelected,\n bboxThreshold,\n}) => {\n const selectedProjectId = useAppSelector(selectSelectedProjectId)\n const { data: project } = useGetProjectQuery(selectedProjectId || '', { skip: !selectedProjectId })\n const [imageBoundingBoxes, setImageBoundingBoxes] = useState([])\n const containerRef = useRef(null)\n\n const { base64Image, imageLoading, imageRef, contentData } = useContentImage({\n contentId: prediction.contentid,\n projectId: selectedProjectId || '',\n datasetId: project?.datasetid || '',\n })\n\n useEffect(() => {\n const bboxes = prediction?.predictions.map((prediction: PredictionMetadata) => {\n return normalizeBoundingBox({\n class_name: prediction.class_name,\n xmin: prediction.bounding_boxes?.xmin || 0,\n xmax: prediction.bounding_boxes?.xmax || 0,\n ymin: prediction.bounding_boxes?.ymin || 0,\n ymax: prediction.bounding_boxes?.ymax || 0,\n name: prediction.tagid,\n confidence: prediction.confidence,\n } as AnnotationDataBoundingBox)\n })\n // Show predictions at or above the threshold\n const filteredForConfidence = bboxes.filter((box) => box?.confidence && box?.confidence >= bboxThreshold)\n setImageBoundingBoxes(filteredForConfidence)\n }, [prediction, bboxThreshold])\n\n const handleClick = (e: React.MouseEvent) => {\n if (e.ctrlKey || e.metaKey) {\n onToggle(prediction)\n } else {\n onEdit(prediction)\n }\n }\n\n // Filter predictions based on confidence threshold (at or above)\n const filteredPredictions = prediction.predictions.filter((pred) => pred.confidence >= bboxThreshold)\n\n // Don't render anything if no predictions meet or exceed the threshold\n if (filteredPredictions.length === 0) {\n return null\n }\n\n return (\n \n \n
\n {imageLoading && (\n \n
\n
\n )}\n {base64Image && (\n \n )}\n\n {project?.annotation_type === 'classification' && (\n \n p.tagid)}\n tagConfidence={filteredPredictions.map((p) => p.confidence)}\n className=\"prediction-text\"\n maxTags={3}\n />\n
\n )}\n\n {project?.annotation_type === 'bounding_box' && (\n \n {\n return {\n ...(p.bounding_boxes as AnnotationPredictionBoundingBox),\n name: p.class_name,\n confidence: p.confidence,\n class_index: index,\n }\n })}\n maxTags={3}\n />\n \n )}\n \n {isSelected && (\n \n \n \n )}\n \n
\n )\n}\n\nexport default PredictionImage\n","// src/components/PredictionsView.tsx\n\nimport React, { useEffect } from 'react'\nimport { Col, Row, Spinner } from 'react-bootstrap'\nimport { Prediction } from '../../types/prediction'\nimport { selectSelectedModelId } from '../../store/slices/modelSlice'\nimport { useAppDispatch, useAppSelector } from '../../store/hooks'\nimport { clearAllBoundingBoxes } from '../../store/slices/annotationSlice'\nimport { setEditingPrediction } from '../../store/slices/predictionSlice'\nimport { addSelectedPrediction, removeSelectedPrediction } from '../../store/slices/predictionSlice'\nimport { RootState } from '../../store'\nimport PredictionImage from '../PredictionImage'\nimport { useNavigate } from 'react-router-dom'\nimport { useGetModelQuery } from '../../services/modelsApi'\nimport { resetImageLoadingQueue } from '../../hooks/useContentImage'\n\ninterface PredictionsGalleryViewProps {\n filteredPredictions: Prediction[]\n arePredictionsLoading: boolean\n page?: number\n cardSize: number\n itemsPerPage?: number\n bboxThreshold: number\n maxConcurrentRequests?: number\n}\n\nconst PredictionsGalleryView: React.FC = ({\n filteredPredictions,\n arePredictionsLoading,\n cardSize,\n bboxThreshold,\n maxConcurrentRequests = 10,\n}) => {\n const dispatch = useAppDispatch()\n const navigate = useNavigate()\n const selectedModelId = useAppSelector(selectSelectedModelId)\n const { data: selectedModel } = useGetModelQuery(selectedModelId || '', { skip: !selectedModelId })\n const selectedPredictions = useAppSelector((state: RootState) => state.prediction.selectedPredictions)\n\n useEffect(() => {\n resetImageLoadingQueue(maxConcurrentRequests)\n }, [maxConcurrentRequests])\n\n const handleGridPredictionClick = (prediction: Prediction) => {\n if (prediction) {\n dispatch(setEditingPrediction(prediction))\n dispatch(clearAllBoundingBoxes())\n navigate('/predictionsreview')\n }\n }\n\n const handleTogglePrediction = (prediction: Prediction) => {\n if (selectedPredictions.some((p) => p.id === prediction.id)) {\n dispatch(removeSelectedPrediction(prediction.id))\n } else {\n dispatch(addSelectedPrediction(prediction))\n }\n }\n\n return (\n
\n
\n {selectedModel?.batch?.status?.toLowerCase().startsWith('complete') && (\n \n \n {arePredictionsLoading ? (\n \n ) : filteredPredictions?.length > 0 ? (\n
\n \n {filteredPredictions.map((prediction: Prediction) => (\n p.id === prediction.id)}\n bboxThreshold={bboxThreshold}\n />\n ))}\n
\n
\n ) : (\n

No new suggestive labels available.

\n )}\n \n \n )}\n
\n \n )\n}\n\nexport default PredictionsGalleryView\n","import React, { useState } from 'react'\nimport { Card, Button, Row, Col, Badge } from 'react-bootstrap'\nimport { useFetchModelsQuery, useGetModelQuery, useRunBatchInferenceMutation } from '../../services/modelsApi'\nimport { setSelectedModelId, selectSelectedModelId, clearSelectedModelId } from '../../store/slices/modelSlice'\nimport { rateBBoxModel, rateClassificationModel } from '../../utils'\nimport StarRating from '../StarRating'\nimport { Model } from '../../types/model'\nimport { useAppDispatch, useAppSelector } from '../../store/hooks'\nimport { selectSelectedProjectId } from '../../store/slices/projectSlice'\nimport SelectedDatasetsCard from '../SelectedDatasetsCard'\nimport { selectDatasetSources } from '../../store/slices/datasetSlice'\nimport { useGetProjectQuery } from '../../services/projectsApi'\n\ninterface ModelAssistedLabelingProps {\n onHide: () => void\n}\n\nconst ModelAssistedLabeling: React.FC = ({ onHide }) => {\n const dispatch = useAppDispatch()\n const selectedProjectId = useAppSelector(selectSelectedProjectId)\n const { data: project } = useGetProjectQuery(selectedProjectId || '', { skip: !selectedProjectId })\n const selectedModelId = useAppSelector(selectSelectedModelId)\n const { data: selectedModel } = useGetModelQuery(selectedModelId || '', { skip: !selectedModelId })\n\n const selectedDatasets = useAppSelector(selectDatasetSources)\n\n const {\n data: modelsData,\n isLoading,\n error,\n } = useFetchModelsQuery({ project_id: selectedProjectId || '' }, { skip: !selectedProjectId })\n const [runBatchInference, { isLoading: isBatchRunning }] = useRunBatchInferenceMutation()\n const [batchStatusLabel, setBatchStatusLabel] = useState('Start')\n\n const handleApplyToProject = async (modelId: string) => {\n try {\n const datasource = selectedDatasets && selectedDatasets.length > 0 ? { datasource: selectedDatasets } : undefined\n setBatchStatusLabel('Starting...')\n await runBatchInference({\n id: modelId,\n project_id: selectedProjectId || '',\n dataset_id: project?.datasetid || '',\n thumbnail_size: 640,\n metadata_filter: datasource,\n threshold: 0.1,\n }).unwrap()\n setTimeout(() => {\n onHide()\n }, 10000)\n } catch (error) {\n console.error('Failed to run batch inference:', error)\n }\n }\n\n const convertTimeFormat = (isoString: string | undefined): string => {\n if (!isoString) return 'N/A' // Handle undefined or null values\n const date = new Date(isoString) // Convert the string to a Date object\n return date.toLocaleString('en-US', {\n year: 'numeric',\n month: '2-digit',\n day: '2-digit',\n hour: '2-digit',\n minute: '2-digit',\n hour12: true, // Use 12-hour format (AM/PM)\n })\n }\n\n const bBoxRating = (model: Model) => rateBBoxModel(model)\n const classificationRating = (model: Model) => rateClassificationModel(model)\n\n const handleSelectModelId = (model: Model) => {\n // Toggle selection of model (if already selected, deselect)\n if (selectedModel?.id === model.id) {\n dispatch(clearSelectedModelId()) // Deselect if the same model is clicked\n } else {\n dispatch(setSelectedModelId(model.id)) // Select the model\n }\n }\n\n if (isLoading) return
Loading models...
\n if (error) return
Error loading models
\n\n return (\n
\n \n \n \n \n\n {/**/}\n\n {modelsData?.models\n ?.filter((model: Model) => model.deployment?.status.toLowerCase() === 'in_service')\n .map((model: Model) => (\n handleSelectModelId(model)}\n >\n \n
\n
\n {model.name}\n
\n\n {model.state.toLowerCase() === 'trained' && (\n
\n
Rating
\n {project?.annotation_type === 'classification' && (\n \n )}\n {project?.annotation_type === 'bounding_box' && (\n \n )}\n
\n )}\n
\n\n
\n
{new Date(model.created_at).toLocaleString()}
\n
\n\n \n \n
\n {model.state.toLowerCase() === 'training' && (\n \n Training\n \n )}\n {model.state.toLowerCase() === 'trained' &&\n model.deployment?.status.toLowerCase() === 'creating' && (\n \n Deploying\n \n )}\n {model.state.toLowerCase() === 'trained' &&\n model.deployment?.status.toLowerCase() === 'in_service' && (\n \n Deployed\n \n )}\n {model.state.toLowerCase() === 'trained' &&\n model.deployment?.status.toLowerCase() === 'deleted' && (\n \n Trained\n \n )}\n
\n \n\n \n {model.metrics &&\n model.metrics['validation:mAP'] !== undefined &&\n model.metrics['validation:mAP'] !== null && (\n
\n
mAP
\n
\n {`${Math.ceil(Number(model.metrics['validation:mAP']) * 100)}%`}\n
\n
\n )}\n {model.metrics &&\n model.metrics['train:smooth_l1'] !== undefined &&\n model.metrics['validation:mAP'] !== null && (\n
\n
L1
\n
\n {`${Math.ceil(Number(model.metrics['train:smooth_l1']) * 100)}%`}\n
\n
\n )}\n {model.metrics &&\n model.metrics['train:cross_entropy'] !== undefined &&\n model.metrics['validation:mAP'] !== null && (\n
\n
Loss
\n
\n {`${Math.ceil(Number(model.metrics['train:cross_entropy']) * 100)}%`}\n
\n
\n )}\n \n
\n
\n
\n ))}\n \n \n\n {/* Button should always render if a model is selected */}\n \n \n {selectedModel && (\n
\n handleApplyToProject(selectedModel.id)}\n disabled={isBatchRunning || selectedModel.batch?.status.toLowerCase() === 'running'}\n >\n {batchStatusLabel}\n \n
\n )}\n \n \n {selectedModel && (\n
\n
\n \n \n Started At:\n \n \n {convertTimeFormat(selectedModel.batch?.started_at) || 'N/A'}\n \n \n \n \n Ended At:\n \n \n {convertTimeFormat(selectedModel.batch?.ended_at) || 'N/A'}\n \n \n \n \n Threshold:\n \n \n {selectedModel.batch?.threshold * 100 + '%' || 'N/A'}\n \n \n \n \n Images:\n \n \n {selectedModel.batch?.completed_content || 0}\n \n \n
\n
\n )}\n \n \n
\n
\n )\n}\n\nexport default ModelAssistedLabeling\n","// src/components/views/SuggestiveLabelsTabs.tsx\n\nimport React, { useEffect, useMemo, useState } from 'react'\nimport { Modal, Button, Col, Row, OverlayTrigger, Tooltip, Card, Tabs, Tab } from 'react-bootstrap'\nimport { useAppDispatch, useAppSelector } from '../../../store/hooks'\nimport { useGetModelQuery, useRunBatchInferenceMutation } from '../../../services/modelsApi'\nimport { selectSelectedProjectId } from '../../../store/slices/projectSlice'\nimport { useGetProjectQuery } from '../../../services/projectsApi'\nimport PredictionsGalleryView from '../PredictionsGalleryView'\nimport { selectDatasetSources } from '../../../store/slices/datasetSlice'\nimport ModelAssistedLabeling from '../../tools/ModelAssistedLabeling'\nimport { PredictionStatisticsBody, QueryPredictionRequest } from '../../../types/prediction'\nimport { useGetPredictionStatisticsQuery, useQueryPredictionsQuery } from '../../../services/predictionApi'\nimport { selectSelectedModelId } from '../../../store/slices/modelSlice'\nimport { useGetTagsQuery } from '../../../services/tagApi'\nimport { getContrastYIQ } from '../../../utils'\nimport styled from 'styled-components'\nimport { FaRedoAlt, FaCog, FaChartBar, FaFlask } from 'react-icons/fa'\nimport { resetImageLoadingQueue } from '../../../hooks/useContentImage'\nimport {\n selectConfidenceThresholds,\n setConfidenceThresholds,\n resetConfidenceThresholds,\n} from '../../../store/slices/uiSettingsSlice'\nimport { setActiveConfidenceLevel } from '../../../store/slices/predictionSlice'\n\nconst ViewContainer = styled.div`\n height: 100%;\n min-height: 0;\n display: flex;\n flex-direction: column;\n background: #1a1a1a;\n overflow: hidden;\n`\n\nconst ScrollableContent = styled.div`\n flex: 1;\n overflow-y: auto;\n padding: 8px 24px 24px;\n min-height: 0;\n\n @media (max-width: 768px) {\n padding: 8px 16px 16px;\n }\n\n /* Hide scrollbar for Chrome, Safari and Opera */\n ::-webkit-scrollbar {\n display: none;\n }\n\n /* Hide scrollbar for IE, Edge and Firefox */\n -ms-overflow-style: none; /* IE and Edge */\n scrollbar-width: none; /* Firefox */\n`\n\nconst DistributionHeader = styled.div`\n color: white;\n font-weight: 600;\n margin-bottom: 1rem;\n`\n\nconst PageHeader = styled(Card)`\n margin-bottom: 1.5rem;\n background: #1a1a1a !important;\n border: none !important;\n padding: 24px 24px 0;\n\n .card-header {\n border-bottom: 1px solid rgba(255, 255, 255, 0.1);\n background: transparent;\n padding: 0;\n }\n\n .subtitle {\n color: #8c8c8c;\n font-size: 0.9rem;\n margin-top: 0.25rem;\n }\n\n @media (max-width: 768px) {\n padding: 16px 16px 0;\n }\n`\n\nconst HeaderContainer = styled.div`\n margin-bottom: 1.5rem;\n background: #1a1a1a;\n border-radius: 12px;\n padding: 1rem;\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);\n display: flex;\n align-items: center;\n gap: 1.5rem;\n`\n\nconst StyledTabs = styled(Tabs)`\n &.nav-tabs {\n border: none;\n gap: 8px;\n margin-bottom: 0;\n\n .nav-item {\n margin: 0;\n display: flex;\n align-items: center;\n }\n\n .nav-link {\n border: 1px solid #2c2c2c;\n background: #2c2c2c;\n color: #a0a0a0;\n border-radius: 8px;\n padding: 8px 16px;\n transition: all 0.2s ease;\n margin: 0;\n position: relative;\n overflow: hidden;\n\n &:hover {\n background: #3c3c3c;\n border-color: #3c3c3c;\n color: #ffffff;\n }\n\n &.active {\n background: #4a4a4a;\n border-color: #4a4a4a;\n color: #ffffff;\n font-weight: 500;\n transform: translateY(-1px);\n box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);\n }\n }\n\n /* Low confidence tab */\n .nav-item:first-child .nav-link {\n &::after {\n content: '';\n position: absolute;\n top: 0;\n right: 0;\n width: 0;\n height: 0;\n border-style: solid;\n border-width: 0 20px 20px 0;\n border-color: transparent #ff4d4d transparent transparent;\n transition: all 0.2s ease;\n opacity: 0.5;\n }\n\n &:hover::after {\n opacity: 0.8;\n }\n\n &.active::after {\n opacity: 1;\n border-width: 0 24px 24px 0;\n }\n\n &.active {\n border: 1px solid rgba(255, 77, 77, 0.5);\n }\n }\n\n /* Medium confidence tab */\n .nav-item:nth-child(2) .nav-link {\n &::after {\n content: '';\n position: absolute;\n top: 0;\n right: 0;\n width: 0;\n height: 0;\n border-style: solid;\n border-width: 0 20px 20px 0;\n border-color: transparent #ffd700 transparent transparent;\n transition: all 0.2s ease;\n opacity: 0.5;\n }\n\n &:hover::after {\n opacity: 0.8;\n }\n\n &.active::after {\n opacity: 1;\n border-width: 0 24px 24px 0;\n }\n\n &.active {\n border: 1px solid rgba(255, 215, 0, 0.5);\n }\n }\n\n /* High confidence tab */\n .nav-item:last-child .nav-link {\n &::after {\n content: '';\n position: absolute;\n top: 0;\n right: 0;\n width: 0;\n height: 0;\n border-style: solid;\n border-width: 0 20px 20px 0;\n border-color: transparent #4caf50 transparent transparent;\n transition: all 0.2s ease;\n opacity: 0.5;\n }\n\n &:hover::after {\n opacity: 0.8;\n }\n\n &.active::after {\n opacity: 1;\n border-width: 0 24px 24px 0;\n }\n\n &.active {\n border: 1px solid rgba(76, 175, 80, 0.5);\n }\n }\n }\n`\n\nconst TabCount = styled.span`\n background: rgba(255, 255, 255, 0.1);\n padding: 2px 8px;\n border-radius: 4px;\n margin-left: 8px;\n font-size: 0.9em;\n`\n\nconst StepCard = styled(Card)`\n background: #2a2a2a;\n border: none;\n height: calc(100vh - 380px);\n width: 100%;\n display: flex;\n flex-direction: column;\n position: relative;\n border-radius: 8px;\n`\n\nconst StepHeader = styled.div<{ $gradient: string }>`\n background: ${(props) => props.$gradient};\n padding: 1.25rem 1.5rem;\n border-radius: 8px 8px 0 0;\n color: white;\n font-weight: 600;\n font-size: 1.1rem;\n display: flex;\n align-items: center;\n gap: 0.75rem;\n flex-shrink: 0;\n\n @media (max-width: 768px) {\n padding: 1rem 1.25rem;\n }\n`\n\nconst StepContent = styled.div`\n background: #2a2a2a;\n padding: 0;\n border-radius: 0 0 8px 8px;\n flex: 1;\n display: flex;\n flex-direction: column;\n min-height: 0;\n overflow: hidden;\n\n .header-controls {\n padding: 1.5rem;\n border-bottom: 1px solid rgba(255, 255, 255, 0.1);\n flex-shrink: 0;\n margin-bottom: 0;\n }\n\n .scrollable-content {\n flex: 1;\n overflow-y: auto;\n padding: 1.5rem;\n padding-bottom: 3rem;\n min-height: 0;\n\n @media (max-width: 768px) {\n padding: 1.25rem;\n padding-bottom: 3rem;\n }\n\n ::-webkit-scrollbar {\n width: 8px;\n height: 8px;\n }\n\n ::-webkit-scrollbar-track {\n background: #1a1a1a;\n border-radius: 4px;\n }\n\n ::-webkit-scrollbar-thumb {\n background: #4a4a4a;\n border-radius: 4px;\n }\n\n ::-webkit-scrollbar-thumb:hover {\n background: #5a5a5a;\n }\n }\n`\n\nconst ImageSizeControl = styled.div`\n display: flex;\n align-items: center;\n gap: 1rem;\n padding: 0.5rem 1rem;\n background: #2a2a2a;\n border-radius: 8px;\n border: 1px solid rgba(255, 255, 255, 0.1);\n\n .label {\n color: #ffffff;\n font-weight: 500;\n white-space: nowrap;\n }\n\n .form-range {\n width: 150px;\n\n &::-webkit-slider-thumb {\n background: #4dabf7;\n }\n\n &::-moz-range-thumb {\n background: #4dabf7;\n }\n }\n\n .size-value {\n color: #8c8c8c;\n font-size: 0.9rem;\n min-width: 3rem;\n text-align: right;\n }\n`\n\nconst NoDataCard = styled(StepCard)`\n max-width: 800px;\n margin: 0 auto;\n height: auto;\n min-height: 400px;\n background: #2a2a2a;\n border: 1px solid rgba(255, 255, 255, 0.1);\n\n .content {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 3rem;\n text-align: center;\n }\n\n .icon {\n font-size: 4rem;\n color: #4dabf7;\n opacity: 0.7;\n margin-bottom: 1.5rem;\n }\n\n .title {\n font-size: 1.5rem;\n font-weight: 500;\n color: #ffffff;\n margin-bottom: 1rem;\n }\n\n .description {\n font-size: 1rem;\n color: #8c8c8c;\n max-width: 500px;\n margin-bottom: 2rem;\n }\n\n .action-button {\n &.btn-primary {\n background: #4dabf7;\n border-color: #4dabf7;\n padding: 0.75rem 2rem;\n font-weight: 500;\n\n &:hover:not(:disabled) {\n background: #2196f3;\n border-color: #2196f3;\n }\n\n &:disabled {\n background: #4dabf7;\n border-color: #4dabf7;\n opacity: 0.5;\n }\n }\n }\n\n .status {\n margin-top: 1rem;\n font-size: 0.9rem;\n color: #6c757d;\n }\n`\n\nexport const GradientButton = styled(Button).attrs({\n as: 'button',\n})`\n background: linear-gradient(45deg, #402563, #114ee0);\n border: none;\n padding: 0.75rem 1.5rem;\n font-weight: 500;\n transition: all 0.2s ease;\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);\n color: white;\n\n &:hover:not(:disabled) {\n background: linear-gradient(45deg, #4c2d77, #1857e6);\n transform: translateY(-1px);\n box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);\n color: white;\n }\n\n &:disabled {\n background: linear-gradient(45deg, #402563, #114ee0);\n opacity: 0.5;\n color: white;\n }\n`\n\nconst InferenceBatchSubView: React.FC = (): JSX.Element => {\n const selectedProjectId = useAppSelector(selectSelectedProjectId)\n const { data: project } = useGetProjectQuery(selectedProjectId || '', { skip: !selectedProjectId })\n const dispatch = useAppDispatch()\n const datasetSources = useAppSelector(selectDatasetSources)\n const selectedModelId = useAppSelector(selectSelectedModelId)\n const confidenceRanges = useAppSelector(selectConfidenceThresholds)\n\n const [cardSize, setCardSize] = useState(200)\n const [showModelModal, setShowModelModal] = useState(false)\n const [showConfidenceSettings, setShowConfidenceSettings] = useState(false)\n const [tempConfidenceRanges, setTempConfidenceRanges] = useState(confidenceRanges)\n const [activeTab, setActiveTab] = useState<'high' | 'medium' | 'low' | undefined>(undefined)\n const [isActuallyLoading, setIsActuallyLoading] = useState(true)\n const BBOX_THRESHOLD = 0.01\n\n // API Hooks\n const [runBatchInference, { isLoading: isBatchRunning }] = useRunBatchInferenceMutation()\n\n const { data: selectedModel } = useGetModelQuery(selectedModelId || '', {\n skip: !selectedModelId,\n pollingInterval: isBatchRunning ? 5000 : undefined, // Poll every 5 seconds while batch is running\n })\n\n const { data: predictionStats } = useGetPredictionStatisticsQuery(\n {\n model_id: selectedModel?.id || '',\n uncertainty_threshold: BBOX_THRESHOLD,\n },\n {\n skip: !selectedModel?.id,\n }\n )\n\n const queryParams: QueryPredictionRequest = useMemo(\n () => ({\n query: {\n filters: [{ key: 'modelid', value: selectedModel?.id || '' }],\n sort_key: 'contentid',\n sort_val: -1,\n operator: 'and',\n page: 0,\n limit: 10000, // Set a very high limit to get all predictions\n },\n filter_annotated_content: {\n enable: true,\n projectid: selectedProjectId || '',\n datasetid: project?.datasetid || '',\n },\n uncertainty_threshold: BBOX_THRESHOLD,\n ...(datasetSources?.length\n ? {\n metadata_filter: {\n datasource: datasetSources,\n },\n }\n : {}),\n }),\n [datasetSources, selectedProjectId, project?.datasetid, selectedModel?.id, BBOX_THRESHOLD]\n )\n\n const { data: allPredictions, isLoading: isPredictionsLoading } = useQueryPredictionsQuery(queryParams, {\n skip: !selectedModelId,\n })\n\n const { data: tags } = useGetTagsQuery(\n {\n project_id: selectedProjectId || '',\n dataset_id: project?.datasetid || '',\n },\n { skip: !selectedProjectId || !project?.datasetid }\n )\n\n const confidenceDistribution = useMemo(() => {\n if (!allPredictions?.predictions) return null\n\n const stats = { high: 0, medium: 0, low: 0 }\n\n allPredictions.predictions?.forEach((prediction) => {\n // Count each image only once based on its highest confidence prediction\n const maxConfidence = Math.max(...prediction.predictions.map((pred) => pred.confidence || 0))\n if (maxConfidence >= confidenceRanges.high) stats.high++\n else if (maxConfidence >= confidenceRanges.medium) stats.medium++\n else stats.low++\n })\n\n return stats\n }, [allPredictions?.predictions, confidenceRanges])\n\n const filteredCounts = useMemo(() => {\n if (!allPredictions?.predictions) return { low: 0, medium: 0, high: 0 }\n\n const predictions = allPredictions.predictions\n return {\n low: predictions?.filter((p) => {\n const maxConfidence = Math.max(...p.predictions.map((pred) => pred.confidence || 0))\n return maxConfidence >= BBOX_THRESHOLD && maxConfidence < confidenceRanges.medium\n }).length,\n medium: predictions?.filter((p) => {\n const maxConfidence = Math.max(...p.predictions.map((pred) => pred.confidence || 0))\n return maxConfidence >= confidenceRanges.medium && maxConfidence < confidenceRanges.high\n }).length,\n high: predictions?.filter((p) => {\n const maxConfidence = Math.max(...p.predictions.map((pred) => pred.confidence || 0))\n return maxConfidence >= confidenceRanges.high\n }).length,\n }\n }, [allPredictions?.predictions, BBOX_THRESHOLD, confidenceRanges])\n\n // Filter predictions based on confidence level\n const filteredPredictionsByConfidence = useMemo(() => {\n if (!allPredictions?.predictions) return []\n\n switch (activeTab) {\n case 'high':\n return allPredictions.predictions?.filter((prediction) => {\n const maxConfidence = Math.max(...prediction.predictions.map((pred) => pred.confidence || 0))\n return maxConfidence >= confidenceRanges.high\n })\n case 'medium':\n return allPredictions.predictions?.filter((prediction) => {\n const maxConfidence = Math.max(...prediction.predictions.map((pred) => pred.confidence || 0))\n return maxConfidence >= confidenceRanges.medium && maxConfidence < confidenceRanges.high\n })\n case 'low':\n return allPredictions.predictions?.filter((prediction) => {\n const maxConfidence = Math.max(...prediction.predictions.map((pred) => pred.confidence || 0))\n return maxConfidence < confidenceRanges.medium\n })\n default:\n return []\n }\n }, [allPredictions?.predictions, activeTab, confidenceRanges])\n\n // Memoize the gradients\n const gradients = useMemo(\n () => ({\n predictions: `linear-gradient(${Math.floor(Math.random() * 360)}deg, #402563, #114ee0)`,\n statistics: `linear-gradient(${Math.floor(Math.random() * 360)}deg, #402563, #2042ba)`,\n }),\n []\n ) // Empty dependency array means this only runs once on mount\n\n // Add state to track if we're in a fresh batch run\n const [isNewBatchStarted, setIsNewBatchStarted] = useState(false)\n\n const handleOpenSettings = () => {\n setTempConfidenceRanges(confidenceRanges)\n setShowConfidenceSettings(true)\n }\n\n const handleSaveSettings = () => {\n dispatch(setConfidenceThresholds(tempConfidenceRanges))\n setShowConfidenceSettings(false)\n }\n\n const handleResetSettings = () => {\n dispatch(resetConfidenceThresholds())\n setTempConfidenceRanges(confidenceRanges)\n }\n\n const handleTabChange = (k: string | null) => {\n if (k) {\n const newTab = k as 'high' | 'medium' | 'low'\n setActiveTab(newTab)\n dispatch(setActiveConfidenceLevel(newTab))\n }\n }\n\n const handleRunBatchInference = async () => {\n if (!selectedModel || !selectedProjectId || !project?.datasetid) return\n\n try {\n // Set the new batch flag to true\n setIsNewBatchStarted(true)\n\n await runBatchInference({\n id: selectedModel.id,\n project_id: selectedProjectId,\n dataset_id: project.datasetid,\n thumbnail_size: 640,\n metadata_filter: datasetSources?.length ? { datasource: datasetSources } : undefined,\n threshold: BBOX_THRESHOLD,\n }).unwrap()\n\n // Immediately refetch the model to get updated status\n // await refetchModel()\n } catch (error) {\n console.error('Failed to run batch inference:', error)\n // Reset the new batch flag if there's an error\n setIsNewBatchStarted(false)\n }\n }\n\n // Effect to reset the new batch flag when batch is complete\n useEffect(() => {\n if (selectedModel?.batch?.status?.toLowerCase().startsWith('complete')) {\n setIsNewBatchStarted(false)\n }\n }, [selectedModel?.batch?.status])\n\n // Effect to set the initial active tab based on the confidence distribution\n useEffect(() => {\n if (!activeTab && confidenceDistribution) {\n if (confidenceDistribution.high > 0) {\n setActiveTab('high')\n dispatch(setActiveConfidenceLevel('high'))\n } else if (confidenceDistribution.medium > 0) {\n setActiveTab('medium')\n dispatch(setActiveConfidenceLevel('medium'))\n } else {\n setActiveTab('low')\n dispatch(setActiveConfidenceLevel('low'))\n }\n }\n }, [activeTab, confidenceDistribution, dispatch])\n\n // Track actual loading state of predictions\n useEffect(() => {\n const predictions = allPredictions?.predictions\n\n if (selectedModelId && isPredictionsLoading && predictions?.length === undefined) {\n setIsActuallyLoading(true)\n return\n } else {\n setIsActuallyLoading(false)\n }\n\n // Create an array of image loading promises\n if (allPredictions?.predictions) {\n const imageLoadPromises = allPredictions.predictions.map((prediction) => {\n return new Promise((resolve) => {\n const img = new Image()\n img.onload = () => resolve(true)\n img.onerror = () => resolve(false)\n // Handle both base64 images and regular URLs\n img.src = prediction.b64_image ? `data:image/jpeg;base64,${prediction.b64_image}` : prediction.contentid\n })\n })\n\n // Wait for all images to load\n Promise.all(imageLoadPromises).then(() => {\n setIsActuallyLoading(false)\n })\n }\n }, [isPredictionsLoading, allPredictions, selectedModelId])\n\n // Modify the render logic to show empty states when a new batch starts\n const shouldShowEmptyState =\n isNewBatchStarted ||\n selectedModel?.batch?.status.toLowerCase() === 'running' ||\n selectedModel?.batch?.status.toLowerCase() === 'initialized'\n\n const renderPredictionsContent = () => {\n if (shouldShowEmptyState) {\n return (\n \n \n
\n

{selectedModel?.batch?.status || 'Processing batch...'}

\n \n \n )\n }\n\n return (\n selectedModel?.batch?.status?.toLowerCase().startsWith('complete') && (\n \n )\n )\n }\n\n const renderStatisticsContent = () => {\n if (shouldShowEmptyState) {\n return (\n
\n

Statistics will be available once the batch is complete

\n
\n )\n }\n\n return (\n
\n
\n
\n
Inference Statistics
\n {\n setActiveTab('low')\n dispatch(setActiveConfidenceLevel('low'))\n }}\n >\n \n Reset\n \n
\n\n {predictionStats?.Body && (\n <>\n
\n
\n
\n
{predictionStats.Body.total_predictions}
\n
Total Predictions
\n
\n
\n
\n\n
\n
\n Confidence Distribution\n \n
\n
\n {\n setActiveTab('high')\n dispatch(setActiveConfidenceLevel('high'))\n }}\n style={{ cursor: 'pointer' }}\n >\n
High (>{(confidenceRanges.high * 100).toFixed(0)}%)
\n
\n \n
\n
{confidenceDistribution?.high || 0}
\n
\n\n {\n setActiveTab('medium')\n dispatch(setActiveConfidenceLevel('medium'))\n }}\n style={{ cursor: 'pointer' }}\n >\n
\n Med ({(confidenceRanges.medium * 100).toFixed(0)}-{(confidenceRanges.high * 100).toFixed(0)}\n %)\n
\n
\n \n
\n
{confidenceDistribution?.medium || 0}
\n
\n\n {\n setActiveTab('low')\n dispatch(setActiveConfidenceLevel('low'))\n }}\n style={{ cursor: 'pointer' }}\n >\n
Low (<{(confidenceRanges.medium * 100).toFixed(0)}%)
\n
\n \n
\n
{confidenceDistribution?.low || 0}
\n
\n
\n
\n\n
\n Class Distribution\n
\n {predictionStats.Body.predictions_per_class &&\n [...predictionStats.Body.predictions_per_class]\n .sort((s1, s2) => s1.count - s2.count)\n .map((stat: PredictionStatisticsBody, index) => {\n const tag = tags?.tags?.find((t) => t.name === stat.classname)\n const backgroundColor = `#${tag?.color.toString(16).padStart(6, '0').slice(0, 6)}`\n const textColor = getContrastYIQ(backgroundColor)\n\n return (\n
\n \n {tag?.name || 'unk'}\n
\n \n {stat.count}\n \n
\n
\n
\n )\n })}\n
\n \n \n )}\n \n
\n \n \n Retrain Model\n \n
\n \n )\n }\n\n // Add this effect to reset the image loading queue when the component unmounts\n useEffect(() => {\n return () => {\n resetImageLoadingQueue()\n }\n }, [])\n\n return (\n \n \n \n \n \n

Adaptive Active Learning

\n
\n Label uncertain data, retrain the model, and refine performance iteratively\n
\n \n \n {(allPredictions?.predictions?.length || 0) > 0 && (\n Deploy your model to launch a new batch}\n >\n \n {isBatchRunning || selectedModel?.batch?.status.toLowerCase() === 'running'\n ? 'Processing...'\n : 'Run New Analysis'}\n \n \n )}\n \n
\n
\n
\n\n \n {isActuallyLoading ? (\n \n
\n
\n
\n
\n
Loading Predictions
\n
Please wait while we load your model predictions and images...
\n
\n \n ) : shouldShowEmptyState ? (\n \n
\n
\n
\n
\n
Processing Batch Inference
\n
\n We're analyzing your data to identify images that would benefit most from human review. This helps\n focus your labeling efforts where they'll have the biggest impact.\n
\n
{selectedModel?.batch?.status || 'Processing...'}
\n
\n \n ) : !allPredictions?.predictions || allPredictions.predictions.length === 0 ? (\n \n
\n
\n \n
\n
Start Adaptive Active Learning
\n
\n {selectedModel?.deployment.status.toLowerCase() !== 'in_service'\n ? 'Deploy your model to begin the active learning process. This will help identify uncertain predictions that need human review, making your labeling workflow more efficient.'\n : 'Run your first batch to start the active learning process. The model will analyze your data and identify images that need human review, helping you focus on the most impactful labeling tasks.'}\n
\n \n {selectedModel?.deployment.status.toLowerCase() !== 'in_service'\n ? 'Deploy Model First'\n : 'Start First Batch'}\n \n
\n
\n ) : (\n
\n \n \n \n Predictions\n \n
\n \n \n \n Low{shouldShowEmptyState ? 0 : filteredCounts.low}\n \n }\n />\n \n Medium{shouldShowEmptyState ? 0 : filteredCounts.medium}\n \n }\n />\n \n High{shouldShowEmptyState ? 0 : filteredCounts.high}\n \n }\n />\n \n\n \n Image Size\n setCardSize(Number(e.target.value))}\n className=\"form-range\"\n />\n {cardSize}px\n \n \n
\n\n
{renderPredictionsContent()}
\n
\n
\n \n\n {predictionStats?.Body && (\n \n \n Statistics\n {renderStatisticsContent()}\n \n \n )}\n
\n
\n )}\n \n\n {/* Model Assisted Labeling Modal*/}\n setShowModelModal(false)} size=\"lg\">\n \n Available Models\n \n \n setShowModelModal(false)} />\n \n \n\n {/* Confidence Settings Modal */}\n setShowConfidenceSettings(false)}\n centered\n className=\"confidence-settings-modal\"\n >\n \n Adjust Confidence Thresholds\n \n \n
\n
\n \n
\n \n setTempConfidenceRanges((prev) => ({\n ...prev,\n high: Number(e.target.value) / 100,\n }))\n }\n className=\"form-range\"\n />\n {(tempConfidenceRanges.high * 100).toFixed(0)}%\n
\n
\n
\n \n
\n \n setTempConfidenceRanges((prev) => ({\n ...prev,\n medium: Number(e.target.value) / 100,\n }))\n }\n className=\"form-range\"\n />\n {(tempConfidenceRanges.medium * 100).toFixed(0)}%\n
\n
\n
\n \n \n
\n
\n
\n \n \n )\n}\n\nexport default InferenceBatchSubView\n","import React, { useState, useEffect } from 'react'\nimport { Card, Col, Row, Spinner, Form, Button, Modal } from 'react-bootstrap'\nimport { FaExclamationTriangle, FaPencilAlt, FaDice, FaFlask } from 'react-icons/fa'\nimport { setSelectedModelId, selectSelectedModelId, clearSelectedModelId } from '../../store/slices/modelSlice'\nimport {\n useUpdateModelMutation,\n useDeleteModelMutation,\n useFetchModelsQuery,\n useTrainModelMutation,\n useStopTrainModelMutation,\n useFineTuneModelMutation,\n useGetModelQuery,\n} from '../../services/modelsApi'\nimport ModelGenerationView from './ModelGenerationView/ModelGenerationView'\nimport { useAppSelector, useAppDispatch } from '../../store/hooks'\nimport ModelMetricsCard from '../styled/ModelMetrics/ModelMetricsCard'\nimport { selectSelectedProjectId } from '../../store/slices/projectSlice'\nimport styled from 'styled-components'\nimport ModelTrainingView from './ModelTrainingView/ModelTrainingView'\nimport {\n selectSelectedTrainingSource,\n selectSelectedValidationSource,\n selectDatasetSources,\n} from '../../store/slices/datasetSlice'\nimport ConfirmDialog from '../modals/ConfirmDialog'\nimport { GradientButton } from './subviews/InferenceAALSubView'\n\nconst TrainButton = styled(Button).attrs({\n variant: 'primary',\n})`\n background: linear-gradient(45deg, #4a90e2, #800085);\n border: none;\n padding: 1rem 2.5rem;\n border-radius: 25px;\n font-size: 1.1rem;\n font-weight: 600;\n transition: all 0.3s ease;\n\n &.training {\n &:hover {\n background: linear-gradient(45deg, #dc3545, #b30000);\n .training-text {\n display: none;\n }\n .stop-text {\n display: inline;\n }\n }\n\n .stop-text {\n display: none;\n }\n }\n` as typeof Button\n\nconst ViewContainer = styled.div`\n height: 100%;\n min-height: 0;\n display: flex;\n flex-direction: column;\n background: #1a1a1a;\n overflow: hidden;\n`\n\nconst DashboardContainer = styled.div`\n display: flex;\n flex-direction: column;\n height: 100%;\n background-color: #1a1a1a;\n min-height: 0;\n`\n\nconst ScrollableContent = styled.div`\n flex: 1;\n overflow-y: auto;\n padding: 8px 24px 24px;\n min-height: 0;\n\n @media (max-width: 768px) {\n padding: 8px 16px 16px;\n }\n\n /* Hide scrollbar for Chrome, Safari and Opera */\n ::-webkit-scrollbar {\n display: none;\n }\n\n /* Hide scrollbar for IE, Edge and Firefox */\n -ms-overflow-style: none; /* IE and Edge */\n scrollbar-width: none; /* Firefox */\n`\n\nconst PageHeader = styled(Card)`\n margin-bottom: 1.5rem;\n background: #1a1a1a !important;\n border: none !important;\n padding: 24px 24px 0;\n\n .card-header {\n border-bottom: 1px solid rgba(255, 255, 255, 0.1);\n background: transparent;\n padding: 0;\n }\n\n .subtitle {\n color: #8c8c8c;\n font-size: 0.9rem;\n margin-top: 0.25rem;\n }\n\n @media (max-width: 768px) {\n padding: 16px 16px 0;\n }\n`\n\nconst ModelNameCard = styled(Card)`\n background: #2a2a2a;\n border: none;\n border-radius: 10px;\n margin-bottom: 1.5rem;\n overflow: hidden;\n\n .card-body {\n padding: 0;\n }\n\n .model-info {\n padding: 1.25rem 1.5rem;\n background: linear-gradient(45deg, #402563, #2042ba);\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n\n @media (max-width: 768px) {\n padding: 1rem 1.25rem;\n }\n\n .model-details {\n flex: 1;\n min-width: 0;\n margin-right: 1rem;\n }\n\n .model-actions {\n flex-shrink: 0;\n display: flex;\n gap: 0.5rem;\n align-items: center;\n }\n\n .btn-outline-light {\n background: rgba(0, 0, 0, 0.4) !important;\n border: 1px solid rgba(255, 255, 255, 0.5);\n color: #ffffff;\n padding: 0.5rem 1rem;\n font-weight: 500;\n\n &:hover {\n background: rgba(0, 0, 0, 0.6) !important;\n border-color: rgba(255, 255, 255, 0.8);\n color: #ffffff;\n }\n\n &:active {\n background: rgba(0, 0, 0, 0.7) !important;\n border-color: rgba(255, 255, 255, 0.9) !important;\n }\n }\n\n .btn-outline-danger {\n background: rgba(0, 0, 0, 0.4) !important;\n border: 1px solid #dc3545;\n color: #ffffff;\n padding: 0.5rem 1rem;\n font-weight: 500;\n\n &:hover {\n background: rgba(220, 53, 69, 0.3) !important;\n border-color: #ff4d4d;\n color: #ffffff;\n }\n\n &:active {\n background: rgba(220, 53, 69, 0.4) !important;\n border-color: #ff6666 !important;\n }\n }\n }\n\n .model-name-input {\n max-width: 300px;\n background: rgba(255, 255, 255, 0.1);\n border: 1px solid rgba(255, 255, 255, 0.2);\n color: #fff;\n border-radius: 6px;\n padding: 0.5rem 0.75rem;\n\n &:focus {\n background: rgba(255, 255, 255, 0.15);\n border-color: rgba(255, 255, 255, 0.3);\n box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.1);\n }\n }\n`\n\nconst SmallDiceIcon = styled(FaDice)`\n font-size: 0.8rem;\n margin-right: 0.5rem;\n cursor: pointer;\n opacity: 0.6;\n transition: opacity 0.2s ease;\n transform: translateY(4px);\n color: white;\n\n &:hover {\n opacity: 1;\n }\n`\n\nconst ModelView: React.FC = () => {\n const dispatch = useAppDispatch()\n\n const selectedProjectId = useAppSelector(selectSelectedProjectId)\n const selectedModelId = useAppSelector(selectSelectedModelId)\n const selectedTrainingSources = useAppSelector(selectSelectedTrainingSource)\n const validationSources = useAppSelector(selectSelectedValidationSource)\n const datasetSources = useAppSelector(selectDatasetSources)\n\n const {\n data: modelsData,\n isLoading,\n error,\n } = useFetchModelsQuery({ project_id: selectedProjectId || '' }, { skip: !selectedProjectId })\n\n const { data: selectedModel } = useGetModelQuery(selectedModelId || '', { skip: !selectedModelId })\n\n const [updateModel] = useUpdateModelMutation()\n const [deleteModel] = useDeleteModelMutation()\n const [trainModel] = useTrainModelMutation()\n const [stopTrainModel] = useStopTrainModelMutation()\n const [fineTuneModel] = useFineTuneModelMutation()\n const [isEditingName, setIsEditingName] = useState(false)\n const [modelName, setModelName] = useState(selectedModel?.name || '')\n const [showDeleteModal, setShowDeleteModal] = useState(false)\n const [showStopTrainingDialog, setShowStopTrainingDialog] = useState(false)\n const [showDeleteConfirm, setShowDeleteConfirm] = useState(false)\n\n const showModelGenerationView = ['unknown', 'initialized', 'stopping', 'err'].includes(\n selectedModel?.state.toLowerCase() || ''\n )\n const showModelTrainingView = ['training'].includes(selectedModel?.state.toLowerCase() || '')\n\n // Add effect to restore selected model from localStorage\n useEffect(() => {\n const savedModelId = localStorage.getItem('selectedModelId')\n const existsInModelsData = modelsData?.models?.some((model) => model.id === savedModelId)\n\n if (savedModelId && existsInModelsData && !selectedModelId) {\n dispatch(setSelectedModelId(savedModelId))\n } else if (savedModelId && !existsInModelsData) {\n if (modelsData?.models?.length && modelsData.models.length > 0) {\n dispatch(setSelectedModelId(modelsData.models[0].id))\n localStorage.setItem('selectedModelId', modelsData.models[0].id)\n } else {\n localStorage.removeItem('selectedModelId')\n dispatch(clearSelectedModelId())\n }\n }\n }, [dispatch, selectedModelId, modelsData])\n\n useEffect(() => {\n setModelName(selectedModel?.name || '')\n }, [selectedModel])\n\n const handleNameChange = (e: React.ChangeEvent) => {\n setModelName(e.target.value)\n }\n\n const handleNameBlur = async () => {\n if (selectedModel && selectedModelId && modelName !== selectedModel?.name) {\n try {\n const updatedModel = await updateModel({\n id: selectedModelId,\n modelData: { name: modelName, description: selectedModel.description, parameters: selectedModel.parameters },\n }).unwrap()\n dispatch(setSelectedModelId(updatedModel.id))\n } catch (err) {\n console.error('Failed to update model name:', err)\n }\n }\n setIsEditingName(false)\n }\n\n const generateRandomName = () => {\n const adjectives = [\n 'glorious',\n 'righteous',\n 'valiant',\n 'relentless',\n 'unyielding',\n 'merciless',\n 'indomitable',\n 'unbreakable',\n 'fearless',\n 'dauntless',\n 'unwavering',\n 'steadfast',\n 'noble',\n 'devoted',\n 'supreme',\n 'ironclad',\n 'resolute',\n 'vigilant',\n 'heroic',\n 'stalwart',\n 'unshaken',\n 'disciplined',\n 'obedient',\n 'triumphant',\n 'indestructible',\n 'honor-bound',\n 'mighty',\n 'formidable',\n 'dominant',\n 'ruthless',\n 'tenacious',\n 'loyal',\n 'gallant',\n 'fearsome',\n 'epic',\n 'invincible',\n 'thunderous',\n 'unrelenting',\n 'colossal',\n 'unassailable',\n 'sovereign',\n 'titanic',\n 'unforgiving',\n 'resplendent',\n 'ferocious',\n 'undeniable',\n 'commanding',\n 'unstoppable',\n 'undaunted',\n 'glimmering',\n 'rampant',\n 'defiant',\n 'unbowed',\n 'impervious',\n 'sacred',\n 'divine',\n 'eternal',\n 'peerless',\n 'magnificent',\n 'absolute',\n 'resurgent',\n 'crushing',\n 'furious',\n 'imposing',\n 'undying',\n 'adamant',\n 'invulnerable',\n 'unerring',\n 'immovable',\n 'unshakable',\n 'tactical',\n 'unstained',\n 'revered',\n 'untouchable',\n 'war-born',\n 'selfless',\n 'imperial',\n 'legendary',\n 'unquestionable',\n 'hardened',\n 'valorous',\n 'righteous',\n 'reckoning',\n 'immortal',\n 'unswerving',\n 'infallible',\n 'irrefutable',\n ]\n const nouns = [\n 'liberator',\n 'justice',\n 'vengeance',\n 'patriot',\n 'sentinel',\n 'champion',\n 'executor',\n 'crusader',\n 'conqueror',\n 'purifier',\n 'judgment',\n 'protector',\n 'avenger',\n 'defender',\n 'watchman',\n 'warrior',\n 'guardian',\n 'savior',\n 'bastion',\n 'shield',\n 'hammer',\n 'legion',\n 'banner',\n 'spear',\n 'dominator',\n 'supremacy',\n 'annihilator',\n 'battlemaster',\n 'herald',\n 'oathkeeper',\n 'discipline',\n 'martyr',\n 'beacon',\n 'sentinel',\n 'overlord',\n 'bulwark',\n 'vindicator',\n 'preserver',\n 'justice',\n 'authority',\n 'saber',\n 'retribution',\n 'storm',\n 'flagship',\n 'glory',\n 'indignation',\n 'retaliation',\n 'sovereignty',\n 'pinnacle',\n 'wrath',\n 'renegade',\n 'fortress',\n 'dominion',\n 'valor',\n 'virtue',\n 'triumph',\n ]\n const randomAdjective = adjectives[Math.floor(Math.random() * adjectives.length)]\n const randomNoun = nouns[Math.floor(Math.random() * nouns.length)]\n const capitalize = (str: string) => str.charAt(0).toUpperCase() + str.slice(1)\n return `${capitalize(randomAdjective)} ${capitalize(randomNoun)}`\n }\n\n const handleRandomName = async () => {\n if (selectedModel && selectedModelId) {\n const newName = generateRandomName()\n try {\n const updatedModel = await updateModel({\n id: selectedModelId,\n modelData: { name: newName, description: selectedModel.description, parameters: selectedModel.parameters },\n }).unwrap()\n dispatch(setSelectedModelId(updatedModel.id))\n setModelName(newName)\n } catch (err) {\n console.error('Failed to update model name:', err)\n }\n }\n }\n\n const handleDeleteModel = async () => {\n if (!selectedModelId) return\n try {\n // Delete the model and wait for completion\n await deleteModel({ id: selectedModelId }).unwrap()\n } catch (err) {\n console.error('Failed to delete model:', err)\n }\n setShowDeleteConfirm(false)\n }\n\n const handleDeleteCancel = () => {\n setShowDeleteModal(false)\n }\n\n const handleEditModel = () => {\n setIsEditingName(true)\n }\n\n const handleTrainButtonClick = () => {\n if (selectedModel?.state.toLowerCase() === 'training') {\n setShowStopTrainingDialog(true)\n } else {\n handleTrainModel()\n }\n }\n\n const handleTrainModel = async () => {\n if (!selectedModelId || !selectedModel) {\n console.error('No model selected')\n return\n }\n\n if (!selectedTrainingSources?.length) {\n console.error('No training sources selected')\n return\n }\n\n try {\n // Store dataset sources in localStorage\n localStorage.setItem(selectedModelId, JSON.stringify(datasetSources || ''))\n\n const modelTrainParams = {\n id: selectedModelId,\n train_metadata_filter:\n selectedTrainingSources && selectedTrainingSources.length > 0\n ? { datasource: selectedTrainingSources }\n : undefined,\n validation_metadata_filter:\n validationSources && validationSources.length > 0 ? { datasource: validationSources } : undefined,\n }\n\n trainModel(modelTrainParams)\n } catch (err: any) {\n console.error('Failed to train model:', err)\n }\n }\n\n const handleStopTraining = async () => {\n if (selectedModelId) {\n try {\n const stoppedModel = await stopTrainModel({ id: selectedModelId }).unwrap()\n dispatch(setSelectedModelId(stoppedModel.id))\n setShowStopTrainingDialog(false)\n } catch (err) {\n console.error('Failed to stop training:', err)\n }\n }\n }\n\n const handleFineTuneModel = async () => {\n if (!selectedModelId || !selectedModel) {\n console.error('No model selected')\n return\n }\n\n try {\n const updatedModel = await updateModel({\n id: selectedModelId,\n modelData: { name: modelName, description: selectedModel.description, parameters: selectedModel.parameters },\n }).unwrap()\n dispatch(setSelectedModelId(updatedModel.id))\n fineTuneModel({ id: updatedModel.id, epochs: 5, freeze: 10 })\n } catch (err) {\n console.error('Failed to update model name:', err)\n }\n }\n\n const initiateDelete = () => {\n setShowDeleteConfirm(true)\n }\n\n useEffect(() => {\n if (selectedModelId && selectedModel?.name) {\n setModelName(selectedModel.name)\n } else if (modelsData?.models?.length && !selectedModelId) {\n dispatch(setSelectedModelId(modelsData.models[0].id))\n }\n }, [modelsData?.models, dispatch, selectedModel, selectedModelId])\n\n return (\n \n \n \n \n \n

Model View

\n
Manage your models here
\n \n
\n
\n
\n\n {isLoading ? (\n \n \n \n \n \n ) : error ? (\n \n \n

\n {'status' in error ? `Error ${error.status}: ${JSON.stringify(error.data)}` : error.message}\n

\n
\n
\n ) : selectedModelId && selectedModel ? (\n \n \n \n \n \n \n
\n
\n {isEditingName ? (\n \n ) : (\n
\n
\n \n

{selectedModel?.name || 'Untitled Model'}

\n
\n
\n Created:{' '}\n {selectedModel?.created_at\n ? new Date(selectedModel.created_at).toLocaleString('en-US', {\n year: 'numeric',\n month: 'short',\n day: 'numeric',\n hour: '2-digit',\n minute: '2-digit',\n })\n : 'N/A'}\n
\n
\n )}\n
\n
\n {showModelTrainingView ? (\n
\n \n Status: {selectedModel?.state || 'Not Started'}\n
\n \n {selectedModel?.state.toLowerCase() === 'training' ? (\n <>\n Training\n Stop Training\n \n ) : (\n 'Start Training'\n )}\n \n
\n ) : (\n <>\n
\n \n \n Fine Tune Model\n \n
\n {!isEditingName && (\n <>\n \n \n )}\n \n \n )}\n
\n
\n \n \n \n \n\n {/* Scrollable Content */}\n {showModelGenerationView && }\n {showModelTrainingView && }\n {!showModelGenerationView && !showModelTrainingView && }\n\n {/* Delete Confirmation Modal */}\n \n \n Confirm Delete\n \n \n Are you sure you want to delete the model "{selectedModel?.name}"? This action cannot be\n undone.\n \n \n \n \n \n \n\n {/* Stop Training Confirmation Modal */}\n setShowStopTrainingDialog(false)}\n centered\n className=\"dark-modal\"\n >\n \n Stop Training\n \n Are you sure you want to stop the model training? This action cannot be undone.\n \n \n \n \n \n\n setShowDeleteConfirm(false)}\n onConfirm={handleDeleteModel}\n title=\"Delete Model\"\n message={`Are you sure you want to delete model \"${selectedModel?.name}\"? This action cannot be undone.`}\n confirmText=\"Delete\"\n cancelText=\"Cancel\"\n variant=\"danger\"\n />\n \n \n ) : (\n \n \n \n \n \n \n No Model Selected\n \n \n Select a model, or you can generate a new model by selecting "New Model" on the left hand\n side.\n \n \n \n \n \n )}\n \n )\n}\n\nexport default ModelView\n","// src/components/TagPills/TagPills.tsx\n\nimport React, { useEffect, useState } from 'react'\nimport { Col, Row } from 'react-bootstrap'\nimport { getContrastYIQ } from '../utils'\n\ninterface BBoxPillsProps {\n confidences: number[]\n}\n\nconst PillsConfidence: React.FC = ({ confidences = [] }) => {\n const [minMaxConfidence, setMinMaxConfidence] = useState<[number, number]>([0, 0])\n\n useEffect(() => {\n const min = Math.min(...(confidences || [0]))\n const max = Math.max(...(confidences || [0]))\n setMinMaxConfidence([min, max])\n }, [confidences])\n\n return (\n \n \n \n Min\n \n {((minMaxConfidence[0] ?? 0) * 100).toFixed(0)}%\n \n
\n \n \n \n Max\n {/*{showTagCounts && tagCounts?.[tagId] && (*/}\n \n {((minMaxConfidence[1] ?? 0) * 100).toFixed(0)}%\n \n {/*)}*/}\n \n \n
\n )\n}\n\nexport default PillsConfidence\n","// Path: src/components/RealTimeImageCard.tsx\nimport React, { useState, useEffect } from 'react'\nimport { Card } from 'react-bootstrap'\nimport { InferenceResult, PredictionMetadata } from '../types/prediction'\nimport { useAppSelector } from '../store/hooks'\nimport { selectSelectedProjectId } from '../store/slices/projectSlice'\nimport { useGetProjectQuery } from '../services/projectsApi'\nimport { AnnotationDataBoundingBox } from '../types/annotation'\nimport SuggestiveLabelImageCard from './annotation/SuggestiveLabelImageCard'\nimport { normalizeBoundingBox } from '../utils'\nimport PillsBBox from './PillsBBox'\nimport PillsConfidence from './PillsConfidence'\nimport styled from 'styled-components'\n\ninterface RealTimeImageProps {\n result: InferenceResult\n imageData: {\n url: string\n width: number\n height: number\n }\n cardSize?: number\n}\n\nconst StyledCard = styled(Card)<{ $cardSize: number }>`\n width: ${(props) => props.$cardSize}px;\n cursor: pointer;\n position: relative;\n background-color: #2a2a2a;\n border: 1px solid #404040;\n transition: transform 0.2s ease-in-out;\n\n &:hover {\n transform: scale(1.05);\n z-index: 1;\n }\n`\n\nconst RealTimeImage: React.FC = ({ result, imageData, cardSize = 512 }) => {\n const selectedProjectId = useAppSelector(selectSelectedProjectId)\n const { data: project } = useGetProjectQuery(selectedProjectId || '', { skip: !selectedProjectId })\n\n const [imageBoundingBoxes, setImageBoundingBoxes] = useState([])\n\n useEffect(() => {\n const bboxes = result.predictions.map((prediction: PredictionMetadata) => {\n return normalizeBoundingBox({\n class_name: prediction.class_name,\n xmin: prediction.bounding_boxes?.xmin || 0,\n xmax: prediction.bounding_boxes?.xmax || 0,\n ymin: prediction.bounding_boxes?.ymin || 0,\n ymax: prediction.bounding_boxes?.ymax || 0,\n name: prediction.tagid,\n } as AnnotationDataBoundingBox)\n })\n setImageBoundingBoxes(bboxes)\n }, [result])\n\n return (\n \n \n \n\n {project?.annotation_type === 'bounding_box' && (\n
\n \n ({\n ...(p.bounding_boxes || {}),\n name: p.class_name,\n confidence: p.confidence,\n class_index: index,\n } as AnnotationDataBoundingBox)\n )}\n />\n
\n )}\n\n
\n p.confidence)} />\n
\n \n
\n )\n}\n\nexport default RealTimeImage\n","// Path: /home/jason/src/AgileView/autovision-ui/src/components/views/InferenceGalleryView.tsx\n\nimport React, { useEffect, useState } from 'react'\nimport { Col, Row, Spinner, Modal } from 'react-bootstrap'\nimport { InferenceResult } from '../../types/prediction'\nimport RealTimeImage from '../RealTimeImage'\n\ninterface ImageData {\n url: string\n filename: string\n width: number\n height: number\n aspectRatio: number\n}\n\ninterface InferenceGalleryViewProps {\n results: InferenceResult[] | undefined\n dropFiles: File[] | null\n cardSize?: number\n isLoading?: boolean\n}\n\nconst InferenceRealTimeGalleryView: React.FC = ({\n results,\n dropFiles,\n cardSize = 512,\n isLoading = false,\n}) => {\n const [images, setImages] = useState([])\n const [selectedImage, setSelectedImage] = useState<{\n result: InferenceResult\n imageData: ImageData\n } | null>(null)\n\n useEffect(() => {\n const loadImage = (file: File): Promise => {\n return new Promise((resolve) => {\n const url = URL.createObjectURL(file)\n const img = new Image()\n\n img.onload = () => {\n resolve({\n url,\n filename: file.name,\n width: img.naturalWidth,\n height: img.naturalHeight,\n aspectRatio: img.naturalWidth / img.naturalHeight,\n })\n }\n\n img.src = url\n })\n }\n\n const loadImages = async () => {\n if (!dropFiles) return\n const loadedImages = await Promise.all(dropFiles.map(loadImage))\n setImages(loadedImages)\n }\n\n loadImages()\n\n return () => {\n images.forEach((image) => URL.revokeObjectURL(image.url))\n }\n }, [dropFiles])\n\n const handleImageClick = (result: InferenceResult, imageData: ImageData) => {\n setSelectedImage({ result, imageData })\n }\n\n const handleCloseModal = () => {\n setSelectedImage(null)\n }\n\n return (\n
\n
\n \n \n {isLoading ? (\n \n ) : results?.length ? (\n
\n \n {results\n .filter((result) => result.predictions.length > 0)\n .map((result: InferenceResult, index) => {\n const image = images.find((img) => img.filename === result.filename)\n if (!image) return null\n\n return (\n
handleImageClick(result, image)} style={{ cursor: 'pointer' }}>\n \n
\n )\n })}\n
\n
\n ) : (\n
\n \n

No objects were detected in the uploaded images.

\n

\n Try uploading different images or adjusting the model's confidence threshold.\n

\n
\n )}\n \n \n
\n\n {/* Image Inspection Modal */}\n \n \n Image Inspection\n \n \n {selectedImage && (\n \n )}\n \n \n \n )\n}\n\nexport default InferenceRealTimeGalleryView\n","// Path: /home/jason/src/AgileView/autovision-ui/src/components/views/InferenceRealTimeSubView.tsx\n\nimport React, { useState, useCallback, useMemo } from 'react'\nimport { Card, Row, Col, Alert, Button, Modal } from 'react-bootstrap'\nimport { FetchBaseQueryError } from '@reduxjs/toolkit/query'\nimport { useAppSelector } from '../../../store/hooks'\nimport { selectSelectedModelId } from '../../../store/slices/modelSlice'\nimport { FaCog, FaExclamationTriangle, FaRedoAlt, FaTimes } from 'react-icons/fa'\nimport FileUploader from '../../FileUploader'\nimport { useGetModelQuery, useRunRealtimeInferenceMutation } from '../../../services/modelsApi'\nimport { RunInferenceResponse } from '../../../types/prediction'\nimport { getContrastYIQ } from '../../../utils'\nimport { useGetTagsQuery } from '../../../services/tagApi'\nimport InferenceRealTimeGalleryView from '../InferenceRealTimeGalleryView'\nimport styled from 'styled-components'\n\ninterface ConfidenceRanges {\n high: number\n medium: number\n}\n\ninterface ConfidenceStats {\n high: number\n medium: number\n low: number\n}\n\nconst DEFAULT_RANGES: ConfidenceRanges = {\n high: 0.8,\n medium: 0.5,\n}\n\nconst ViewContainer = styled.div`\n height: 100%;\n min-height: 0;\n display: flex;\n flex-direction: column;\n background: #1a1a1a;\n overflow: hidden;\n`\n\nconst ScrollableContent = styled.div`\n flex: 1;\n overflow-y: auto;\n padding: 8px 24px 24px;\n min-height: 0;\n\n @media (max-width: 768px) {\n padding: 8px 16px 16px;\n }\n\n /* Hide scrollbar for Chrome, Safari and Opera */\n ::-webkit-scrollbar {\n display: none;\n }\n\n /* Hide scrollbar for IE, Edge and Firefox */\n -ms-overflow-style: none; /* IE and Edge */\n scrollbar-width: none; /* Firefox */\n`\n\nconst StepCard = styled(Card)`\n background: #2a2a2a;\n border: none;\n height: calc(100vh - 380px);\n width: 100%;\n display: flex;\n flex-direction: column;\n position: relative;\n margin-bottom: 0;\n border-radius: 8px;\n`\n\nconst StepHeader = styled.div<{ $gradient: string }>`\n background: ${(props) => props.$gradient};\n padding: 1.25rem 1.5rem;\n border-radius: 8px 8px 0 0;\n color: white;\n font-weight: 600;\n font-size: 1.1rem;\n display: flex;\n align-items: center;\n gap: 0.75rem;\n flex-shrink: 0;\n\n @media (max-width: 768px) {\n padding: 1rem 1.25rem;\n }\n`\n\nconst StepContent = styled.div`\n background: #2a2a2a;\n padding: 0;\n border-radius: 0 0 8px 8px;\n flex: 1;\n display: flex;\n flex-direction: column;\n min-height: 0;\n overflow: hidden;\n\n .header-controls {\n padding: 1.5rem;\n border-bottom: 1px solid rgba(255, 255, 255, 0.1);\n flex-shrink: 0;\n margin-bottom: 0;\n }\n\n .scrollable-content {\n flex: 1;\n overflow-y: auto;\n padding: 1.5rem;\n padding-bottom: 3rem;\n min-height: 0;\n display: flex;\n flex-direction: column;\n\n @media (max-width: 768px) {\n padding: 1.25rem;\n padding-bottom: 3rem;\n }\n\n ::-webkit-scrollbar {\n width: 8px;\n height: 8px;\n }\n\n ::-webkit-scrollbar-track {\n background: #1a1a1a;\n border-radius: 4px;\n }\n\n ::-webkit-scrollbar-thumb {\n background: #4a4a4a;\n border-radius: 4px;\n }\n\n ::-webkit-scrollbar-thumb:hover {\n background: #5a5a5a;\n }\n }\n\n .upload-container {\n flex: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n min-height: 0;\n padding: 2rem 0;\n }\n\n .upload-wrapper {\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n .upload-content {\n display: flex;\n align-items: center;\n justify-content: center;\n }\n`\n\nconst PageHeader = styled(Card)`\n margin-bottom: 1.5rem;\n background: #1a1a1a !important;\n border: none !important;\n padding: 24px 24px 0;\n\n .card-header {\n border-bottom: 1px solid rgba(255, 255, 255, 0.1);\n background: transparent;\n padding: 0;\n }\n\n .subtitle {\n color: #8c8c8c;\n font-size: 0.9rem;\n margin-top: 0.25rem;\n }\n\n @media (max-width: 768px) {\n padding: 16px 16px 0;\n }\n`\n\nconst InferenceRealTimeSubView: React.FC = () => {\n const selectedModelId = useAppSelector(selectSelectedModelId)\n const [selectedClass, setSelectedClass] = useState(null)\n const [selectedConfidenceLevel, setSelectedConfidenceLevel] = useState<'high' | 'medium' | 'low' | null>(null)\n const [showConfidenceSettings, setShowConfidenceSettings] = useState(false)\n const [confidenceRanges, setConfidenceRanges] = useState(DEFAULT_RANGES)\n const [tempConfidenceRanges, setTempConfidenceRanges] = useState(DEFAULT_RANGES)\n const [dropFiles, setDropFiles] = useState(null)\n const [inferenceResults, setInferenceResults] = useState(null)\n const [inferenceErrorMsg, setInferenceError] = useState(undefined)\n const CARD_SIZE = 330\n\n const { data: selectedModel, isLoading: modelLoading } = useGetModelQuery(selectedModelId || '', {\n skip: !selectedModelId,\n })\n const isDeployed = selectedModel?.deployment.status.toLowerCase() === 'in_service'\n const [runInference, { isLoading: inferenceLoading, isError }] = useRunRealtimeInferenceMutation()\n const { data: tags } = useGetTagsQuery(\n {\n project_id: selectedModel?.projectid || '',\n dataset_id: selectedModel?.datasetid || '',\n },\n { skip: !selectedModel?.projectid || !selectedModel?.datasetid }\n )\n\n // Helper function to type-check FetchBaseQueryError\n function isFetchBaseQueryError(error: unknown): error is FetchBaseQueryError {\n return typeof error === 'object' && error != null && 'status' in error\n }\n\n const handleInference = useCallback(\n (acceptedFiles: File[]) => {\n if (acceptedFiles) {\n setInferenceResults(null)\n setDropFiles(acceptedFiles)\n const formData = new FormData()\n acceptedFiles.forEach((df) => {\n formData.append('files', df, df.name)\n })\n\n try {\n runInference({ id: selectedModel?.id || '', data: formData, heatmap: true })\n // .unwrap()\n .then((result) => {\n setInferenceResults(result.data || null)\n })\n .catch((err) => {\n console.log('Realtime error: ', err)\n })\n } catch (error: unknown) {\n let msg: string\n if (isFetchBaseQueryError(error)) {\n if ('data' in error && error.data) {\n msg = `Inference error: ${Object.values(error.data)[0]}`\n } else {\n msg = `Inference error: ${error.status}`\n }\n } else {\n msg = `Unexpected inference error: ${error}`\n }\n setInferenceError(msg)\n }\n }\n },\n [selectedModel, runInference]\n )\n\n const inferenceStats = useMemo(() => {\n if (!inferenceResults) return null\n\n const stats = inferenceResults.reduce(\n (acc, result) => {\n if (result.predictions.length > 0) {\n acc.imagesWithPredictions++\n result.predictions.forEach((pred) => {\n if (!acc.predictions[pred.class_name]) {\n acc.predictions[pred.class_name] = {\n classname: pred.class_name,\n count: 0,\n confidences: [],\n totalConfidence: 0,\n }\n }\n acc.predictions[pred.class_name].count++\n acc.predictions[pred.class_name].confidences.push(pred.confidence)\n acc.predictions[pred.class_name].totalConfidence += pred.confidence\n acc.total++\n acc.allConfidences.push(pred.confidence)\n })\n }\n return acc\n },\n {\n predictions: {} as Record<\n string,\n {\n classname: string\n count: number\n confidences: number[]\n totalConfidence: number\n }\n >,\n total: 0,\n imagesWithPredictions: 0,\n allConfidences: [] as number[],\n }\n )\n\n // Calculate confidence distribution\n const confidenceRanges = {\n high: stats.allConfidences.filter((c) => c >= 0.8).length,\n medium: stats.allConfidences.filter((c) => c >= 0.5 && c < 0.8).length,\n low: stats.allConfidences.filter((c) => c < 0.5).length,\n }\n\n return {\n predictions_per_class: Object.values(stats.predictions).map((p) => ({\n ...p,\n avgConfidence: p.totalConfidence / p.count,\n })),\n total_predictions: stats.total,\n total_images: inferenceResults.length,\n images_with_predictions: stats.imagesWithPredictions,\n confidence_distribution: confidenceRanges,\n avg_confidence: stats.allConfidences.reduce((a, b) => a + b, 0) / stats.allConfidences.length,\n }\n }, [inferenceResults])\n\n // Update filteredResults to include confidence level filtering\n const filteredResults = useMemo(() => {\n if (!inferenceResults) return undefined\n\n let results = inferenceResults\n\n // Filter by class if selected\n if (selectedClass) {\n results = results.filter((result) => result.predictions.some((pred) => pred.class_name === selectedClass))\n }\n\n // Filter by confidence level if selected\n if (selectedConfidenceLevel) {\n results = results.filter((result) =>\n result.predictions.some((pred) => {\n if (selectedConfidenceLevel === 'high') {\n return pred.confidence >= confidenceRanges.high\n } else if (selectedConfidenceLevel === 'medium') {\n return pred.confidence >= confidenceRanges.medium && pred.confidence < confidenceRanges.high\n } else {\n return pred.confidence < confidenceRanges.medium\n }\n })\n )\n }\n\n return results\n }, [inferenceResults, selectedClass, selectedConfidenceLevel, confidenceRanges])\n\n // Add click handler for confidence bars\n const handleConfidenceLevelClick = (level: 'high' | 'medium' | 'low') => {\n setSelectedConfidenceLevel(selectedConfidenceLevel === level ? null : level)\n }\n\n const confidenceDistribution = useMemo(() => {\n if (!inferenceStats) return null\n const ranges = confidenceRanges\n\n const stats = inferenceStats.predictions_per_class.reduce(\n (acc: ConfidenceStats, stat) => {\n stat.confidences.forEach((confidence) => {\n if (confidence >= ranges.high) acc.high++\n else if (confidence >= ranges.medium) acc.medium++\n else acc.low++\n })\n return acc\n },\n { high: 0, medium: 0, low: 0 }\n )\n\n return stats\n }, [inferenceStats, confidenceRanges])\n\n const handleOpenSettings = () => {\n setTempConfidenceRanges(confidenceRanges)\n setShowConfidenceSettings(true)\n }\n\n const handleSaveSettings = () => {\n setConfidenceRanges(tempConfidenceRanges)\n setShowConfidenceSettings(false)\n }\n\n const handleResetSettings = () => {\n setTempConfidenceRanges(DEFAULT_RANGES)\n }\n\n // Memoize the gradients\n const gradients = useMemo(\n () => ({\n predictions: `linear-gradient(${Math.floor(Math.random() * 360)}deg, #402563, #114ee0)`,\n statistics: `linear-gradient(${Math.floor(Math.random() * 360)}deg, #402563, #2042ba)`,\n }),\n []\n )\n\n if (!selectedModel) {\n return
No model data available.
\n }\n\n return (\n \n \n \n \n \n

Real-Time Inference

\n
Process data instantly, generate predictions, and adapt on the fly.
\n \n
\n
\n {!modelLoading && !isDeployed && (\n \n \n \n Model must be deployed to perform real-time inference.\n \n \n )}\n
\n\n \n \n {!modelLoading && isDeployed && (\n \n \n Predictions\n \n
\n {inferenceResults && (\n <>\n {inferenceResults.length > 0 && inferenceStats?.total_predictions === 0 ? (\n
\n

\n \n No Predictions\n

\n

The model did not detect any objects in the image(s)

\n
\n ) : (\n \n )}\n \n )}\n {isDeployed && !inferenceResults && (\n
\n
\n
\n \n
\n
\n
\n )}\n {isError && (\n \n \n Error occurred. {inferenceErrorMsg}\n \n )}\n
\n
\n
\n \n )}\n\n {inferenceResults && (\n \n \n Statistics\n \n
\n
\n
\n
Inference Statistics
\n {\n setInferenceResults(null)\n setSelectedClass(null)\n }}\n >\n \n Reset\n \n
\n\n
\n
\n
\n
{inferenceStats?.total_predictions}
\n
Total Predictions
\n \n in {inferenceStats?.images_with_predictions} of {inferenceStats?.total_images} images\n \n
\n
\n\n
\n
\n
\n {inferenceStats?.total_predictions && inferenceStats?.total_predictions > 0\n ? `${(inferenceStats?.avg_confidence * 100).toFixed(1)}%`\n : '0%'}\n
\n
Avg Confidence
\n
\n
\n
\n\n {/* Confidence Distribution */}\n
\n
\n Confidence Distribution\n \n \n \n
\n
\n handleConfidenceLevelClick('high')}\n style={{ cursor: 'pointer' }}\n >\n
\n High (>{(confidenceRanges.high * 100).toFixed(0)}%)\n {selectedConfidenceLevel === 'high' && (\n \n )}\n
\n
\n \n
\n
{confidenceDistribution?.high || 0}
\n
\n\n handleConfidenceLevelClick('medium')}\n style={{ cursor: 'pointer' }}\n >\n
\n Med ({(confidenceRanges.medium * 100).toFixed(0)}-\n {(confidenceRanges.high * 100).toFixed(0)}%)\n {selectedConfidenceLevel === 'medium' && (\n \n )}\n
\n
\n \n
\n
{confidenceDistribution?.medium || 0}
\n
\n\n handleConfidenceLevelClick('low')}\n style={{ cursor: 'pointer' }}\n >\n
\n Low (<{(confidenceRanges.medium * 100).toFixed(0)}%)\n {selectedConfidenceLevel === 'low' && (\n \n )}\n
\n
\n \n
\n
{confidenceDistribution?.low || 0}
\n
\n
\n \n\n {/* Confidence Settings Modal */}\n setShowConfidenceSettings(false)}\n centered\n className=\"confidence-settings-modal\"\n >\n \n Adjust Confidence Thresholds\n \n \n
\n
\n \n
\n \n setTempConfidenceRanges((prev) => ({\n ...prev,\n high: Number(e.target.value) / 100,\n }))\n }\n className=\"form-range\"\n />\n {(tempConfidenceRanges.high * 100).toFixed(0)}%\n
\n
\n
\n \n
\n \n setTempConfidenceRanges((prev) => ({\n ...prev,\n medium: Number(e.target.value) / 100,\n }))\n }\n className=\"form-range\"\n />\n {(tempConfidenceRanges.medium * 100).toFixed(0)}%\n
\n
\n
\n \n \n
\n
\n
\n \n\n {/* Class Distribution */}\n
\n
\n Class Distribution\n {selectedClass && (\n \n )}\n
\n
\n {inferenceStats?.predictions_per_class?.map((stat, index) => {\n const tag = tags?.tags?.find((t) => t.name === stat.classname)\n const backgroundColor = `#${tag?.color?.toString(16).padStart(6, '0').slice(0, 6)}`\n const textColor = getContrastYIQ(backgroundColor)\n const isSelected = selectedClass === stat.classname\n\n return (\n setSelectedClass(isSelected ? null : stat.classname)}\n style={{ cursor: 'pointer' }}\n >\n \n {tag?.name || 'unk'}\n
\n \n {stat.count}\n \n \n {(stat.avgConfidence * 100).toFixed(0)}%\n \n
\n
\n
\n )\n })}\n \n \n \n \n
\n
\n \n )}\n
\n
\n
\n )\n}\n\nexport default InferenceRealTimeSubView\n","export interface CodeTemplate {\n template: string\n language: string\n syntax: string\n}\n\nconst codeTemplates: Record = {\n curl: {\n template: '{{curl}}',\n language: 'curl',\n syntax: 'bash',\n },\n python: {\n template: `# This example shows how to send multiple images to the model and get predictions\nimport requests\nfrom pathlib import Path\nimport json\n\n# Authentication headers - DO NOT SHARE these with anyone!\nheaders = {\n{{headers}}\n}\n\ndef get_predictions(image_paths):\n \"\"\"\n Send multiple images to the model and get predictions\n Args:\n image_paths: List of paths to image files\n Returns:\n List of predictions for each image\n \"\"\"\n try:\n # Prepare multiple files\n files = []\n for image_path in image_paths:\n files.append(('files', open(image_path, 'rb')))\n \n # Send the request with multiple files\n response = requests.post('{{url}}', headers=headers, files=files)\n \n # Check if the request was successful\n response.raise_for_status()\n \n # Try to parse the JSON response\n try:\n predictions = response.json()\n return predictions\n except json.JSONDecodeError as e:\n print(f\"Error decoding JSON response: {str(e)}\")\n print(f\"Raw response: {response.text}\")\n return None\n \n except requests.exceptions.RequestException as e:\n print(f\"Request error: {str(e)}\")\n if hasattr(e, 'response') and e.response is not None:\n print(f\"Response status code: {e.response.status_code}\")\n print(f\"Response text: {e.response.text}\")\n return None\n except Exception as e:\n print(f\"An error occurred: {str(e)}\")\n return None\n finally:\n # Close all opened files\n for _, file in files:\n try:\n file.close()\n except:\n pass\n\n# Example usage:\nif __name__ == \"__main__\":\n # List of image paths to process\n image_paths = [\n 'path/to/image1.jpg',\n 'path/to/image2.jpg',\n 'path/to/image3.jpg'\n ]\n \n # Get predictions for all images\n results = get_predictions(image_paths)\n \n # Process the results\n if results:\n for image_path, prediction in zip(image_paths, results):\n print(f\"\\\\nPredictions for {Path(image_path).name}:\")\n print(json.dumps(prediction, indent=2)) # Pretty print the JSON\n else:\n print(\"\\\\nFailed to get predictions. Please check the error messages above.\")`,\n language: 'Python',\n syntax: 'python',\n },\n javascript: {\n template: `// This example shows how to send multiple images to the model and get predictions\n\n// Authentication headers - DO NOT SHARE these with anyone!\nconst headers = {\n{{headers}}\n};\n\n/**\n * Send multiple images to the model and get predictions\n * @param {File[]} imageFiles - Array of image files to process\n * @returns {Promise} Array of predictions for each image\n */\nasync function getPredictions(imageFiles) {\n try {\n // Prepare form data with multiple files\n const formData = new FormData();\n imageFiles.forEach(file => {\n formData.append('files', file);\n });\n\n // Send the request\n const response = await fetch('{{url}}', {\n method: 'POST',\n headers: headers,\n body: formData\n });\n\n // Get and return the predictions\n const predictions = await response.json();\n return predictions;\n } catch (error) {\n console.error('Error:', error);\n return null;\n }\n}\n\n// Example usage with file input:\n// 1. In your HTML:\n// \n//
\n\n// 2. Handle the file selection:\ndocument.getElementById('imageInput').onchange = async function(event) {\n const imageFiles = Array.from(event.target.files);\n const resultsDiv = document.getElementById('results');\n \n // Show loading state\n resultsDiv.innerHTML = 'Processing images...';\n \n // Get predictions for all images\n const predictions = await getPredictions(imageFiles);\n \n // Display results\n if (predictions) {\n resultsDiv.innerHTML = imageFiles.map((file, index) => \\`\n
\n

\\${file.name}

\n
\\${JSON.stringify(predictions[index], null, 2)}
\n
\n \\`).join('');\n } else {\n resultsDiv.innerHTML = 'Error processing images';\n }\n};`,\n language: 'JavaScript',\n syntax: 'javascript',\n },\n typescript: {\n template: `// This example shows how to send multiple images to the model and get predictions\n\n// Authentication headers - DO NOT SHARE these with anyone!\nconst headers = {\n{{headers}}\n};\n\n/**\n * Send multiple images to the model and get predictions\n * @param imageFiles - Array of image files to process\n * @returns Array of predictions for each image\n */\nasync function getPredictions(imageFiles: File[]): Promise {\n try {\n // Prepare form data with multiple files\n const formData = new FormData();\n imageFiles.forEach(file => {\n formData.append('files', file);\n });\n\n // Send the request\n const response = await fetch('{{url}}', {\n method: 'POST',\n headers: headers,\n body: formData\n });\n\n // Get and return the predictions\n const predictions = await response.json();\n return predictions;\n } catch (error) {\n console.error('Error:', error);\n return null;\n }\n}\n\n// Example usage with file input:\n// 1. In your HTML:\n// \n//
\n\n// 2. Handle the file selection:\nconst imageInput = document.getElementById('imageInput') as HTMLInputElement;\nconst resultsDiv = document.getElementById('results') as HTMLDivElement;\n\nimageInput.onchange = async (event: Event) => {\n const target = event.target as HTMLInputElement;\n if (target.files) {\n const imageFiles = Array.from(target.files);\n \n // Show loading state\n resultsDiv.innerHTML = 'Processing images...';\n \n // Get predictions for all images\n const predictions = await getPredictions(imageFiles);\n \n // Display results\n if (predictions) {\n resultsDiv.innerHTML = imageFiles.map((file, index) => \\`\n
\n

\\${file.name}

\n
\\${JSON.stringify(predictions[index], null, 2)}
\n
\n \\`).join('');\n } else {\n resultsDiv.innerHTML = 'Error processing images';\n }\n }\n};`,\n language: 'TypeScript',\n syntax: 'typescript',\n },\n go: {\n template: `// This example shows how to send multiple images to the model and get predictions\npackage main\n\nimport (\n \"bytes\"\n \"encoding/json\"\n \"fmt\"\n \"io\"\n \"mime/multipart\"\n \"net/http\"\n \"os\"\n \"path/filepath\"\n)\n\n// sendImages sends multiple images to the model and returns predictions\nfunc sendImages(imagePaths []string) error {\n // Create a new form file\n body := &bytes.Buffer{}\n writer := multipart.NewWriter(body)\n\n // Add all images to the form\n for _, imagePath := range imagePaths {\n file, err := os.Open(imagePath)\n if err != nil {\n return fmt.Errorf(\"error opening file %s: %v\", imagePath, err)\n }\n defer file.Close()\n\n part, err := writer.CreateFormFile(\"files\", filepath.Base(imagePath))\n if err != nil {\n return fmt.Errorf(\"error creating form file: %v\", err)\n }\n \n _, err = io.Copy(part, file)\n if err != nil {\n return fmt.Errorf(\"error copying file: %v\", err)\n }\n }\n writer.Close()\n\n // Create the request\n request, err := http.NewRequest(\"POST\", \"{{url}}\", body)\n if err != nil {\n return fmt.Errorf(\"error creating request: %v\", err)\n }\n\n // Add authentication headers - DO NOT SHARE these with anyone!\n{{headers}}\n // Set the content type\n request.Header.Set(\"Content-Type\", writer.FormDataContentType())\n\n // Send the request\n client := &http.Client{}\n response, err := client.Do(request)\n if err != nil {\n return fmt.Errorf(\"error sending request: %v\", err)\n }\n defer response.Body.Close()\n\n // Read and process the response\n var predictions []map[string]interface{}\n if err := json.NewDecoder(response.Body).Decode(&predictions); err != nil {\n return fmt.Errorf(\"error decoding response: %v\", err)\n }\n\n // Print predictions for each image\n for i, prediction := range predictions {\n fmt.Printf(\"Predictions for %s:\\\\n\", filepath.Base(imagePaths[i]))\n prettyJSON, _ := json.MarshalIndent(prediction, \"\", \" \")\n fmt.Println(string(prettyJSON))\n }\n\n return nil\n}\n\nfunc main() {\n // List of images to process\n imagePaths := []string{\n \"path/to/image1.jpg\",\n \"path/to/image2.jpg\",\n \"path/to/image3.jpg\",\n }\n\n if err := sendImages(imagePaths); err != nil {\n fmt.Printf(\"Error: %v\\\\n\", err)\n }\n}`,\n language: 'Go',\n syntax: 'go',\n },\n}\n\nfunction parseCurl(curlCommand: string): {\n url: string\n headers: Record\n isMultipart: boolean\n formData: Record\n} {\n // Extract the full URL including the protocol and domain\n const urlMatch = curlCommand.match(/POST ['\"]((https?:\\/\\/)?[^'\"]*)['\"]/)\n let url = urlMatch ? urlMatch[1] : ''\n\n // Replace development domain with production domain\n url = url.replace('dev.emeraldai-dev.com', 'go-prod.agileview-ai.com')\n\n // Ensure URL starts with https:// or http://\n const fullUrl = url.startsWith('http') ? url : `https://${url}`\n\n const headers: Record = {}\n // Updated regex to handle more header formats\n const headerPattern =\n /--header ['\"]([^:]+):\\s*([^'\"]+)['\"]|--header \"([^:]+):\\s*([^\"]+)\"|--header ['\"]([^:]+):\\s*([^'\"]+)['\"]|--header \"([^:]+):\\s*([^\"]+)\"/g\n let match\n while ((match = headerPattern.exec(curlCommand)) !== null) {\n // match groups: [full match, single quote key, value, double quote key, value, single quote key, value, double quote key, value]\n const key = match[1] || match[3] || match[5] || match[7]\n const value = match[2] || match[4] || match[6] || match[8]\n // Skip Content-Type header\n if (key && value && key !== 'Content-Type') {\n headers[key] = value\n }\n }\n\n const formData: Record = {}\n const formMatches = curlCommand.matchAll(/--form ['\"]([^=]+)=([^'\"]+)['\"]/g)\n for (const match of formMatches) {\n formData[match[1]] = match[2]\n }\n\n const isMultipart = headers['Content-Type']?.includes('multipart/form-data') || false\n\n return { url: fullUrl, headers, isMultipart, formData }\n}\n\nexport function translateCurl(curlCommand: string, targetLanguage: string): string {\n // For curl, just return the original command\n if (targetLanguage === 'curl') {\n return curlCommand\n }\n\n const template = codeTemplates[targetLanguage]\n if (!template) return curlCommand\n\n const { url, headers, isMultipart, formData } = parseCurl(curlCommand)\n const filePath = formData['files']?.replace('@', '') || '/path/to/file'\n\n // Only remove Content-Type header for multipart requests, keep all other headers\n const filteredHeaders = { ...headers }\n if (isMultipart) {\n delete filteredHeaders['Content-Type']\n }\n\n let code = template.template.replace('{{url}}', url).replace('{{file_path}}', filePath)\n\n // Format headers with proper indentation and quotes\n const headersStr = Object.entries(filteredHeaders)\n .map(([key, value]) => ` '${key}': '${value}'`)\n .join(',\\n')\n\n code = code.replace('{{headers}}', headersStr)\n\n return code\n}\n\nexport const supportedLanguages = Object.entries(codeTemplates).map(([key, value]) => ({\n value: key,\n label: value.language,\n syntax: value.syntax,\n}))\n","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nfunction _objectWithoutProperties(e, t) {\n if (null == e) return {};\n var o,\n r,\n i = objectWithoutPropertiesLoose(e, t);\n if (Object.getOwnPropertySymbols) {\n var n = Object.getOwnPropertySymbols(e);\n for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n}\nexport { _objectWithoutProperties as default };","function _arrayLikeToArray(r, a) {\n (null == a || a > r.length) && (a = r.length);\n for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];\n return n;\n}\nexport { _arrayLikeToArray as default };","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nfunction _unsupportedIterableToArray(r, a) {\n if (r) {\n if (\"string\" == typeof r) return arrayLikeToArray(r, a);\n var t = {}.toString.call(r).slice(8, -1);\n return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? arrayLikeToArray(r, a) : void 0;\n }\n}\nexport { _unsupportedIterableToArray as default };","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nfunction _toConsumableArray(r) {\n return arrayWithoutHoles(r) || iterableToArray(r) || unsupportedIterableToArray(r) || nonIterableSpread();\n}\nexport { _toConsumableArray as default };","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nfunction _arrayWithoutHoles(r) {\n if (Array.isArray(r)) return arrayLikeToArray(r);\n}\nexport { _arrayWithoutHoles as default };","function _iterableToArray(r) {\n if (\"undefined\" != typeof Symbol && null != r[Symbol.iterator] || null != r[\"@@iterator\"]) return Array.from(r);\n}\nexport { _iterableToArray as default };","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nexport { _nonIterableSpread as default };","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}\nexport { _typeof as default };","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nfunction toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nexport { toPropertyKey as default };","import _typeof from \"./typeof.js\";\nfunction toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nexport { toPrimitive as default };","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperty(e, r, t) {\n return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[r] = t, e;\n}\nexport { _defineProperty as default };","import _extends from \"@babel/runtime/helpers/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nimport React from 'react';\n\n// Get all possible permutations of all power sets\n//\n// Super simple, non-algorithmic solution since the\n// number of class names will not be greater than 4\nfunction powerSetPermutations(arr) {\n var arrLength = arr.length;\n if (arrLength === 0 || arrLength === 1) return arr;\n if (arrLength === 2) {\n // prettier-ignore\n return [arr[0], arr[1], \"\".concat(arr[0], \".\").concat(arr[1]), \"\".concat(arr[1], \".\").concat(arr[0])];\n }\n if (arrLength === 3) {\n return [arr[0], arr[1], arr[2], \"\".concat(arr[0], \".\").concat(arr[1]), \"\".concat(arr[0], \".\").concat(arr[2]), \"\".concat(arr[1], \".\").concat(arr[0]), \"\".concat(arr[1], \".\").concat(arr[2]), \"\".concat(arr[2], \".\").concat(arr[0]), \"\".concat(arr[2], \".\").concat(arr[1]), \"\".concat(arr[0], \".\").concat(arr[1], \".\").concat(arr[2]), \"\".concat(arr[0], \".\").concat(arr[2], \".\").concat(arr[1]), \"\".concat(arr[1], \".\").concat(arr[0], \".\").concat(arr[2]), \"\".concat(arr[1], \".\").concat(arr[2], \".\").concat(arr[0]), \"\".concat(arr[2], \".\").concat(arr[0], \".\").concat(arr[1]), \"\".concat(arr[2], \".\").concat(arr[1], \".\").concat(arr[0])];\n }\n if (arrLength >= 4) {\n // Currently does not support more than 4 extra\n // class names (after `.token` has been removed)\n return [arr[0], arr[1], arr[2], arr[3], \"\".concat(arr[0], \".\").concat(arr[1]), \"\".concat(arr[0], \".\").concat(arr[2]), \"\".concat(arr[0], \".\").concat(arr[3]), \"\".concat(arr[1], \".\").concat(arr[0]), \"\".concat(arr[1], \".\").concat(arr[2]), \"\".concat(arr[1], \".\").concat(arr[3]), \"\".concat(arr[2], \".\").concat(arr[0]), \"\".concat(arr[2], \".\").concat(arr[1]), \"\".concat(arr[2], \".\").concat(arr[3]), \"\".concat(arr[3], \".\").concat(arr[0]), \"\".concat(arr[3], \".\").concat(arr[1]), \"\".concat(arr[3], \".\").concat(arr[2]), \"\".concat(arr[0], \".\").concat(arr[1], \".\").concat(arr[2]), \"\".concat(arr[0], \".\").concat(arr[1], \".\").concat(arr[3]), \"\".concat(arr[0], \".\").concat(arr[2], \".\").concat(arr[1]), \"\".concat(arr[0], \".\").concat(arr[2], \".\").concat(arr[3]), \"\".concat(arr[0], \".\").concat(arr[3], \".\").concat(arr[1]), \"\".concat(arr[0], \".\").concat(arr[3], \".\").concat(arr[2]), \"\".concat(arr[1], \".\").concat(arr[0], \".\").concat(arr[2]), \"\".concat(arr[1], \".\").concat(arr[0], \".\").concat(arr[3]), \"\".concat(arr[1], \".\").concat(arr[2], \".\").concat(arr[0]), \"\".concat(arr[1], \".\").concat(arr[2], \".\").concat(arr[3]), \"\".concat(arr[1], \".\").concat(arr[3], \".\").concat(arr[0]), \"\".concat(arr[1], \".\").concat(arr[3], \".\").concat(arr[2]), \"\".concat(arr[2], \".\").concat(arr[0], \".\").concat(arr[1]), \"\".concat(arr[2], \".\").concat(arr[0], \".\").concat(arr[3]), \"\".concat(arr[2], \".\").concat(arr[1], \".\").concat(arr[0]), \"\".concat(arr[2], \".\").concat(arr[1], \".\").concat(arr[3]), \"\".concat(arr[2], \".\").concat(arr[3], \".\").concat(arr[0]), \"\".concat(arr[2], \".\").concat(arr[3], \".\").concat(arr[1]), \"\".concat(arr[3], \".\").concat(arr[0], \".\").concat(arr[1]), \"\".concat(arr[3], \".\").concat(arr[0], \".\").concat(arr[2]), \"\".concat(arr[3], \".\").concat(arr[1], \".\").concat(arr[0]), \"\".concat(arr[3], \".\").concat(arr[1], \".\").concat(arr[2]), \"\".concat(arr[3], \".\").concat(arr[2], \".\").concat(arr[0]), \"\".concat(arr[3], \".\").concat(arr[2], \".\").concat(arr[1]), \"\".concat(arr[0], \".\").concat(arr[1], \".\").concat(arr[2], \".\").concat(arr[3]), \"\".concat(arr[0], \".\").concat(arr[1], \".\").concat(arr[3], \".\").concat(arr[2]), \"\".concat(arr[0], \".\").concat(arr[2], \".\").concat(arr[1], \".\").concat(arr[3]), \"\".concat(arr[0], \".\").concat(arr[2], \".\").concat(arr[3], \".\").concat(arr[1]), \"\".concat(arr[0], \".\").concat(arr[3], \".\").concat(arr[1], \".\").concat(arr[2]), \"\".concat(arr[0], \".\").concat(arr[3], \".\").concat(arr[2], \".\").concat(arr[1]), \"\".concat(arr[1], \".\").concat(arr[0], \".\").concat(arr[2], \".\").concat(arr[3]), \"\".concat(arr[1], \".\").concat(arr[0], \".\").concat(arr[3], \".\").concat(arr[2]), \"\".concat(arr[1], \".\").concat(arr[2], \".\").concat(arr[0], \".\").concat(arr[3]), \"\".concat(arr[1], \".\").concat(arr[2], \".\").concat(arr[3], \".\").concat(arr[0]), \"\".concat(arr[1], \".\").concat(arr[3], \".\").concat(arr[0], \".\").concat(arr[2]), \"\".concat(arr[1], \".\").concat(arr[3], \".\").concat(arr[2], \".\").concat(arr[0]), \"\".concat(arr[2], \".\").concat(arr[0], \".\").concat(arr[1], \".\").concat(arr[3]), \"\".concat(arr[2], \".\").concat(arr[0], \".\").concat(arr[3], \".\").concat(arr[1]), \"\".concat(arr[2], \".\").concat(arr[1], \".\").concat(arr[0], \".\").concat(arr[3]), \"\".concat(arr[2], \".\").concat(arr[1], \".\").concat(arr[3], \".\").concat(arr[0]), \"\".concat(arr[2], \".\").concat(arr[3], \".\").concat(arr[0], \".\").concat(arr[1]), \"\".concat(arr[2], \".\").concat(arr[3], \".\").concat(arr[1], \".\").concat(arr[0]), \"\".concat(arr[3], \".\").concat(arr[0], \".\").concat(arr[1], \".\").concat(arr[2]), \"\".concat(arr[3], \".\").concat(arr[0], \".\").concat(arr[2], \".\").concat(arr[1]), \"\".concat(arr[3], \".\").concat(arr[1], \".\").concat(arr[0], \".\").concat(arr[2]), \"\".concat(arr[3], \".\").concat(arr[1], \".\").concat(arr[2], \".\").concat(arr[0]), \"\".concat(arr[3], \".\").concat(arr[2], \".\").concat(arr[0], \".\").concat(arr[1]), \"\".concat(arr[3], \".\").concat(arr[2], \".\").concat(arr[1], \".\").concat(arr[0])];\n }\n}\nvar classNameCombinations = {};\nfunction getClassNameCombinations(classNames) {\n if (classNames.length === 0 || classNames.length === 1) return classNames;\n var key = classNames.join('.');\n if (!classNameCombinations[key]) {\n classNameCombinations[key] = powerSetPermutations(classNames);\n }\n return classNameCombinations[key];\n}\nexport function createStyleObject(classNames) {\n var elementStyle = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var stylesheet = arguments.length > 2 ? arguments[2] : undefined;\n var nonTokenClassNames = classNames.filter(function (className) {\n return className !== 'token';\n });\n var classNamesCombinations = getClassNameCombinations(nonTokenClassNames);\n return classNamesCombinations.reduce(function (styleObject, className) {\n return _objectSpread(_objectSpread({}, styleObject), stylesheet[className]);\n }, elementStyle);\n}\nexport function createClassNameString(classNames) {\n return classNames.join(' ');\n}\nexport function createChildren(stylesheet, useInlineStyles) {\n var childrenCount = 0;\n return function (children) {\n childrenCount += 1;\n return children.map(function (child, i) {\n return createElement({\n node: child,\n stylesheet: stylesheet,\n useInlineStyles: useInlineStyles,\n key: \"code-segment-\".concat(childrenCount, \"-\").concat(i)\n });\n });\n };\n}\nexport default function createElement(_ref) {\n var node = _ref.node,\n stylesheet = _ref.stylesheet,\n _ref$style = _ref.style,\n style = _ref$style === void 0 ? {} : _ref$style,\n useInlineStyles = _ref.useInlineStyles,\n key = _ref.key;\n var properties = node.properties,\n type = node.type,\n TagName = node.tagName,\n value = node.value;\n if (type === 'text') {\n return value;\n } else if (TagName) {\n var childrenCreator = createChildren(stylesheet, useInlineStyles);\n var props;\n if (!useInlineStyles) {\n props = _objectSpread(_objectSpread({}, properties), {}, {\n className: createClassNameString(properties.className)\n });\n } else {\n var allStylesheetSelectors = Object.keys(stylesheet).reduce(function (classes, selector) {\n selector.split('.').forEach(function (className) {\n if (!classes.includes(className)) classes.push(className);\n });\n return classes;\n }, []);\n\n // For compatibility with older versions of react-syntax-highlighter\n var startingClassName = properties.className && properties.className.includes('token') ? ['token'] : [];\n var className = properties.className && startingClassName.concat(properties.className.filter(function (className) {\n return !allStylesheetSelectors.includes(className);\n }));\n props = _objectSpread(_objectSpread({}, properties), {}, {\n className: createClassNameString(className) || undefined,\n style: createStyleObject(properties.className, Object.assign({}, properties.style, style), stylesheet)\n });\n }\n var children = childrenCreator(node.children);\n return /*#__PURE__*/React.createElement(TagName, _extends({\n key: key\n }, props), children);\n }\n}","import _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nimport _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nvar _excluded = [\"language\", \"children\", \"style\", \"customStyle\", \"codeTagProps\", \"useInlineStyles\", \"showLineNumbers\", \"showInlineLineNumbers\", \"startingLineNumber\", \"lineNumberContainerStyle\", \"lineNumberStyle\", \"wrapLines\", \"wrapLongLines\", \"lineProps\", \"renderer\", \"PreTag\", \"CodeTag\", \"code\", \"astGenerator\"];\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nimport React from 'react';\nimport createElement from './create-element';\nimport checkForListedLanguage from './checkForListedLanguage';\nvar newLineRegex = /\\n/g;\nfunction getNewLines(str) {\n return str.match(newLineRegex);\n}\nfunction getAllLineNumbers(_ref) {\n var lines = _ref.lines,\n startingLineNumber = _ref.startingLineNumber,\n style = _ref.style;\n return lines.map(function (_, i) {\n var number = i + startingLineNumber;\n return /*#__PURE__*/React.createElement(\"span\", {\n key: \"line-\".concat(i),\n className: \"react-syntax-highlighter-line-number\",\n style: typeof style === 'function' ? style(number) : style\n }, \"\".concat(number, \"\\n\"));\n });\n}\nfunction AllLineNumbers(_ref2) {\n var codeString = _ref2.codeString,\n codeStyle = _ref2.codeStyle,\n _ref2$containerStyle = _ref2.containerStyle,\n containerStyle = _ref2$containerStyle === void 0 ? {\n \"float\": 'left',\n paddingRight: '10px'\n } : _ref2$containerStyle,\n _ref2$numberStyle = _ref2.numberStyle,\n numberStyle = _ref2$numberStyle === void 0 ? {} : _ref2$numberStyle,\n startingLineNumber = _ref2.startingLineNumber;\n return /*#__PURE__*/React.createElement(\"code\", {\n style: Object.assign({}, codeStyle, containerStyle)\n }, getAllLineNumbers({\n lines: codeString.replace(/\\n$/, '').split('\\n'),\n style: numberStyle,\n startingLineNumber: startingLineNumber\n }));\n}\nfunction getEmWidthOfNumber(num) {\n return \"\".concat(num.toString().length, \".25em\");\n}\nfunction getInlineLineNumber(lineNumber, inlineLineNumberStyle) {\n return {\n type: 'element',\n tagName: 'span',\n properties: {\n key: \"line-number--\".concat(lineNumber),\n className: ['comment', 'linenumber', 'react-syntax-highlighter-line-number'],\n style: inlineLineNumberStyle\n },\n children: [{\n type: 'text',\n value: lineNumber\n }]\n };\n}\nfunction assembleLineNumberStyles(lineNumberStyle, lineNumber, largestLineNumber) {\n // minimally necessary styling for line numbers\n var defaultLineNumberStyle = {\n display: 'inline-block',\n minWidth: getEmWidthOfNumber(largestLineNumber),\n paddingRight: '1em',\n textAlign: 'right',\n userSelect: 'none'\n };\n // prep custom styling\n var customLineNumberStyle = typeof lineNumberStyle === 'function' ? lineNumberStyle(lineNumber) : lineNumberStyle;\n // combine\n var assembledStyle = _objectSpread(_objectSpread({}, defaultLineNumberStyle), customLineNumberStyle);\n return assembledStyle;\n}\nfunction createLineElement(_ref3) {\n var children = _ref3.children,\n lineNumber = _ref3.lineNumber,\n lineNumberStyle = _ref3.lineNumberStyle,\n largestLineNumber = _ref3.largestLineNumber,\n showInlineLineNumbers = _ref3.showInlineLineNumbers,\n _ref3$lineProps = _ref3.lineProps,\n lineProps = _ref3$lineProps === void 0 ? {} : _ref3$lineProps,\n _ref3$className = _ref3.className,\n className = _ref3$className === void 0 ? [] : _ref3$className,\n showLineNumbers = _ref3.showLineNumbers,\n wrapLongLines = _ref3.wrapLongLines,\n _ref3$wrapLines = _ref3.wrapLines,\n wrapLines = _ref3$wrapLines === void 0 ? false : _ref3$wrapLines;\n var properties = wrapLines ? _objectSpread({}, typeof lineProps === 'function' ? lineProps(lineNumber) : lineProps) : {};\n properties['className'] = properties['className'] ? [].concat(_toConsumableArray(properties['className'].trim().split(/\\s+/)), _toConsumableArray(className)) : className;\n if (lineNumber && showInlineLineNumbers) {\n var inlineLineNumberStyle = assembleLineNumberStyles(lineNumberStyle, lineNumber, largestLineNumber);\n children.unshift(getInlineLineNumber(lineNumber, inlineLineNumberStyle));\n }\n if (wrapLongLines & showLineNumbers) {\n properties.style = _objectSpread({\n display: 'flex'\n }, properties.style);\n }\n return {\n type: 'element',\n tagName: 'span',\n properties: properties,\n children: children\n };\n}\nfunction flattenCodeTree(tree) {\n var className = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n var newTree = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];\n for (var i = 0; i < tree.length; i++) {\n var node = tree[i];\n if (node.type === 'text') {\n newTree.push(createLineElement({\n children: [node],\n className: _toConsumableArray(new Set(className))\n }));\n } else if (node.children) {\n var classNames = className.concat(node.properties.className);\n flattenCodeTree(node.children, classNames).forEach(function (i) {\n return newTree.push(i);\n });\n }\n }\n return newTree;\n}\nfunction processLines(codeTree, wrapLines, lineProps, showLineNumbers, showInlineLineNumbers, startingLineNumber, largestLineNumber, lineNumberStyle, wrapLongLines) {\n var _ref4;\n var tree = flattenCodeTree(codeTree.value);\n var newTree = [];\n var lastLineBreakIndex = -1;\n var index = 0;\n function createWrappedLine(children, lineNumber) {\n var className = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];\n return createLineElement({\n children: children,\n lineNumber: lineNumber,\n lineNumberStyle: lineNumberStyle,\n largestLineNumber: largestLineNumber,\n showInlineLineNumbers: showInlineLineNumbers,\n lineProps: lineProps,\n className: className,\n showLineNumbers: showLineNumbers,\n wrapLongLines: wrapLongLines,\n wrapLines: wrapLines\n });\n }\n function createUnwrappedLine(children, lineNumber) {\n if (showLineNumbers && lineNumber && showInlineLineNumbers) {\n var inlineLineNumberStyle = assembleLineNumberStyles(lineNumberStyle, lineNumber, largestLineNumber);\n children.unshift(getInlineLineNumber(lineNumber, inlineLineNumberStyle));\n }\n return children;\n }\n function createLine(children, lineNumber) {\n var className = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];\n return wrapLines || className.length > 0 ? createWrappedLine(children, lineNumber, className) : createUnwrappedLine(children, lineNumber);\n }\n var _loop = function _loop() {\n var node = tree[index];\n var value = node.children[0].value;\n var newLines = getNewLines(value);\n if (newLines) {\n var splitValue = value.split('\\n');\n splitValue.forEach(function (text, i) {\n var lineNumber = showLineNumbers && newTree.length + startingLineNumber;\n var newChild = {\n type: 'text',\n value: \"\".concat(text, \"\\n\")\n };\n\n // if it's the first line\n if (i === 0) {\n var _children = tree.slice(lastLineBreakIndex + 1, index).concat(createLineElement({\n children: [newChild],\n className: node.properties.className\n }));\n var _line = createLine(_children, lineNumber);\n newTree.push(_line);\n\n // if it's the last line\n } else if (i === splitValue.length - 1) {\n var stringChild = tree[index + 1] && tree[index + 1].children && tree[index + 1].children[0];\n var lastLineInPreviousSpan = {\n type: 'text',\n value: \"\".concat(text)\n };\n if (stringChild) {\n var newElem = createLineElement({\n children: [lastLineInPreviousSpan],\n className: node.properties.className\n });\n tree.splice(index + 1, 0, newElem);\n } else {\n var _children2 = [lastLineInPreviousSpan];\n var _line2 = createLine(_children2, lineNumber, node.properties.className);\n newTree.push(_line2);\n }\n\n // if it's neither the first nor the last line\n } else {\n var _children3 = [newChild];\n var _line3 = createLine(_children3, lineNumber, node.properties.className);\n newTree.push(_line3);\n }\n });\n lastLineBreakIndex = index;\n }\n index++;\n };\n while (index < tree.length) {\n _loop();\n }\n if (lastLineBreakIndex !== tree.length - 1) {\n var children = tree.slice(lastLineBreakIndex + 1, tree.length);\n if (children && children.length) {\n var lineNumber = showLineNumbers && newTree.length + startingLineNumber;\n var line = createLine(children, lineNumber);\n newTree.push(line);\n }\n }\n return wrapLines ? newTree : (_ref4 = []).concat.apply(_ref4, newTree);\n}\nfunction defaultRenderer(_ref5) {\n var rows = _ref5.rows,\n stylesheet = _ref5.stylesheet,\n useInlineStyles = _ref5.useInlineStyles;\n return rows.map(function (node, i) {\n return createElement({\n node: node,\n stylesheet: stylesheet,\n useInlineStyles: useInlineStyles,\n key: \"code-segement\".concat(i)\n });\n });\n}\n\n// only highlight.js has the highlightAuto method\nfunction isHighlightJs(astGenerator) {\n return astGenerator && typeof astGenerator.highlightAuto !== 'undefined';\n}\nfunction getCodeTree(_ref6) {\n var astGenerator = _ref6.astGenerator,\n language = _ref6.language,\n code = _ref6.code,\n defaultCodeValue = _ref6.defaultCodeValue;\n // figure out whether we're using lowlight/highlight or refractor/prism\n // then attempt highlighting accordingly\n\n // lowlight/highlight?\n if (isHighlightJs(astGenerator)) {\n var hasLanguage = checkForListedLanguage(astGenerator, language);\n if (language === 'text') {\n return {\n value: defaultCodeValue,\n language: 'text'\n };\n } else if (hasLanguage) {\n return astGenerator.highlight(language, code);\n } else {\n return astGenerator.highlightAuto(code);\n }\n }\n\n // must be refractor/prism, then\n try {\n return language && language !== 'text' ? {\n value: astGenerator.highlight(code, language)\n } : {\n value: defaultCodeValue\n };\n } catch (e) {\n return {\n value: defaultCodeValue\n };\n }\n}\nexport default function (defaultAstGenerator, defaultStyle) {\n return function SyntaxHighlighter(_ref7) {\n var language = _ref7.language,\n children = _ref7.children,\n _ref7$style = _ref7.style,\n style = _ref7$style === void 0 ? defaultStyle : _ref7$style,\n _ref7$customStyle = _ref7.customStyle,\n customStyle = _ref7$customStyle === void 0 ? {} : _ref7$customStyle,\n _ref7$codeTagProps = _ref7.codeTagProps,\n codeTagProps = _ref7$codeTagProps === void 0 ? {\n className: language ? \"language-\".concat(language) : undefined,\n style: _objectSpread(_objectSpread({}, style['code[class*=\"language-\"]']), style[\"code[class*=\\\"language-\".concat(language, \"\\\"]\")])\n } : _ref7$codeTagProps,\n _ref7$useInlineStyles = _ref7.useInlineStyles,\n useInlineStyles = _ref7$useInlineStyles === void 0 ? true : _ref7$useInlineStyles,\n _ref7$showLineNumbers = _ref7.showLineNumbers,\n showLineNumbers = _ref7$showLineNumbers === void 0 ? false : _ref7$showLineNumbers,\n _ref7$showInlineLineN = _ref7.showInlineLineNumbers,\n showInlineLineNumbers = _ref7$showInlineLineN === void 0 ? true : _ref7$showInlineLineN,\n _ref7$startingLineNum = _ref7.startingLineNumber,\n startingLineNumber = _ref7$startingLineNum === void 0 ? 1 : _ref7$startingLineNum,\n lineNumberContainerStyle = _ref7.lineNumberContainerStyle,\n _ref7$lineNumberStyle = _ref7.lineNumberStyle,\n lineNumberStyle = _ref7$lineNumberStyle === void 0 ? {} : _ref7$lineNumberStyle,\n wrapLines = _ref7.wrapLines,\n _ref7$wrapLongLines = _ref7.wrapLongLines,\n wrapLongLines = _ref7$wrapLongLines === void 0 ? false : _ref7$wrapLongLines,\n _ref7$lineProps = _ref7.lineProps,\n lineProps = _ref7$lineProps === void 0 ? {} : _ref7$lineProps,\n renderer = _ref7.renderer,\n _ref7$PreTag = _ref7.PreTag,\n PreTag = _ref7$PreTag === void 0 ? 'pre' : _ref7$PreTag,\n _ref7$CodeTag = _ref7.CodeTag,\n CodeTag = _ref7$CodeTag === void 0 ? 'code' : _ref7$CodeTag,\n _ref7$code = _ref7.code,\n code = _ref7$code === void 0 ? (Array.isArray(children) ? children[0] : children) || '' : _ref7$code,\n astGenerator = _ref7.astGenerator,\n rest = _objectWithoutProperties(_ref7, _excluded);\n astGenerator = astGenerator || defaultAstGenerator;\n var allLineNumbers = showLineNumbers ? /*#__PURE__*/React.createElement(AllLineNumbers, {\n containerStyle: lineNumberContainerStyle,\n codeStyle: codeTagProps.style || {},\n numberStyle: lineNumberStyle,\n startingLineNumber: startingLineNumber,\n codeString: code\n }) : null;\n var defaultPreStyle = style.hljs || style['pre[class*=\"language-\"]'] || {\n backgroundColor: '#fff'\n };\n var generatorClassName = isHighlightJs(astGenerator) ? 'hljs' : 'prismjs';\n var preProps = useInlineStyles ? Object.assign({}, rest, {\n style: Object.assign({}, defaultPreStyle, customStyle)\n }) : Object.assign({}, rest, {\n className: rest.className ? \"\".concat(generatorClassName, \" \").concat(rest.className) : generatorClassName,\n style: Object.assign({}, customStyle)\n });\n if (wrapLongLines) {\n codeTagProps.style = _objectSpread({\n whiteSpace: 'pre-wrap'\n }, codeTagProps.style);\n } else {\n codeTagProps.style = _objectSpread({\n whiteSpace: 'pre'\n }, codeTagProps.style);\n }\n if (!astGenerator) {\n return /*#__PURE__*/React.createElement(PreTag, preProps, allLineNumbers, /*#__PURE__*/React.createElement(CodeTag, codeTagProps, code));\n }\n\n /*\n * Some custom renderers rely on individual row elements so we need to turn wrapLines on\n * if renderer is provided and wrapLines is undefined.\n */\n if (wrapLines === undefined && renderer || wrapLongLines) wrapLines = true;\n renderer = renderer || defaultRenderer;\n var defaultCodeValue = [{\n type: 'text',\n value: code\n }];\n var codeTree = getCodeTree({\n astGenerator: astGenerator,\n language: language,\n code: code,\n defaultCodeValue: defaultCodeValue\n });\n if (codeTree.language === null) {\n codeTree.value = defaultCodeValue;\n }\n\n // determine largest line number so that we can force minWidth on all linenumber elements\n var lineCount = codeTree.value.length;\n if (lineCount === 1 && codeTree.value[0].type === 'text') {\n // Since codeTree for an unparsable text (e.g. 'a\\na\\na') is [{ type: 'text', value: 'a\\na\\na' }]\n lineCount = codeTree.value[0].value.split('\\n').length;\n }\n var largestLineNumber = lineCount + startingLineNumber;\n var rows = processLines(codeTree, wrapLines, lineProps, showLineNumbers, showInlineLineNumbers, startingLineNumber, largestLineNumber, lineNumberStyle, wrapLongLines);\n return /*#__PURE__*/React.createElement(PreTag, preProps, /*#__PURE__*/React.createElement(CodeTag, codeTagProps, !showInlineLineNumbers && allLineNumbers, renderer({\n rows: rows,\n stylesheet: style,\n useInlineStyles: useInlineStyles\n })));\n };\n}","import highlight from './highlight';\nimport defaultStyle from './styles/hljs/default-style';\nimport lowlight from 'lowlight';\nimport supportedLanguages from './languages/hljs/supported-languages';\nvar highlighter = highlight(lowlight, defaultStyle);\nhighlighter.supportedLanguages = supportedLanguages;\nexport default highlighter;","export default {\n \"hljs\": {\n \"display\": \"block\",\n \"overflowX\": \"auto\",\n \"padding\": \"0.5em\",\n \"background\": \"#F0F0F0\",\n \"color\": \"#444\"\n },\n \"hljs-subst\": {\n \"color\": \"#444\"\n },\n \"hljs-comment\": {\n \"color\": \"#888888\"\n },\n \"hljs-keyword\": {\n \"fontWeight\": \"bold\"\n },\n \"hljs-attribute\": {\n \"fontWeight\": \"bold\"\n },\n \"hljs-selector-tag\": {\n \"fontWeight\": \"bold\"\n },\n \"hljs-meta-keyword\": {\n \"fontWeight\": \"bold\"\n },\n \"hljs-doctag\": {\n \"fontWeight\": \"bold\"\n },\n \"hljs-name\": {\n \"fontWeight\": \"bold\"\n },\n \"hljs-type\": {\n \"color\": \"#880000\"\n },\n \"hljs-string\": {\n \"color\": \"#880000\"\n },\n \"hljs-number\": {\n \"color\": \"#880000\"\n },\n \"hljs-selector-id\": {\n \"color\": \"#880000\"\n },\n \"hljs-selector-class\": {\n \"color\": \"#880000\"\n },\n \"hljs-quote\": {\n \"color\": \"#880000\"\n },\n \"hljs-template-tag\": {\n \"color\": \"#880000\"\n },\n \"hljs-deletion\": {\n \"color\": \"#880000\"\n },\n \"hljs-title\": {\n \"color\": \"#880000\",\n \"fontWeight\": \"bold\"\n },\n \"hljs-section\": {\n \"color\": \"#880000\",\n \"fontWeight\": \"bold\"\n },\n \"hljs-regexp\": {\n \"color\": \"#BC6060\"\n },\n \"hljs-symbol\": {\n \"color\": \"#BC6060\"\n },\n \"hljs-variable\": {\n \"color\": \"#BC6060\"\n },\n \"hljs-template-variable\": {\n \"color\": \"#BC6060\"\n },\n \"hljs-link\": {\n \"color\": \"#BC6060\"\n },\n \"hljs-selector-attr\": {\n \"color\": \"#BC6060\"\n },\n \"hljs-selector-pseudo\": {\n \"color\": \"#BC6060\"\n },\n \"hljs-literal\": {\n \"color\": \"#78A960\"\n },\n \"hljs-built_in\": {\n \"color\": \"#397300\"\n },\n \"hljs-bullet\": {\n \"color\": \"#397300\"\n },\n \"hljs-code\": {\n \"color\": \"#397300\"\n },\n \"hljs-addition\": {\n \"color\": \"#397300\"\n },\n \"hljs-meta\": {\n \"color\": \"#1f7199\"\n },\n \"hljs-meta-string\": {\n \"color\": \"#4d99bf\"\n },\n \"hljs-emphasis\": {\n \"fontStyle\": \"italic\"\n },\n \"hljs-strong\": {\n \"fontWeight\": \"bold\"\n }\n};","export default (function (astGenerator, language) {\n var langs = astGenerator.listLanguages();\n return langs.indexOf(language) !== -1;\n});","//\n// This file has been auto-generated by the `npm run build-languages-hljs` task\n//\n\nexport default ['1c', 'abnf', 'accesslog', 'actionscript', 'ada', 'angelscript', 'apache', 'applescript', 'arcade', 'arduino', 'armasm', 'asciidoc', 'aspectj', 'autohotkey', 'autoit', 'avrasm', 'awk', 'axapta', 'bash', 'basic', 'bnf', 'brainfuck', 'c-like', 'c', 'cal', 'capnproto', 'ceylon', 'clean', 'clojure-repl', 'clojure', 'cmake', 'coffeescript', 'coq', 'cos', 'cpp', 'crmsh', 'crystal', 'csharp', 'csp', 'css', 'd', 'dart', 'delphi', 'diff', 'django', 'dns', 'dockerfile', 'dos', 'dsconfig', 'dts', 'dust', 'ebnf', 'elixir', 'elm', 'erb', 'erlang-repl', 'erlang', 'excel', 'fix', 'flix', 'fortran', 'fsharp', 'gams', 'gauss', 'gcode', 'gherkin', 'glsl', 'gml', 'go', 'golo', 'gradle', 'groovy', 'haml', 'handlebars', 'haskell', 'haxe', 'hsp', 'htmlbars', 'http', 'hy', 'inform7', 'ini', 'irpf90', 'isbl', 'java', 'javascript', 'jboss-cli', 'json', 'julia-repl', 'julia', 'kotlin', 'lasso', 'latex', 'ldif', 'leaf', 'less', 'lisp', 'livecodeserver', 'livescript', 'llvm', 'lsl', 'lua', 'makefile', 'markdown', 'mathematica', 'matlab', 'maxima', 'mel', 'mercury', 'mipsasm', 'mizar', 'mojolicious', 'monkey', 'moonscript', 'n1ql', 'nginx', 'nim', 'nix', 'node-repl', 'nsis', 'objectivec', 'ocaml', 'openscad', 'oxygene', 'parser3', 'perl', 'pf', 'pgsql', 'php-template', 'php', 'plaintext', 'pony', 'powershell', 'processing', 'profile', 'prolog', 'properties', 'protobuf', 'puppet', 'purebasic', 'python-repl', 'python', 'q', 'qml', 'r', 'reasonml', 'rib', 'roboconf', 'routeros', 'rsl', 'ruby', 'ruleslanguage', 'rust', 'sas', 'scala', 'scheme', 'scilab', 'scss', 'shell', 'smali', 'smalltalk', 'sml', 'sqf', 'sql', 'sql_more', 'stan', 'stata', 'step21', 'stylus', 'subunit', 'swift', 'taggerscript', 'tap', 'tcl', 'thrift', 'tp', 'twig', 'typescript', 'vala', 'vbnet', 'vbscript-html', 'vbscript', 'verilog', 'vhdl', 'vim', 'x86asm', 'xl', 'xml', 'xquery', 'yaml', 'zephir'];","import defineProperty from \"./defineProperty.js\";\nfunction ownKeys(e, r) {\n var t = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r && (o = o.filter(function (r) {\n return Object.getOwnPropertyDescriptor(e, r).enumerable;\n })), t.push.apply(t, o);\n }\n return t;\n}\nfunction _objectSpread2(e) {\n for (var r = 1; r < arguments.length; r++) {\n var t = null != arguments[r] ? arguments[r] : {};\n r % 2 ? ownKeys(Object(t), !0).forEach(function (r) {\n defineProperty(e, r, t[r]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {\n Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));\n });\n }\n return e;\n}\nexport { _objectSpread2 as default };","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nfunction _slicedToArray(r, e) {\n return arrayWithHoles(r) || iterableToArrayLimit(r, e) || unsupportedIterableToArray(r, e) || nonIterableRest();\n}\nexport { _slicedToArray as default };","function _arrayWithHoles(r) {\n if (Array.isArray(r)) return r;\n}\nexport { _arrayWithHoles as default };","function _iterableToArrayLimit(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = !0,\n o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\n }\n}\nexport { _iterableToArrayLimit as default };","function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nexport { _nonIterableRest as default };","import _objectSpread from '@babel/runtime/helpers/esm/objectSpread2';\nimport _slicedToArray from '@babel/runtime/helpers/esm/slicedToArray';\nimport _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';\nimport { useState, useCallback } from 'react';\n\nvar _excluded = [\"defaultInputValue\", \"defaultMenuIsOpen\", \"defaultValue\", \"inputValue\", \"menuIsOpen\", \"onChange\", \"onInputChange\", \"onMenuClose\", \"onMenuOpen\", \"value\"];\nfunction useStateManager(_ref) {\n var _ref$defaultInputValu = _ref.defaultInputValue,\n defaultInputValue = _ref$defaultInputValu === void 0 ? '' : _ref$defaultInputValu,\n _ref$defaultMenuIsOpe = _ref.defaultMenuIsOpen,\n defaultMenuIsOpen = _ref$defaultMenuIsOpe === void 0 ? false : _ref$defaultMenuIsOpe,\n _ref$defaultValue = _ref.defaultValue,\n defaultValue = _ref$defaultValue === void 0 ? null : _ref$defaultValue,\n propsInputValue = _ref.inputValue,\n propsMenuIsOpen = _ref.menuIsOpen,\n propsOnChange = _ref.onChange,\n propsOnInputChange = _ref.onInputChange,\n propsOnMenuClose = _ref.onMenuClose,\n propsOnMenuOpen = _ref.onMenuOpen,\n propsValue = _ref.value,\n restSelectProps = _objectWithoutProperties(_ref, _excluded);\n var _useState = useState(propsInputValue !== undefined ? propsInputValue : defaultInputValue),\n _useState2 = _slicedToArray(_useState, 2),\n stateInputValue = _useState2[0],\n setStateInputValue = _useState2[1];\n var _useState3 = useState(propsMenuIsOpen !== undefined ? propsMenuIsOpen : defaultMenuIsOpen),\n _useState4 = _slicedToArray(_useState3, 2),\n stateMenuIsOpen = _useState4[0],\n setStateMenuIsOpen = _useState4[1];\n var _useState5 = useState(propsValue !== undefined ? propsValue : defaultValue),\n _useState6 = _slicedToArray(_useState5, 2),\n stateValue = _useState6[0],\n setStateValue = _useState6[1];\n var onChange = useCallback(function (value, actionMeta) {\n if (typeof propsOnChange === 'function') {\n propsOnChange(value, actionMeta);\n }\n setStateValue(value);\n }, [propsOnChange]);\n var onInputChange = useCallback(function (value, actionMeta) {\n var newValue;\n if (typeof propsOnInputChange === 'function') {\n newValue = propsOnInputChange(value, actionMeta);\n }\n setStateInputValue(newValue !== undefined ? newValue : value);\n }, [propsOnInputChange]);\n var onMenuOpen = useCallback(function () {\n if (typeof propsOnMenuOpen === 'function') {\n propsOnMenuOpen();\n }\n setStateMenuIsOpen(true);\n }, [propsOnMenuOpen]);\n var onMenuClose = useCallback(function () {\n if (typeof propsOnMenuClose === 'function') {\n propsOnMenuClose();\n }\n setStateMenuIsOpen(false);\n }, [propsOnMenuClose]);\n var inputValue = propsInputValue !== undefined ? propsInputValue : stateInputValue;\n var menuIsOpen = propsMenuIsOpen !== undefined ? propsMenuIsOpen : stateMenuIsOpen;\n var value = propsValue !== undefined ? propsValue : stateValue;\n return _objectSpread(_objectSpread({}, restSelectProps), {}, {\n inputValue: inputValue,\n menuIsOpen: menuIsOpen,\n onChange: onChange,\n onInputChange: onInputChange,\n onMenuClose: onMenuClose,\n onMenuOpen: onMenuOpen,\n value: value\n });\n}\n\nexport { useStateManager as u };\n","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperties(e, r) {\n for (var t = 0; t < r.length; t++) {\n var o = r[t];\n o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, toPropertyKey(o.key), o);\n }\n}\nfunction _createClass(e, r, t) {\n return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", {\n writable: !1\n }), e;\n}\nexport { _createClass as default };","function _getPrototypeOf(t) {\n return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) {\n return t.__proto__ || Object.getPrototypeOf(t);\n }, _getPrototypeOf(t);\n}\nexport { _getPrototypeOf as default };","function _isNativeReflectConstruct() {\n try {\n var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n } catch (t) {}\n return (_isNativeReflectConstruct = function _isNativeReflectConstruct() {\n return !!t;\n })();\n}\nexport { _isNativeReflectConstruct as default };","import _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nfunction _possibleConstructorReturn(t, e) {\n if (e && (\"object\" == _typeof(e) || \"function\" == typeof e)) return e;\n if (void 0 !== e) throw new TypeError(\"Derived constructors may only return object or undefined\");\n return assertThisInitialized(t);\n}\nexport { _possibleConstructorReturn as default };","function _assertThisInitialized(e) {\n if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n return e;\n}\nexport { _assertThisInitialized as default };","var isDevelopment = false;\n\n/*\n\nBased off glamor's StyleSheet, thanks Sunil ❤️\n\nhigh performance StyleSheet for css-in-js systems\n\n- uses multiple style tags behind the scenes for millions of rules\n- uses `insertRule` for appending in production for *much* faster performance\n\n// usage\n\nimport { StyleSheet } from '@emotion/sheet'\n\nlet styleSheet = new StyleSheet({ key: '', container: document.head })\n\nstyleSheet.insert('#box { border: 1px solid red; }')\n- appends a css rule into the stylesheet\n\nstyleSheet.flush()\n- empties the stylesheet of all its contents\n\n*/\n\nfunction sheetForTag(tag) {\n if (tag.sheet) {\n return tag.sheet;\n } // this weirdness brought to you by firefox\n\n /* istanbul ignore next */\n\n\n for (var i = 0; i < document.styleSheets.length; i++) {\n if (document.styleSheets[i].ownerNode === tag) {\n return document.styleSheets[i];\n }\n } // this function should always return with a value\n // TS can't understand it though so we make it stop complaining here\n\n\n return undefined;\n}\n\nfunction createStyleElement(options) {\n var tag = document.createElement('style');\n tag.setAttribute('data-emotion', options.key);\n\n if (options.nonce !== undefined) {\n tag.setAttribute('nonce', options.nonce);\n }\n\n tag.appendChild(document.createTextNode(''));\n tag.setAttribute('data-s', '');\n return tag;\n}\n\nvar StyleSheet = /*#__PURE__*/function () {\n // Using Node instead of HTMLElement since container may be a ShadowRoot\n function StyleSheet(options) {\n var _this = this;\n\n this._insertTag = function (tag) {\n var before;\n\n if (_this.tags.length === 0) {\n if (_this.insertionPoint) {\n before = _this.insertionPoint.nextSibling;\n } else if (_this.prepend) {\n before = _this.container.firstChild;\n } else {\n before = _this.before;\n }\n } else {\n before = _this.tags[_this.tags.length - 1].nextSibling;\n }\n\n _this.container.insertBefore(tag, before);\n\n _this.tags.push(tag);\n };\n\n this.isSpeedy = options.speedy === undefined ? !isDevelopment : options.speedy;\n this.tags = [];\n this.ctr = 0;\n this.nonce = options.nonce; // key is the value of the data-emotion attribute, it's used to identify different sheets\n\n this.key = options.key;\n this.container = options.container;\n this.prepend = options.prepend;\n this.insertionPoint = options.insertionPoint;\n this.before = null;\n }\n\n var _proto = StyleSheet.prototype;\n\n _proto.hydrate = function hydrate(nodes) {\n nodes.forEach(this._insertTag);\n };\n\n _proto.insert = function insert(rule) {\n // the max length is how many rules we have per style tag, it's 65000 in speedy mode\n // it's 1 in dev because we insert source maps that map a single rule to a location\n // and you can only have one source map per style tag\n if (this.ctr % (this.isSpeedy ? 65000 : 1) === 0) {\n this._insertTag(createStyleElement(this));\n }\n\n var tag = this.tags[this.tags.length - 1];\n\n if (this.isSpeedy) {\n var sheet = sheetForTag(tag);\n\n try {\n // this is the ultrafast version, works across browsers\n // the big drawback is that the css won't be editable in devtools\n sheet.insertRule(rule, sheet.cssRules.length);\n } catch (e) {\n }\n } else {\n tag.appendChild(document.createTextNode(rule));\n }\n\n this.ctr++;\n };\n\n _proto.flush = function flush() {\n this.tags.forEach(function (tag) {\n var _tag$parentNode;\n\n return (_tag$parentNode = tag.parentNode) == null ? void 0 : _tag$parentNode.removeChild(tag);\n });\n this.tags = [];\n this.ctr = 0;\n };\n\n return StyleSheet;\n}();\n\nexport { StyleSheet };\n","/**\n * @param {number}\n * @return {number}\n */\nexport var abs = Math.abs\n\n/**\n * @param {number}\n * @return {string}\n */\nexport var from = String.fromCharCode\n\n/**\n * @param {object}\n * @return {object}\n */\nexport var assign = Object.assign\n\n/**\n * @param {string} value\n * @param {number} length\n * @return {number}\n */\nexport function hash (value, length) {\n\treturn charat(value, 0) ^ 45 ? (((((((length << 2) ^ charat(value, 0)) << 2) ^ charat(value, 1)) << 2) ^ charat(value, 2)) << 2) ^ charat(value, 3) : 0\n}\n\n/**\n * @param {string} value\n * @return {string}\n */\nexport function trim (value) {\n\treturn value.trim()\n}\n\n/**\n * @param {string} value\n * @param {RegExp} pattern\n * @return {string?}\n */\nexport function match (value, pattern) {\n\treturn (value = pattern.exec(value)) ? value[0] : value\n}\n\n/**\n * @param {string} value\n * @param {(string|RegExp)} pattern\n * @param {string} replacement\n * @return {string}\n */\nexport function replace (value, pattern, replacement) {\n\treturn value.replace(pattern, replacement)\n}\n\n/**\n * @param {string} value\n * @param {string} search\n * @return {number}\n */\nexport function indexof (value, search) {\n\treturn value.indexOf(search)\n}\n\n/**\n * @param {string} value\n * @param {number} index\n * @return {number}\n */\nexport function charat (value, index) {\n\treturn value.charCodeAt(index) | 0\n}\n\n/**\n * @param {string} value\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function substr (value, begin, end) {\n\treturn value.slice(begin, end)\n}\n\n/**\n * @param {string} value\n * @return {number}\n */\nexport function strlen (value) {\n\treturn value.length\n}\n\n/**\n * @param {any[]} value\n * @return {number}\n */\nexport function sizeof (value) {\n\treturn value.length\n}\n\n/**\n * @param {any} value\n * @param {any[]} array\n * @return {any}\n */\nexport function append (value, array) {\n\treturn array.push(value), value\n}\n\n/**\n * @param {string[]} array\n * @param {function} callback\n * @return {string}\n */\nexport function combine (array, callback) {\n\treturn array.map(callback).join('')\n}\n","import {from, trim, charat, strlen, substr, append, assign} from './Utility.js'\n\nexport var line = 1\nexport var column = 1\nexport var length = 0\nexport var position = 0\nexport var character = 0\nexport var characters = ''\n\n/**\n * @param {string} value\n * @param {object | null} root\n * @param {object | null} parent\n * @param {string} type\n * @param {string[] | string} props\n * @param {object[] | string} children\n * @param {number} length\n */\nexport function node (value, root, parent, type, props, children, length) {\n\treturn {value: value, root: root, parent: parent, type: type, props: props, children: children, line: line, column: column, length: length, return: ''}\n}\n\n/**\n * @param {object} root\n * @param {object} props\n * @return {object}\n */\nexport function copy (root, props) {\n\treturn assign(node('', null, null, '', null, null, 0), root, {length: -root.length}, props)\n}\n\n/**\n * @return {number}\n */\nexport function char () {\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function prev () {\n\tcharacter = position > 0 ? charat(characters, --position) : 0\n\n\tif (column--, character === 10)\n\t\tcolumn = 1, line--\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function next () {\n\tcharacter = position < length ? charat(characters, position++) : 0\n\n\tif (column++, character === 10)\n\t\tcolumn = 1, line++\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function peek () {\n\treturn charat(characters, position)\n}\n\n/**\n * @return {number}\n */\nexport function caret () {\n\treturn position\n}\n\n/**\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function slice (begin, end) {\n\treturn substr(characters, begin, end)\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function token (type) {\n\tswitch (type) {\n\t\t// \\0 \\t \\n \\r \\s whitespace token\n\t\tcase 0: case 9: case 10: case 13: case 32:\n\t\t\treturn 5\n\t\t// ! + , / > @ ~ isolate token\n\t\tcase 33: case 43: case 44: case 47: case 62: case 64: case 126:\n\t\t// ; { } breakpoint token\n\t\tcase 59: case 123: case 125:\n\t\t\treturn 4\n\t\t// : accompanied token\n\t\tcase 58:\n\t\t\treturn 3\n\t\t// \" ' ( [ opening delimit token\n\t\tcase 34: case 39: case 40: case 91:\n\t\t\treturn 2\n\t\t// ) ] closing delimit token\n\t\tcase 41: case 93:\n\t\t\treturn 1\n\t}\n\n\treturn 0\n}\n\n/**\n * @param {string} value\n * @return {any[]}\n */\nexport function alloc (value) {\n\treturn line = column = 1, length = strlen(characters = value), position = 0, []\n}\n\n/**\n * @param {any} value\n * @return {any}\n */\nexport function dealloc (value) {\n\treturn characters = '', value\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function delimit (type) {\n\treturn trim(slice(position - 1, delimiter(type === 91 ? type + 2 : type === 40 ? type + 1 : type)))\n}\n\n/**\n * @param {string} value\n * @return {string[]}\n */\nexport function tokenize (value) {\n\treturn dealloc(tokenizer(alloc(value)))\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function whitespace (type) {\n\twhile (character = peek())\n\t\tif (character < 33)\n\t\t\tnext()\n\t\telse\n\t\t\tbreak\n\n\treturn token(type) > 2 || token(character) > 3 ? '' : ' '\n}\n\n/**\n * @param {string[]} children\n * @return {string[]}\n */\nexport function tokenizer (children) {\n\twhile (next())\n\t\tswitch (token(character)) {\n\t\t\tcase 0: append(identifier(position - 1), children)\n\t\t\t\tbreak\n\t\t\tcase 2: append(delimit(character), children)\n\t\t\t\tbreak\n\t\t\tdefault: append(from(character), children)\n\t\t}\n\n\treturn children\n}\n\n/**\n * @param {number} index\n * @param {number} count\n * @return {string}\n */\nexport function escaping (index, count) {\n\twhile (--count && next())\n\t\t// not 0-9 A-F a-f\n\t\tif (character < 48 || character > 102 || (character > 57 && character < 65) || (character > 70 && character < 97))\n\t\t\tbreak\n\n\treturn slice(index, caret() + (count < 6 && peek() == 32 && next() == 32))\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function delimiter (type) {\n\twhile (next())\n\t\tswitch (character) {\n\t\t\t// ] ) \" '\n\t\t\tcase type:\n\t\t\t\treturn position\n\t\t\t// \" '\n\t\t\tcase 34: case 39:\n\t\t\t\tif (type !== 34 && type !== 39)\n\t\t\t\t\tdelimiter(character)\n\t\t\t\tbreak\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (type === 41)\n\t\t\t\t\tdelimiter(type)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tnext()\n\t\t\t\tbreak\n\t\t}\n\n\treturn position\n}\n\n/**\n * @param {number} type\n * @param {number} index\n * @return {number}\n */\nexport function commenter (type, index) {\n\twhile (next())\n\t\t// //\n\t\tif (type + character === 47 + 10)\n\t\t\tbreak\n\t\t// /*\n\t\telse if (type + character === 42 + 42 && peek() === 47)\n\t\t\tbreak\n\n\treturn '/*' + slice(index, position - 1) + '*' + from(type === 47 ? type : next())\n}\n\n/**\n * @param {number} index\n * @return {string}\n */\nexport function identifier (index) {\n\twhile (!token(peek()))\n\t\tnext()\n\n\treturn slice(index, position)\n}\n","export var MS = '-ms-'\nexport var MOZ = '-moz-'\nexport var WEBKIT = '-webkit-'\n\nexport var COMMENT = 'comm'\nexport var RULESET = 'rule'\nexport var DECLARATION = 'decl'\n\nexport var PAGE = '@page'\nexport var MEDIA = '@media'\nexport var IMPORT = '@import'\nexport var CHARSET = '@charset'\nexport var VIEWPORT = '@viewport'\nexport var SUPPORTS = '@supports'\nexport var DOCUMENT = '@document'\nexport var NAMESPACE = '@namespace'\nexport var KEYFRAMES = '@keyframes'\nexport var FONT_FACE = '@font-face'\nexport var COUNTER_STYLE = '@counter-style'\nexport var FONT_FEATURE_VALUES = '@font-feature-values'\nexport var LAYER = '@layer'\n","import {IMPORT, LAYER, COMMENT, RULESET, DECLARATION, KEYFRAMES} from './Enum.js'\nimport {strlen, sizeof} from './Utility.js'\n\n/**\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function serialize (children, callback) {\n\tvar output = ''\n\tvar length = sizeof(children)\n\n\tfor (var i = 0; i < length; i++)\n\t\toutput += callback(children[i], i, children, callback) || ''\n\n\treturn output\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function stringify (element, index, children, callback) {\n\tswitch (element.type) {\n\t\tcase LAYER: if (element.children.length) break\n\t\tcase IMPORT: case DECLARATION: return element.return = element.return || element.value\n\t\tcase COMMENT: return ''\n\t\tcase KEYFRAMES: return element.return = element.value + '{' + serialize(element.children, callback) + '}'\n\t\tcase RULESET: element.value = element.props.join(',')\n\t}\n\n\treturn strlen(children = serialize(element.children, callback)) ? element.return = element.value + '{' + children + '}' : ''\n}\n","import {MS, MOZ, WEBKIT, RULESET, KEYFRAMES, DECLARATION} from './Enum.js'\nimport {match, charat, substr, strlen, sizeof, replace, combine} from './Utility.js'\nimport {copy, tokenize} from './Tokenizer.js'\nimport {serialize} from './Serializer.js'\nimport {prefix} from './Prefixer.js'\n\n/**\n * @param {function[]} collection\n * @return {function}\n */\nexport function middleware (collection) {\n\tvar length = sizeof(collection)\n\n\treturn function (element, index, children, callback) {\n\t\tvar output = ''\n\n\t\tfor (var i = 0; i < length; i++)\n\t\t\toutput += collection[i](element, index, children, callback) || ''\n\n\t\treturn output\n\t}\n}\n\n/**\n * @param {function} callback\n * @return {function}\n */\nexport function rulesheet (callback) {\n\treturn function (element) {\n\t\tif (!element.root)\n\t\t\tif (element = element.return)\n\t\t\t\tcallback(element)\n\t}\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n */\nexport function prefixer (element, index, children, callback) {\n\tif (element.length > -1)\n\t\tif (!element.return)\n\t\t\tswitch (element.type) {\n\t\t\t\tcase DECLARATION: element.return = prefix(element.value, element.length, children)\n\t\t\t\t\treturn\n\t\t\t\tcase KEYFRAMES:\n\t\t\t\t\treturn serialize([copy(element, {value: replace(element.value, '@', '@' + WEBKIT)})], callback)\n\t\t\t\tcase RULESET:\n\t\t\t\t\tif (element.length)\n\t\t\t\t\t\treturn combine(element.props, function (value) {\n\t\t\t\t\t\t\tswitch (match(value, /(::plac\\w+|:read-\\w+)/)) {\n\t\t\t\t\t\t\t\t// :read-(only|write)\n\t\t\t\t\t\t\t\tcase ':read-only': case ':read-write':\n\t\t\t\t\t\t\t\t\treturn serialize([copy(element, {props: [replace(value, /:(read-\\w+)/, ':' + MOZ + '$1')]})], callback)\n\t\t\t\t\t\t\t\t// :placeholder\n\t\t\t\t\t\t\t\tcase '::placeholder':\n\t\t\t\t\t\t\t\t\treturn serialize([\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, ':' + WEBKIT + 'input-$1')]}),\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, ':' + MOZ + '$1')]}),\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, MS + 'input-$1')]})\n\t\t\t\t\t\t\t\t\t], callback)\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\treturn ''\n\t\t\t\t\t\t})\n\t\t\t}\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n */\nexport function namespace (element) {\n\tswitch (element.type) {\n\t\tcase RULESET:\n\t\t\telement.props = element.props.map(function (value) {\n\t\t\t\treturn combine(tokenize(value), function (value, index, children) {\n\t\t\t\t\tswitch (charat(value, 0)) {\n\t\t\t\t\t\t// \\f\n\t\t\t\t\t\tcase 12:\n\t\t\t\t\t\t\treturn substr(value, 1, strlen(value))\n\t\t\t\t\t\t// \\0 ( + > ~\n\t\t\t\t\t\tcase 0: case 40: case 43: case 62: case 126:\n\t\t\t\t\t\t\treturn value\n\t\t\t\t\t\t// :\n\t\t\t\t\t\tcase 58:\n\t\t\t\t\t\t\tif (children[++index] === 'global')\n\t\t\t\t\t\t\t\tchildren[index] = '', children[++index] = '\\f' + substr(children[index], index = 1, -1)\n\t\t\t\t\t\t// \\s\n\t\t\t\t\t\tcase 32:\n\t\t\t\t\t\t\treturn index === 1 ? '' : value\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tswitch (index) {\n\t\t\t\t\t\t\t\tcase 0: element = value\n\t\t\t\t\t\t\t\t\treturn sizeof(children) > 1 ? '' : value\n\t\t\t\t\t\t\t\tcase index = sizeof(children) - 1: case 2:\n\t\t\t\t\t\t\t\t\treturn index === 2 ? value + element + element : value + element\n\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\treturn value\n\t\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t})\n\t}\n}\n","import {COMMENT, RULESET, DECLARATION} from './Enum.js'\nimport {abs, charat, trim, from, sizeof, strlen, substr, append, replace, indexof} from './Utility.js'\nimport {node, char, prev, next, peek, caret, alloc, dealloc, delimit, whitespace, escaping, identifier, commenter} from './Tokenizer.js'\n\n/**\n * @param {string} value\n * @return {object[]}\n */\nexport function compile (value) {\n\treturn dealloc(parse('', null, null, null, [''], value = alloc(value), 0, [0], value))\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {string[]} rule\n * @param {string[]} rules\n * @param {string[]} rulesets\n * @param {number[]} pseudo\n * @param {number[]} points\n * @param {string[]} declarations\n * @return {object}\n */\nexport function parse (value, root, parent, rule, rules, rulesets, pseudo, points, declarations) {\n\tvar index = 0\n\tvar offset = 0\n\tvar length = pseudo\n\tvar atrule = 0\n\tvar property = 0\n\tvar previous = 0\n\tvar variable = 1\n\tvar scanning = 1\n\tvar ampersand = 1\n\tvar character = 0\n\tvar type = ''\n\tvar props = rules\n\tvar children = rulesets\n\tvar reference = rule\n\tvar characters = type\n\n\twhile (scanning)\n\t\tswitch (previous = character, character = next()) {\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (previous != 108 && charat(characters, length - 1) == 58) {\n\t\t\t\t\tif (indexof(characters += replace(delimit(character), '&', '&\\f'), '&\\f') != -1)\n\t\t\t\t\t\tampersand = -1\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t// \" ' [\n\t\t\tcase 34: case 39: case 91:\n\t\t\t\tcharacters += delimit(character)\n\t\t\t\tbreak\n\t\t\t// \\t \\n \\r \\s\n\t\t\tcase 9: case 10: case 13: case 32:\n\t\t\t\tcharacters += whitespace(previous)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tcharacters += escaping(caret() - 1, 7)\n\t\t\t\tcontinue\n\t\t\t// /\n\t\t\tcase 47:\n\t\t\t\tswitch (peek()) {\n\t\t\t\t\tcase 42: case 47:\n\t\t\t\t\t\tappend(comment(commenter(next(), caret()), root, parent), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tcharacters += '/'\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\t// {\n\t\t\tcase 123 * variable:\n\t\t\t\tpoints[index++] = strlen(characters) * ampersand\n\t\t\t// } ; \\0\n\t\t\tcase 125 * variable: case 59: case 0:\n\t\t\t\tswitch (character) {\n\t\t\t\t\t// \\0 }\n\t\t\t\t\tcase 0: case 125: scanning = 0\n\t\t\t\t\t// ;\n\t\t\t\t\tcase 59 + offset: if (ampersand == -1) characters = replace(characters, /\\f/g, '')\n\t\t\t\t\t\tif (property > 0 && (strlen(characters) - length))\n\t\t\t\t\t\t\tappend(property > 32 ? declaration(characters + ';', rule, parent, length - 1) : declaration(replace(characters, ' ', '') + ';', rule, parent, length - 2), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @ ;\n\t\t\t\t\tcase 59: characters += ';'\n\t\t\t\t\t// { rule/at-rule\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tappend(reference = ruleset(characters, root, parent, index, offset, rules, points, type, props = [], children = [], length), rulesets)\n\n\t\t\t\t\t\tif (character === 123)\n\t\t\t\t\t\t\tif (offset === 0)\n\t\t\t\t\t\t\t\tparse(characters, root, reference, reference, props, rulesets, length, points, children)\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\tswitch (atrule === 99 && charat(characters, 3) === 110 ? 100 : atrule) {\n\t\t\t\t\t\t\t\t\t// d l m s\n\t\t\t\t\t\t\t\t\tcase 100: case 108: case 109: case 115:\n\t\t\t\t\t\t\t\t\t\tparse(value, reference, reference, rule && append(ruleset(value, reference, reference, 0, 0, rules, points, type, rules, props = [], length), children), rules, children, length, points, rule ? props : children)\n\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\t\tparse(characters, reference, reference, reference, [''], children, 0, points, children)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tindex = offset = property = 0, variable = ampersand = 1, type = characters = '', length = pseudo\n\t\t\t\tbreak\n\t\t\t// :\n\t\t\tcase 58:\n\t\t\t\tlength = 1 + strlen(characters), property = previous\n\t\t\tdefault:\n\t\t\t\tif (variable < 1)\n\t\t\t\t\tif (character == 123)\n\t\t\t\t\t\t--variable\n\t\t\t\t\telse if (character == 125 && variable++ == 0 && prev() == 125)\n\t\t\t\t\t\tcontinue\n\n\t\t\t\tswitch (characters += from(character), character * variable) {\n\t\t\t\t\t// &\n\t\t\t\t\tcase 38:\n\t\t\t\t\t\tampersand = offset > 0 ? 1 : (characters += '\\f', -1)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// ,\n\t\t\t\t\tcase 44:\n\t\t\t\t\t\tpoints[index++] = (strlen(characters) - 1) * ampersand, ampersand = 1\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @\n\t\t\t\t\tcase 64:\n\t\t\t\t\t\t// -\n\t\t\t\t\t\tif (peek() === 45)\n\t\t\t\t\t\t\tcharacters += delimit(next())\n\n\t\t\t\t\t\tatrule = peek(), offset = length = strlen(type = characters += identifier(caret())), character++\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// -\n\t\t\t\t\tcase 45:\n\t\t\t\t\t\tif (previous === 45 && strlen(characters) == 2)\n\t\t\t\t\t\t\tvariable = 0\n\t\t\t\t}\n\t\t}\n\n\treturn rulesets\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} index\n * @param {number} offset\n * @param {string[]} rules\n * @param {number[]} points\n * @param {string} type\n * @param {string[]} props\n * @param {string[]} children\n * @param {number} length\n * @return {object}\n */\nexport function ruleset (value, root, parent, index, offset, rules, points, type, props, children, length) {\n\tvar post = offset - 1\n\tvar rule = offset === 0 ? rules : ['']\n\tvar size = sizeof(rule)\n\n\tfor (var i = 0, j = 0, k = 0; i < index; ++i)\n\t\tfor (var x = 0, y = substr(value, post + 1, post = abs(j = points[i])), z = value; x < size; ++x)\n\t\t\tif (z = trim(j > 0 ? rule[x] + ' ' + y : replace(y, /&\\f/g, rule[x])))\n\t\t\t\tprops[k++] = z\n\n\treturn node(value, root, parent, offset === 0 ? RULESET : type, props, children, length)\n}\n\n/**\n * @param {number} value\n * @param {object} root\n * @param {object?} parent\n * @return {object}\n */\nexport function comment (value, root, parent) {\n\treturn node(value, root, parent, COMMENT, from(char()), substr(value, 2, -2), 0)\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} length\n * @return {object}\n */\nexport function declaration (value, root, parent, length) {\n\treturn node(value, root, parent, DECLARATION, substr(value, 0, length), substr(value, length + 1, -1), length)\n}\n","import { StyleSheet } from '@emotion/sheet';\nimport { dealloc, alloc, next, token, from, peek, delimit, slice, position, RULESET, combine, match, serialize, copy, replace, WEBKIT, MOZ, MS, KEYFRAMES, DECLARATION, hash, charat, strlen, indexof, stringify, rulesheet, middleware, compile } from 'stylis';\nimport '@emotion/weak-memoize';\nimport '@emotion/memoize';\n\nvar identifierWithPointTracking = function identifierWithPointTracking(begin, points, index) {\n var previous = 0;\n var character = 0;\n\n while (true) {\n previous = character;\n character = peek(); // &\\f\n\n if (previous === 38 && character === 12) {\n points[index] = 1;\n }\n\n if (token(character)) {\n break;\n }\n\n next();\n }\n\n return slice(begin, position);\n};\n\nvar toRules = function toRules(parsed, points) {\n // pretend we've started with a comma\n var index = -1;\n var character = 44;\n\n do {\n switch (token(character)) {\n case 0:\n // &\\f\n if (character === 38 && peek() === 12) {\n // this is not 100% correct, we don't account for literal sequences here - like for example quoted strings\n // stylis inserts \\f after & to know when & where it should replace this sequence with the context selector\n // and when it should just concatenate the outer and inner selectors\n // it's very unlikely for this sequence to actually appear in a different context, so we just leverage this fact here\n points[index] = 1;\n }\n\n parsed[index] += identifierWithPointTracking(position - 1, points, index);\n break;\n\n case 2:\n parsed[index] += delimit(character);\n break;\n\n case 4:\n // comma\n if (character === 44) {\n // colon\n parsed[++index] = peek() === 58 ? '&\\f' : '';\n points[index] = parsed[index].length;\n break;\n }\n\n // fallthrough\n\n default:\n parsed[index] += from(character);\n }\n } while (character = next());\n\n return parsed;\n};\n\nvar getRules = function getRules(value, points) {\n return dealloc(toRules(alloc(value), points));\n}; // WeakSet would be more appropriate, but only WeakMap is supported in IE11\n\n\nvar fixedElements = /* #__PURE__ */new WeakMap();\nvar compat = function compat(element) {\n if (element.type !== 'rule' || !element.parent || // positive .length indicates that this rule contains pseudo\n // negative .length indicates that this rule has been already prefixed\n element.length < 1) {\n return;\n }\n\n var value = element.value;\n var parent = element.parent;\n var isImplicitRule = element.column === parent.column && element.line === parent.line;\n\n while (parent.type !== 'rule') {\n parent = parent.parent;\n if (!parent) return;\n } // short-circuit for the simplest case\n\n\n if (element.props.length === 1 && value.charCodeAt(0) !== 58\n /* colon */\n && !fixedElements.get(parent)) {\n return;\n } // if this is an implicitly inserted rule (the one eagerly inserted at the each new nested level)\n // then the props has already been manipulated beforehand as they that array is shared between it and its \"rule parent\"\n\n\n if (isImplicitRule) {\n return;\n }\n\n fixedElements.set(element, true);\n var points = [];\n var rules = getRules(value, points);\n var parentRules = parent.props;\n\n for (var i = 0, k = 0; i < rules.length; i++) {\n for (var j = 0; j < parentRules.length; j++, k++) {\n element.props[k] = points[i] ? rules[i].replace(/&\\f/g, parentRules[j]) : parentRules[j] + \" \" + rules[i];\n }\n }\n};\nvar removeLabel = function removeLabel(element) {\n if (element.type === 'decl') {\n var value = element.value;\n\n if ( // charcode for l\n value.charCodeAt(0) === 108 && // charcode for b\n value.charCodeAt(2) === 98) {\n // this ignores label\n element[\"return\"] = '';\n element.value = '';\n }\n }\n};\n\n/* eslint-disable no-fallthrough */\n\nfunction prefix(value, length) {\n switch (hash(value, length)) {\n // color-adjust\n case 5103:\n return WEBKIT + 'print-' + value + value;\n // animation, animation-(delay|direction|duration|fill-mode|iteration-count|name|play-state|timing-function)\n\n case 5737:\n case 4201:\n case 3177:\n case 3433:\n case 1641:\n case 4457:\n case 2921: // text-decoration, filter, clip-path, backface-visibility, column, box-decoration-break\n\n case 5572:\n case 6356:\n case 5844:\n case 3191:\n case 6645:\n case 3005: // mask, mask-image, mask-(mode|clip|size), mask-(repeat|origin), mask-position, mask-composite,\n\n case 6391:\n case 5879:\n case 5623:\n case 6135:\n case 4599:\n case 4855: // background-clip, columns, column-(count|fill|gap|rule|rule-color|rule-style|rule-width|span|width)\n\n case 4215:\n case 6389:\n case 5109:\n case 5365:\n case 5621:\n case 3829:\n return WEBKIT + value + value;\n // appearance, user-select, transform, hyphens, text-size-adjust\n\n case 5349:\n case 4246:\n case 4810:\n case 6968:\n case 2756:\n return WEBKIT + value + MOZ + value + MS + value + value;\n // flex, flex-direction\n\n case 6828:\n case 4268:\n return WEBKIT + value + MS + value + value;\n // order\n\n case 6165:\n return WEBKIT + value + MS + 'flex-' + value + value;\n // align-items\n\n case 5187:\n return WEBKIT + value + replace(value, /(\\w+).+(:[^]+)/, WEBKIT + 'box-$1$2' + MS + 'flex-$1$2') + value;\n // align-self\n\n case 5443:\n return WEBKIT + value + MS + 'flex-item-' + replace(value, /flex-|-self/, '') + value;\n // align-content\n\n case 4675:\n return WEBKIT + value + MS + 'flex-line-pack' + replace(value, /align-content|flex-|-self/, '') + value;\n // flex-shrink\n\n case 5548:\n return WEBKIT + value + MS + replace(value, 'shrink', 'negative') + value;\n // flex-basis\n\n case 5292:\n return WEBKIT + value + MS + replace(value, 'basis', 'preferred-size') + value;\n // flex-grow\n\n case 6060:\n return WEBKIT + 'box-' + replace(value, '-grow', '') + WEBKIT + value + MS + replace(value, 'grow', 'positive') + value;\n // transition\n\n case 4554:\n return WEBKIT + replace(value, /([^-])(transform)/g, '$1' + WEBKIT + '$2') + value;\n // cursor\n\n case 6187:\n return replace(replace(replace(value, /(zoom-|grab)/, WEBKIT + '$1'), /(image-set)/, WEBKIT + '$1'), value, '') + value;\n // background, background-image\n\n case 5495:\n case 3959:\n return replace(value, /(image-set\\([^]*)/, WEBKIT + '$1' + '$`$1');\n // justify-content\n\n case 4968:\n return replace(replace(value, /(.+:)(flex-)?(.*)/, WEBKIT + 'box-pack:$3' + MS + 'flex-pack:$3'), /s.+-b[^;]+/, 'justify') + WEBKIT + value + value;\n // (margin|padding)-inline-(start|end)\n\n case 4095:\n case 3583:\n case 4068:\n case 2532:\n return replace(value, /(.+)-inline(.+)/, WEBKIT + '$1$2') + value;\n // (min|max)?(width|height|inline-size|block-size)\n\n case 8116:\n case 7059:\n case 5753:\n case 5535:\n case 5445:\n case 5701:\n case 4933:\n case 4677:\n case 5533:\n case 5789:\n case 5021:\n case 4765:\n // stretch, max-content, min-content, fill-available\n if (strlen(value) - 1 - length > 6) switch (charat(value, length + 1)) {\n // (m)ax-content, (m)in-content\n case 109:\n // -\n if (charat(value, length + 4) !== 45) break;\n // (f)ill-available, (f)it-content\n\n case 102:\n return replace(value, /(.+:)(.+)-([^]+)/, '$1' + WEBKIT + '$2-$3' + '$1' + MOZ + (charat(value, length + 3) == 108 ? '$3' : '$2-$3')) + value;\n // (s)tretch\n\n case 115:\n return ~indexof(value, 'stretch') ? prefix(replace(value, 'stretch', 'fill-available'), length) + value : value;\n }\n break;\n // position: sticky\n\n case 4949:\n // (s)ticky?\n if (charat(value, length + 1) !== 115) break;\n // display: (flex|inline-flex)\n\n case 6444:\n switch (charat(value, strlen(value) - 3 - (~indexof(value, '!important') && 10))) {\n // stic(k)y\n case 107:\n return replace(value, ':', ':' + WEBKIT) + value;\n // (inline-)?fl(e)x\n\n case 101:\n return replace(value, /(.+:)([^;!]+)(;|!.+)?/, '$1' + WEBKIT + (charat(value, 14) === 45 ? 'inline-' : '') + 'box$3' + '$1' + WEBKIT + '$2$3' + '$1' + MS + '$2box$3') + value;\n }\n\n break;\n // writing-mode\n\n case 5936:\n switch (charat(value, length + 11)) {\n // vertical-l(r)\n case 114:\n return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb') + value;\n // vertical-r(l)\n\n case 108:\n return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb-rl') + value;\n // horizontal(-)tb\n\n case 45:\n return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'lr') + value;\n }\n\n return WEBKIT + value + MS + value + value;\n }\n\n return value;\n}\n\nvar prefixer = function prefixer(element, index, children, callback) {\n if (element.length > -1) if (!element[\"return\"]) switch (element.type) {\n case DECLARATION:\n element[\"return\"] = prefix(element.value, element.length);\n break;\n\n case KEYFRAMES:\n return serialize([copy(element, {\n value: replace(element.value, '@', '@' + WEBKIT)\n })], callback);\n\n case RULESET:\n if (element.length) return combine(element.props, function (value) {\n switch (match(value, /(::plac\\w+|:read-\\w+)/)) {\n // :read-(only|write)\n case ':read-only':\n case ':read-write':\n return serialize([copy(element, {\n props: [replace(value, /:(read-\\w+)/, ':' + MOZ + '$1')]\n })], callback);\n // :placeholder\n\n case '::placeholder':\n return serialize([copy(element, {\n props: [replace(value, /:(plac\\w+)/, ':' + WEBKIT + 'input-$1')]\n }), copy(element, {\n props: [replace(value, /:(plac\\w+)/, ':' + MOZ + '$1')]\n }), copy(element, {\n props: [replace(value, /:(plac\\w+)/, MS + 'input-$1')]\n })], callback);\n }\n\n return '';\n });\n }\n};\n\nvar defaultStylisPlugins = [prefixer];\n\nvar createCache = function createCache(options) {\n var key = options.key;\n\n if (key === 'css') {\n var ssrStyles = document.querySelectorAll(\"style[data-emotion]:not([data-s])\"); // get SSRed styles out of the way of React's hydration\n // document.head is a safe place to move them to(though note document.head is not necessarily the last place they will be)\n // note this very very intentionally targets all style elements regardless of the key to ensure\n // that creating a cache works inside of render of a React component\n\n Array.prototype.forEach.call(ssrStyles, function (node) {\n // we want to only move elements which have a space in the data-emotion attribute value\n // because that indicates that it is an Emotion 11 server-side rendered style elements\n // while we will already ignore Emotion 11 client-side inserted styles because of the :not([data-s]) part in the selector\n // Emotion 10 client-side inserted styles did not have data-s (but importantly did not have a space in their data-emotion attributes)\n // so checking for the space ensures that loading Emotion 11 after Emotion 10 has inserted some styles\n // will not result in the Emotion 10 styles being destroyed\n var dataEmotionAttribute = node.getAttribute('data-emotion');\n\n if (dataEmotionAttribute.indexOf(' ') === -1) {\n return;\n }\n\n document.head.appendChild(node);\n node.setAttribute('data-s', '');\n });\n }\n\n var stylisPlugins = options.stylisPlugins || defaultStylisPlugins;\n\n var inserted = {};\n var container;\n var nodesToHydrate = [];\n\n {\n container = options.container || document.head;\n Array.prototype.forEach.call( // this means we will ignore elements which don't have a space in them which\n // means that the style elements we're looking at are only Emotion 11 server-rendered style elements\n document.querySelectorAll(\"style[data-emotion^=\\\"\" + key + \" \\\"]\"), function (node) {\n var attrib = node.getAttribute(\"data-emotion\").split(' ');\n\n for (var i = 1; i < attrib.length; i++) {\n inserted[attrib[i]] = true;\n }\n\n nodesToHydrate.push(node);\n });\n }\n\n var _insert;\n\n var omnipresentPlugins = [compat, removeLabel];\n\n {\n var currentSheet;\n var finalizingPlugins = [stringify, rulesheet(function (rule) {\n currentSheet.insert(rule);\n })];\n var serializer = middleware(omnipresentPlugins.concat(stylisPlugins, finalizingPlugins));\n\n var stylis = function stylis(styles) {\n return serialize(compile(styles), serializer);\n };\n\n _insert = function insert(selector, serialized, sheet, shouldCache) {\n currentSheet = sheet;\n\n stylis(selector ? selector + \"{\" + serialized.styles + \"}\" : serialized.styles);\n\n if (shouldCache) {\n cache.inserted[serialized.name] = true;\n }\n };\n }\n\n var cache = {\n key: key,\n sheet: new StyleSheet({\n key: key,\n container: container,\n nonce: options.nonce,\n speedy: options.speedy,\n prepend: options.prepend,\n insertionPoint: options.insertionPoint\n }),\n nonce: options.nonce,\n inserted: inserted,\n registered: {},\n insert: _insert\n };\n cache.sheet.hydrate(nodesToHydrate);\n return cache;\n};\n\nexport { createCache as default };\n","var isBrowser = true;\n\nfunction getRegisteredStyles(registered, registeredStyles, classNames) {\n var rawClassName = '';\n classNames.split(' ').forEach(function (className) {\n if (registered[className] !== undefined) {\n registeredStyles.push(registered[className] + \";\");\n } else if (className) {\n rawClassName += className + \" \";\n }\n });\n return rawClassName;\n}\nvar registerStyles = function registerStyles(cache, serialized, isStringTag) {\n var className = cache.key + \"-\" + serialized.name;\n\n if ( // we only need to add the styles to the registered cache if the\n // class name could be used further down\n // the tree but if it's a string tag, we know it won't\n // so we don't have to add it to registered cache.\n // this improves memory usage since we can avoid storing the whole style string\n (isStringTag === false || // we need to always store it if we're in compat mode and\n // in node since emotion-server relies on whether a style is in\n // the registered cache to know whether a style is global or not\n // also, note that this check will be dead code eliminated in the browser\n isBrowser === false ) && cache.registered[className] === undefined) {\n cache.registered[className] = serialized.styles;\n }\n};\nvar insertStyles = function insertStyles(cache, serialized, isStringTag) {\n registerStyles(cache, serialized, isStringTag);\n var className = cache.key + \"-\" + serialized.name;\n\n if (cache.inserted[serialized.name] === undefined) {\n var current = serialized;\n\n do {\n cache.insert(serialized === current ? \".\" + className : '', current, cache.sheet, true);\n\n current = current.next;\n } while (current !== undefined);\n }\n};\n\nexport { getRegisteredStyles, insertStyles, registerStyles };\n","var unitlessKeys = {\n animationIterationCount: 1,\n aspectRatio: 1,\n borderImageOutset: 1,\n borderImageSlice: 1,\n borderImageWidth: 1,\n boxFlex: 1,\n boxFlexGroup: 1,\n boxOrdinalGroup: 1,\n columnCount: 1,\n columns: 1,\n flex: 1,\n flexGrow: 1,\n flexPositive: 1,\n flexShrink: 1,\n flexNegative: 1,\n flexOrder: 1,\n gridRow: 1,\n gridRowEnd: 1,\n gridRowSpan: 1,\n gridRowStart: 1,\n gridColumn: 1,\n gridColumnEnd: 1,\n gridColumnSpan: 1,\n gridColumnStart: 1,\n msGridRow: 1,\n msGridRowSpan: 1,\n msGridColumn: 1,\n msGridColumnSpan: 1,\n fontWeight: 1,\n lineHeight: 1,\n opacity: 1,\n order: 1,\n orphans: 1,\n scale: 1,\n tabSize: 1,\n widows: 1,\n zIndex: 1,\n zoom: 1,\n WebkitLineClamp: 1,\n // SVG-related properties\n fillOpacity: 1,\n floodOpacity: 1,\n stopOpacity: 1,\n strokeDasharray: 1,\n strokeDashoffset: 1,\n strokeMiterlimit: 1,\n strokeOpacity: 1,\n strokeWidth: 1\n};\n\nexport { unitlessKeys as default };\n","function memoize(fn) {\n var cache = Object.create(null);\n return function (arg) {\n if (cache[arg] === undefined) cache[arg] = fn(arg);\n return cache[arg];\n };\n}\n\nexport { memoize as default };\n","import hashString from '@emotion/hash';\nimport unitless from '@emotion/unitless';\nimport memoize from '@emotion/memoize';\n\nvar isDevelopment = false;\n\nvar hyphenateRegex = /[A-Z]|^ms/g;\nvar animationRegex = /_EMO_([^_]+?)_([^]*?)_EMO_/g;\n\nvar isCustomProperty = function isCustomProperty(property) {\n return property.charCodeAt(1) === 45;\n};\n\nvar isProcessableValue = function isProcessableValue(value) {\n return value != null && typeof value !== 'boolean';\n};\n\nvar processStyleName = /* #__PURE__ */memoize(function (styleName) {\n return isCustomProperty(styleName) ? styleName : styleName.replace(hyphenateRegex, '-$&').toLowerCase();\n});\n\nvar processStyleValue = function processStyleValue(key, value) {\n switch (key) {\n case 'animation':\n case 'animationName':\n {\n if (typeof value === 'string') {\n return value.replace(animationRegex, function (match, p1, p2) {\n cursor = {\n name: p1,\n styles: p2,\n next: cursor\n };\n return p1;\n });\n }\n }\n }\n\n if (unitless[key] !== 1 && !isCustomProperty(key) && typeof value === 'number' && value !== 0) {\n return value + 'px';\n }\n\n return value;\n};\n\nvar noComponentSelectorMessage = 'Component selectors can only be used in conjunction with ' + '@emotion/babel-plugin, the swc Emotion plugin, or another Emotion-aware ' + 'compiler transform.';\n\nfunction handleInterpolation(mergedProps, registered, interpolation) {\n if (interpolation == null) {\n return '';\n }\n\n var componentSelector = interpolation;\n\n if (componentSelector.__emotion_styles !== undefined) {\n\n return componentSelector;\n }\n\n switch (typeof interpolation) {\n case 'boolean':\n {\n return '';\n }\n\n case 'object':\n {\n var keyframes = interpolation;\n\n if (keyframes.anim === 1) {\n cursor = {\n name: keyframes.name,\n styles: keyframes.styles,\n next: cursor\n };\n return keyframes.name;\n }\n\n var serializedStyles = interpolation;\n\n if (serializedStyles.styles !== undefined) {\n var next = serializedStyles.next;\n\n if (next !== undefined) {\n // not the most efficient thing ever but this is a pretty rare case\n // and there will be very few iterations of this generally\n while (next !== undefined) {\n cursor = {\n name: next.name,\n styles: next.styles,\n next: cursor\n };\n next = next.next;\n }\n }\n\n var styles = serializedStyles.styles + \";\";\n return styles;\n }\n\n return createStringFromObject(mergedProps, registered, interpolation);\n }\n\n case 'function':\n {\n if (mergedProps !== undefined) {\n var previousCursor = cursor;\n var result = interpolation(mergedProps);\n cursor = previousCursor;\n return handleInterpolation(mergedProps, registered, result);\n }\n\n break;\n }\n } // finalize string values (regular strings and functions interpolated into css calls)\n\n\n var asString = interpolation;\n\n if (registered == null) {\n return asString;\n }\n\n var cached = registered[asString];\n return cached !== undefined ? cached : asString;\n}\n\nfunction createStringFromObject(mergedProps, registered, obj) {\n var string = '';\n\n if (Array.isArray(obj)) {\n for (var i = 0; i < obj.length; i++) {\n string += handleInterpolation(mergedProps, registered, obj[i]) + \";\";\n }\n } else {\n for (var key in obj) {\n var value = obj[key];\n\n if (typeof value !== 'object') {\n var asString = value;\n\n if (registered != null && registered[asString] !== undefined) {\n string += key + \"{\" + registered[asString] + \"}\";\n } else if (isProcessableValue(asString)) {\n string += processStyleName(key) + \":\" + processStyleValue(key, asString) + \";\";\n }\n } else {\n if (key === 'NO_COMPONENT_SELECTOR' && isDevelopment) {\n throw new Error(noComponentSelectorMessage);\n }\n\n if (Array.isArray(value) && typeof value[0] === 'string' && (registered == null || registered[value[0]] === undefined)) {\n for (var _i = 0; _i < value.length; _i++) {\n if (isProcessableValue(value[_i])) {\n string += processStyleName(key) + \":\" + processStyleValue(key, value[_i]) + \";\";\n }\n }\n } else {\n var interpolated = handleInterpolation(mergedProps, registered, value);\n\n switch (key) {\n case 'animation':\n case 'animationName':\n {\n string += processStyleName(key) + \":\" + interpolated + \";\";\n break;\n }\n\n default:\n {\n\n string += key + \"{\" + interpolated + \"}\";\n }\n }\n }\n }\n }\n }\n\n return string;\n}\n\nvar labelPattern = /label:\\s*([^\\s;{]+)\\s*(;|$)/g; // this is the cursor for keyframes\n// keyframes are stored on the SerializedStyles object as a linked list\n\nvar cursor;\nfunction serializeStyles(args, registered, mergedProps) {\n if (args.length === 1 && typeof args[0] === 'object' && args[0] !== null && args[0].styles !== undefined) {\n return args[0];\n }\n\n var stringMode = true;\n var styles = '';\n cursor = undefined;\n var strings = args[0];\n\n if (strings == null || strings.raw === undefined) {\n stringMode = false;\n styles += handleInterpolation(mergedProps, registered, strings);\n } else {\n var asTemplateStringsArr = strings;\n\n styles += asTemplateStringsArr[0];\n } // we start at 1 since we've already handled the first arg\n\n\n for (var i = 1; i < args.length; i++) {\n styles += handleInterpolation(mergedProps, registered, args[i]);\n\n if (stringMode) {\n var templateStringsArr = strings;\n\n styles += templateStringsArr[i];\n }\n } // using a global regex with .exec is stateful so lastIndex has to be reset each time\n\n\n labelPattern.lastIndex = 0;\n var identifierName = '';\n var match; // https://esbench.com/bench/5b809c2cf2949800a0f61fb5\n\n while ((match = labelPattern.exec(styles)) !== null) {\n identifierName += '-' + match[1];\n }\n\n var name = hashString(styles) + identifierName;\n\n return {\n name: name,\n styles: styles,\n next: cursor\n };\n}\n\nexport { serializeStyles };\n","/* eslint-disable */\n// Inspired by https://github.com/garycourt/murmurhash-js\n// Ported from https://github.com/aappleby/smhasher/blob/61a0530f28277f2e850bfc39600ce61d02b518de/src/MurmurHash2.cpp#L37-L86\nfunction murmur2(str) {\n // 'm' and 'r' are mixing constants generated offline.\n // They're not really 'magic', they just happen to work well.\n // const m = 0x5bd1e995;\n // const r = 24;\n // Initialize the hash\n var h = 0; // Mix 4 bytes at a time into the hash\n\n var k,\n i = 0,\n len = str.length;\n\n for (; len >= 4; ++i, len -= 4) {\n k = str.charCodeAt(i) & 0xff | (str.charCodeAt(++i) & 0xff) << 8 | (str.charCodeAt(++i) & 0xff) << 16 | (str.charCodeAt(++i) & 0xff) << 24;\n k =\n /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16);\n k ^=\n /* k >>> r: */\n k >>> 24;\n h =\n /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16) ^\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Handle the last few bytes of the input array\n\n\n switch (len) {\n case 3:\n h ^= (str.charCodeAt(i + 2) & 0xff) << 16;\n\n case 2:\n h ^= (str.charCodeAt(i + 1) & 0xff) << 8;\n\n case 1:\n h ^= str.charCodeAt(i) & 0xff;\n h =\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Do a few final mixes of the hash to ensure the last few\n // bytes are well-incorporated.\n\n\n h ^= h >>> 13;\n h =\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n return ((h ^ h >>> 15) >>> 0).toString(36);\n}\n\nexport { murmur2 as default };\n","import * as React from 'react';\n\nvar syncFallback = function syncFallback(create) {\n return create();\n};\n\nvar useInsertionEffect = React['useInsertion' + 'Effect'] ? React['useInsertion' + 'Effect'] : false;\nvar useInsertionEffectAlwaysWithSyncFallback = useInsertionEffect || syncFallback;\nvar useInsertionEffectWithLayoutFallback = useInsertionEffect || React.useLayoutEffect;\n\nexport { useInsertionEffectAlwaysWithSyncFallback, useInsertionEffectWithLayoutFallback };\n","import * as React from 'react';\nimport { useContext, forwardRef } from 'react';\nimport createCache from '@emotion/cache';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport weakMemoize from '@emotion/weak-memoize';\nimport hoistNonReactStatics from '../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js';\nimport { getRegisteredStyles, registerStyles, insertStyles } from '@emotion/utils';\nimport { serializeStyles } from '@emotion/serialize';\nimport { useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\n\nvar isDevelopment = false;\n\nvar EmotionCacheContext = /* #__PURE__ */React.createContext( // we're doing this to avoid preconstruct's dead code elimination in this one case\n// because this module is primarily intended for the browser and node\n// but it's also required in react native and similar environments sometimes\n// and we could have a special build just for that\n// but this is much easier and the native packages\n// might use a different theme context in the future anyway\ntypeof HTMLElement !== 'undefined' ? /* #__PURE__ */createCache({\n key: 'css'\n}) : null);\n\nvar CacheProvider = EmotionCacheContext.Provider;\nvar __unsafe_useEmotionCache = function useEmotionCache() {\n return useContext(EmotionCacheContext);\n};\n\nvar withEmotionCache = function withEmotionCache(func) {\n return /*#__PURE__*/forwardRef(function (props, ref) {\n // the cache will never be null in the browser\n var cache = useContext(EmotionCacheContext);\n return func(props, cache, ref);\n });\n};\n\nvar ThemeContext = /* #__PURE__ */React.createContext({});\n\nvar useTheme = function useTheme() {\n return React.useContext(ThemeContext);\n};\n\nvar getTheme = function getTheme(outerTheme, theme) {\n if (typeof theme === 'function') {\n var mergedTheme = theme(outerTheme);\n\n return mergedTheme;\n }\n\n return _extends({}, outerTheme, theme);\n};\n\nvar createCacheWithTheme = /* #__PURE__ */weakMemoize(function (outerTheme) {\n return weakMemoize(function (theme) {\n return getTheme(outerTheme, theme);\n });\n});\nvar ThemeProvider = function ThemeProvider(props) {\n var theme = React.useContext(ThemeContext);\n\n if (props.theme !== theme) {\n theme = createCacheWithTheme(theme)(props.theme);\n }\n\n return /*#__PURE__*/React.createElement(ThemeContext.Provider, {\n value: theme\n }, props.children);\n};\nfunction withTheme(Component) {\n var componentName = Component.displayName || Component.name || 'Component';\n var WithTheme = /*#__PURE__*/React.forwardRef(function render(props, ref) {\n var theme = React.useContext(ThemeContext);\n return /*#__PURE__*/React.createElement(Component, _extends({\n theme: theme,\n ref: ref\n }, props));\n });\n WithTheme.displayName = \"WithTheme(\" + componentName + \")\";\n return hoistNonReactStatics(WithTheme, Component);\n}\n\nvar hasOwn = {}.hasOwnProperty;\n\nvar typePropName = '__EMOTION_TYPE_PLEASE_DO_NOT_USE__';\nvar createEmotionProps = function createEmotionProps(type, props) {\n\n var newProps = {};\n\n for (var _key in props) {\n if (hasOwn.call(props, _key)) {\n newProps[_key] = props[_key];\n }\n }\n\n newProps[typePropName] = type; // Runtime labeling is an opt-in feature because:\n\n return newProps;\n};\n\nvar Insertion = function Insertion(_ref) {\n var cache = _ref.cache,\n serialized = _ref.serialized,\n isStringTag = _ref.isStringTag;\n registerStyles(cache, serialized, isStringTag);\n useInsertionEffectAlwaysWithSyncFallback(function () {\n return insertStyles(cache, serialized, isStringTag);\n });\n\n return null;\n};\n\nvar Emotion = /* #__PURE__ */withEmotionCache(function (props, cache, ref) {\n var cssProp = props.css; // so that using `css` from `emotion` and passing the result to the css prop works\n // not passing the registered cache to serializeStyles because it would\n // make certain babel optimisations not possible\n\n if (typeof cssProp === 'string' && cache.registered[cssProp] !== undefined) {\n cssProp = cache.registered[cssProp];\n }\n\n var WrappedComponent = props[typePropName];\n var registeredStyles = [cssProp];\n var className = '';\n\n if (typeof props.className === 'string') {\n className = getRegisteredStyles(cache.registered, registeredStyles, props.className);\n } else if (props.className != null) {\n className = props.className + \" \";\n }\n\n var serialized = serializeStyles(registeredStyles, undefined, React.useContext(ThemeContext));\n\n className += cache.key + \"-\" + serialized.name;\n var newProps = {};\n\n for (var _key2 in props) {\n if (hasOwn.call(props, _key2) && _key2 !== 'css' && _key2 !== typePropName && (!isDevelopment )) {\n newProps[_key2] = props[_key2];\n }\n }\n\n newProps.className = className;\n\n if (ref) {\n newProps.ref = ref;\n }\n\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Insertion, {\n cache: cache,\n serialized: serialized,\n isStringTag: typeof WrappedComponent === 'string'\n }), /*#__PURE__*/React.createElement(WrappedComponent, newProps));\n});\n\nvar Emotion$1 = Emotion;\n\nexport { CacheProvider as C, Emotion$1 as E, ThemeContext as T, __unsafe_useEmotionCache as _, ThemeProvider as a, withTheme as b, createEmotionProps as c, hasOwn as h, isDevelopment as i, useTheme as u, withEmotionCache as w };\n","import { h as hasOwn, E as Emotion, c as createEmotionProps, w as withEmotionCache, T as ThemeContext, i as isDevelopment } from './emotion-element-f0de968e.browser.esm.js';\nexport { C as CacheProvider, T as ThemeContext, a as ThemeProvider, _ as __unsafe_useEmotionCache, u as useTheme, w as withEmotionCache, b as withTheme } from './emotion-element-f0de968e.browser.esm.js';\nimport * as React from 'react';\nimport { insertStyles, registerStyles, getRegisteredStyles } from '@emotion/utils';\nimport { useInsertionEffectWithLayoutFallback, useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\nimport { serializeStyles } from '@emotion/serialize';\nimport '@emotion/cache';\nimport '@babel/runtime/helpers/extends';\nimport '@emotion/weak-memoize';\nimport '../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js';\nimport 'hoist-non-react-statics';\n\nvar jsx = function jsx(type, props) {\n // eslint-disable-next-line prefer-rest-params\n var args = arguments;\n\n if (props == null || !hasOwn.call(props, 'css')) {\n return React.createElement.apply(undefined, args);\n }\n\n var argsLength = args.length;\n var createElementArgArray = new Array(argsLength);\n createElementArgArray[0] = Emotion;\n createElementArgArray[1] = createEmotionProps(type, props);\n\n for (var i = 2; i < argsLength; i++) {\n createElementArgArray[i] = args[i];\n }\n\n return React.createElement.apply(null, createElementArgArray);\n};\n\n(function (_jsx) {\n var JSX;\n\n (function (_JSX) {})(JSX || (JSX = _jsx.JSX || (_jsx.JSX = {})));\n})(jsx || (jsx = {}));\n\n// initial render from browser, insertBefore context.sheet.tags[0] or if a style hasn't been inserted there yet, appendChild\n// initial client-side render from SSR, use place of hydrating tag\n\nvar Global = /* #__PURE__ */withEmotionCache(function (props, cache) {\n\n var styles = props.styles;\n var serialized = serializeStyles([styles], undefined, React.useContext(ThemeContext));\n // but it is based on a constant that will never change at runtime\n // it's effectively like having two implementations and switching them out\n // so it's not actually breaking anything\n\n\n var sheetRef = React.useRef();\n useInsertionEffectWithLayoutFallback(function () {\n var key = cache.key + \"-global\"; // use case of https://github.com/emotion-js/emotion/issues/2675\n\n var sheet = new cache.sheet.constructor({\n key: key,\n nonce: cache.sheet.nonce,\n container: cache.sheet.container,\n speedy: cache.sheet.isSpeedy\n });\n var rehydrating = false;\n var node = document.querySelector(\"style[data-emotion=\\\"\" + key + \" \" + serialized.name + \"\\\"]\");\n\n if (cache.sheet.tags.length) {\n sheet.before = cache.sheet.tags[0];\n }\n\n if (node !== null) {\n rehydrating = true; // clear the hash so this node won't be recognizable as rehydratable by other s\n\n node.setAttribute('data-emotion', key);\n sheet.hydrate([node]);\n }\n\n sheetRef.current = [sheet, rehydrating];\n return function () {\n sheet.flush();\n };\n }, [cache]);\n useInsertionEffectWithLayoutFallback(function () {\n var sheetRefCurrent = sheetRef.current;\n var sheet = sheetRefCurrent[0],\n rehydrating = sheetRefCurrent[1];\n\n if (rehydrating) {\n sheetRefCurrent[1] = false;\n return;\n }\n\n if (serialized.next !== undefined) {\n // insert keyframes\n insertStyles(cache, serialized.next, true);\n }\n\n if (sheet.tags.length) {\n // if this doesn't exist then it will be null so the style element will be appended\n var element = sheet.tags[sheet.tags.length - 1].nextElementSibling;\n sheet.before = element;\n sheet.flush();\n }\n\n cache.insert(\"\", serialized, sheet, false);\n }, [cache, serialized.name]);\n return null;\n});\n\nfunction css() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return serializeStyles(args);\n}\n\nfunction keyframes() {\n var insertable = css.apply(void 0, arguments);\n var name = \"animation-\" + insertable.name;\n return {\n name: name,\n styles: \"@keyframes \" + name + \"{\" + insertable.styles + \"}\",\n anim: 1,\n toString: function toString() {\n return \"_EMO_\" + this.name + \"_\" + this.styles + \"_EMO_\";\n }\n };\n}\n\nvar classnames = function classnames(args) {\n var len = args.length;\n var i = 0;\n var cls = '';\n\n for (; i < len; i++) {\n var arg = args[i];\n if (arg == null) continue;\n var toAdd = void 0;\n\n switch (typeof arg) {\n case 'boolean':\n break;\n\n case 'object':\n {\n if (Array.isArray(arg)) {\n toAdd = classnames(arg);\n } else {\n\n toAdd = '';\n\n for (var k in arg) {\n if (arg[k] && k) {\n toAdd && (toAdd += ' ');\n toAdd += k;\n }\n }\n }\n\n break;\n }\n\n default:\n {\n toAdd = arg;\n }\n }\n\n if (toAdd) {\n cls && (cls += ' ');\n cls += toAdd;\n }\n }\n\n return cls;\n};\n\nfunction merge(registered, css, className) {\n var registeredStyles = [];\n var rawClassName = getRegisteredStyles(registered, registeredStyles, className);\n\n if (registeredStyles.length < 2) {\n return className;\n }\n\n return rawClassName + css(registeredStyles);\n}\n\nvar Insertion = function Insertion(_ref) {\n var cache = _ref.cache,\n serializedArr = _ref.serializedArr;\n useInsertionEffectAlwaysWithSyncFallback(function () {\n\n for (var i = 0; i < serializedArr.length; i++) {\n insertStyles(cache, serializedArr[i], false);\n }\n });\n\n return null;\n};\n\nvar ClassNames = /* #__PURE__ */withEmotionCache(function (props, cache) {\n var hasRendered = false;\n var serializedArr = [];\n\n var css = function css() {\n if (hasRendered && isDevelopment) {\n throw new Error('css can only be used during render');\n }\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var serialized = serializeStyles(args, cache.registered);\n serializedArr.push(serialized); // registration has to happen here as the result of this might get consumed by `cx`\n\n registerStyles(cache, serialized, false);\n return cache.key + \"-\" + serialized.name;\n };\n\n var cx = function cx() {\n if (hasRendered && isDevelopment) {\n throw new Error('cx can only be used during render');\n }\n\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return merge(cache.registered, css, classnames(args));\n };\n\n var content = {\n css: css,\n cx: cx,\n theme: React.useContext(ThemeContext)\n };\n var ele = props.children(content);\n hasRendered = true;\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Insertion, {\n cache: cache,\n serializedArr: serializedArr\n }), ele);\n});\n\nexport { ClassNames, Global, jsx as createElement, css, jsx, keyframes };\n","/**\n * Custom positioning reference element.\n * @see https://floating-ui.com/docs/virtual-elements\n */\n\nconst sides = ['top', 'right', 'bottom', 'left'];\nconst alignments = ['start', 'end'];\nconst placements = /*#__PURE__*/sides.reduce((acc, side) => acc.concat(side, side + \"-\" + alignments[0], side + \"-\" + alignments[1]), []);\nconst min = Math.min;\nconst max = Math.max;\nconst round = Math.round;\nconst floor = Math.floor;\nconst createCoords = v => ({\n x: v,\n y: v\n});\nconst oppositeSideMap = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nconst oppositeAlignmentMap = {\n start: 'end',\n end: 'start'\n};\nfunction clamp(start, value, end) {\n return max(start, min(value, end));\n}\nfunction evaluate(value, param) {\n return typeof value === 'function' ? value(param) : value;\n}\nfunction getSide(placement) {\n return placement.split('-')[0];\n}\nfunction getAlignment(placement) {\n return placement.split('-')[1];\n}\nfunction getOppositeAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}\nfunction getAxisLength(axis) {\n return axis === 'y' ? 'height' : 'width';\n}\nfunction getSideAxis(placement) {\n return ['top', 'bottom'].includes(getSide(placement)) ? 'y' : 'x';\n}\nfunction getAlignmentAxis(placement) {\n return getOppositeAxis(getSideAxis(placement));\n}\nfunction getAlignmentSides(placement, rects, rtl) {\n if (rtl === void 0) {\n rtl = false;\n }\n const alignment = getAlignment(placement);\n const alignmentAxis = getAlignmentAxis(placement);\n const length = getAxisLength(alignmentAxis);\n let mainAlignmentSide = alignmentAxis === 'x' ? alignment === (rtl ? 'end' : 'start') ? 'right' : 'left' : alignment === 'start' ? 'bottom' : 'top';\n if (rects.reference[length] > rects.floating[length]) {\n mainAlignmentSide = getOppositePlacement(mainAlignmentSide);\n }\n return [mainAlignmentSide, getOppositePlacement(mainAlignmentSide)];\n}\nfunction getExpandedPlacements(placement) {\n const oppositePlacement = getOppositePlacement(placement);\n return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)];\n}\nfunction getOppositeAlignmentPlacement(placement) {\n return placement.replace(/start|end/g, alignment => oppositeAlignmentMap[alignment]);\n}\nfunction getSideList(side, isStart, rtl) {\n const lr = ['left', 'right'];\n const rl = ['right', 'left'];\n const tb = ['top', 'bottom'];\n const bt = ['bottom', 'top'];\n switch (side) {\n case 'top':\n case 'bottom':\n if (rtl) return isStart ? rl : lr;\n return isStart ? lr : rl;\n case 'left':\n case 'right':\n return isStart ? tb : bt;\n default:\n return [];\n }\n}\nfunction getOppositeAxisPlacements(placement, flipAlignment, direction, rtl) {\n const alignment = getAlignment(placement);\n let list = getSideList(getSide(placement), direction === 'start', rtl);\n if (alignment) {\n list = list.map(side => side + \"-\" + alignment);\n if (flipAlignment) {\n list = list.concat(list.map(getOppositeAlignmentPlacement));\n }\n }\n return list;\n}\nfunction getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, side => oppositeSideMap[side]);\n}\nfunction expandPaddingObject(padding) {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n ...padding\n };\n}\nfunction getPaddingObject(padding) {\n return typeof padding !== 'number' ? expandPaddingObject(padding) : {\n top: padding,\n right: padding,\n bottom: padding,\n left: padding\n };\n}\nfunction rectToClientRect(rect) {\n const {\n x,\n y,\n width,\n height\n } = rect;\n return {\n width,\n height,\n top: y,\n left: x,\n right: x + width,\n bottom: y + height,\n x,\n y\n };\n}\n\nexport { alignments, clamp, createCoords, evaluate, expandPaddingObject, floor, getAlignment, getAlignmentAxis, getAlignmentSides, getAxisLength, getExpandedPlacements, getOppositeAlignmentPlacement, getOppositeAxis, getOppositeAxisPlacements, getOppositePlacement, getPaddingObject, getSide, getSideAxis, max, min, placements, rectToClientRect, round, sides };\n","function hasWindow() {\n return typeof window !== 'undefined';\n}\nfunction getNodeName(node) {\n if (isNode(node)) {\n return (node.nodeName || '').toLowerCase();\n }\n // Mocked nodes in testing environments may not be instances of Node. By\n // returning `#document` an infinite loop won't occur.\n // https://github.com/floating-ui/floating-ui/issues/2317\n return '#document';\n}\nfunction getWindow(node) {\n var _node$ownerDocument;\n return (node == null || (_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.defaultView) || window;\n}\nfunction getDocumentElement(node) {\n var _ref;\n return (_ref = (isNode(node) ? node.ownerDocument : node.document) || window.document) == null ? void 0 : _ref.documentElement;\n}\nfunction isNode(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof Node || value instanceof getWindow(value).Node;\n}\nfunction isElement(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof Element || value instanceof getWindow(value).Element;\n}\nfunction isHTMLElement(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof HTMLElement || value instanceof getWindow(value).HTMLElement;\n}\nfunction isShadowRoot(value) {\n if (!hasWindow() || typeof ShadowRoot === 'undefined') {\n return false;\n }\n return value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot;\n}\nfunction isOverflowElement(element) {\n const {\n overflow,\n overflowX,\n overflowY,\n display\n } = getComputedStyle(element);\n return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && !['inline', 'contents'].includes(display);\n}\nfunction isTableElement(element) {\n return ['table', 'td', 'th'].includes(getNodeName(element));\n}\nfunction isTopLayer(element) {\n return [':popover-open', ':modal'].some(selector => {\n try {\n return element.matches(selector);\n } catch (e) {\n return false;\n }\n });\n}\nfunction isContainingBlock(elementOrCss) {\n const webkit = isWebKit();\n const css = isElement(elementOrCss) ? getComputedStyle(elementOrCss) : elementOrCss;\n\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n // https://drafts.csswg.org/css-transforms-2/#individual-transforms\n return ['transform', 'translate', 'scale', 'rotate', 'perspective'].some(value => css[value] ? css[value] !== 'none' : false) || (css.containerType ? css.containerType !== 'normal' : false) || !webkit && (css.backdropFilter ? css.backdropFilter !== 'none' : false) || !webkit && (css.filter ? css.filter !== 'none' : false) || ['transform', 'translate', 'scale', 'rotate', 'perspective', 'filter'].some(value => (css.willChange || '').includes(value)) || ['paint', 'layout', 'strict', 'content'].some(value => (css.contain || '').includes(value));\n}\nfunction getContainingBlock(element) {\n let currentNode = getParentNode(element);\n while (isHTMLElement(currentNode) && !isLastTraversableNode(currentNode)) {\n if (isContainingBlock(currentNode)) {\n return currentNode;\n } else if (isTopLayer(currentNode)) {\n return null;\n }\n currentNode = getParentNode(currentNode);\n }\n return null;\n}\nfunction isWebKit() {\n if (typeof CSS === 'undefined' || !CSS.supports) return false;\n return CSS.supports('-webkit-backdrop-filter', 'none');\n}\nfunction isLastTraversableNode(node) {\n return ['html', 'body', '#document'].includes(getNodeName(node));\n}\nfunction getComputedStyle(element) {\n return getWindow(element).getComputedStyle(element);\n}\nfunction getNodeScroll(element) {\n if (isElement(element)) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n }\n return {\n scrollLeft: element.scrollX,\n scrollTop: element.scrollY\n };\n}\nfunction getParentNode(node) {\n if (getNodeName(node) === 'html') {\n return node;\n }\n const result =\n // Step into the shadow DOM of the parent of a slotted node.\n node.assignedSlot ||\n // DOM Element detected.\n node.parentNode ||\n // ShadowRoot detected.\n isShadowRoot(node) && node.host ||\n // Fallback.\n getDocumentElement(node);\n return isShadowRoot(result) ? result.host : result;\n}\nfunction getNearestOverflowAncestor(node) {\n const parentNode = getParentNode(node);\n if (isLastTraversableNode(parentNode)) {\n return node.ownerDocument ? node.ownerDocument.body : node.body;\n }\n if (isHTMLElement(parentNode) && isOverflowElement(parentNode)) {\n return parentNode;\n }\n return getNearestOverflowAncestor(parentNode);\n}\nfunction getOverflowAncestors(node, list, traverseIframes) {\n var _node$ownerDocument2;\n if (list === void 0) {\n list = [];\n }\n if (traverseIframes === void 0) {\n traverseIframes = true;\n }\n const scrollableAncestor = getNearestOverflowAncestor(node);\n const isBody = scrollableAncestor === ((_node$ownerDocument2 = node.ownerDocument) == null ? void 0 : _node$ownerDocument2.body);\n const win = getWindow(scrollableAncestor);\n if (isBody) {\n const frameElement = getFrameElement(win);\n return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : [], frameElement && traverseIframes ? getOverflowAncestors(frameElement) : []);\n }\n return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes));\n}\nfunction getFrameElement(win) {\n return win.parent && Object.getPrototypeOf(win.parent) ? win.frameElement : null;\n}\n\nexport { getComputedStyle, getContainingBlock, getDocumentElement, getFrameElement, getNearestOverflowAncestor, getNodeName, getNodeScroll, getOverflowAncestors, getParentNode, getWindow, isContainingBlock, isElement, isHTMLElement, isLastTraversableNode, isNode, isOverflowElement, isShadowRoot, isTableElement, isTopLayer, isWebKit };\n","import { rectToClientRect, detectOverflow as detectOverflow$1, offset as offset$1, autoPlacement as autoPlacement$1, shift as shift$1, flip as flip$1, size as size$1, hide as hide$1, arrow as arrow$1, inline as inline$1, limitShift as limitShift$1, computePosition as computePosition$1 } from '@floating-ui/core';\nimport { round, createCoords, max, min, floor } from '@floating-ui/utils';\nimport { getComputedStyle, isHTMLElement, isElement, getWindow, isWebKit, getFrameElement, getNodeScroll, getDocumentElement, isTopLayer, getNodeName, isOverflowElement, getOverflowAncestors, getParentNode, isLastTraversableNode, isContainingBlock, isTableElement, getContainingBlock } from '@floating-ui/utils/dom';\nexport { getOverflowAncestors } from '@floating-ui/utils/dom';\n\nfunction getCssDimensions(element) {\n const css = getComputedStyle(element);\n // In testing environments, the `width` and `height` properties are empty\n // strings for SVG elements, returning NaN. Fallback to `0` in this case.\n let width = parseFloat(css.width) || 0;\n let height = parseFloat(css.height) || 0;\n const hasOffset = isHTMLElement(element);\n const offsetWidth = hasOffset ? element.offsetWidth : width;\n const offsetHeight = hasOffset ? element.offsetHeight : height;\n const shouldFallback = round(width) !== offsetWidth || round(height) !== offsetHeight;\n if (shouldFallback) {\n width = offsetWidth;\n height = offsetHeight;\n }\n return {\n width,\n height,\n $: shouldFallback\n };\n}\n\nfunction unwrapElement(element) {\n return !isElement(element) ? element.contextElement : element;\n}\n\nfunction getScale(element) {\n const domElement = unwrapElement(element);\n if (!isHTMLElement(domElement)) {\n return createCoords(1);\n }\n const rect = domElement.getBoundingClientRect();\n const {\n width,\n height,\n $\n } = getCssDimensions(domElement);\n let x = ($ ? round(rect.width) : rect.width) / width;\n let y = ($ ? round(rect.height) : rect.height) / height;\n\n // 0, NaN, or Infinity should always fallback to 1.\n\n if (!x || !Number.isFinite(x)) {\n x = 1;\n }\n if (!y || !Number.isFinite(y)) {\n y = 1;\n }\n return {\n x,\n y\n };\n}\n\nconst noOffsets = /*#__PURE__*/createCoords(0);\nfunction getVisualOffsets(element) {\n const win = getWindow(element);\n if (!isWebKit() || !win.visualViewport) {\n return noOffsets;\n }\n return {\n x: win.visualViewport.offsetLeft,\n y: win.visualViewport.offsetTop\n };\n}\nfunction shouldAddVisualOffsets(element, isFixed, floatingOffsetParent) {\n if (isFixed === void 0) {\n isFixed = false;\n }\n if (!floatingOffsetParent || isFixed && floatingOffsetParent !== getWindow(element)) {\n return false;\n }\n return isFixed;\n}\n\nfunction getBoundingClientRect(element, includeScale, isFixedStrategy, offsetParent) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n if (isFixedStrategy === void 0) {\n isFixedStrategy = false;\n }\n const clientRect = element.getBoundingClientRect();\n const domElement = unwrapElement(element);\n let scale = createCoords(1);\n if (includeScale) {\n if (offsetParent) {\n if (isElement(offsetParent)) {\n scale = getScale(offsetParent);\n }\n } else {\n scale = getScale(element);\n }\n }\n const visualOffsets = shouldAddVisualOffsets(domElement, isFixedStrategy, offsetParent) ? getVisualOffsets(domElement) : createCoords(0);\n let x = (clientRect.left + visualOffsets.x) / scale.x;\n let y = (clientRect.top + visualOffsets.y) / scale.y;\n let width = clientRect.width / scale.x;\n let height = clientRect.height / scale.y;\n if (domElement) {\n const win = getWindow(domElement);\n const offsetWin = offsetParent && isElement(offsetParent) ? getWindow(offsetParent) : offsetParent;\n let currentWin = win;\n let currentIFrame = getFrameElement(currentWin);\n while (currentIFrame && offsetParent && offsetWin !== currentWin) {\n const iframeScale = getScale(currentIFrame);\n const iframeRect = currentIFrame.getBoundingClientRect();\n const css = getComputedStyle(currentIFrame);\n const left = iframeRect.left + (currentIFrame.clientLeft + parseFloat(css.paddingLeft)) * iframeScale.x;\n const top = iframeRect.top + (currentIFrame.clientTop + parseFloat(css.paddingTop)) * iframeScale.y;\n x *= iframeScale.x;\n y *= iframeScale.y;\n width *= iframeScale.x;\n height *= iframeScale.y;\n x += left;\n y += top;\n currentWin = getWindow(currentIFrame);\n currentIFrame = getFrameElement(currentWin);\n }\n }\n return rectToClientRect({\n width,\n height,\n x,\n y\n });\n}\n\n// If has a CSS width greater than the viewport, then this will be\n// incorrect for RTL.\nfunction getWindowScrollBarX(element, rect) {\n const leftScroll = getNodeScroll(element).scrollLeft;\n if (!rect) {\n return getBoundingClientRect(getDocumentElement(element)).left + leftScroll;\n }\n return rect.left + leftScroll;\n}\n\nfunction getHTMLOffset(documentElement, scroll, ignoreScrollbarX) {\n if (ignoreScrollbarX === void 0) {\n ignoreScrollbarX = false;\n }\n const htmlRect = documentElement.getBoundingClientRect();\n const x = htmlRect.left + scroll.scrollLeft - (ignoreScrollbarX ? 0 :\n // RTL scrollbar.\n getWindowScrollBarX(documentElement, htmlRect));\n const y = htmlRect.top + scroll.scrollTop;\n return {\n x,\n y\n };\n}\n\nfunction convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {\n let {\n elements,\n rect,\n offsetParent,\n strategy\n } = _ref;\n const isFixed = strategy === 'fixed';\n const documentElement = getDocumentElement(offsetParent);\n const topLayer = elements ? isTopLayer(elements.floating) : false;\n if (offsetParent === documentElement || topLayer && isFixed) {\n return rect;\n }\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n let scale = createCoords(1);\n const offsets = createCoords(0);\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n if (isHTMLElement(offsetParent)) {\n const offsetRect = getBoundingClientRect(offsetParent);\n scale = getScale(offsetParent);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n }\n }\n const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll, true) : createCoords(0);\n return {\n width: rect.width * scale.x,\n height: rect.height * scale.y,\n x: rect.x * scale.x - scroll.scrollLeft * scale.x + offsets.x + htmlOffset.x,\n y: rect.y * scale.y - scroll.scrollTop * scale.y + offsets.y + htmlOffset.y\n };\n}\n\nfunction getClientRects(element) {\n return Array.from(element.getClientRects());\n}\n\n// Gets the entire size of the scrollable document area, even extending outside\n// of the `` and `` rect bounds if horizontally scrollable.\nfunction getDocumentRect(element) {\n const html = getDocumentElement(element);\n const scroll = getNodeScroll(element);\n const body = element.ownerDocument.body;\n const width = max(html.scrollWidth, html.clientWidth, body.scrollWidth, body.clientWidth);\n const height = max(html.scrollHeight, html.clientHeight, body.scrollHeight, body.clientHeight);\n let x = -scroll.scrollLeft + getWindowScrollBarX(element);\n const y = -scroll.scrollTop;\n if (getComputedStyle(body).direction === 'rtl') {\n x += max(html.clientWidth, body.clientWidth) - width;\n }\n return {\n width,\n height,\n x,\n y\n };\n}\n\nfunction getViewportRect(element, strategy) {\n const win = getWindow(element);\n const html = getDocumentElement(element);\n const visualViewport = win.visualViewport;\n let width = html.clientWidth;\n let height = html.clientHeight;\n let x = 0;\n let y = 0;\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height;\n const visualViewportBased = isWebKit();\n if (!visualViewportBased || visualViewportBased && strategy === 'fixed') {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n return {\n width,\n height,\n x,\n y\n };\n}\n\n// Returns the inner client rect, subtracting scrollbars if present.\nfunction getInnerBoundingClientRect(element, strategy) {\n const clientRect = getBoundingClientRect(element, true, strategy === 'fixed');\n const top = clientRect.top + element.clientTop;\n const left = clientRect.left + element.clientLeft;\n const scale = isHTMLElement(element) ? getScale(element) : createCoords(1);\n const width = element.clientWidth * scale.x;\n const height = element.clientHeight * scale.y;\n const x = left * scale.x;\n const y = top * scale.y;\n return {\n width,\n height,\n x,\n y\n };\n}\nfunction getClientRectFromClippingAncestor(element, clippingAncestor, strategy) {\n let rect;\n if (clippingAncestor === 'viewport') {\n rect = getViewportRect(element, strategy);\n } else if (clippingAncestor === 'document') {\n rect = getDocumentRect(getDocumentElement(element));\n } else if (isElement(clippingAncestor)) {\n rect = getInnerBoundingClientRect(clippingAncestor, strategy);\n } else {\n const visualOffsets = getVisualOffsets(element);\n rect = {\n x: clippingAncestor.x - visualOffsets.x,\n y: clippingAncestor.y - visualOffsets.y,\n width: clippingAncestor.width,\n height: clippingAncestor.height\n };\n }\n return rectToClientRect(rect);\n}\nfunction hasFixedPositionAncestor(element, stopNode) {\n const parentNode = getParentNode(element);\n if (parentNode === stopNode || !isElement(parentNode) || isLastTraversableNode(parentNode)) {\n return false;\n }\n return getComputedStyle(parentNode).position === 'fixed' || hasFixedPositionAncestor(parentNode, stopNode);\n}\n\n// A \"clipping ancestor\" is an `overflow` element with the characteristic of\n// clipping (or hiding) child elements. This returns all clipping ancestors\n// of the given element up the tree.\nfunction getClippingElementAncestors(element, cache) {\n const cachedResult = cache.get(element);\n if (cachedResult) {\n return cachedResult;\n }\n let result = getOverflowAncestors(element, [], false).filter(el => isElement(el) && getNodeName(el) !== 'body');\n let currentContainingBlockComputedStyle = null;\n const elementIsFixed = getComputedStyle(element).position === 'fixed';\n let currentNode = elementIsFixed ? getParentNode(element) : element;\n\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n while (isElement(currentNode) && !isLastTraversableNode(currentNode)) {\n const computedStyle = getComputedStyle(currentNode);\n const currentNodeIsContaining = isContainingBlock(currentNode);\n if (!currentNodeIsContaining && computedStyle.position === 'fixed') {\n currentContainingBlockComputedStyle = null;\n }\n const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === 'static' && !!currentContainingBlockComputedStyle && ['absolute', 'fixed'].includes(currentContainingBlockComputedStyle.position) || isOverflowElement(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor(element, currentNode);\n if (shouldDropCurrentNode) {\n // Drop non-containing blocks.\n result = result.filter(ancestor => ancestor !== currentNode);\n } else {\n // Record last containing block for next iteration.\n currentContainingBlockComputedStyle = computedStyle;\n }\n currentNode = getParentNode(currentNode);\n }\n cache.set(element, result);\n return result;\n}\n\n// Gets the maximum area that the element is visible in due to any number of\n// clipping ancestors.\nfunction getClippingRect(_ref) {\n let {\n element,\n boundary,\n rootBoundary,\n strategy\n } = _ref;\n const elementClippingAncestors = boundary === 'clippingAncestors' ? isTopLayer(element) ? [] : getClippingElementAncestors(element, this._c) : [].concat(boundary);\n const clippingAncestors = [...elementClippingAncestors, rootBoundary];\n const firstClippingAncestor = clippingAncestors[0];\n const clippingRect = clippingAncestors.reduce((accRect, clippingAncestor) => {\n const rect = getClientRectFromClippingAncestor(element, clippingAncestor, strategy);\n accRect.top = max(rect.top, accRect.top);\n accRect.right = min(rect.right, accRect.right);\n accRect.bottom = min(rect.bottom, accRect.bottom);\n accRect.left = max(rect.left, accRect.left);\n return accRect;\n }, getClientRectFromClippingAncestor(element, firstClippingAncestor, strategy));\n return {\n width: clippingRect.right - clippingRect.left,\n height: clippingRect.bottom - clippingRect.top,\n x: clippingRect.left,\n y: clippingRect.top\n };\n}\n\nfunction getDimensions(element) {\n const {\n width,\n height\n } = getCssDimensions(element);\n return {\n width,\n height\n };\n}\n\nfunction getRectRelativeToOffsetParent(element, offsetParent, strategy) {\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n const documentElement = getDocumentElement(offsetParent);\n const isFixed = strategy === 'fixed';\n const rect = getBoundingClientRect(element, true, isFixed, offsetParent);\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n const offsets = createCoords(0);\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n if (isOffsetParentAnElement) {\n const offsetRect = getBoundingClientRect(offsetParent, true, isFixed, offsetParent);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n } else if (documentElement) {\n // If the scrollbar appears on the left (e.g. RTL systems). Use\n // Firefox with layout.scrollbar.side = 3 in about:config to test this.\n offsets.x = getWindowScrollBarX(documentElement);\n }\n }\n const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);\n const x = rect.left + scroll.scrollLeft - offsets.x - htmlOffset.x;\n const y = rect.top + scroll.scrollTop - offsets.y - htmlOffset.y;\n return {\n x,\n y,\n width: rect.width,\n height: rect.height\n };\n}\n\nfunction isStaticPositioned(element) {\n return getComputedStyle(element).position === 'static';\n}\n\nfunction getTrueOffsetParent(element, polyfill) {\n if (!isHTMLElement(element) || getComputedStyle(element).position === 'fixed') {\n return null;\n }\n if (polyfill) {\n return polyfill(element);\n }\n let rawOffsetParent = element.offsetParent;\n\n // Firefox returns the element as the offsetParent if it's non-static,\n // while Chrome and Safari return the element. The element must\n // be used to perform the correct calculations even if the element is\n // non-static.\n if (getDocumentElement(element) === rawOffsetParent) {\n rawOffsetParent = rawOffsetParent.ownerDocument.body;\n }\n return rawOffsetParent;\n}\n\n// Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\nfunction getOffsetParent(element, polyfill) {\n const win = getWindow(element);\n if (isTopLayer(element)) {\n return win;\n }\n if (!isHTMLElement(element)) {\n let svgOffsetParent = getParentNode(element);\n while (svgOffsetParent && !isLastTraversableNode(svgOffsetParent)) {\n if (isElement(svgOffsetParent) && !isStaticPositioned(svgOffsetParent)) {\n return svgOffsetParent;\n }\n svgOffsetParent = getParentNode(svgOffsetParent);\n }\n return win;\n }\n let offsetParent = getTrueOffsetParent(element, polyfill);\n while (offsetParent && isTableElement(offsetParent) && isStaticPositioned(offsetParent)) {\n offsetParent = getTrueOffsetParent(offsetParent, polyfill);\n }\n if (offsetParent && isLastTraversableNode(offsetParent) && isStaticPositioned(offsetParent) && !isContainingBlock(offsetParent)) {\n return win;\n }\n return offsetParent || getContainingBlock(element) || win;\n}\n\nconst getElementRects = async function (data) {\n const getOffsetParentFn = this.getOffsetParent || getOffsetParent;\n const getDimensionsFn = this.getDimensions;\n const floatingDimensions = await getDimensionsFn(data.floating);\n return {\n reference: getRectRelativeToOffsetParent(data.reference, await getOffsetParentFn(data.floating), data.strategy),\n floating: {\n x: 0,\n y: 0,\n width: floatingDimensions.width,\n height: floatingDimensions.height\n }\n };\n};\n\nfunction isRTL(element) {\n return getComputedStyle(element).direction === 'rtl';\n}\n\nconst platform = {\n convertOffsetParentRelativeRectToViewportRelativeRect,\n getDocumentElement,\n getClippingRect,\n getOffsetParent,\n getElementRects,\n getClientRects,\n getDimensions,\n getScale,\n isElement,\n isRTL\n};\n\nfunction rectsAreEqual(a, b) {\n return a.x === b.x && a.y === b.y && a.width === b.width && a.height === b.height;\n}\n\n// https://samthor.au/2021/observing-dom/\nfunction observeMove(element, onMove) {\n let io = null;\n let timeoutId;\n const root = getDocumentElement(element);\n function cleanup() {\n var _io;\n clearTimeout(timeoutId);\n (_io = io) == null || _io.disconnect();\n io = null;\n }\n function refresh(skip, threshold) {\n if (skip === void 0) {\n skip = false;\n }\n if (threshold === void 0) {\n threshold = 1;\n }\n cleanup();\n const elementRectForRootMargin = element.getBoundingClientRect();\n const {\n left,\n top,\n width,\n height\n } = elementRectForRootMargin;\n if (!skip) {\n onMove();\n }\n if (!width || !height) {\n return;\n }\n const insetTop = floor(top);\n const insetRight = floor(root.clientWidth - (left + width));\n const insetBottom = floor(root.clientHeight - (top + height));\n const insetLeft = floor(left);\n const rootMargin = -insetTop + \"px \" + -insetRight + \"px \" + -insetBottom + \"px \" + -insetLeft + \"px\";\n const options = {\n rootMargin,\n threshold: max(0, min(1, threshold)) || 1\n };\n let isFirstUpdate = true;\n function handleObserve(entries) {\n const ratio = entries[0].intersectionRatio;\n if (ratio !== threshold) {\n if (!isFirstUpdate) {\n return refresh();\n }\n if (!ratio) {\n // If the reference is clipped, the ratio is 0. Throttle the refresh\n // to prevent an infinite loop of updates.\n timeoutId = setTimeout(() => {\n refresh(false, 1e-7);\n }, 1000);\n } else {\n refresh(false, ratio);\n }\n }\n if (ratio === 1 && !rectsAreEqual(elementRectForRootMargin, element.getBoundingClientRect())) {\n // It's possible that even though the ratio is reported as 1, the\n // element is not actually fully within the IntersectionObserver's root\n // area anymore. This can happen under performance constraints. This may\n // be a bug in the browser's IntersectionObserver implementation. To\n // work around this, we compare the element's bounding rect now with\n // what it was at the time we created the IntersectionObserver. If they\n // are not equal then the element moved, so we refresh.\n refresh();\n }\n isFirstUpdate = false;\n }\n\n // Older browsers don't support a `document` as the root and will throw an\n // error.\n try {\n io = new IntersectionObserver(handleObserve, {\n ...options,\n // Handle