comments-comments-app.js.map 471 KB

1
  1. {"version":3,"file":"comments-comments-app.js?v=ea36185f2850a785365f","mappings":"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QAAQ,EAAO,OAAO,EAAO,OAAO,EAAS,SAAS,EAAS,SAAS,EAAO,SAAS,EAAO,SAAS,EAAO,SAAS,EAAO,SAAS,EAAS,QAAQ,EAAS,QAAQ,EAAS,QAAQ,EAAS,QAAQ,GAAe,MAAM,GAAe,OAAO,GAAe,OAAO,EAAS,OAAO,GAAe,MAAM,GAAe,OAAO,GAAe,OAAO,GAAe,MAAM,GAAe,OAAO,GAAe,OAAO,GAAe,MAAM,EAAS,OAAO,EAAS,SAAS,GAAe,MAAM,GAAe,OAAO,GAAe,OAAO,EAAS,OAAO,EAAS,KAAK,EAAS,OAAO,EAAS,SAAS,EAAS,SAAS,EAAS,SAAS,EAAS,SAAS,EAAS,SAAS,EAAS,SAAS,GAAe,OAAO,GAAe,OAAO,GAAe,MAAM,GAAe,OAAO,GAAe,MAAM,GAAe,OAAO,IAAS,KAAK,EAAS,SAAS,EAAS,SAAS,EAAS,QAAQ,EAAS,QAAQ,EAAS,SAAS,EAAS,SAAS,EAAS,SAAS,EAAS,SAAS,EAAO,QAAQ,GAAe,MAAM,GAAe,OAAO,GAAe,OAAO,GAAe,OAAO,GAAe,MAAM,GAAe,OAAO,EAAS,SAAS,EAAS,SAAS,EAAS,SAAS,EAAS,SAAS,IAAS,QAAQ,EAAS,SAAS,EAAS,SAAS,GAAe,OAAO,GAAe,OAAO,GAAe,MAAM,GAAe,OAAO,GAAe,MAAM,GAAe,OAAO,EAAO,SAAS,EAAO,SAAS,EAAO,SAAS,EAAO,SAAS,EAAS,SAAS,EAAS,SAAS,EAAO,QAAQ,EAAO,QAAQ,EAAS,QAAQ,EAAS,QAAQ,EAAO,OAAO,EAAO,OAAO,EAAS,SAAS,EAAS,SAAS,EAAS,SAAS,EAAS,SAAS,EAAS,QAAQ,EAAS,QAAQ,EAAS,QAAQ,EAAS,QAAQ,GAAe,MAAM,GAAe,OAAO,GAAe,OAAO,GAAe,MAAM,GAAe,OAAO,GAAe,OAAO,GAAe,OAAO,GAAe,OAAO,GAAe,MAAM,GAAe,OAAO,GAAe,OAAO,GAAe,MAAM,EAAS,QAAQ,EAAS,QAAQ,GAAe,MAAM,GAAe,OAAO,GAAe,OAAO,GAAe,OAAO,GAAe,MAAM,GAAe,OAAO,GAAe,MAAM,GAAe,OAAO,GAAe,OAAO,GAAe,OAAO,GAAe,MAAM,GAAe,OAAO,EAAO,SAAS,EAAO,SAAS,EAAS,QAAQ,EAAS,QAAQ,EAAO,OAAO,EAAS,OAAO,GAAe,OAAO,GAAe,MAAM,GAAe,OAAO,EAAS,MAAM,EAAS,OAAO,GAAe,OAAO,EAAS,SAAS,EAAS,SAAS,EAAS,SAAS,EAAS,SAAS,EAAS,OAAO,EAAS,OAAO,EAAS,QAAQ,EAAO,QAAQ,EAAO,QAAQ,EAAS,QAAQ,EAAS,QAAQ,EAAS,QAAQ,EAAS,OAAO,EAAS,OAAO,EAAS,QAAQ,EAAS,QAAQ,EAAS,QAAQ,EAAS,QAAQ,EAAS,OAAO,EAAS,QAAQ,EAAS,UAAU,EAAS,SAAS,EAAS,SAAS,EAAS,OAAO,EAAS,OAAO,EAAS,MAAM,EAAS,MAAM,EAAS,QAAQ,EAAS,SAAS,EAAS,QAAQ,EAAS,OAAO,EAAS,OAAO,EAAS,QAAQ,EAAS,SAAS,EAAS,QAAQ,EAAS,SAAS,EAAS,SAAS,EAAS,KAAK,EAAO,QAAQ,EAAS,KAAK,EAAS,KAAK,EAAS,KAAK,EAAS,KAAK,EAAS,KAAK,EAAS,UAAU,EAAS,UAAU,EAAS,KAAK,EAAS,MAAM,EAAS,KAAK,EAAS,MAAM,EAAS,OAAO,EAAS,MAAM,EAAS,QAAQ,EAAS,QAAQ,EAAS,SAAS,EAAS,MAAM,EAAS,MAAM,EAAS,OAAO,EAAS,UAAU,EAAS,OAAO,EAAS,MAAM,EAAS,OAAO,EAAS,MAAM,EAAS,MAAM,EAAS,MAAM,EAAS,MAAM,EAAS,MAAM,EAAS,QAAQ,EAAS,MAAM,EAAS,MAAM,EAAS,MAAM,EAAS,MAAM,EAAS,MAAM,EAAS,MAAM,EAAS,MAAM,EAAS,MAAM,EAAS,MAAM,EAAS,OAAO,EAAS,OAAO,EAAS,MAAM,EAAS,MAAM,EAAS,OAAO,EAAS,OAAO,EAAS,OAAO,EAAS,OAAO,EAAS,OAAO,EAAS,OAAO,EAAS,QAAQ,EAAS,QAAQ,EAAS,OAAO,EAAS,OAAO,EAAS,MAAM,EAAS,MAAM,EAAS,OAAO,EAAS,OAAO,EAAS,MAAM,EAAS,MAAM,EAAS,QAAQ,EAAS,QAAQ,EAAS,OAAO,EAAS,OAAO,EAAS,MAAM,EAAS,MAAM,EAAS,SAAS,EAAS,SAAS,EAAS,MAAM,EAAS,MAAM,EAAS,OAAO,EAAS,OAAO,EAAS,MAAM,EAAS,MAAM,EAAS,OAAO,EAAS,OAAO,EAAS,MAAM,EAAS,MAAM,EAAS,MAAM,EAAS,MAAM,EAAS,OAAO,EAAS,OAAO,EAAS,MAAM,EAAS,MAAM,EAAS,MAAM,EAAS,MAAM,EAAS,MAAM,EAAS,MAAM,EAAS,MAAM,EAAS,MAAM,EAAS,MAAM,EAAS,MAAM,EAAS,QAAQ,EAAS,QAAQ,EAAS,MAAM,EAAS,MAAM,EAAS,QAAQ,EAAS,QAAQ,EAAS,MAAM,EAAS,MAAM,EAAS,OAAO,EAAS,OAAO,EAAS,OAAO,EAAS,OAAO,EAAS,OAAO,EAAS,OAAO,EAAS,OAAO,EAAS,OAAO,EAAS,OAAO,EAAS,OAAO,EAAS,SAAS,EAAS,SAAS,EAAS,SAAS,EAAS,SAAS,EAAS,MAAM,EAAS,MAAM,EAAS,SAAS,EAAS,SAAS,EAAS,MAAM,EAAS,MAAM,EAAS,OAAO,EAAS,OAAO,EAAS,OAAO,EAAS,OAAO,EAAS,QAAQ,EAAS,OAAO,EAAS,QAAQ,EAAS,UAEpm0BC,EAAc,YACdC,EAAY,CACf,IAAK,SACL,IAAK,QACL,IAAM,SACN,IAAK,OAKL,IAAK,OAKL,IAAK,UAGFC,EAAqB,kCACrBC,EAA2B,qPAC3BC,EAAc,i8gBACdC,EAAY,CAAC,OAAS,IAAO,OAAS,IAAO,OAAS,IAAS,OAAS,IAAS,GAAK,IAAS,IAAM,IAAS,IAAM,KAAe,MAAQ,IAAO,MAAQ,IAAO,MAAQ,IAAO,IAAM,IAAS,IAAM,IAAS,MAAQ,IAAO,MAAQ,IAAO,GAAK,IAAS,IAAM,KAAe,IAAM,KAAe,OAAS,IAAO,OAAS,IAAO,QAAU,IAAS,MAAQ,IAAS,MAAQ,IAAS,MAAQ,IAAS,MAAQ,IAAS,MAAQ,IAAS,MAAQ,IAAS,IAAM,IAAI,IAAM,IAAI,IAAM,IAAS,IAAM,IAAS,OAAS,IAAS,KAAO,IAAS,SAAW,IAAS,KAAO,IAAS,IAAM,IAAS,KAAO,IAAS,MAAQ,IAAS,OAAS,IAAS,SAAW,IAAS,SAAW,IAAS,SAAW,IAAS,SAAW,IAAS,SAAW,IAAS,SAAW,IAAS,SAAW,IAAS,SAAW,IAAS,MAAQ,IAAS,QAAU,IAAS,SAAW,IAAS,OAAS,IAAS,MAAQ,IAAO,QAAU,IAAS,MAAQ,IAAS,MAAQ,IAAS,KAAO,KAAe,KAAO,KAAe,GAAK,IAAS,OAAS,IAAS,IAAM,IAAS,IAAM,IAAS,KAAO,IAAS,KAAO,IAAK,cAAgB,IAAS,OAAS,IAAS,SAAW,IAAS,MAAQ,IAAO,MAAQ,IAAO,KAAO,KAAe,KAAO,KAAe,OAAS,IAAS,IAAM,IAAI,MAAQ,IAAS,QAAU,IAAS,OAAS,IAAO,OAAS,IAAO,KAAO,IAAO,KAAO,IAAO,SAAW,IAAS,MAAQ,IAAS,SAAW,IAAS,YAAc,IAAS,UAAY,IAAS,QAAU,IAAS,UAAY,IAAS,UAAY,IAAS,KAAO,IAAS,OAAS,IAAS,OAAS,IAAS,OAAS,IAAS,SAAW,IAAS,KAAO,IAAS,SAAW,IAAS,MAAQ,IAAS,IAAM,IAAS,IAAM,IAAS,MAAQ,IAAS,OAAS,IAAS,QAAU,IAAS,QAAU,IAAS,QAAU,IAAS,MAAQ,IAAS,OAAS,IAAS,WAAa,IAAS,KAAO,IAAS,KAAO,IAAS,KAAO,IAAS,QAAU,IAAS,IAAM,KAAe,IAAM,KAAe,OAAS,IAAS,QAAU,IAAS,OAAS,IAAS,QAAU,IAAS,SAAW,IAAS,UAAY,IAAS,SAAW,IAAS,QAAU,IAAS,gBAAkB,IAAS,cAAgB,IAAS,SAAW,IAAS,OAAS,IAAS,SAAW,IAAS,OAAS,IAAS,aAAe,IAAS,YAAc,IAAS,cAAgB,IAAS,kBAAoB,IAAS,kBAAoB,IAAS,mBAAqB,IAAS,MAAQ,IAAS,MAAQ,IAAS,MAAQ,IAAS,MAAQ,IAAS,MAAQ,IAAS,IAAM,KAAU,QAAU,KAAe,KAAO,IAAS,KAAO,IAAS,KAAO,KAAe,KAAO,KAAe,IAAM,IAAS,OAAS,IAAS,OAAS,IAAS,OAAS,IAAS,MAAQ,IAAS,MAAQ,IAAS,MAAQ,IAAS,MAAQ,IAAS,MAAQ,IAAS,MAAQ,IAAS,MAAQ,IAAS,MAAQ,IAAS,KAAO,IAAS,KAAO,IAAS,MAAQ,IAAS,MAAQ,IAAS,MAAQ,IAAS,MAAQ,IAAS,MAAQ,IAAS,MAAQ,IAAS,MAAQ,IAAS,MAAQ,IAAS,SAAW,IAAS,QAAU,IAAS,SAAW,IAAS,MAAQ,IAAS,MAAQ,IAAS,MAAQ,IAAS,MAAQ,IAAS,MAAQ,IAAS,MAAQ,IAAS,MAAQ,IAAS,MAAQ,IAAS,KAAO,IAAS,KAAO,IAAS,MAAQ,IAAS,MAAQ,IAAS,MAAQ,IAAS,MAAQ,IAAS,MAAQ,IAAS,MAAQ,IAAS,MAAQ,IAAS,MAAQ,IAAS,MAAQ,IAAS,MAAQ,IAAS,MAAQ,IAAS,MAAQ,IAAS,OAAS,IAAS,MAAQ,IAAS,MAAQ,IAAS,OAAS,IAAO,KAAO,KAAe,KAAO,IAAS,MAAQ,IAAS,KAAO,IAAS,MAAQ,IAAS,KAAO,KAAK,MAAQ,IAAS,SAAW,IAAS,KAAO,IAAS,OAAS,IAAS,KAAO,IAAS,MAAQ,IAAS,MAAQ,IAAS,OAAS,IAAS,OAAS,IAAS,OAAS,IAAS,OAAS,IAAS,IAAM,IAAS,IAAM,IAAS,OAAS,IAAS,SAAW,IAAS,OAAS,IAAS,OAAS,IAAS,OAAS,IAAS,qBAAuB,IAAS,KAAO,KAAe,MAAQ,IAAS,MAAQ,IAAS,QAAU,IAAS,MAAQ,IAAS,OAAS,IAAS,OAAS,IAAS,OAAS,IAAO,OAAS,IAAO,MAAQ,IAAS,MAAQ,IAAS,QAAU,IAAS,MAAQ,IAAS,QAAU,IAAS,KAAO,IAAS,KAAO,IAAS,MAAQ,IAAO,QAAU,IAAO,QAAU,IAAS,KAAO,IAAO,UAAY,IAAO,UAAY,IAAO,IAAM,KAAe,IAAM,IAAS,KAAO,IAAS,KAAO,IAAS,MAAQ,IAAS,UAAY,IAAS,IAAM,IAAS,IAAM,IAAS,IAAM,IAAS,KAAO,IAAS,OAAS,IAAS,gBAAkB,IAAS,iBAAmB,IAAS,WAAa,IAAS,YAAc,IAAS,YAAc,IAAS,UAAY,IAAS,SAAW,IAAO,SAAW,IAAS,YAAc,IAAS,WAAa,IAAS,YAAc,IAAS,KAAO,IAAS,KAAO,IAAS,SAAW,IAAS,OAAS,IAAS,QAAU,IAAS,yBAA2B,IAAS,sBAAwB,IAAS,gBAAkB,IAAS,MAAQ,IAAS,SAAW,IAAS,MAAQ,IAAI,MAAQ,IAAS,OAAS,IAAS,OAAS,IAAS,QAAU,IAAS,MAAQ,IAAI,OAAS,IAAI,KAAO,IAAS,OAAS,IAAS,WAAa,IAAS,UAAY,IAAS,KAAO,IAAS,QAAU,IAAS,UAAY,IAAS,OAAS,IAAS,OAAS,IAAS,gBAAkB,IAAS,KAAO,KAAe,KAAO,IAAS,OAAS,IAAS,UAAY,IAAS,KAAO,IAAO,KAAO,IAAO,OAAS,IAAS,gCAAkC,IAAS,MAAQ,IAAS,MAAQ,IAAS,MAAQ,IAAS,KAAO,KAAe,KAAO,KAAe,KAAO,IAAS,MAAQ,IAAS,KAAO,IAAS,MAAQ,IAAS,MAAQ,IAAS,QAAU,IAAS,QAAU,IAAS,MAAQ,IAAS,MAAQ,IAAS,OAAS,IAAS,QAAU,IAAS,IAAM,IAAS,IAAM,IAAS,SAAW,IAAS,OAAS,IAAS,OAAS,IAAS,OAAS,IAAS,OAAS,IAAS,MAAQ,IAAS,KAAO,KAAe,OAAS,IAAS,QAAU,IAAS,YAAc,IAAS,YAAc,IAAS,SAAW,IAAS,WAAa,IAAS,OAAS,IAAO,eAAiB,IAAS,gBAAkB,IAAS,MAAQ,IAAS,MAAQ,IAAS,SAAW,IAAS,MAAQ,IAAS,OAAS,IAAS,OAAS,IAAS,OAAS,IAAS,OAAS,IAAS,KAAO,IAAS,KAAO,IAAS,KAAO,IAAS,KAAO,IAAS,MAAQ,IAAS,MAAQ,IAAS,QAAU,IAAS,MAAQ,IAAS,OAAS,IAAS,OAAS,IAAS,IAAM,IAAS,IAAM,IAAS,GAAK,IAAS,GAAK,IAAS,QAAU,IAAS,MAAQ,IAAS,SAAW,IAAS,QAAU,IAAS,IAAM,IAAO,IAAM,IAAS,MAAQ,IAAS,MAAQ,IAAS,QAAU,IAAS,OAAS,IAAS,IAAM,KAAe,IAAM,KAAe,KAAO,IAAS,MAAQ,IAAS,MAAQ,IAAS,iBAAmB,IAAO,eAAiB,IAAS,uBAAyB,IAAS,iBAAmB,IAAI,iBAAmB,IAAS,KAAO,IAAS,QAAU,IAAS,QAAU,IAAS,YAAc,IAAS,MAAQ,IAAS,IAAM,IAAO,cAAgB,IAAS,QAAU,IAAS,MAAQ,IAAS,IAAM,IAAO,OAAS,IAAO,cAAgB,IAAS,OAAS,IAAS,KAAO,IAAS,KAAO,IAAS,OAAS,IAAS,OAAS,IAAS,OAAS,IAAI,KAAO,KAAe,KAAO,KAAe,IAAM,IAAS,IAAM,IAAO,OAAS,IAAS,MAAQ,IAAS,SAAW,IAAS,SAAW,IAAS,SAAW,IAAS,QAAU,IAAS,UAAY,IAAS,eAAiB,IAAS,sBAAwB,IAAS,UAAY,IAAO,gBAAkB,IAAS,gBAAkB,IAAS,qBAAuB,IAAS,cAAgB,IAAS,oBAAsB,IAAS,yBAA2B,IAAS,qBAAuB,IAAS,iBAAmB,IAAS,eAAiB,IAAS,cAAgB,IAAS,kBAAoB,IAAS,kBAAoB,IAAS,UAAY,IAAS,UAAY,IAAS,UAAY,IAAS,aAAe,IAAS,iBAAmB,IAAS,UAAY,IAAS,eAAiB,IAAS,gBAAkB,IAAS,iBAAmB,IAAS,oBAAsB,IAAS,kBAAoB,IAAS,eAAiB,IAAS,kBAAoB,IAAS,mBAAqB,IAAS,gBAAkB,IAAS,mBAAqB,IAAS,QAAU,IAAS,aAAe,IAAS,SAAW,IAAS,OAAS,IAAS,OAAS,IAAS,KAAO,KAAe,KAAO,KAAe,KAAO,IAAS,KAAO,IAAS,KAAO,IAAS,OAAS,IAAS,OAAS,IAAS,MAAQ,IAAS,KAAO,IAAS,MAAQ,IAAS,MAAQ,IAAS,MAAQ,IAAS,QAAU,IAAS,KAAO,IAAS,KAAO,IAAS,SAAW,IAAS,OAAS,IAAO,OAAS,IAAO,OAAS,IAAS,OAAS,IAAS,OAAS,IAAS,KAAO,IAAS,MAAQ,IAAO,MAAQ,IAAO,OAAS,IAAS,IAAM,IAAS,IAAM,IAAS,MAAQ,IAAS,KAAO,IAAS,KAAO,IAAS,KAAO,IAAS,GAAK,IAAS,MAAQ,IAAS,IAAM,KAAe,IAAM,KAAe,GAAK,IAAS,OAAS,IAAO,OAAS,IAAO,IAAM,IAAS,OAAS,IAAS,GAAK,IAAS,QAAU,IAAS,SAAW,IAAS,IAAM,IAAS,IAAM,IAAS,OAAS,IAAS,MAAQ,IAAS,MAAQ,IAAS,MAAQ,IAAS,SAAW,IAAS,iBAAmB,IAAS,OAAS,IAAS,qBAAuB,IAAS,KAAO,IAAS,OAAS,IAAS,OAAS,IAAS,IAAM,IAAS,IAAM,IAAS,KAAO,IAAS,MAAQ,IAAS,MAAQ,IAAS,KAAO,KAAe,KAAO,KAAe,KAAO,IAAS,OAAS,IAAS,MAAQ,IAAS,KAAO,IAAS,QAAU,IAAS,QAAU,IAAS,MAAQ,IAAS,OAAS,IAAS,QAAU,IAAS,MAAQ,IAAS,WAAa,IAAS,YAAc,IAAS,MAAQ,IAAS,OAAS,IAAI,WAAa,IAAS,OAAS,IAAS,YAAc,IAAS,MAAQ,IAAS,QAAU,IAAS,SAAW,IAAS,MAAQ,IAAS,MAAQ,IAAS,KAAO,IAAS,KAAO,IAAS,MAAQ,IAAS,KAAO,IAAS,KAAO,IAAS,IAAM,IAAS,IAAM,IAAS,IAAM,IAAO,IAAM,IAAO,KAAO,IAAO,KAAO,IAAO,KAAO,IAAS,KAAO,IAAI,MAAQ,IAAS,OAAS,IAAS,YAAc,IAAS,aAAe,IAAS,aAAe,IAAS,cAAgB,IAAS,IAAM,IAAS,IAAM,IAAS,OAAS,IAAS,OAAS,IAAS,MAAQ,IAAS,OAAS,IAAS,IAAM,KAAe,IAAM,KAAe,MAAQ,IAAS,kBAAoB,IAAS,sBAAwB,IAAS,MAAQ,KAAK,KAAO,IAAS,MAAQ,IAAS,MAAQ,IAAS,KAAO,IAAS,KAAO,KAAe,KAAO,KAAe,OAAS,IAAS,OAAS,IAAS,KAAO,IAAS,MAAQ,IAAS,WAAa,IAAS,SAAW,IAAS,OAAS,IAAO,OAAS,IAAS,OAAS,IAAO,OAAS,IAAS,OAAS,IAAS,OAAS,IAAS,OAAS,IAAS,OAAS,IAAS,OAAS,IAAO,OAAS,IAAS,OAAS,IAAS,OAAS,IAAS,OAAS,IAAS,OAAS,IAAS,OAAS,IAAS,MAAQ,IAAS,MAAQ,IAAS,KAAO,KAAe,KAAO,IAAS,OAAS,IAAS,MAAQ,IAAS,MAAQ,IAAS,OAAS,IAAS,OAAS,IAAS,IAAM,IAAS,OAAS,IAAS,OAAS,IAAS,OAAS,IAAS,MAAQ,IAAS,MAAQ,IAAS,IAAM,IAAS,IAAM,IAAS,KAAO,IAAS,KAAO,IAAS,GAAK,IAAS,GAAK,IAAS,IAAM,IAAS,IAAM,IAAS,IAAM,IAAS,KAAO,IAAS,SAAW,IAAS,IAAM,IAAS,MAAQ,IAAS,OAAS,IAAS,QAAU,IAAS,SAAW,IAAS,KAAO,KAAe,OAAS,IAAS,IAAM,KAAe,IAAM,KAAe,GAAK,IAAS,GAAK,IAAS,IAAM,IAAS,MAAQ,IAAS,KAAO,IAAS,KAAO,IAAS,GAAK,IAAS,IAAM,IAAS,IAAM,IAAS,IAAM,IAAS,KAAO,IAAS,SAAW,IAAS,IAAM,IAAS,IAAM,IAAS,KAAO,IAAS,MAAQ,IAAS,MAAQ,IAAS,KAAO,KAAe,KAAO,KAAe,MAAQ,IAAI,aAAe,IAAS,iBAAmB,IAAS,iBAAmB,IAAS,eAAiB,IAAS,YAAc,IAAS,kBAAoB,IAAS,aAAe,IAAS,KAAO,IAAS,KAAO,KAAe,KAAO,IAAS,MAAQ,IAAS,MAAQ,IAAS,GAAK,IAAI,GAAK,IAAS,GAAK,IAAI,KAAO,IAAS,MAAQ,IAAS,MAAQ,IAAS,OAAS,IAAS,QAAU,IAAS,UAAY,IAAS,OAAS,IAAS,OAAS,IAAS,UAAY,IAAS,WAAa,IAAS,QAAU,IAAS,OAAS,IAAS,UAAY,KAAe,KAAO,KAAe,MAAQ,IAAS,OAAS,IAAS,KAAO,IAAO,OAAS,IAAS,OAAS,IAAS,OAAS,IAAS,KAAO,IAAS,KAAO,IAAS,QAAU,IAAS,MAAQ,IAAS,IAAM,IAAI,KAAO,IAAS,MAAQ,IAAS,MAAQ,IAAS,OAAS,IAAS,UAAY,IAAS,OAAS,IAAS,OAAS,IAAS,IAAM,KAAe,IAAM,IAAS,aAAe,IAAS,SAAW,IAAS,SAAW,IAAS,MAAQ,IAAS,OAAS,IAAS,cAAgB,IAAS,eAAiB,IAAS,KAAO,KAAe,KAAO,IAAS,OAAS,IAAS,eAAiB,IAAS,KAAO,KAAe,KAAO,IAAS,OAAS,IAAS,OAAS,IAAS,OAAS,IAAS,aAAe,IAAS,UAAY,IAAS,OAAS,IAAS,OAAS,IAAS,OAAS,IAAO,OAAS,IAAO,GAAK,IAAS,MAAQ,IAAO,MAAQ,IAAO,IAAM,IAAS,IAAM,IAAS,KAAO,IAAS,KAAO,IAAS,KAAO,IAAS,MAAQ,IAAO,IAAM,IAAS,IAAM,KAAe,IAAM,IAAS,OAAS,IAAO,OAAS,IAAO,GAAK,IAAS,OAAS,IAAS,MAAQ,IAAS,OAAS,IAAS,MAAQ,IAAS,MAAQ,IAAS,MAAQ,IAAS,GAAK,IAAS,MAAQ,IAAS,MAAQ,IAAS,MAAQ,IAAS,WAAa,IAAS,SAAW,IAAS,SAAW,IAAS,MAAQ,IAAS,KAAO,IAAS,MAAQ,IAAS,QAAU,IAAS,GAAK,IAAS,OAAS,IAAS,MAAQ,IAAS,SAAW,IAAS,OAAS,IAAS,IAAM,IAAS,IAAM,IAAS,OAAS,IAAS,SAAW,IAAS,SAAW,IAAS,SAAW,IAAS,aAAe,IAAS,SAAW,IAAS,QAAU,IAAS,eAAiB,IAAS,eAAiB,IAAS,KAAO,IAAS,KAAO,IAAS,MAAQ,IAAS,MAAQ,IAAS,KAAO,KAAe,KAAO,KAAe,KAAO,IAAS,KAAO,IAAS,MAAQ,IAAS,OAAS,IAAO,KAAO,KAAe,KAAO,IAAS,KAAO,IAAS,QAAU,IAAS,MAAQ,IAAS,MAAQ,IAAS,OAAS,IAAS,MAAQ,IAAS,GAAK,IAAS,OAAS,IAAS,OAAS,IAAS,MAAQ,IAAS,MAAQ,IAAS,KAAO,IAAO,KAAO,IAAO,MAAQ,IAAS,MAAQ,IAAS,IAAM,IAAS,IAAM,IAAS,IAAM,KAAe,IAAM,KAAe,MAAQ,IAAS,KAAO,KAAe,KAAO,KAAe,KAAO,KAAe,KAAO,KAAe,OAAS,IAAS,OAAS,IAAS,MAAQ,IAAS,MAAQ,IAAS,MAAQ,IAAS,MAAQ,IAAS,OAAS,IAAS,OAAS,IAAS,OAAS,IAAS,IAAM,IAAS,IAAM,IAAS,IAAM,KAAe,IAAM,KAAe,OAAS,IAAS,KAAO,IAAS,KAAO,IAAS,KAAO,IAAS,KAAO,IAAS,KAAO,KAAe,KAAO,KAAe,KAAO,KAAe,KAAO,KAAe,MAAQ,IAAS,OAAS,IAAS,OAAS,IAAS,SAAW,IAAS,OAAS,IAAS,OAAS,IAAS,OAAS,IAAS,KAAO,IAAS,KAAO,IAAS,MAAQ,IAAS,OAAS,IAAS,IAAM,IAAS,WAAa,IAAS,MAAQ,IAAO,KAAO,IAAS,KAAO,IAAS,KAAO,IAAS,MAAQ,IAAS,QAAU,IAAS,OAAS,IAAS,OAAS,IAAS,OAAS,IAAS,OAAS,IAAS,QAAU,IAAS,OAAS,IAAS,IAAM,IAAS,OAAS,IAAS,OAAS,IAAS,KAAO,IAAS,MAAQ,KAAe,MAAQ,IAAS,MAAQ,IAAS,MAAQ,IAAS,OAAS,IAAI,OAAS,IAAI,MAAQ,IAAS,QAAU,IAAS,QAAU,IAAS,OAAS,IAAS,OAAS,IAAS,OAAS,IAAS,OAAS,IAAS,MAAQ,IAAS,KAAO,IAAI,IAAM,IAAS,IAAM,IAAS,KAAO,IAAS,MAAQ,IAAS,OAAS,IAAS,QAAU,IAAS,SAAW,IAAS,KAAO,IAAS,GAAK,IAAS,GAAK,IAAS,iBAAmB,IAAS,UAAY,IAAS,UAAY,IAAS,UAAY,IAAS,aAAe,IAAS,oBAAsB,IAAS,cAAgB,IAAS,YAAc,IAAS,kBAAoB,IAAS,kBAAoB,IAAS,eAAiB,IAAS,kBAAoB,IAAS,UAAY,IAAS,gBAAkB,IAAS,cAAgB,IAAS,eAAiB,IAAS,eAAiB,IAAS,eAAiB,IAAS,eAAiB,IAAS,gBAAkB,IAAS,kBAAoB,IAAS,oBAAsB,IAAS,gBAAkB,IAAS,QAAU,IAAS,aAAe,IAAS,cAAgB,IAAS,eAAiB,IAAS,aAAe,IAAS,gBAAkB,IAAS,kBAAoB,IAAS,iBAAmB,IAAS,gBAAkB,IAAS,aAAe,IAAS,gBAAkB,IAAS,WAAa,IAAS,cAAgB,IAAS,IAAM,IAAS,IAAM,IAAS,IAAM,IAAS,KAAO,IAAS,SAAW,IAAS,IAAM,IAAS,MAAQ,IAAS,OAAS,IAAS,QAAU,IAAS,SAAW,IAAS,KAAO,KAAe,OAAS,IAAS,WAAa,IAAS,QAAU,IAAS,UAAY,IAAS,WAAa,IAAS,iBAAmB,IAAS,cAAgB,IAAS,YAAc,IAAS,QAAU,IAAS,SAAW,IAAS,QAAU,IAAS,eAAiB,IAAS,UAAY,IAAS,OAAS,IAAS,OAAS,IAAS,IAAM,KAAe,IAAM,KAAe,GAAK,IAAS,IAAM,IAAS,KAAO,IAAS,MAAQ,IAAS,MAAQ,IAAS,OAAS,IAAS,MAAQ,IAAS,KAAO,IAAS,KAAO,IAAS,GAAK,IAAS,GAAK,IAAS,MAAQ,IAAS,SAAW,IAAS,WAAa,IAAS,OAAS,IAAS,MAAQ,IAAS,OAAS,IAAS,OAAS,IAAS,OAAS,IAAS,WAAa,IAAS,KAAO,IAAS,SAAW,IAAS,IAAM,IAAS,IAAM,IAAS,KAAO,IAAS,MAAQ,IAAS,MAAQ,IAAS,MAAQ,IAAS,MAAQ,IAAS,MAAQ,IAAS,cAAgB,IAAS,cAAgB,IAAS,cAAgB,IAAS,mBAAqB,IAAS,mBAAqB,IAAS,mBAAqB,IAAS,WAAa,IAAS,eAAiB,IAAS,eAAiB,IAAS,eAAiB,IAAS,cAAgB,IAAS,eAAiB,IAAS,MAAQ,IAAS,KAAO,KAAe,KAAO,KAAe,OAAS,IAAS,QAAU,IAAS,OAAS,IAAS,OAAS,IAAI,eAAiB,IAAS,gBAAkB,IAAS,IAAM,IAAS,QAAU,IAAS,KAAO,IAAS,KAAO,IAAI,OAAS,IAAS,MAAQ,IAAS,SAAW,IAAS,MAAQ,IAAS,OAAS,IAAS,IAAM,IAAS,MAAQ,IAAS,OAAS,IAAS,KAAO,KAAe,KAAO,IAAS,IAAM,IAAS,IAAM,IAAS,KAAO,IAAS,MAAQ,IAAS,MAAQ,IAAS,KAAO,IAAI,MAAQ,IAAS,OAAS,IAAS,OAAS,IAAS,OAAS,IAAS,GAAK,IAAI,GAAK,IAAS,GAAK,IAAI,KAAO,IAAS,MAAQ,IAAS,MAAQ,IAAS,OAAS,IAAS,OAAS,IAAS,OAAS,IAAS,QAAU,IAAS,KAAO,IAAS,MAAQ,IAAS,MAAQ,IAAS,OAAS,IAAS,SAAW,IAAS,QAAU,IAAS,UAAY,KAAe,KAAO,KAAe,KAAO,IAAO,KAAO,IAAS,KAAO,IAAS,QAAU,IAAS,IAAM,IAAS,IAAM,IAAS,OAAS,IAAS,WAAa,IAAS,WAAa,IAAS,SAAW,IAAS,OAAS,IAAS,OAAS,IAAS,IAAM,IAAS,IAAM,IAAS,MAAQ,IAAS,MAAQ,IAAS,cAAgB,IAAS,YAAc,IAAS,UAAY,IAAS,IAAM,KAAe,IAAM,KAAe,IAAM,IAAS,MAAQ,IAAO,IAAM,IAAS,OAAS,IAAI,OAAS,IAAS,OAAS,IAAO,MAAQ,IAAS,OAAS,IAAS,OAAS,IAAS,QAAU,IAAS,UAAY,IAAS,KAAO,IAAS,KAAO,IAAS,OAAS,IAAS,OAAS,IAAS,KAAO,KAAe,KAAO,KAAe,GAAK,IAAS,KAAO,KAAe,KAAO,IAAS,OAAS,IAAS,GAAK,IAAS,GAAK,IAAS,SAAW,IAAS,MAAQ,IAAS,MAAQ,IAAS,OAAS,IAAS,OAAS,IAAS,KAAO,KAAe,IAAM,IAAS,KAAO,KAAe,MAAQ,KAAe,MAAQ,IAAS,QAAU,IAAS,MAAQ,IAAS,QAAU,IAAS,SAAW,IAAS,KAAO,IAAO,MAAQ,KAAe,OAAS,KAAe,KAAO,IAAS,OAAS,IAAS,OAAS,IAAS,OAAS,IAAS,OAAS,IAAS,MAAQ,IAAS,SAAW,KAAe,KAAO,IAAS,IAAM,IAAS,IAAM,IAAS,MAAQ,IAAS,GAAK,IAAS,OAAS,IAAS,MAAQ,IAAS,MAAQ,IAAS,QAAU,IAAS,MAAQ,KAAe,oBAAsB,IAAS,mBAAqB,IAAS,kBAAoB,IAAS,sBAAwB,IAAS,OAAS,IAAS,OAAS,IAAS,MAAQ,KAAe,qBAAuB,IAAS,eAAiB,IAAS,QAAU,KAAK,OAAS,IAAS,QAAU,IAAS,IAAM,KAAe,IAAM,KAAe,IAAM,IAAS,IAAM,KAAe,KAAO,IAAS,MAAQ,KAAe,UAAY,KAAe,KAAO,KAAe,IAAM,KAAe,MAAQ,IAAS,IAAM,IAAS,IAAM,KAAe,KAAO,IAAS,KAAO,KAAe,MAAQ,IAAS,MAAQ,IAAS,MAAQ,IAAS,GAAK,IAAS,IAAM,IAAS,KAAO,IAAS,IAAM,IAAS,KAAO,IAAS,KAAO,IAAS,MAAQ,IAAS,MAAQ,IAAS,KAAO,IAAS,IAAM,IAAS,IAAM,KAAe,WAAa,IAAS,WAAa,IAAS,gBAAkB,IAAS,gBAAkB,IAAS,KAAO,IAAS,MAAQ,KAAe,UAAY,KAAe,KAAO,KAAe,MAAQ,IAAS,IAAM,KAAe,MAAQ,IAAS,IAAM,IAAS,IAAM,KAAe,MAAQ,IAAS,OAAS,IAAS,KAAO,KAAe,KAAO,IAAS,QAAU,IAAS,iBAAmB,IAAO,KAAO,KAAe,KAAO,IAAS,IAAM,IAAO,IAAM,IAAS,aAAe,IAAS,UAAY,IAAS,qBAAuB,IAAS,WAAa,IAAS,SAAW,IAAS,cAAgB,KAAe,UAAY,IAAS,WAAa,IAAS,gBAAkB,IAAS,oBAAsB,KAAe,kBAAoB,KAAe,eAAiB,IAAS,qBAAuB,KAAe,gBAAkB,IAAS,gBAAkB,KAAe,aAAe,KAAe,MAAQ,IAAS,SAAW,KAAe,OAAS,KAAe,QAAU,IAAS,QAAU,IAAS,QAAU,IAAS,gBAAkB,IAAS,mBAAqB,KAAe,qBAAuB,IAAS,QAAU,IAAS,aAAe,IAAS,eAAiB,IAAS,YAAc,KAAe,kBAAoB,KAAe,aAAe,IAAS,wBAA0B,KAAe,kBAAoB,KAAe,MAAQ,IAAS,QAAU,IAAS,QAAU,IAAS,QAAU,IAAS,YAAc,IAAS,iBAAmB,KAAe,sBAAwB,IAAS,kBAAoB,IAAS,iBAAmB,IAAS,oBAAsB,KAAe,sBAAwB,IAAS,gBAAkB,KAAe,qBAAuB,IAAS,kBAAoB,KAAe,uBAAyB,IAAS,UAAY,KAAe,eAAiB,IAAS,YAAc,IAAS,iBAAmB,KAAe,sBAAwB,IAAS,iBAAmB,KAAe,YAAc,KAAe,iBAAmB,IAAS,SAAW,IAAS,cAAgB,IAAS,kBAAoB,IAAS,cAAgB,IAAS,eAAiB,IAAS,KAAO,IAAS,UAAY,IAAS,OAAS,KAAe,MAAQ,KAAe,QAAU,IAAS,IAAM,IAAS,OAAS,IAAS,KAAO,KAAe,MAAQ,IAAS,QAAU,KAAe,MAAQ,IAAS,MAAQ,IAAS,OAAS,KAAe,OAAS,KAAe,YAAc,IAAS,YAAc,IAAS,MAAQ,IAAS,OAAS,IAAS,IAAM,IAAS,OAAS,IAAS,KAAO,KAAe,KAAO,KAAe,KAAO,KAAe,UAAY,IAAS,eAAiB,IAAS,KAAO,IAAS,MAAQ,IAAS,OAAS,IAAS,MAAQ,IAAS,MAAQ,IAAS,QAAU,IAAS,QAAU,IAAS,KAAO,IAAS,MAAQ,IAAS,MAAQ,KAAe,QAAU,KAAe,UAAY,IAAS,WAAa,KAAe,MAAQ,IAAS,QAAU,KAAe,KAAO,IAAS,MAAQ,IAAS,MAAQ,KAAe,QAAU,KAAe,UAAY,IAAS,WAAa,KAAe,KAAO,IAAS,OAAS,IAAO,OAAS,IAAO,KAAO,IAAS,cAAgB,IAAS,gBAAkB,IAAS,eAAiB,IAAS,iBAAmB,IAAS,GAAK,IAAS,GAAK,IAAS,IAAM,IAAI,OAAS,IAAS,MAAQ,IAAS,KAAO,KAAe,OAAS,IAAS,OAAS,IAAS,OAAS,IAAS,OAAS,IAAS,KAAO,KAAe,KAAO,KAAU,OAAS,IAAS,QAAU,IAAS,OAAS,IAAS,KAAO,KAAe,KAAO,KAAU,QAAU,KAAe,OAAS,IAAS,QAAU,KAAe,MAAQ,KAAe,OAAS,IAAS,MAAQ,IAAS,MAAQ,IAAS,QAAU,IAAS,OAAS,IAAS,OAAS,IAAO,OAAS,IAAO,KAAO,IAAS,KAAO,IAAS,MAAQ,IAAO,MAAQ,IAAO,IAAM,IAAS,IAAM,IAAS,MAAQ,IAAS,OAAS,IAAS,OAAS,IAAS,KAAO,IAAS,KAAO,IAAS,OAAS,IAAS,MAAQ,IAAS,MAAQ,IAAS,MAAQ,IAAS,IAAM,KAAe,IAAM,KAAe,KAAO,IAAS,OAAS,IAAO,OAAS,IAAO,IAAM,IAAS,MAAQ,IAAS,IAAM,IAAS,KAAO,IAAS,MAAQ,IAAS,MAAQ,IAAS,QAAU,IAAS,MAAQ,IAAS,IAAM,IAAS,MAAQ,IAAS,MAAQ,IAAS,MAAQ,IAAS,MAAQ,IAAS,QAAU,IAAS,QAAU,IAAS,KAAO,IAAS,OAAS,IAAS,KAAO,KAAe,KAAO,KAAe,KAAO,IAAS,qBAAuB,IAAS,eAAiB,IAAS,MAAQ,IAAS,MAAQ,IAAS,GAAK,IAAS,GAAK,IAAS,MAAQ,IAAS,IAAM,IAAS,MAAQ,IAAS,QAAU,IAAS,KAAO,IAAO,KAAO,IAAO,OAAS,IAAS,KAAO,IAAS,QAAU,IAAS,IAAM,IAAS,GAAK,IAAS,KAAO,IAAS,KAAO,KAAe,OAAS,IAAO,OAAS,IAAO,KAAO,IAAS,OAAS,IAAO,OAAS,IAAO,OAAS,IAAS,OAAS,IAAS,SAAW,IAAS,KAAO,IAAO,KAAO,IAAO,MAAQ,IAAS,QAAU,IAAS,UAAY,IAAS,YAAc,IAAS,gBAAkB,IAAS,IAAM,IAAS,KAAO,IAAO,SAAW,IAAS,OAAS,IAAS,MAAQ,IAAS,KAAO,IAAS,SAAW,IAAS,IAAM,IAAS,IAAM,IAAS,OAAS,IAAI,OAAS,IAAI,OAAS,IAAS,KAAO,IAAS,QAAU,IAAS,IAAM,KAAe,IAAM,KAAe,IAAM,IAAS,IAAM,IAAS,KAAO,IAAS,OAAS,IAAS,MAAQ,IAAS,GAAK,IAAS,GAAK,IAAS,UAAY,IAAS,IAAM,IAAS,OAAS,IAAS,QAAU,IAAS,OAAS,IAAS,KAAO,IAAI,SAAW,IAAS,MAAQ,IAAS,QAAU,IAAS,OAAS,IAAS,OAAS,IAAS,MAAQ,IAAS,UAAY,IAAO,OAAS,IAAO,QAAU,IAAS,QAAU,IAAS,GAAK,IAAO,cAAgB,IAAS,SAAW,IAAS,KAAO,KAAe,KAAO,IAAS,MAAQ,IAAO,GAAK,IAAS,GAAK,IAAS,KAAO,IAAS,MAAQ,IAAS,IAAM,IAAS,IAAM,IAAS,KAAO,IAAS,WAAa,IAAS,YAAc,IAAS,SAAW,IAAS,cAAgB,IAAS,mBAAqB,IAAS,cAAgB,IAAS,OAAS,IAAS,YAAc,IAAS,SAAW,IAAS,SAAW,IAAS,QAAU,IAAS,MAAQ,IAAS,MAAQ,IAAS,OAAS,IAAS,MAAQ,IAAS,KAAO,IAAS,OAAS,IAAS,KAAO,IAAS,QAAU,IAAS,SAAW,IAAS,SAAW,IAAS,SAAW,IAAS,KAAO,IAAS,WAAa,IAAS,aAAe,IAAS,OAAS,IAAS,MAAQ,IAAS,OAAS,IAAS,KAAO,KAAe,KAAO,KAAe,IAAM,IAAS,IAAM,IAAS,OAAS,IAAS,IAAM,KAAe,IAAM,KAAe,KAAO,IAAS,KAAO,KAAe,KAAO,IAAS,OAAS,IAAS,KAAO,KAAe,KAAO,KAAe,YAAc,IAAS,QAAU,IAAS,MAAQ,IAAI,QAAU,IAAS,KAAO,IAAI,KAAO,IAAI,MAAQ,IAAS,KAAO,KAAe,OAAS,IAAS,OAAS,IAAS,MAAQ,IAAS,SAAW,IAAS,KAAO,IAAS,KAAO,IAAS,MAAQ,IAAS,MAAQ,IAAS,OAAS,IAAS,MAAQ,IAAO,KAAO,IAAS,KAAO,IAAS,KAAO,IAAS,OAAS,IAAS,MAAQ,IAAS,QAAU,IAAS,MAAQ,IAAS,OAAS,IAAS,OAAS,IAAS,OAAS,IAAS,OAAS,IAAS,QAAU,IAAS,OAAS,IAAS,OAAS,IAAS,MAAQ,IAAS,OAAS,IAAS,OAAS,IAAS,MAAQ,IAAS,UAAY,IAAS,MAAQ,IAAS,MAAQ,IAAS,MAAQ,IAAS,MAAQ,IAAS,OAAS,IAAI,OAAS,IAAI,MAAQ,IAAS,QAAU,IAAS,QAAU,IAAS,OAAS,IAAS,OAAS,IAAS,OAAS,IAAS,OAAS,IAAS,MAAQ,IAAS,KAAO,IAAI,IAAM,IAAS,IAAM,IAAS,KAAO,IAAS,QAAU,IAAS,MAAQ,IAAS,OAAS,IAAS,KAAO,IAAS,GAAK,IAAS,KAAO,IAAS,QAAU,IAAS,SAAW,IAAS,MAAQ,IAAS,KAAO,IAAS,IAAM,IAAO,IAAM,IAAO,eAAiB,IAAS,mBAAqB,IAAS,qBAAuB,IAAS,OAAS,IAAS,OAAS,IAAS,IAAM,KAAe,IAAM,IAAS,KAAO,IAAS,MAAQ,IAAS,MAAQ,IAAS,OAAS,IAAS,IAAM,IAAS,IAAM,IAAS,KAAO,IAAS,kBAAoB,IAAS,WAAa,IAAS,WAAa,IAAS,WAAa,IAAS,cAAgB,IAAS,oBAAsB,IAAS,eAAiB,IAAS,aAAe,IAAS,mBAAqB,IAAS,mBAAqB,IAAS,gBAAkB,IAAS,mBAAqB,IAAS,WAAa,IAAS,iBAAmB,IAAS,eAAiB,IAAS,gBAAkB,IAAS,kBAAoB,IAAS,iBAAmB,IAAS,gBAAkB,IAAS,SAAW,IAAS,cAAgB,IAAS,eAAiB,IAAS,gBAAkB,IAAS,cAAgB,IAAS,iBAAmB,IAAS,mBAAqB,IAAS,kBAAoB,IAAS,iBAAmB,IAAS,cAAgB,IAAS,iBAAmB,IAAS,YAAc,IAAS,eAAiB,IAAS,KAAO,IAAS,aAAe,IAAS,MAAQ,IAAS,MAAQ,IAAS,IAAM,IAAS,OAAS,IAAS,WAAa,IAAS,MAAQ,IAAS,MAAQ,IAAS,MAAQ,IAAS,MAAQ,IAAS,MAAQ,IAAS,KAAO,KAAe,KAAO,IAAS,OAAS,IAAS,QAAU,IAAS,aAAe,IAAS,KAAO,IAAI,OAAS,IAAS,SAAW,IAAS,MAAQ,IAAS,YAAc,IAAS,OAAS,IAAS,KAAO,KAAe,KAAO,IAAS,IAAM,IAAS,IAAM,IAAS,KAAO,IAAI,MAAQ,IAAS,OAAS,IAAS,OAAS,IAAS,OAAS,IAAS,KAAO,IAAS,MAAQ,IAAS,MAAQ,IAAS,SAAW,IAAS,YAAc,IAAS,QAAU,IAAS,GAAK,IAAS,OAAS,IAAS,OAAS,IAAS,MAAQ,IAAS,GAAK,IAAS,GAAK,IAAS,KAAO,IAAS,OAAS,IAAS,OAAS,IAAS,MAAQ,IAAS,IAAM,IAAS,IAAM,IAAS,OAAS,IAAS,OAAS,IAAS,MAAQ,IAAS,MAAQ,IAAS,MAAQ,IAAS,KAAO,IAAS,OAAS,IAAS,SAAW,IAAS,MAAQ,IAAS,IAAM,IAAS,IAAM,IAAS,KAAO,IAAS,MAAQ,IAAS,MAAQ,IAAS,OAAS,IAAS,MAAQ,IAAS,MAAQ,IAAS,QAAU,IAAS,KAAO,IAAO,KAAO,IAAI,OAAS,IAAS,SAAW,IAAS,MAAQ,IAAS,KAAO,IAAS,IAAM,KAAe,IAAM,KAAe,OAAS,IAAS,MAAQ,IAAS,OAAS,IAAS,OAAS,IAAS,KAAO,IAAS,KAAO,IAAS,eAAiB,IAAS,eAAiB,IAAS,SAAW,IAAS,cAAgB,IAAS,gBAAkB,IAAS,aAAe,IAAS,IAAM,IAAO,MAAQ,IAAS,MAAQ,IAAS,OAAS,IAAS,OAAS,IAAS,IAAM,IAAS,OAAS,IAAS,KAAO,IAAS,MAAQ,IAAS,KAAO,IAAS,MAAQ,IAAS,KAAO,IAAS,MAAQ,IAAS,MAAQ,IAAS,QAAU,IAAS,QAAU,IAAS,MAAQ,IAAS,YAAc,IAAS,cAAgB,IAAS,OAAS,IAAS,SAAW,IAAS,KAAO,IAAS,MAAQ,IAAS,IAAM,IAAS,KAAO,IAAS,MAAQ,KAAe,OAAS,IAAS,OAAS,IAAS,IAAM,IAAI,KAAO,IAAS,OAAS,IAAS,KAAO,KAAe,KAAO,KAAe,OAAS,IAAS,UAAY,IAAS,KAAO,IAAS,MAAQ,IAAS,OAAS,KAAe,MAAQ,IAAS,OAAS,KAAe,KAAO,IAAS,MAAQ,IAAS,OAAS,IAAS,SAAW,IAAS,WAAa,IAAS,MAAQ,IAAS,OAAS,IAAS,SAAW,IAAS,WAAa,IAAS,IAAM,IAAS,OAAS,IAAS,OAAS,IAAS,mBAAqB,IAAS,aAAe,IAAS,kBAAoB,IAAS,eAAiB,IAAS,oBAAsB,IAAS,YAAc,IAAS,OAAS,IAAS,KAAO,IAAS,MAAQ,IAAS,KAAO,KAAe,KAAO,KAAe,OAAS,IAAS,OAAS,IAAS,OAAS,IAAS,KAAO,IAAS,KAAO,IAAS,MAAQ,IAAS,gBAAkB,IAAS,YAAc,IAAS,MAAQ,IAAO,IAAM,IAAS,IAAM,IAAS,OAAS,IAAS,KAAO,IAAS,KAAO,IAAS,QAAU,IAAS,QAAU,IAAS,MAAQ,IAAS,MAAQ,IAAS,QAAU,IAAS,QAAU,IAAS,OAAS,IAAS,OAAS,IAAS,SAAW,IAAS,UAAY,IAAS,YAAc,IAAS,UAAY,IAAS,WAAa,IAAS,OAAS,IAAS,OAAS,IAAS,OAAS,IAAS,KAAO,IAAS,WAAa,IAAS,YAAc,IAAS,SAAW,IAAS,cAAgB,IAAS,mBAAqB,IAAS,cAAgB,IAAS,OAAS,IAAS,YAAc,IAAS,SAAW,IAAS,SAAW,IAAS,QAAU,IAAS,SAAW,IAAS,IAAM,IAAS,IAAM,IAAS,KAAO,IAAS,IAAM,IAAS,IAAM,IAAS,KAAO,IAAO,KAAO,IAAO,KAAO,IAAO,OAAS,IAAS,QAAU,IAAS,KAAO,IAAS,KAAO,IAAS,QAAU,IAAS,SAAW,IAAS,cAAgB,IAAS,QAAU,IAAS,QAAU,IAAS,QAAU,IAAS,QAAU,IAAS,MAAQ,IAAS,MAAQ,IAAS,QAAU,IAAS,OAAS,IAAS,OAAS,IAAS,SAAW,IAAS,UAAY,IAAS,UAAY,IAAS,WAAa,IAAS,OAAS,IAAS,OAAS,IAAS,OAAS,IAAS,OAAS,IAAS,MAAQ,IAAS,MAAQ,IAAS,QAAU,IAAS,OAAS,IAAS,MAAQ,IAAO,IAAM,KAAK,OAAS,IAAS,IAAM,IAAS,IAAM,IAAS,KAAO,IAAS,OAAS,IAAS,OAAS,IAAS,OAAS,IAAS,OAAS,IAAS,IAAM,IAAS,IAAM,IAAS,KAAO,IAAS,OAAS,IAAS,IAAM,KAAe,IAAM,KAAe,OAAS,IAAS,UAAY,IAAS,UAAY,IAAS,MAAQ,IAAS,MAAQ,IAAS,SAAW,IAAS,OAAS,IAAS,YAAc,IAAS,SAAW,IAAS,WAAa,KAAe,OAAS,IAAS,UAAY,IAAS,MAAQ,IAAS,OAAS,IAAS,MAAQ,IAAO,MAAQ,IAAO,MAAQ,IAAS,MAAQ,IAAS,WAAa,IAAS,eAAiB,IAAS,WAAa,IAAS,MAAQ,IAAO,OAAS,IAAS,SAAW,IAAS,OAAS,IAAS,KAAO,IAAS,KAAO,IAAS,IAAM,IAAS,OAAS,IAAS,OAAS,IAAS,KAAO,KAAe,KAAO,KAAe,QAAU,IAAS,KAAO,IAAS,OAAS,IAAS,MAAQ,IAAS,MAAQ,IAAS,SAAW,IAAS,aAAe,IAAS,aAAe,IAAS,eAAiB,IAAS,UAAY,IAAS,cAAgB,IAAS,gBAAkB,IAAS,OAAS,IAAS,KAAO,IAAS,SAAW,IAAS,UAAY,IAAS,QAAU,IAAS,MAAQ,IAAS,QAAU,IAAS,SAAW,IAAS,KAAO,KAAe,KAAO,KAAe,KAAO,IAAS,KAAO,IAAS,MAAQ,IAAS,MAAQ,IAAS,OAAS,IAAS,OAAS,IAAS,MAAQ,IAAS,iBAAmB,IAAS,kBAAoB,IAAS,OAAS,IAAO,OAAS,IAAO,KAAO,IAAS,KAAO,IAAS,KAAO,IAAS,SAAW,IAAS,MAAQ,IAAS,MAAQ,IAAS,OAAS,IAAS,OAAS,IAAS,MAAQ,IAAO,MAAQ,IAAO,IAAM,IAAS,IAAM,IAAS,MAAQ,IAAS,OAAS,IAAS,OAAS,IAAS,MAAQ,IAAS,OAAS,IAAS,IAAM,KAAe,IAAM,KAAe,OAAS,IAAO,OAAS,IAAO,KAAO,IAAS,MAAQ,IAAS,MAAQ,IAAS,MAAQ,IAAS,OAAS,IAAS,SAAW,IAAS,OAAS,IAAS,MAAQ,IAAS,MAAQ,IAAS,MAAQ,IAAS,IAAM,IAAO,SAAW,IAAI,WAAa,IAAS,aAAe,IAAS,iBAAmB,IAAS,MAAQ,IAAS,UAAY,IAAS,MAAQ,IAAS,MAAQ,IAAS,KAAO,KAAe,KAAO,KAAe,QAAU,IAAS,QAAU,IAAS,QAAU,IAAS,WAAa,IAAS,iBAAmB,IAAS,YAAc,IAAS,YAAc,IAAS,YAAc,IAAS,cAAgB,IAAS,cAAgB,IAAS,eAAiB,IAAS,MAAQ,IAAS,eAAiB,IAAS,gBAAkB,IAAS,KAAO,IAAS,KAAO,IAAS,MAAQ,IAAS,QAAU,IAAS,QAAU,IAAS,MAAQ,IAAS,WAAa,IAAS,WAAa,IAAS,OAAS,IAAS,SAAW,IAAS,OAAS,IAAS,MAAQ,IAAS,MAAQ,IAAS,MAAQ,IAAS,KAAO,KAAe,KAAO,KAAe,MAAQ,IAAS,OAAS,IAAS,OAAS,IAAS,KAAO,IAAS,MAAQ,IAAS,MAAQ,IAAS,KAAO,IAAO,KAAO,IAAO,QAAU,IAAS,OAAS,IAAS,WAAa,IAAS,SAAW,IAAS,WAAa,IAAS,OAAS,IAAS,MAAQ,IAAS,UAAY,IAAS,KAAO,IAAS,KAAO,IAAS,OAAS,IAAS,SAAW,IAAS,aAAe,KAAe,cAAgB,KAAe,aAAe,KAAe,cAAgB,KAAe,SAAW,IAAS,gBAAkB,IAAS,iBAAmB,IAAS,KAAO,IAAS,KAAO,IAAS,MAAQ,IAAS,IAAM,IAAS,IAAM,IAAS,MAAQ,IAAS,MAAQ,IAAS,MAAQ,IAAS,MAAQ,IAAS,OAAS,IAAS,IAAM,IAAS,IAAM,IAAS,OAAS,IAAS,MAAQ,IAAS,OAAS,IAAS,OAAS,IAAI,OAAS,IAAS,KAAO,IAAI,KAAO,IAAS,YAAc,IAAS,aAAe,IAAI,kBAAoB,IAAS,cAAgB,IAAS,cAAgB,IAAS,IAAM,KAAe,IAAM,KAAe,MAAQ,IAAS,MAAQ,KAAe,MAAQ,KAAe,KAAO,KAAe,KAAO,KAAe,MAAQ,IAAS,MAAQ,IAAS,KAAO,KAAe,KAAO,KAAe,OAAS,KAAe,OAAS,KAAe,OAAS,KAAe,OAAS,KAAe,OAAS,IAAS,QAAU,IAAS,MAAQ,IAAS,MAAQ,IAAS,OAAS,IAAS,MAAQ,IAAS,MAAQ,IAAS,OAAS,IAAS,OAAS,IAAS,IAAM,KAAe,IAAM,KAAe,KAAO,KAAe,KAAO,KAAe,GAAK,IAAS,GAAK,IAAS,OAAS,IAAS,KAAO,KAAe,KAAO,KAAe,KAAO,IAAS,MAAQ,IAAS,KAAO,IAAS,MAAQ,IAAS,IAAM,KAAe,IAAM,KAAe,MAAQ,IAAS,MAAQ,IAAS,GAAK,IAAS,GAAK,IAAS,MAAQ,IAAS,MAAQ,IAAS,KAAO,IAAS,KAAO,IAAS,MAAQ,IAAS,KAAO,KAAe,KAAO,KAAe,OAAS,IAAS,OAAS,IAAS,MAAQ,IAAS,MAAQ,IAAS,KAAO,KAAe,KAAO,KAAe,OAAS,IAAS,OAAS,IAAS,MAAQ,IAAS,KAAO,IAAS,OAAS,IAAS,OAAS,IAAO,OAAS,IAAO,KAAO,IAAS,KAAO,IAAS,MAAQ,IAAS,MAAQ,IAAS,IAAM,IAAS,IAAM,IAAS,IAAM,IAAO,IAAM,KAAe,IAAM,KAAe,KAAO,IAAS,KAAO,IAAS,KAAO,KAAe,KAAO,KAAe,KAAO,KAAe,KAAO,KAAe,KAAO,IAAS,KAAO,IAAS,KAAO,IAAO,KAAO,IAAS,OAAS,IAAS,OAAS,IAAS,OAAS,IAAS,OAAS,IAAS,IAAM,IAAS,IAAM,IAAS,KAAO,IAAS,KAAO,IAAS,OAAS,IAAS,eAAiB,IAAS,KAAO,IAAS,KAAO,IAAS,IAAM,KAAe,IAAM,IAAS,KAAO,IAAS,KAAO,IAAS,QAAU,IAAS,KAAO,KAAe,KAAO,IAAS,KAAO,KAAe,KAAO,KAAe,IAAM,IAAS,KAAO,KACx8uCC,EAAkB,CAAC,OAAS,IAAO,OAAS,IAAO,MAAQ,IAAO,MAAQ,IAAO,MAAQ,IAAO,MAAQ,IAAO,MAAQ,IAAO,OAAS,IAAO,OAAS,IAAO,IAAM,IAAI,IAAM,IAAI,MAAQ,IAAO,MAAQ,IAAO,OAAS,IAAO,OAAS,IAAO,KAAO,IAAO,KAAO,IAAO,OAAS,IAAO,OAAS,IAAO,OAAS,IAAO,MAAQ,IAAO,KAAO,IAAO,KAAO,IAAO,KAAO,IAAO,OAAS,IAAO,IAAM,IAAO,OAAS,IAAO,OAAS,IAAO,OAAS,IAAO,MAAQ,IAAO,MAAQ,IAAO,OAAS,IAAO,OAAS,IAAO,IAAM,IAAO,IAAM,IAAO,KAAO,IAAO,KAAO,IAAO,OAAS,IAAO,OAAS,IAAO,OAAS,IAAO,GAAK,IAAI,GAAK,IAAI,OAAS,IAAO,OAAS,IAAO,MAAQ,IAAO,MAAQ,IAAO,MAAQ,IAAO,OAAS,IAAO,OAAS,IAAO,OAAS,IAAO,KAAO,IAAO,KAAO,IAAO,MAAQ,IAAO,GAAK,IAAI,GAAK,IAAI,KAAO,IAAO,MAAQ,IAAO,OAAS,IAAO,KAAO,IAAO,IAAM,IAAO,OAAS,IAAO,OAAS,IAAO,OAAS,IAAO,OAAS,IAAO,MAAQ,IAAO,MAAQ,IAAO,OAAS,IAAO,OAAS,IAAO,KAAO,IAAO,KAAO,IAAO,OAAS,IAAO,OAAS,IAAO,OAAS,IAAO,OAAS,IAAO,KAAO,IAAO,KAAO,IAAO,KAAO,IAAO,OAAS,IAAO,MAAQ,IAAO,KAAO,IAAI,KAAO,IAAI,MAAQ,IAAO,IAAM,IAAO,IAAM,IAAO,KAAO,IAAO,IAAM,IAAO,KAAO,IAAO,KAAO,IAAO,KAAO,IAAO,MAAQ,IAAO,MAAQ,IAAO,MAAQ,IAAO,MAAQ,IAAO,OAAS,IAAO,OAAS,IAAO,MAAQ,IAAO,MAAQ,IAAO,OAAS,IAAO,OAAS,IAAO,IAAM,IAAO,KAAO,IAAO,KAAO,IAAO,OAAS,IAAO,OAAS,IAAO,IAAM,IAAO,KAAO,KACxhDC,EAAmB,CAAC,EAAI,IAAS,IAAM,IAAS,IAAM,IAAS,IAAM,IAAS,IAAM,IAAS,IAAM,IAAS,IAAM,IAAS,IAAM,IAAS,IAAM,IAAS,IAAM,IAAS,IAAM,IAAS,IAAM,IAAS,IAAM,IAAS,IAAM,IAAS,IAAM,IAAS,IAAM,IAAS,IAAM,IAAS,IAAM,IAAS,IAAM,IAAS,IAAM,IAAS,IAAM,IAAS,IAAM,IAAS,IAAM,IAAS,IAAM,IAAS,IAAM,IAAS,IAAM,IAAS,IAAM,IAAS,IAAM,KAC7aC,EAA6B,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,QAAQ,QAAQ,QAAQ,SAItpBC,EAAqBtb,OAAOsa,aAG5B1W,EADS,CAAC,EACcA,eACxB2X,EAAM,SAASC,EAAQC,GAC1B,OAAO7X,EAAef,KAAK2Y,EAAQC,EACpC,EAaIC,EAAQ,SAASzc,EAAS0c,GAC7B,IAAK1c,EACJ,OAAO0c,EAER,IACI5V,EADA4B,EAAS,CAAC,EAEd,IAAK5B,KAAO4V,EAGXhU,EAAO5B,GAAOwV,EAAItc,EAAS8G,GAAO9G,EAAQ8G,GAAO4V,EAAS5V,GAE3D,OAAO4B,CACR,EAGIiU,EAAoB,SAASC,EAAWC,GAC3C,IAAI5J,EAAS,GACb,OAAK2J,GAAa,OAAUA,GAAa,OAAWA,EAAY,SAK3DC,GACHC,EAAW,6DAEL,KAEJR,EAAIH,EAAkBS,IACrBC,GACHC,EAAW,kCAELX,EAAiBS,KAErBC,GA5CU,SAASE,EAAOjY,GAG9B,IAFA,IAAIuT,GAAS,EACT3a,EAASqf,EAAMrf,SACV2a,EAAQ3a,GAChB,GAAIqf,EAAM1E,IAAUvT,EACnB,OAAO,EAGT,OAAO,CACR,CAmCekY,CAASZ,EAA4BQ,IAClDE,EAAW,kCAERF,EAAY,QAEf3J,GAAUoJ,GADVO,GAAa,SAC8B,GAAK,KAAQ,OACxDA,EAAY,MAAqB,KAAZA,GAEtB3J,GAAUoJ,EAAmBO,GAE9B,EAEIK,EAAY,SAASL,GACxB,MAAO,MAAQA,EAAUtf,SAAS,IAAI4f,cAAgB,GACvD,EAEIC,EAAY,SAASP,GACxB,MAAO,KAAOA,EAAY,GAC3B,EAEIE,EAAa,SAAStP,GACzB,MAAM7N,MAAM,gBAAkB6N,EAC/B,EAII4P,EAAS,SAASC,EAAQrd,IAC7BA,EAAUyc,EAAMzc,EAASod,EAAOpd,UACX6c,QACPd,EAAyBlB,KAAKwC,IAC3CP,EAAW,wBAEZ,IAAIQ,EAAmBtd,EAAQsd,iBAC3BC,EAAqBvd,EAAQud,mBAC7BC,EAAqBxd,EAAQwd,mBAC7BC,EAAkBzd,EAAQ0d,QAAUP,EAAYF,EAEhDU,EAAkB,SAASC,GAC9B,OAAOH,EAAgBG,EAAO3C,WAAW,GAC1C,EAmDA,OAjDIqC,GAEHD,EAASA,EAAO9X,QAAQiW,GAAqB,SAASoC,GAErD,OAAIL,GAAsBjB,EAAIX,EAAWiC,GACjC,IAAMjC,EAAUiC,GAAU,IAE3BD,EAAgBC,EACxB,IAGIL,IACHF,EAASA,EACP9X,QAAQ,cAAe,UACvBA,QAAQ,cAAe,UACvBA,QAAQ,gBAAiB,YAGxBgY,IAEHF,EAASA,EAAO9X,QAAQmW,GAAqB,SAAS2B,GAErD,MAAO,IAAM1B,EAAU0B,GAAU,GAClC,MAGSE,GAGLC,IACJH,EAASA,EAAO9X,QAAQqW,GAAa,SAASyB,GAC7C,MAAO,IAAM1B,EAAU0B,GAAU,GAClC,KAQDA,GAJAA,EAASA,EACP9X,QAAQ,cAAe,UACvBA,QAAQ,cAAe,WAETA,QAAQmW,GAAqB,SAAS2B,GAErD,MAAO,IAAM1B,EAAU0B,GAAU,GAClC,KACWG,IAGXH,EAASA,EAAO9X,QAAQqW,EAAa+B,IAE/BN,EAEL9X,QAAQgW,GAAoB,SAASsC,GAErC,IAAIC,EAAOD,EAAG5C,WAAW,GACrB8C,EAAMF,EAAG5C,WAAW,GAExB,OAAOwC,EAD2B,MAAjBK,EAAO,OAAkBC,EAAM,MAAS,MAE1D,IAGCxY,QAAQkW,EAAmBkC,EAC9B,EAEAP,EAAOpd,QAAU,CAChB,oBAAsB,EACtB,kBAAoB,EACpB,QAAU,EACV,oBAAsB,EACtB,SAAY,GAGb,IAAIqU,EAAS,SAAS2J,EAAMhe,GAE3B,IAAI6c,GADJ7c,EAAUyc,EAAMzc,EAASqU,EAAOrU,UACX6c,OAIrB,OAHIA,GAAUf,EAAmBjB,KAAKmD,IACrClB,EAAW,iCAELkB,EAAKzY,QAAQyW,GAAa,SAAS6B,EAAII,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,GACzE,IAAI5B,EACA6B,EACAC,EACAC,EACAC,EACAC,EAEJ,OAAIZ,EAGIhC,EAFP2C,EAAYX,GAKTC,GAIHU,EAAYV,GACZW,EAAOV,IACKne,EAAQ8e,kBACfjC,GAAkB,KAARgC,GACb/B,EAAW,2CAELe,IAEHhB,GACHC,EACC,+DAIKZ,EAAgB0C,IAAcC,GAAQ,MAI3CT,GAEHM,EAAYN,EACZK,EAAYJ,EACRxB,IAAW4B,GACd3B,EAAW,yDAEZF,EAAY1M,SAASwO,EAAW,IACzB/B,EAAkBC,EAAWC,IAGjCyB,GAEHK,EAAYL,EACZG,EAAYF,EACR1B,IAAW4B,GACd3B,EAAW,yDAEZF,EAAY1M,SAASyO,EAAW,IACzBhC,EAAkBC,EAAWC,KAKjCA,GACHC,EACC,+DAGKe,EACR,GACD,EAEAxJ,EAAOrU,QAAU,CAChB,kBAAoB,EACpB,QAAU,GAGX,IASIoU,EAAK,CACR,QAAW,QACX,OAAUgJ,EACV,OAAU/I,EACV,OAbY,SAASgJ,GACrB,OAAOA,EAAO9X,QAAQqW,GAAa,SAASiC,GAE3C,OAAOhC,EAAUgC,EAClB,GACD,EASC,SAAYxJ,QAYX,KAFD,aACC,OAAOD,CACP,+BAaH,CAvVC,+BCoBD,SAAS2K,EAAQC,GACb,MAA+B,oBAGXzY,EAHEyY,EAIf1a,OAAOI,UAAUpH,SAASsG,KAAK2C,KAJayY,aAAerf,MAGtE,IAAwB4G,CAFxB,CAtBAjC,OAAOC,eAAexI,EAAS,aAAc,CAAE+I,OAAO,IACtD/I,EAAQgjB,QAAUhjB,EAAQkjB,QAAUljB,EAAQmjB,iBAAc,EAM1DnjB,EAAQmjB,YALR,SAAqBF,GACjB,IAAKD,EAAQC,GACT,MAAM,IAAIrf,MAAM,6BAExB,EAaA5D,EAAQkjB,QAXR,SAAiBE,EAAMC,GACnBD,EAAKE,OAASD,EACdD,EAAKza,UAAYJ,OAAOgb,OAAOF,EAAU1a,UAAW,CAChD+B,YAAa,CACT3B,MAAOqa,EACP3a,YAAY,EACZqC,UAAU,EACVD,cAAc,IAG1B,EAKA7K,EAAQgjB,QAAUA,sCCvBlB,IAAIQ,EAAmBhiB,MAAQA,KAAKgiB,kBAAqBjb,OAAOgb,OAAS,SAAUhjB,EAAG4F,EAAGsd,EAAGC,QAC7EnW,IAAPmW,IAAkBA,EAAKD,GAC3Blb,OAAOC,eAAejI,EAAGmjB,EAAI,CAAEjb,YAAY,EAAMC,IAAK,WAAa,OAAOvC,EAAEsd,EAAI,GACnF,EAAI,SAAUljB,EAAG4F,EAAGsd,EAAGC,QACTnW,IAAPmW,IAAkBA,EAAKD,GAC3BljB,EAAEmjB,GAAMvd,EAAEsd,EACb,GACGE,EAAgBniB,MAAQA,KAAKmiB,cAAiB,SAASxd,EAAGnG,GAC1D,IAAK,IAAIuC,KAAK4D,EAAa,YAAN5D,GAAoBgG,OAAOI,UAAUC,eAAef,KAAK7H,EAASuC,IAAIihB,EAAgBxjB,EAASmG,EAAG5D,EAC3H,EACAgG,OAAOC,eAAexI,EAAS,aAAc,CAAE+I,OAAO,IACtD/I,EAAQ4jB,YAAS,EACjB,IAAIC,EAAW,EAAQ,OACvBtb,OAAOC,eAAexI,EAAS,SAAU,CAAEyI,YAAY,EAAMC,IAAK,WAAc,OAAOmb,EAASD,MAAQ,IACxGD,EAAa,EAAQ,OAAY3jB,iCCdjCuI,OAAOC,eAAexI,EAAS,aAAc,CAAE+I,OAAO,IACtD/I,EAAQ4jB,YAAS,EACjB,MAAME,EAAU,EAAQ,OAClBC,EAAU,EAAQ,OACxB,SAASH,EAAOI,EAAuBC,GACnC,MAAMtW,EAAO,IAAIL,WACjB,GAAI9L,gBAAgBoiB,GAAW,EAC3B,MAAM,IAAIhgB,MAAM,wEAEpB,MAAM,QAAEK,EAAO,aAAEigB,GAAiBH,EAAQI,eAAexW,GACzDnM,KAAKqD,KAAO,SACRZ,EAAQY,MAAgC,iBAAjBZ,EAAQY,OAC/BrD,KAAKqD,KAAOZ,EAAQY,MAExB,IAAI4M,EAAUyS,EAWd,GAVIjgB,EAAQmgB,QACR7b,OAAOC,eAAehH,KAAM,SAAU,CAAEuH,MAAO9E,EAAQmgB,QACvD3S,EAAU,GAAGA,MAAYxN,EAAQmgB,MAAM3S,WAE3CjQ,KAAKiQ,QAAUA,EACflJ,OAAOC,eAAehH,KAAM,QAAS,CAAEuH,MAAO,CAAC,IAC3C9E,EAAQogB,MAAgC,iBAAjBpgB,EAAQogB,MAC/B9b,OAAOgK,OAAO/Q,KAAK8iB,MAAOrgB,EAAQogB,MAEtCzgB,MAAMiE,KAAKrG,KAAMiQ,GACb7N,MAAM2gB,kBAAmB,CACzB,MAAMnB,EAAOnf,EAAQugB,gBAAkBhjB,KAAKkJ,YAC5C9G,MAAM2gB,kBAAkB/iB,KAAM4hB,EAClC,CACA,OAAO5hB,IACX,CACAxB,EAAQ4jB,OAASA,EACjBE,EAAQZ,QAAQU,EAAQhgB,OACxBggB,EAAOjb,UAAUyb,MAAQ,WACrB,OAAOR,EAAOQ,MAAM5iB,YAAS+L,CACjC,EACAqW,EAAOjb,UAAUpH,SAAW,WACxB,IAAI2V,EAAS1V,KAAKqD,MAAQrD,KAAKkJ,YAAY7F,MAAQrD,KAAKkJ,YAAY/B,UAAU9D,KAI9E,OAHIrD,KAAKiQ,UACLyF,EAAS,GAAGA,MAAW1V,KAAKiQ,WAEzByF,CACX,EACA0M,EAAOQ,MAAQ,SAAoBnB,GAE/B,OADAa,EAAQX,YAAYF,GACba,EAAQd,QAAQC,EAAIwB,QAAUxB,EAAIwB,OAAS,IACtD,EACAb,EAAOc,UAAY,SAAwBzB,GACvCa,EAAQX,YAAYF,GACpB,MAAMmB,EAAQR,EAAOQ,MAAMnB,GAC3B,OAAImB,EACO,GAAGnB,EAAI0B,qBAAqBf,EAAOc,UAAUN,KAEjDnB,EAAI0B,KACf,EACAf,EAAOS,KAAO,SAAmBpB,GAC7Ba,EAAQX,YAAYF,GACpB,MAAM/L,EAAS,CAAC,EACVkN,EAAQR,EAAOQ,MAAMnB,GAO3B,OANImB,GACA7b,OAAOgK,OAAO2E,EAAQ0M,EAAOS,KAAKD,IAElCnB,EAAIqB,OACJ/b,OAAOgK,OAAO2E,EAAQ+L,EAAIqB,OAEvBpN,CACX,gCClEA3O,OAAOC,eAAexI,EAAS,aAAc,CAAE+I,OAAO,IACtD/I,EAAQmkB,oBAAiB,EACzB,MAAML,EAAU,EAAQ,OA4BxB9jB,EAAQmkB,eA3BR,SAAwBxW,GACpB,IAAI1J,EAASigB,EAAe,GAC5B,GAAoB,IAAhBvW,EAAKhM,OACLsC,EAAU,CAAC,OAEV,GAAI6f,EAAQd,QAAQrV,EAAK,IAC1B1J,EAAU,CACNmgB,MAAOzW,EAAK,IAEhBuW,EAAevW,EAAKgQ,MAAM,GAAG/b,KAAK,MAAQ,QAEzC,GAAI+L,EAAK,IAAyB,iBAAZA,EAAK,GAC5B1J,EAAUsE,OAAOgK,OAAO,CAAC,EAAG5E,EAAK,IACjCuW,EAAevW,EAAKgQ,MAAM,GAAG/b,KAAK,MAAQ,OAEzC,IAAuB,iBAAZ+L,EAAK,GAKjB,MAAM,IAAI/J,MAAM,sCAJhBK,EAAU,CAAC,EACXigB,EAAeA,EAAevW,EAAK/L,KAAK,MAAQ,EAIpD,CACA,MAAO,CACHqC,UACAigB,eAER,8BC7BA3b,OAAOC,eAAexI,EAAS,aAAc,CAAE+I,OAAO,qBCDtD,IAAItH,EAAM,CACT,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,MACd,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,KACR,UAAW,KACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,KACR,UAAW,MACX,aAAc,MACd,UAAW,KACX,OAAQ,MACR,UAAW,MACX,OAAQ,KACR,UAAW,KACX,OAAQ,MACR,UAAW,MACX,OAAQ,KACR,UAAW,KACX,OAAQ,KACR,UAAW,KACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,MACd,UAAW,MACX,OAAQ,KACR,UAAW,KACX,OAAQ,MACR,UAAW,MACX,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,MACd,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,MACd,UAAW,MACX,OAAQ,KACR,UAAW,KACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,QAAS,MACT,WAAY,MACZ,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,MACd,UAAW,MACX,OAAQ,KACR,UAAW,KACX,OAAQ,MACR,UAAW,MACX,OAAQ,KACR,UAAW,KACX,OAAQ,MACR,UAAW,MACX,aAAc,MACd,gBAAiB,MACjB,aAAc,MACd,gBAAiB,MACjB,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,UAAW,MACX,aAAc,MACd,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,aAAc,MACd,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,KACR,UAAW,KACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,KACR,UAAW,KACX,OAAQ,MACR,UAAW,MACX,OAAQ,KACR,UAAW,MACX,aAAc,MACd,UAAW,KACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,aAAc,MACd,UAAW,MACX,OAAQ,MACR,UAAW,MACX,WAAY,MACZ,cAAe,MACf,UAAW,MACX,aAAc,MACd,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,aAAc,MACd,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,YAAa,MACb,eAAgB,MAChB,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,QAAS,MACT,WAAY,MACZ,OAAQ,MACR,UAAW,MACX,OAAQ,KACR,UAAW,KACX,OAAQ,MACR,UAAW,MACX,UAAW,MACX,aAAc,MACd,QAAS,MACT,WAAY,MACZ,OAAQ,MACR,UAAW,MACX,QAAS,MACT,WAAY,MACZ,QAAS,MACT,aAAc,MACd,gBAAiB,MACjB,WAAY,MACZ,UAAW,KACX,aAAc,KACd,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,KACR,YAAa,MACb,eAAgB,MAChB,UAAW,KACX,OAAQ,MACR,UAAW,MACX,aAAc,MACd,gBAAiB,MACjB,OAAQ,MACR,UAAW,MACX,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,OAIf,SAASmjB,EAAeC,GACvB,IAAI7jB,EAAK8jB,EAAsBD,GAC/B,OAAOE,EAAoB/jB,EAC5B,CACA,SAAS8jB,EAAsBD,GAC9B,IAAIE,EAAoBxkB,EAAEkB,EAAKojB,GAAM,CACpC,IAAIhlB,EAAI,IAAI+D,MAAM,uBAAyBihB,EAAM,KAEjD,MADAhlB,EAAEmlB,KAAO,mBACHnlB,CACP,CACA,OAAO4B,EAAIojB,EACZ,CACAD,EAAezN,KAAO,WACrB,OAAO5O,OAAO4O,KAAK1V,EACpB,EACAmjB,EAAeK,QAAUH,EACzB/kB,EAAOC,QAAU4kB,EACjBA,EAAe5jB,GAAK,8BC1RpB,SAASuJ,EAAQC,GAAmV,OAAtOD,EAArD,mBAAX1B,QAAoD,iBAApBA,OAAO4B,SAAmC,SAAiBD,GAAO,cAAcA,CAAK,EAAsB,SAAiBA,GAAO,OAAOA,GAAyB,mBAAX3B,QAAyB2B,EAAIE,cAAgB7B,QAAU2B,IAAQ3B,OAAOF,UAAY,gBAAkB6B,CAAK,EAAYD,EAAQC,EAAM,CAUzX,SAAS0a,EAAiBC,GAAS,IAAIC,EAAwB,mBAARC,IAAqB,IAAIA,SAAQ9X,EAA8nB,OAAnnB2X,EAAmB,SAA0BC,GAAS,GAAc,OAAVA,IAMlIrO,EANuKqO,GAMjG,IAAzD3P,SAASjU,SAASsG,KAAKiP,GAAIsH,QAAQ,kBAN+H,OAAO+G,EAMjN,IAA2BrO,EAN6L,GAAqB,mBAAVqO,EAAwB,MAAM,IAAI1Z,UAAU,sDAAyD,QAAsB,IAAX2Z,EAAwB,CAAE,GAAIA,EAAO7E,IAAI4E,GAAQ,OAAOC,EAAO1c,IAAIyc,GAAQC,EAAOE,IAAIH,EAAOI,EAAU,CAAE,SAASA,IAAY,OAAOC,EAAWL,EAAO7X,UAAWmY,EAAgBjkB,MAAMkJ,YAAc,CAAkJ,OAAhJ6a,EAAQ5c,UAAYJ,OAAOgb,OAAO4B,EAAMxc,UAAW,CAAE+B,YAAa,CAAE3B,MAAOwc,EAAS9c,YAAY,EAAOqC,UAAU,EAAMD,cAAc,KAAkB6a,EAAgBH,EAASJ,EAAQ,EAAUD,EAAiBC,EAAQ,CAEtvB,SAASK,EAAWG,EAAQhY,EAAMwX,GAAqV,OAAhQK,EAEvH,WAAuC,GAAuB,oBAAZI,UAA4BA,QAAQC,UAAW,OAAO,EAAO,GAAID,QAAQC,UAAUC,KAAM,OAAO,EAAO,GAAqB,mBAAVC,MAAsB,OAAO,EAAM,IAAiF,OAA3EhS,KAAKpL,UAAUpH,SAASsG,KAAK+d,QAAQC,UAAU9R,KAAM,IAAI,WAAa,MAAY,CAAM,CAAE,MAAOlU,GAAK,OAAO,CAAO,CAAE,CAFpRmmB,GAA4CJ,QAAQC,UAAiC,SAAoBF,EAAQhY,EAAMwX,GAAS,IAAI9kB,EAAI,CAAC,MAAOA,EAAEU,KAAK8M,MAAMxN,EAAGsN,GAAO,IAAsD1B,EAAW,IAA/CuJ,SAASlP,KAAKuH,MAAM8X,EAAQtlB,IAA6F,OAAnD8kB,GAAOO,EAAgBzZ,EAAUkZ,EAAMxc,WAAmBsD,CAAU,EAAYuZ,EAAW3X,MAAM,KAAMP,UAAY,CAMja,SAASoY,EAAgBnlB,EAAGgC,GAA+G,OAA1GmjB,EAAkBnd,OAAO0d,gBAAkB,SAAyB1lB,EAAGgC,GAAsB,OAAjBhC,EAAE2lB,UAAY3jB,EAAUhC,CAAG,EAAUmlB,EAAgBnlB,EAAGgC,EAAI,CAEzK,SAASkjB,EAAgBllB,GAAwJ,OAAnJklB,EAAkBld,OAAO0d,eAAiB1d,OAAO4d,eAAiB,SAAyB5lB,GAAK,OAAOA,EAAE2lB,WAAa3d,OAAO4d,eAAe5lB,EAAI,EAAUklB,EAAgBllB,EAAI,CAE5M,IAAI6lB,EAAiB,IAGjBC,EAA4C,SAAUC,GAGxD,SAASD,EAA6BvK,GACpC,IAAItP,EAMJ,OAjCJ,SAAyBP,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIT,UAAU,oCAAwC,CA6BpJU,CAAgB3K,KAAM6kB,IAEtB7Z,EA7BJ,SAAoCvM,EAAM4H,GAAQ,OAAIA,GAA2B,WAAlB0C,EAAQ1C,IAAsC,mBAATA,EAEpG,SAAgC5H,GAAQ,QAAa,IAATA,EAAmB,MAAM,IAAIsmB,eAAe,6DAAgE,OAAOtmB,CAAM,CAFnBumB,CAAuBvmB,GAAtC4H,CAA6C,CA6BpK4e,CAA2BjlB,KAAMikB,EAAgBY,GAA8Bxe,KAAKrG,KAAMsa,KAC5FjX,KAAO,+BACN2H,CACT,CAEA,OA9BF,SAAmBka,EAAUC,GAAc,GAA0B,mBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAIlb,UAAU,sDAAyDib,EAAS/d,UAAYJ,OAAOgb,OAAOoD,GAAcA,EAAWhe,UAAW,CAAE+B,YAAa,CAAE3B,MAAO2d,EAAU5b,UAAU,EAAMD,cAAc,KAAe8b,GAAYjB,EAAgBgB,EAAUC,EAAa,CAkB9XC,CAAUP,EAA8BC,GAYjCD,CACT,CAdgD,CAc9CnB,EAAiBthB,QA6LnB,SAASijB,EAASrG,EAAQsG,GAoCxB,IAnCA,IAAIpa,EAAWY,UAAU3L,OAAS,QAAsB4L,IAAjBD,UAAU,GAAmBA,UAAU,GAAK,WAAa,EAC5FyZ,EAAWD,EAAKzd,MA/MD,KAgNf1H,EAASolB,EAASplB,OAElBqlB,EAAQ,SAAeC,GACzB,IAAIC,EAAiBH,EAASE,GAE9B,IAAKzG,EACH,MAAO,CACLpa,OAAG,GAIP,GAAI8gB,IAAmBd,EAAgB,CACrC,GAAIlb,MAAMC,QAAQqV,GAChB,MAAO,CACLpa,EAAGoa,EAAO/e,KAAI,SAAUsH,EAAOuT,GAC7B,IAAI6K,EAAoBJ,EAASpJ,MAAMsJ,EAAM,GAE7C,OAAIE,EAAkBxlB,OAAS,EACtBklB,EAAS9d,EAAOoe,EAAkBvlB,KAlOlC,KAkOwD8K,GAExDA,EAAS8T,EAAQlE,EAAOyK,EAAUE,EAE7C,KAGF,IAAIG,EAAaL,EAASpJ,MAAM,EAAGsJ,GAAKrlB,KAzO3B,KA0Ob,MAAM,IAAIgC,MAAM,uBAAuBlC,OAAO0lB,EAAY,qBAE9D,CACE5G,EAAS9T,EAAS8T,EAAQ0G,EAAgBH,EAAUE,EAExD,EAESA,EAAM,EAAGA,EAAMtlB,EAAQslB,IAAO,CACrC,IAAII,EAAOL,EAAMC,GAEjB,GAAsB,WAAlB1c,EAAQ8c,GAAoB,OAAOA,EAAKjhB,CAC9C,CAEA,OAAOoa,CACT,CAEA,SAAS8G,EAAcP,EAAUzK,GAC/B,OAAOyK,EAASplB,SAAW2a,EAAQ,CACrC,CA1OAvc,EAAOC,QAAU,CACfslB,IAkGF,SAA2B9E,EAAQ+G,EAAUxe,GAC3C,GAAuB,UAAnBwB,EAAQiW,IAAkC,OAAXA,EACjC,OAAOA,EAGT,QAAuB,IAAZ+G,EACT,OAAO/G,EAGT,GAAuB,iBAAZ+G,EAET,OADA/G,EAAO+G,GAAYxe,EACZyX,EAAO+G,GAGhB,IACE,OAAOV,EAASrG,EAAQ+G,GAAU,SAA4BC,EAAeC,EAAiBV,EAAUzK,GACtG,GAAIkL,IAAkB5B,QAAQO,eAAe,CAAC,GAC5C,MAAM,IAAIE,EAA6B,yCAGzC,IAAKmB,EAAcC,GAAkB,CACnC,IAAIC,EAAmB7X,OAAO8X,UAAU9X,OAAOkX,EAASzK,EAAQ,KAC5DsL,EAA0Bb,EAASzK,EAAQ,KAAO8J,EAGpDoB,EAAcC,GADZC,GAAoBE,EACW,GAEA,CAAC,CAEtC,CAMA,OAJIN,EAAcP,EAAUzK,KAC1BkL,EAAcC,GAAmB1e,GAG5Bye,EAAcC,EACvB,GACF,CAAE,MAAOxE,GACP,GAAIA,aAAeoD,EAEjB,MAAMpD,EAEN,OAAOzC,CAEX,CACF,EA9IE9X,IAqBF,SAA2B8X,EAAQ+G,GACjC,GAAuB,UAAnBhd,EAAQiW,IAAkC,OAAXA,EACjC,OAAOA,EAGT,QAAuB,IAAZ+G,EACT,OAAO/G,EAGT,GAAuB,iBAAZ+G,EACT,OAAO/G,EAAO+G,GAGhB,IACE,OAAOV,EAASrG,EAAQ+G,GAAU,SAA4BC,EAAeC,GAC3E,OAAOD,EAAcC,EACvB,GACF,CAAE,MAAOxE,GACP,OAAOzC,CACT,CACF,EAxCED,IAqDF,SAA2BC,EAAQ+G,GACjC,IAAItjB,EAAUqJ,UAAU3L,OAAS,QAAsB4L,IAAjBD,UAAU,GAAmBA,UAAU,GAAK,CAAC,EAEnF,GAAuB,UAAnB/C,EAAQiW,IAAkC,OAAXA,EACjC,OAAO,EAGT,QAAuB,IAAZ+G,EACT,OAAO,EAGT,GAAuB,iBAAZA,EACT,OAAOA,KAAY/G,EAGrB,IACE,IAAID,GAAM,EAYV,OAXAsG,EAASrG,EAAQ+G,GAAU,SAA4BC,EAAeC,EAAiBV,EAAUzK,GAC/F,IAAIgL,EAAcP,EAAUzK,GAO1B,OAAOkL,GAAiBA,EAAcC,GALpClH,EADEtc,EAAQ4jB,IACJL,EAAc5e,eAAe6e,GAE7BA,KAAmBD,CAK/B,IACOjH,CACT,CAAE,MAAO0C,GACP,OAAO,CACT,CACF,EApFE6E,OAAQ,SAAgBtH,EAAQ+G,EAAUtjB,GACxC,OAAOzC,KAAK+e,IAAIC,EAAQ+G,EAAUtjB,GAAW,CAC3C4jB,KAAK,GAET,EACAE,KAoJF,SAA4BvH,EAAQ+G,EAAUS,GAC5C,IAAI/jB,EAAUqJ,UAAU3L,OAAS,QAAsB4L,IAAjBD,UAAU,GAAmBA,UAAU,GAAK,CAAC,EAEnF,GAAuB,UAAnB/C,EAAQiW,IAAkC,OAAXA,EACjC,OAAO,EAGT,QAAuB,IAAZ+G,EACT,OAAO,EAGT,IACE,IAAIQ,GAAO,EACPE,GAAa,EAOjB,OANApB,EAASrG,EAAQ+G,GAAU,SAA6BC,EAAeC,EAAiBV,EAAUzK,GAGhG,OAFAyL,EAAOA,GAAQP,IAAkBQ,KAAkBR,GAAiBA,EAAcC,KAAqBO,EACvGC,EAAaX,EAAcP,EAAUzK,IAAqC,WAA3B/R,EAAQid,IAA+BC,KAAmBD,EAClGA,GAAiBA,EAAcC,EACxC,IAEIxjB,EAAQikB,UACHH,GAAQE,EAERF,CAEX,CAAE,MAAO9E,GACP,OAAO,CACT,CACF,EA/KEoD,6BAA8BA,gDCtC5B8B,EAAO,EAAQ,OACfC,EAAW,SAAUC,GACvB,MAAoB,iBAANA,CAChB,EAOA,SAASC,EAAeC,EAAOC,GAE7B,IADA,IAAIC,EAAM,GACD3nB,EAAI,EAAGA,EAAIynB,EAAM5mB,OAAQb,IAAK,CACrC,IAAIyB,EAAIgmB,EAAMznB,GAGTyB,GAAW,MAANA,IAGA,OAANA,EACEkmB,EAAI9mB,QAAkC,OAAxB8mB,EAAIA,EAAI9mB,OAAS,GACjC8mB,EAAIrU,MACKoU,GACTC,EAAI1nB,KAAK,MAGX0nB,EAAI1nB,KAAKwB,GAEb,CAEA,OAAOkmB,CACT,CAIA,IAAIC,EACA,gEACAC,EAAQ,CAAC,EAGb,SAASC,EAAe1Q,GACtB,OAAOwQ,EAAYG,KAAK3Q,GAAUyF,MAAM,EAC1C,CAKAgL,EAAM1D,QAAU,WAId,IAHA,IAAI6D,EAAe,GACfC,GAAmB,EAEdjoB,EAAIwM,UAAU3L,OAAS,EAAGb,IAAM,IAAMioB,EAAkBjoB,IAAK,CACpE,IAAIgmB,EAAQhmB,GAAK,EAAKwM,UAAUxM,GAAKkoB,EAAQC,MAG7C,IAAKb,EAAStB,GACZ,MAAM,IAAIrb,UAAU,6CACVqb,IAIZgC,EAAehC,EAAO,IAAMgC,EAC5BC,EAAsC,MAAnBjC,EAAK3H,OAAO,GACjC,CASA,OAAS4J,EAAmB,IAAM,KAHlCD,EAAeR,EAAeQ,EAAazf,MAAM,MAClB0f,GAAkBnnB,KAAK,OAEG,GAC3D,EAIA+mB,EAAMO,UAAY,SAASpC,GACzB,IAAIqC,EAAaR,EAAMQ,WAAWrC,GAC9BsC,EAAoC,MAApBtC,EAAKuC,QAAQ,GAYjC,OATAvC,EAAOwB,EAAexB,EAAKzd,MAAM,MAAO8f,GAAYvnB,KAAK,OAE3CunB,IACZrC,EAAO,KAELA,GAAQsC,IACVtC,GAAQ,MAGFqC,EAAa,IAAM,IAAMrC,CACnC,EAGA6B,EAAMQ,WAAa,SAASrC,GAC1B,MAA0B,MAAnBA,EAAK3H,OAAO,EACrB,EAGAwJ,EAAM/mB,KAAO,WAEX,IADA,IAAIklB,EAAO,GACFhmB,EAAI,EAAGA,EAAIwM,UAAU3L,OAAQb,IAAK,CACzC,IAAIwoB,EAAUhc,UAAUxM,GACxB,IAAKsnB,EAASkB,GACZ,MAAM,IAAI7d,UAAU,0CAElB6d,IAIAxC,GAHGA,EAGK,IAAMwC,EAFNA,EAKd,CACA,OAAOX,EAAMO,UAAUpC,EACzB,EAKA6B,EAAMY,SAAW,SAAShe,EAAMie,GAI9B,SAAS1T,EAAK7K,GAEZ,IADA,IAAIuS,EAAQ,EACLA,EAAQvS,EAAItJ,QACE,KAAfsJ,EAAIuS,GADiBA,KAK3B,IADA,IAAIC,EAAMxS,EAAItJ,OAAS,EAChB8b,GAAO,GACK,KAAbxS,EAAIwS,GADOA,KAIjB,OAAID,EAAQC,EAAY,GACjBxS,EAAI0S,MAAMH,EAAOC,EAAM,EAChC,CAhBAlS,EAAOod,EAAM1D,QAAQ1Z,GAAM8d,OAAO,GAClCG,EAAKb,EAAM1D,QAAQuE,GAAIH,OAAO,GAsB9B,IALA,IAAII,EAAY3T,EAAKvK,EAAKlC,MAAM,MAC5BqgB,EAAU5T,EAAK0T,EAAGngB,MAAM,MAExB1H,EAASgoB,KAAKC,IAAIH,EAAU9nB,OAAQ+nB,EAAQ/nB,QAC5CkoB,EAAkBloB,EACbb,EAAI,EAAGA,EAAIa,EAAQb,IAC1B,GAAI2oB,EAAU3oB,KAAO4oB,EAAQ5oB,GAAI,CAC/B+oB,EAAkB/oB,EAClB,KACF,CAGF,IAAIgpB,EAAc,GAClB,IAAShpB,EAAI+oB,EAAiB/oB,EAAI2oB,EAAU9nB,OAAQb,IAClDgpB,EAAY/oB,KAAK,MAKnB,OAFA+oB,EAAcA,EAAYpoB,OAAOgoB,EAAQ/L,MAAMkM,KAE5BjoB,KAAK,IAC1B,EAGA+mB,EAAMoB,UAAY,SAASjD,GACzB,OAAOA,CACT,EAGA6B,EAAMqB,QAAU,SAASlD,GACvB,IAAIna,EAASic,EAAe9B,GACxBxI,EAAO3R,EAAO,GACdsd,EAAMtd,EAAO,GAEjB,OAAK2R,GAAS2L,GAKVA,IAEFA,EAAMA,EAAIZ,OAAO,EAAGY,EAAItoB,OAAS,IAG5B2c,EAAO2L,GARL,GASX,EAGAtB,EAAMjQ,SAAW,SAASoO,EAAMoD,GAC9B,IAAIhkB,EAAI0iB,EAAe9B,GAAM,GAK7B,OAHIoD,GAAOhkB,EAAEmjB,QAAQ,EAAIa,EAAIvoB,UAAYuoB,IACvChkB,EAAIA,EAAEmjB,OAAO,EAAGnjB,EAAEvE,OAASuoB,EAAIvoB,SAE1BuE,CACT,EAGAyiB,EAAMwB,QAAU,SAASrD,GACvB,OAAO8B,EAAe9B,GAAM,EAC9B,EAGA6B,EAAMrY,OAAS,SAAS8Z,GACtB,IAAKjC,EAAKkC,SAASD,GACjB,MAAM,IAAI3e,UACN,wDAA0D2e,GAIhE,IAAI9L,EAAO8L,EAAW9L,MAAQ,GAE9B,IAAK8J,EAAS9J,GACZ,MAAM,IAAI7S,UACN,+DACO2e,EAAW9L,MAMxB,OAFU8L,EAAWH,IAAMG,EAAWH,IAAMtB,EAAM2B,IAAM,KAC7CF,EAAW9nB,MAAQ,GAEhC,EAGAqmB,EAAM4B,MAAQ,SAASC,GACrB,IAAKpC,EAASoC,GACZ,MAAM,IAAI/e,UACN,uDAAyD+e,GAG/D,IAAIC,EAAW7B,EAAe4B,GAC9B,IAAKC,GAAgC,IAApBA,EAAS9oB,OACxB,MAAM,IAAI8J,UAAU,iBAAmB+e,EAAa,KAMtD,OAJAC,EAAS,GAAKA,EAAS,IAAM,GAC7BA,EAAS,GAAKA,EAAS,IAAM,GAC7BA,EAAS,GAAKA,EAAS,IAAM,GAEtB,CACLnM,KAAMmM,EAAS,GACfR,IAAKQ,EAAS,GAAKA,EAAS,GAAG9M,MAAM,EAAG8M,EAAS,GAAG9oB,OAAS,GAC7DW,KAAMmoB,EAAS,GACfP,IAAKO,EAAS,GACd5lB,KAAM4lB,EAAS,GAAG9M,MAAM,EAAG8M,EAAS,GAAG9oB,OAAS8oB,EAAS,GAAG9oB,QAEhE,EAGAgnB,EAAM2B,IAAM,IACZ3B,EAAM+B,UAAY,IAEhB3qB,EAAOC,QAAU2oB,mBCjRnB,IAAIvL,EAAW,EAAQ,MAEvBrd,EAAOC,QA6DP,SAAmBqd,GACjB,OAAKA,GASoB,OAArBA,EAAIgM,OAAO,EAAG,KAChBhM,EAAM,SAAWA,EAAIgM,OAAO,IAGvBsB,EA7DT,SAAsBtN,GACpB,OAAOA,EAAIhU,MAAM,QAAQzH,KAAKgpB,GACnBvhB,MAAM,OAAOzH,KAAKipB,GAClBxhB,MAAM,OAAOzH,KAAKkpB,GAClBzhB,MAAM,OAAOzH,KAAKmpB,GAClB1hB,MAAM,OAAOzH,KAAKopB,EAC/B,CAuDgBC,CAAa5N,IAAM,GAAM5b,IAAIypB,IAZlC,EAaX,EA1EA,IAAIN,EAAW,UAAUjB,KAAKwB,SAAS,KACnCN,EAAU,SAASlB,KAAKwB,SAAS,KACjCL,EAAW,UAAUnB,KAAKwB,SAAS,KACnCJ,EAAW,UAAUpB,KAAKwB,SAAS,KACnCH,EAAY,WAAWrB,KAAKwB,SAAS,KAEzC,SAASC,EAAQ/N,GACf,OAAOlJ,SAASkJ,EAAK,KAAOA,EACxBlJ,SAASkJ,EAAK,IACdA,EAAI6B,WAAW,EACrB,CAUA,SAASgM,EAAe7N,GACtB,OAAOA,EAAIhU,MAAMuhB,GAAUhpB,KAAK,MACrByH,MAAMwhB,GAASjpB,KAAK,KACpByH,MAAMyhB,GAAUlpB,KAAK,KACrByH,MAAM0hB,GAAUnpB,KAAK,KACrByH,MAAM2hB,GAAWppB,KAAK,IACnC,CAMA,SAASypB,EAAgBhO,GACvB,IAAKA,EACH,MAAO,CAAC,IAEV,IAAIkL,EAAQ,GACRpiB,EAAIiX,EAAS,IAAK,IAAKC,GAE3B,IAAKlX,EACH,OAAOkX,EAAIhU,MAAM,KAEnB,IAAIqU,EAAMvX,EAAEuX,IACRvT,EAAOhE,EAAEgE,KACTyT,EAAOzX,EAAEyX,KACTrb,EAAImb,EAAIrU,MAAM,KAElB9G,EAAEA,EAAEZ,OAAO,IAAM,IAAMwI,EAAO,IAC9B,IAAImhB,EAAYD,EAAgBzN,GAQhC,OAPIA,EAAKjc,SACPY,EAAEA,EAAEZ,OAAO,IAAM2pB,EAAUC,QAC3BhpB,EAAExB,KAAK8M,MAAMtL,EAAG+oB,IAGlB/C,EAAMxnB,KAAK8M,MAAM0a,EAAOhmB,GAEjBgmB,CACT,CAmBA,SAASiD,EAAQnO,GACf,MAAO,IAAMA,EAAM,GACrB,CACA,SAASoO,EAAS1f,GAChB,MAAO,SAAS+S,KAAK/S,EACvB,CAEA,SAAS2f,EAAI5qB,EAAG6qB,GACd,OAAO7qB,GAAK6qB,CACd,CACA,SAASC,EAAI9qB,EAAG6qB,GACd,OAAO7qB,GAAK6qB,CACd,CAEA,SAAShB,EAAOtN,EAAKwO,GACnB,IAAIC,EAAa,GAEb3lB,EAAIiX,EAAS,IAAK,IAAKC,GAC3B,IAAKlX,EAAG,MAAO,CAACkX,GAGhB,IAAIK,EAAMvX,EAAEuX,IACRE,EAAOzX,EAAEyX,KAAKjc,OACdgpB,EAAOxkB,EAAEyX,MAAM,GACf,CAAC,IAEL,GAAI,MAAMkB,KAAK3Y,EAAEuX,KACf,IAAK,IAAI+F,EAAI,EAAGA,EAAI7F,EAAKjc,OAAQ8hB,IAAK,CACpC,IAAIsI,EAAYrO,EAAK,IAAMvX,EAAEgE,KAAO,IAAMyT,EAAK6F,GAC/CqI,EAAW/qB,KAAKgrB,EAClB,KACK,CACL,IAaI7rB,EAkBA8rB,EA/BAC,EAAoB,iCAAiCnN,KAAK3Y,EAAEgE,MAC5D+hB,EAAkB,uCAAuCpN,KAAK3Y,EAAEgE,MAChEgiB,EAAaF,GAAqBC,EAClCE,EAAYjmB,EAAEgE,KAAKiU,QAAQ,MAAQ,EACvC,IAAK+N,IAAeC,EAElB,OAAIjmB,EAAEyX,KAAKE,MAAM,SAER6M,EADPtN,EAAMlX,EAAEuX,IAAM,IAAMvX,EAAEgE,KAAO2gB,EAAW3kB,EAAEyX,MAGrC,CAACP,GAIV,GAAI8O,EACFjsB,EAAIiG,EAAEgE,KAAKd,MAAM,aAGjB,GAAiB,KADjBnJ,EAAImrB,EAAgBllB,EAAEgE,OAChBxI,QAGa,KADjBzB,EAAIyqB,EAAOzqB,EAAE,IAAI,GAAOuB,IAAI+pB,IACtB7pB,OACJ,OAAOic,EAAKnc,KAAI,SAASc,GACvB,OAAO4D,EAAEuX,IAAMxd,EAAE,GAAKqC,CACxB,IASN,GAAI4pB,EAAY,CACd,IAAI9D,EAAI+C,EAAQlrB,EAAE,IACdyrB,EAAIP,EAAQlrB,EAAE,IACdmsB,EAAQ1C,KAAK2C,IAAIpsB,EAAE,GAAGyB,OAAQzB,EAAE,GAAGyB,QACnC4qB,EAAmB,GAAZrsB,EAAEyB,OACTgoB,KAAK6C,IAAIpB,EAAQlrB,EAAE,KACnB,EACA4e,EAAO4M,EACGC,EAAItD,IAEhBkE,IAAS,EACTzN,EAAO8M,GAET,IAAIa,EAAMvsB,EAAEwsB,KAAKjB,GAEjBO,EAAI,GAEJ,IAAK,IAAIlrB,EAAIunB,EAAGvJ,EAAKhe,EAAG6qB,GAAI7qB,GAAKyrB,EAAM,CACrC,IAAI1rB,EACJ,GAAIqrB,EAEQ,QADVrrB,EAAImE,OAAOsa,aAAaxe,MAEtBD,EAAI,SAGN,GADAA,EAAImE,OAAOlE,GACP2rB,EAAK,CACP,IAAIE,EAAON,EAAQxrB,EAAEc,OACrB,GAAIgrB,EAAO,EAAG,CACZ,IAAIC,EAAI,IAAI1hB,MAAMyhB,EAAO,GAAG/qB,KAAK,KAE/Bf,EADEC,EAAI,EACF,IAAM8rB,EAAI/rB,EAAE8c,MAAM,GAElBiP,EAAI/rB,CACZ,CACF,CAEFmrB,EAAEjrB,KAAKF,EACT,CACF,KAAO,CACLmrB,EAAI,GAEJ,IAAK,IAAIa,EAAI,EAAGA,EAAI3sB,EAAEyB,OAAQkrB,IAC5Bb,EAAEjrB,KAAK8M,MAAMme,EAAGrB,EAAOzqB,EAAE2sB,IAAI,GAEjC,CAEA,IAASA,EAAI,EAAGA,EAAIb,EAAErqB,OAAQkrB,IAC5B,IAASpJ,EAAI,EAAGA,EAAI7F,EAAKjc,OAAQ8hB,IAC3BsI,EAAYrO,EAAMsO,EAAEa,GAAKjP,EAAK6F,KAC7BoI,GAASM,GAAcJ,IAC1BD,EAAW/qB,KAAKgrB,EAGxB,CAEA,OAAOD,CACT,gCCvMA,MAAMgB,EAAe,sBAEfC,EAAiB,CACrBC,oBAAqB,KACrBC,cAAc,EACdC,aAAc,QACdC,kBAAkB,EAClBC,cAAc,EACdC,kBAAmB,MACnB/c,QAAQ,EACRgd,SAAU,KACVC,kBAAkB,EAClBC,kBAAmB,SAASntB,GAC1B,OAAOA,CACT,EACAotB,mBAAoB,SAASptB,GAC3B,OAAOA,CACT,GAGIyE,EAAQ,CACZ,sBACA,eACA,eACA,mBACA,eACA,oBACA,SACA,WACA,mBACA,oBACA,qBACA,gBAGF,SAAS4oB,EAAOzpB,GACdzC,KAAKyC,QAAU6oB,EAAa7oB,EAAS8oB,EAAgBjoB,GACjDtD,KAAKyC,QAAQkpB,kBAAoB3rB,KAAKyC,QAAQgpB,aAChDzrB,KAAKmsB,YAAc,WACjB,OAAO,CACT,GAEAnsB,KAAKosB,cAAgBpsB,KAAKyC,QAAQ+oB,oBAAoBrrB,OACtDH,KAAKmsB,YAAcA,GAEjBnsB,KAAKyC,QAAQmpB,aACf5rB,KAAKqsB,QAAUA,EAEfrsB,KAAKqsB,QAAU,WACb,OAAO,CACT,EAEFrsB,KAAKssB,gBAAkBA,EACvBtsB,KAAKusB,gBAAkBA,EAEvBvsB,KAAKwsB,qBAAuBA,EAExBxsB,KAAKyC,QAAQqM,QACf9O,KAAKysB,UAAYA,EACjBzsB,KAAK0sB,WAAa,MAClB1sB,KAAK2sB,QAAU,OAEf3sB,KAAKysB,UAAY,WACf,MAAO,EACT,EACAzsB,KAAK0sB,WAAa,IAClB1sB,KAAK2sB,QAAU,IAGb3sB,KAAKyC,QAAQspB,kBACf/rB,KAAK4sB,cAAgBC,EACrB7sB,KAAK8sB,aAAeC,IAEpB/sB,KAAK4sB,cAAgBI,EACrBhtB,KAAK8sB,aAAeG,GAGtBjtB,KAAKgtB,iBAAmBA,EACxBhtB,KAAKitB,gBAAkBA,CACzB,CAqFA,SAAST,EAAsBxN,EAAQzV,EAAK2jB,GAC1C,MAAM/hB,EAASnL,KAAKmtB,IAAInO,EAAQkO,EAAQ,GACxC,YAA0CnhB,IAAtCiT,EAAOhf,KAAKyC,QAAQipB,eAA8D,IAA/B3kB,OAAO4O,KAAKqJ,GAAQ7e,OAClEH,KAAK4sB,cAAczhB,EAAOiiB,IAAK7jB,EAAK4B,EAAOkiB,QAASH,GAEpDltB,KAAK8sB,aAAa3hB,EAAOiiB,IAAK7jB,EAAK4B,EAAOkiB,QAASH,EAE9D,CAEA,SAASZ,EAAgBzQ,EAAKyR,GAE5B,OADAzR,EAAM7b,KAAKyC,QAAQupB,kBAAkB,GAAKnQ,GACH,KAAnC7b,KAAKyC,QAAQopB,mBAAoC,KAARhQ,EACpCA,EAAM,YAAcyR,EAAQ,KAAOttB,KAAK0sB,WAExC7Q,EAAI7T,QAAQhI,KAAKyC,QAAQopB,kBAAmB,YAAcyB,EAAQ,KAAOttB,KAAK0sB,WAEzF,CAEA,SAASH,EAAgB1Q,EAAKyR,GAE5B,GADAzR,EAAM7b,KAAKyC,QAAQupB,kBAAkB,GAAKnQ,GACH,KAAnC7b,KAAKyC,QAAQopB,mBAAoC,KAARhQ,EAC3C,OAAOA,EAAM,YAAcyR,EAAMltB,KAAK,gBAAkB,KAAOJ,KAAK0sB,WAEpE,IAAK,IAAI9nB,KAAK0oB,EACZzR,EAAMA,EAAI7T,QAAQhI,KAAKyC,QAAQopB,kBAAmB,YAAcyB,EAAM1oB,GAAK,OAE7E,OAAOiX,EAAM7b,KAAK2sB,OAEtB,CAEA,SAASM,EAAgBG,EAAK7jB,EAAK8jB,EAASH,GAC1C,OAAIG,IAAiC,IAAtBD,EAAIxQ,QAAQ,KAEvB5c,KAAKysB,UAAUS,GACf,IACA3jB,EACA8jB,EACA,IACAD,EAGA,KACA7jB,EACAvJ,KAAK0sB,WAIL1sB,KAAKysB,UAAUS,GACf,IACA3jB,EACA8jB,EACArtB,KAAK0sB,WACLU,EAEAptB,KAAKysB,UAAUS,GACf,KACA3jB,EACAvJ,KAAK0sB,UAGX,CAEA,SAASK,EAAkBK,EAAK7jB,EAAK8jB,EAASH,GAC5C,MAAY,KAARE,EACKptB,KAAKitB,gBAAgBG,EAAK7jB,EAAK8jB,EAASH,GAExCltB,KAAKysB,UAAUS,GAAS,IAAM3jB,EAAM8jB,EAAU,IAAMrtB,KAAK0sB,UAGpE,CAEA,SAASM,EAAiBI,EAAK7jB,EAAK8jB,EAASH,GAC3C,OACEltB,KAAKysB,UAAUS,GACf,IACA3jB,EACA8jB,EACA,IACArtB,KAAKyC,QAAQupB,kBAAkBoB,GAC/B,KACA7jB,EACAvJ,KAAK0sB,UAET,CAEA,SAASG,EAAmBO,EAAK7jB,EAAK8jB,EAASH,GAC7C,MAAY,KAARE,EACKptB,KAAKgtB,iBAAiBI,EAAK7jB,EAAK8jB,EAASH,GAEzCltB,KAAKysB,UAAUS,GAAS,IAAM3jB,EAAM8jB,EAAU,IAAMrtB,KAAK0sB,UAEpE,CAEA,SAASD,EAAUS,GACjB,OAAOltB,KAAKyC,QAAQqpB,SAASyB,OAAOL,EACtC,CAEA,SAASf,EAAY9oB,GACnB,QAAIA,EAAK0E,WAAW/H,KAAKyC,QAAQ+oB,sBACxBnoB,EAAKwkB,OAAO7nB,KAAKosB,cAI5B,CAEA,SAASC,EAAQhpB,GACf,OAAOA,IAASrD,KAAKyC,QAAQmpB,YAC/B,CA9LAM,EAAO/kB,UAAU4hB,MAAQ,SAASyE,GAMhC,OALG9jB,MAAMC,QAAQ6jB,IAASxtB,KAAKyC,QAAQgrB,cAAgBztB,KAAKyC,QAAQgrB,aAAattB,OAAS,IACxFqtB,EAAO,CACL,CAACxtB,KAAKyC,QAAQgrB,cAAgBD,IAG3BxtB,KAAKmtB,IAAIK,EAAM,GAAGJ,GAC3B,EAEAlB,EAAO/kB,UAAUgmB,IAAM,SAASK,EAAMN,GACpC,IAAIG,EAAU,GACVD,EAAM,GACV,IAAK,IAAI7jB,KAAOikB,EACd,QAAyB,IAAdA,EAAKjkB,SAET,GAAkB,OAAdikB,EAAKjkB,GACd6jB,GAAOptB,KAAKysB,UAAUS,GAAS,IAAM3jB,EAAM,IAAMvJ,KAAK0sB,gBACjD,GAAIc,EAAKjkB,aAAgBgJ,KAC9B6a,GAAOptB,KAAK4sB,cAAcY,EAAKjkB,GAAMA,EAAK,GAAI2jB,QACzC,GAAyB,iBAAdM,EAAKjkB,GAAmB,CAExC,MAAMmkB,EAAO1tB,KAAKmsB,YAAY5iB,GAC1BmkB,EACFL,GAAW,IAAMK,EAAO,KAAO1tB,KAAKyC,QAAQwpB,mBAAmB,GAAKuB,EAAKjkB,IAAQ,IACxEvJ,KAAKqsB,QAAQ9iB,GAClBikB,EAAKxtB,KAAKyC,QAAQipB,cACpB0B,GAAOptB,KAAKssB,gBAAgBkB,EAAKxtB,KAAKyC,QAAQipB,cAAe8B,EAAKjkB,IAElE6jB,GAAOptB,KAAKssB,gBAAgB,GAAIkB,EAAKjkB,IAInCA,IAAQvJ,KAAKyC,QAAQipB,aACnB8B,EAAKxtB,KAAKyC,QAAQmpB,gBAGpBwB,GAAOptB,KAAKyC,QAAQupB,kBAAkB,GAAKwB,EAAKjkB,KAGlD6jB,GAAOptB,KAAK4sB,cAAcY,EAAKjkB,GAAMA,EAAK,GAAI2jB,EAGpD,MAAO,GAAIxjB,MAAMC,QAAQ6jB,EAAKjkB,IAE5B,GAAIvJ,KAAKqsB,QAAQ9iB,GACf6jB,GAAOptB,KAAKysB,UAAUS,GAClBM,EAAKxtB,KAAKyC,QAAQipB,cACpB0B,GAAOptB,KAAKusB,gBAAgBiB,EAAKxtB,KAAKyC,QAAQipB,cAAe8B,EAAKjkB,IAElE6jB,GAAOptB,KAAKusB,gBAAgB,GAAIiB,EAAKjkB,QAElC,CAEL,MAAMokB,EAASH,EAAKjkB,GAAKpJ,OACzB,IAAK,IAAIkrB,EAAI,EAAGA,EAAIsC,EAAQtC,IAAK,CAC/B,MAAMrT,EAAOwV,EAAKjkB,GAAK8hB,QACH,IAATrT,IAGToV,GADkB,OAATpV,EACFhY,KAAKysB,UAAUS,GAAS,IAAM3jB,EAAM,IAAMvJ,KAAK0sB,WAC7B,iBAAT1U,EACThY,KAAKwsB,qBAAqBxU,EAAMzO,EAAK2jB,GAErCltB,KAAK4sB,cAAc5U,EAAMzO,EAAK,GAAI2jB,GAE7C,CACF,MAGA,GAAIltB,KAAKyC,QAAQgpB,cAAgBliB,IAAQvJ,KAAKyC,QAAQgpB,aAAc,CAClE,MAAMmC,EAAK7mB,OAAO4O,KAAK6X,EAAKjkB,IACtBskB,EAAID,EAAGztB,OACb,IAAK,IAAIkrB,EAAI,EAAGA,EAAIwC,EAAGxC,IACrBgC,GAAW,IAAMO,EAAGvC,GAAK,KAAOrrB,KAAKyC,QAAQwpB,mBAAmB,GAAKuB,EAAKjkB,GAAKqkB,EAAGvC,KAAO,GAE7F,MACE+B,GAAOptB,KAAKwsB,qBAAqBgB,EAAKjkB,GAAMA,EAAK2jB,GAIvD,MAAO,CAACG,QAASA,EAASD,IAAKA,EACjC,EAmHA7uB,EAAOC,QAAU0tB,gCCtRjB,MAAM4B,EAAO,SAASjvB,GACpB,OAAO2E,OAAOsa,aAAajf,EAC7B,EAEMkvB,EAAQ,CACZC,QAASF,EAAK,KACdG,YAAaH,EAAK,KAClBI,aAAcJ,EAAK,KACnBK,iBAAkBL,EAAK,KAEvBM,UAAWN,EAAK,KAChBO,WAAYP,EAAK,KAEjBQ,YAAaR,EAAK,KAElBS,SAAUT,EAAK,KACfU,SAAUV,EAAK,KACfW,SAAUX,EAAK,MAGXY,EAAW,CACfX,EAAMC,QACND,EAAMG,aACNH,EAAME,YACNF,EAAMI,iBACNJ,EAAMO,YACNP,EAAMK,UACNL,EAAMM,WACNN,EAAMU,SACNV,EAAMQ,SACNR,EAAMS,UAGF5f,EAAK,SAAS+f,EAAMC,EAAUnsB,GAClC,GAAwB,iBAAbmsB,EAET,OAAID,GAAQA,EAAK,SAAsB5iB,IAAhB4iB,EAAK,GAAGvB,IACtByB,EAASF,EAAK,GAAGvB,IAAKwB,GAEtBC,EAASF,EAAMC,GAEnB,CACL,MAAME,OA6EK/iB,KADEyhB,EA5EgBmB,GA8EtBZ,EAAME,YACK,OAATT,EACFO,EAAMC,UAEbR,EAAKuB,OAC8B,IAAnChoB,OAAO4O,KAAK6X,EAAKuB,OAAO5uB,UACtBqtB,EAAKwB,UAAkD,IAAtCjoB,OAAO4O,KAAK6X,EAAKwB,UAAU7uB,UAEvC4tB,EAAMK,UArFb,IAAqB,IAAjBU,EAAuB,CACzB,IAAIjT,EAAM,GACV,GAAInS,MAAMC,QAAQilB,GAAW,CAE3B/S,GAAOkS,EAAMS,SACb,MAAMS,EAAaL,EAAS,GAEtBM,EAAUP,EAAKxuB,OAErB,GAA0B,iBAAf8uB,EACT,IAAK,IAAIE,EAAQ,EAAGA,EAAQD,EAASC,IAAS,CAC5C,MAAMrwB,EAAI+vB,EAASF,EAAKQ,GAAO/B,IAAK6B,GACpCpT,EAAMuT,EAAavT,EAAK/c,EAC1B,MAEA,IAAK,IAAIqwB,EAAQ,EAAGA,EAAQD,EAASC,IAAS,CAC5C,MAAMrwB,EAAI8P,EAAG+f,EAAKQ,GAAQF,EAAYxsB,GACtCoZ,EAAMuT,EAAavT,EAAK/c,EAC1B,CAEF+c,GAAOkS,EAAMU,QACf,KAAO,CAEL5S,GAAOkS,EAAMQ,SACb,MAAM5Y,EAAO5O,OAAO4O,KAAKiZ,GACrBllB,MAAMC,QAAQglB,KAChBA,EAAOA,EAAK,IAEd,IAAK,IAAIrvB,KAAKqW,EAAM,CAClB,MAAMpM,EAAMoM,EAAKrW,GAIjB,IAAIR,EAEFA,GADG2D,EAAQkpB,kBAAoBgD,EAAKK,UAAYL,EAAKK,SAASzlB,GAC1DqF,EAAG+f,EAAKK,SAASzlB,GAAMqlB,EAASrlB,GAAM9G,GACjC8G,IAAQ9G,EAAQipB,aACrB9c,EAAG+f,EAAKvB,IAAKwB,EAASrlB,GAAM9G,GAE5BmM,EAAG+f,EAAKI,MAAMxlB,GAAMqlB,EAASrlB,GAAM9G,GAEzCoZ,EAAMuT,EAAavT,EAAK/c,EAC1B,CACF,CACA,OAAO+c,CACT,CACE,OAAOiT,CAEX,CA2BF,IAAiBtB,CA1BjB,EAEMqB,EAAW,SAAShwB,GACxB,OAAQA,GACN,UAAKkN,EACH,OAAOgiB,EAAMI,iBACf,KAAK,KACH,OAAOJ,EAAMG,aACf,IAAK,GACH,OAAOH,EAAMM,WACf,QACE,OAAOxvB,EAEb,EAEMuwB,EAAe,SAASvT,EAAK/c,GAIjC,OAHKuwB,EAAUvwB,EAAE,KAAQuwB,EAAUxT,EAAIA,EAAI1b,OAAS,MAClD0b,GAAOkS,EAAMO,aAERzS,EAAM/c,CACf,EAEMuwB,EAAY,SAASC,GACzB,OAAiC,IAA1BZ,EAAS9R,QAAQ0S,EAC1B,EAkBMC,EAAM,EAAQ,OACdjE,EAAe,sBAOrB9sB,EAAQgxB,aALa,SAASb,EAAMC,EAAUnsB,GAE5C,OADAA,EAAU6oB,EAAa7oB,EAAS8sB,EAAIhE,eAAgBgE,EAAIjsB,OACjDsL,EAAG+f,EAAMC,EAAUnsB,EAC5B,gCC3IA,MAAMkkB,EAAO,EAAQ,OAEf8I,EAAgB,SAASd,EAAMlsB,EAASitB,GAC5C,MAAMlC,EAAO,CAAC,EAGd,IAAK/qB,EAAQktB,wBAA0BhB,EAAKI,OAASpI,EAAKiJ,cAAcjB,EAAKI,WAAaJ,EAAKK,UAAYrI,EAAKiJ,cAAcjB,EAAKK,WACjI,OAAOrI,EAAKkJ,QAAQlB,EAAKvB,KAAOuB,EAAKvB,IAAM,GAI7C,GAAIzG,EAAKkJ,QAAQlB,EAAKvB,OAA8B,iBAAbuB,EAAKvB,KAAkC,KAAbuB,EAAKvB,KAAcuB,EAAKvB,MAAQ3qB,EAAQopB,mBAAqB,CAC5H,MAAMiE,EAAUnJ,EAAKoJ,qBAAqBpB,EAAKqB,QAASvtB,EAAQwtB,UAAWP,GAC3ElC,EAAK/qB,EAAQipB,cAAgBoE,EAAU,CAACnB,EAAKvB,KAAOuB,EAAKvB,GAC3D,CAEAzG,EAAKzH,MAAMsO,EAAMmB,EAAKK,SAAUvsB,EAAQwtB,WAExC,MAAMta,EAAO5O,OAAO4O,KAAKgZ,EAAKI,OAC9B,IAAK,IAAIjU,EAAQ,EAAGA,EAAQnF,EAAKxV,OAAQ2a,IAAS,CAChD,MAAMoV,EAAUva,EAAKmF,GACrB,GAAI6T,EAAKI,MAAMmB,IAAYvB,EAAKI,MAAMmB,GAAS/vB,OAAS,EAAG,CACzDqtB,EAAK0C,GAAW,GAChB,IAAK,IAAIjc,KAAO0a,EAAKI,MAAMmB,GACrBvB,EAAKI,MAAMmB,GAAS9oB,eAAe6M,IACrCuZ,EAAK0C,GAAS3wB,KAAKkwB,EAAcd,EAAKI,MAAMmB,GAASjc,GAAMxR,EAASytB,GAG1E,KAAO,CACL,MAAM/kB,EAASskB,EAAcd,EAAKI,MAAMmB,GAAS,GAAIztB,EAASytB,GACxDJ,GAAiC,IAAtBrtB,EAAQwtB,WAAwC,iBAAX9kB,GAAwBwb,EAAKoJ,qBAAqBG,EAASztB,EAAQwtB,UAAWP,GACpIlC,EAAK0C,GAAWJ,EAAU,CAAC3kB,GAAUA,CACvC,CACF,CAGA,OAAOqiB,CACT,EAEAhvB,EAAQixB,cAAgBA,gCCvCxB,MAAM9I,EAAO,EAAQ,OACf2E,EAAe,sBACfiE,EAAM,EAAQ,OAUdY,EAAc,SAASxB,EAAMlsB,EAASyqB,GAC1C,IAAIM,EAAO,IAGX,MAAM7X,EAAO5O,OAAO4O,KAAKgZ,EAAKI,OAE9B,IAAK,IAAIjU,EAAQ,EAAGA,EAAQnF,EAAKxV,OAAQ2a,IAAS,CAChD,MAAMkV,EAAUra,EAAKmF,GACrB,GAAI6T,EAAKI,MAAMiB,IAAYrB,EAAKI,MAAMiB,GAAS7vB,OAAS,EAAG,CACzDqtB,GAAQ,IAAMwC,EAAU,SACxB,IAAK,IAAI/b,KAAO0a,EAAKI,MAAMiB,GACzBxC,GAAQ2C,EAAYxB,EAAKI,MAAMiB,GAAS/b,GAAMxR,GAAW,MAE3D+qB,EAAOA,EAAK3F,OAAO,EAAG2F,EAAKrtB,OAAS,GAAK,KAC3C,MACEqtB,GAAQ,IAAMwC,EAAU,OAASG,EAAYxB,EAAKI,MAAMiB,GAAS,GAAIvtB,GAAW,IAEpF,CAGA,OAFAkkB,EAAKzH,MAAMsO,EAAMmB,EAAKK,UAElBrI,EAAKiJ,cAAcpC,GACd7G,EAAKkJ,QAAQlB,EAAKvB,KAAOuB,EAAKvB,IAAM,IAEvCzG,EAAKkJ,QAAQlB,EAAKvB,OACM,iBAAbuB,EAAKvB,KAAkC,KAAbuB,EAAKvB,KAAcuB,EAAKvB,MAAQ3qB,EAAQopB,qBAC7E2B,GAAQ,IAAM/qB,EAAQipB,aAAe,SAYjC,KADO9mB,EAX6C+pB,EAAKvB,OAY3C,IAANxoB,GAAgBwrB,MAAMxrB,GAG/B,IAAMA,EAAI,IAFVA,IARqB,MAA1B4oB,EAAKA,EAAKrtB,OAAS,KACrBqtB,EAAOA,EAAK3F,OAAO,EAAG2F,EAAKrtB,OAAS,IAE/BqtB,EAAO,KAGhB,IAAmB5oB,CAFnB,EAcApG,EAAQ6xB,oBAvDoB,SAAS1B,EAAMlsB,GAIzC,OAHAA,EAAU6oB,EAAa7oB,EAAS8sB,EAAIhE,eAAgBgE,EAAIjsB,QAEhDwoB,SAAWrpB,EAAQqpB,UAAY,GAChCqE,EAAYxB,EAAMlsB,EAAS,EACpC,yCCVA,MAAM6tB,EAAa,EAAQ,OACrBC,EAAe,EAAQ,OACvBC,EAAY,EAAQ,OACpBlF,EAAe,sBACfmF,EAAY,EAAQ,OAE1BjyB,EAAQuqB,MAAQ,SAAS2H,EAASC,EAAe,CAAC,EAAGC,GACnD,GAAIA,EAAiB,EACK,IAArBA,IAA2BA,EAAmB,CAAC,GAElD,MAAMzlB,EAASslB,EAAUI,SAASH,EAASE,GAC3C,IAAe,IAAXzlB,EACF,MAAM/I,MAAO+I,EAAOsW,IAAIqP,IAE5B,CACGH,EAAaI,sBACqB,IAAhCJ,EAAaK,iBACZL,EAAaM,kBAEfN,EAAaM,gBAAkB,CAC7BC,cAAc,IAGpB,IAAIzuB,EAAU6oB,EAAaqF,EAAcH,EAAUjF,eAAgBiF,EAAUltB,OAE7E,MAAM6tB,EAAiBZ,EAAaa,gBAAgBV,EAASjuB,GAE7D,OAAO6tB,EAAWb,cAAc0B,EAAgB1uB,EAClD,EACAjE,EAAQ6yB,cAAgB,EAAxB,oBACA7yB,EAAQ4yB,gBAAkBb,EAAaa,gBACvC5yB,EAAQixB,cAAgBa,EAAWb,cACnCjxB,EAAQ6xB,oBAAsB,EAA9B,2BACA7xB,EAAQqyB,SAAWJ,EAAUI,SAC7BryB,EAAQ8yB,UAAY,EAApB,OACA9yB,EAAQ+yB,YAAc,SAASb,EAASc,EAAQ/uB,GAC9C,OAAOjE,EAAQ6yB,cAAc7yB,EAAQ4yB,gBAAgBV,EAASjuB,GAAU+uB,EAAQ/uB,EAClF,8BCrCA,MAAMgvB,EAAgB,gLAEhBC,EAAa,IAAMD,EAAgB,KADxBA,EACE,iDACbE,EAAY,IAAIjqB,OAAO,IAAMgqB,EAAa,KAuBhDlzB,EAAQqxB,QAAU,SAASjrB,GACzB,YAAoB,IAANA,CAChB,EAEApG,EAAQoxB,cAAgB,SAAS5mB,GAC/B,OAAmC,IAA5BjC,OAAO4O,KAAK3M,GAAK7I,MAC1B,EAOA3B,EAAQ0gB,MAAQ,SAASjgB,EAAQJ,EAAGoxB,GAClC,GAAIpxB,EAAG,CACL,MAAM8W,EAAO5O,OAAO4O,KAAK9W,GACnB+yB,EAAMjc,EAAKxV,OACjB,IAAK,IAAIb,EAAI,EAAGA,EAAIsyB,EAAKtyB,IAErBL,EAAO0W,EAAKrW,IADI,WAAd2wB,EACgB,CAAEpxB,EAAE8W,EAAKrW,KAETT,EAAE8W,EAAKrW,GAG/B,CACF,EAKAd,EAAQqwB,SAAW,SAASjqB,GAC1B,OAAIpG,EAAQqxB,QAAQjrB,GACXA,EAEA,EAEX,EAKApG,EAAQ8sB,aAAe,SAAS7oB,EAAS8oB,EAAgBjoB,GACvD,IAAIuuB,EAAa,CAAC,EAClB,IAAKpvB,EACH,OAAO8oB,EAGT,IAAK,IAAIjsB,EAAI,EAAGA,EAAIgE,EAAMnD,OAAQb,SACNyM,IAAtBtJ,EAAQa,EAAMhE,IAChBuyB,EAAWvuB,EAAMhE,IAAMmD,EAAQa,EAAMhE,IAErCuyB,EAAWvuB,EAAMhE,IAAMisB,EAAejoB,EAAMhE,IAGhD,OAAOuyB,CACT,EAUArzB,EAAQuxB,qBAAuB,SAAUG,EAASD,EAAWP,GAC3D,OAAkB,IAAdO,IAEOA,aAAqBvoB,OACvBuoB,EAAU3S,KAAK4S,GACQ,mBAAdD,IACPA,EAAUC,EAASR,GAGT,WAAdO,EACT,EAEAzxB,EAAQszB,OAlFO,SAAShS,GAEtB,QAAQ,MADM6R,EAAUtK,KAAKvH,GAE/B,EAgFAthB,EAAQuzB,cAnGc,SAASjS,EAAQkS,GACrC,MAAMC,EAAU,GAChB,IAAI3V,EAAQ0V,EAAM3K,KAAKvH,GACvB,KAAOxD,GAAO,CACZ,MAAM4V,EAAa,GACnBA,EAAWC,WAAaH,EAAMI,UAAY9V,EAAM,GAAGnc,OACnD,MAAMyxB,EAAMtV,EAAMnc,OAClB,IAAK,IAAI2a,EAAQ,EAAGA,EAAQ8W,EAAK9W,IAC/BoX,EAAW3yB,KAAK+c,EAAMxB,IAExBmX,EAAQ1yB,KAAK2yB,GACb5V,EAAQ0V,EAAM3K,KAAKvH,EACrB,CACA,OAAOmS,CACT,EAsFAzzB,EAAQkzB,WAAaA,gCCzGrB,MAAM/K,EAAO,EAAQ,OAEf4E,EAAiB,CACrB8G,wBAAwB,GAGpB/uB,EAAQ,CAAC,0BAsLf,SAASgvB,EAAO5B,EAASpxB,GACvB,MAAM0c,EAAQ1c,EACd,KAAOA,EAAIoxB,EAAQvwB,OAAQb,IACzB,GAAkB,KAAdoxB,EAAQpxB,IAA2B,KAAdoxB,EAAQpxB,QAAjC,CAEE,MAAM0wB,EAAUU,EAAQ7I,OAAO7L,EAAO1c,EAAI0c,GAC1C,GAAI1c,EAAI,GAAiB,QAAZ0wB,EACX,OAAOuC,EAAe,aAAc,6DAA8DC,EAAyB9B,EAASpxB,IAC/H,GAAkB,KAAdoxB,EAAQpxB,IAA+B,KAAlBoxB,EAAQpxB,EAAI,GAAW,CAErDA,IACA,KACF,CAGF,CAEF,OAAOA,CACT,CAEA,SAASmzB,EAAoB/B,EAASpxB,GACpC,GAAIoxB,EAAQvwB,OAASb,EAAI,GAAwB,MAAnBoxB,EAAQpxB,EAAI,IAAiC,MAAnBoxB,EAAQpxB,EAAI,IAElE,IAAKA,GAAK,EAAGA,EAAIoxB,EAAQvwB,OAAQb,IAC/B,GAAmB,MAAfoxB,EAAQpxB,IAAiC,MAAnBoxB,EAAQpxB,EAAI,IAAiC,MAAnBoxB,EAAQpxB,EAAI,GAAY,CAC1EA,GAAK,EACL,KACF,OAEG,GACLoxB,EAAQvwB,OAASb,EAAI,GACF,MAAnBoxB,EAAQpxB,EAAI,IACO,MAAnBoxB,EAAQpxB,EAAI,IACO,MAAnBoxB,EAAQpxB,EAAI,IACO,MAAnBoxB,EAAQpxB,EAAI,IACO,MAAnBoxB,EAAQpxB,EAAI,IACO,MAAnBoxB,EAAQpxB,EAAI,IACO,MAAnBoxB,EAAQpxB,EAAI,GACZ,CACA,IAAIozB,EAAqB,EACzB,IAAKpzB,GAAK,EAAGA,EAAIoxB,EAAQvwB,OAAQb,IAC/B,GAAmB,MAAfoxB,EAAQpxB,GACVozB,SACK,GAAmB,MAAfhC,EAAQpxB,KACjBozB,IAC2B,IAAvBA,GACF,KAIR,MAAO,GACLhC,EAAQvwB,OAASb,EAAI,GACF,MAAnBoxB,EAAQpxB,EAAI,IACO,MAAnBoxB,EAAQpxB,EAAI,IACO,MAAnBoxB,EAAQpxB,EAAI,IACO,MAAnBoxB,EAAQpxB,EAAI,IACO,MAAnBoxB,EAAQpxB,EAAI,IACO,MAAnBoxB,EAAQpxB,EAAI,IACO,MAAnBoxB,EAAQpxB,EAAI,GAEZ,IAAKA,GAAK,EAAGA,EAAIoxB,EAAQvwB,OAAQb,IAC/B,GAAmB,MAAfoxB,EAAQpxB,IAAiC,MAAnBoxB,EAAQpxB,EAAI,IAAiC,MAAnBoxB,EAAQpxB,EAAI,GAAY,CAC1EA,GAAK,EACL,KACF,CAIJ,OAAOA,CACT,CAxPAd,EAAQqyB,SAAW,SAAUH,EAASjuB,GACpCA,EAAUkkB,EAAK2E,aAAa7oB,EAAS8oB,EAAgBjoB,GAKrD,MAAMqvB,EAAO,GACb,IAAIC,GAAW,EAGXC,GAAc,EAEC,WAAfnC,EAAQ,KAEVA,EAAUA,EAAQ7I,OAAO,IAG3B,IAAK,IAAIvoB,EAAI,EAAGA,EAAIoxB,EAAQvwB,OAAQb,IAElC,GAAmB,MAAfoxB,EAAQpxB,IAA+B,MAAjBoxB,EAAQpxB,EAAE,IAGlC,GAFAA,GAAG,EACHA,EAAIgzB,EAAO5B,EAAQpxB,GACfA,EAAEmiB,IAAK,OAAOniB,MACd,IAAmB,MAAfoxB,EAAQpxB,GAkIX,CACL,GAAmB,MAAfoxB,EAAQpxB,IAA6B,OAAfoxB,EAAQpxB,IAA8B,OAAfoxB,EAAQpxB,IAA8B,OAAfoxB,EAAQpxB,GAC9E,SAEF,OAAOizB,EAAe,cAAe,SAAS7B,EAAQpxB,GAAG,qBAAsBkzB,EAAyB9B,EAASpxB,GACnH,CAvI8B,CAG5B,IAAIwzB,EAAcxzB,EAGlB,GAFAA,IAEmB,MAAfoxB,EAAQpxB,GAAY,CACtBA,EAAImzB,EAAoB/B,EAASpxB,GACjC,QACF,CAAO,CACL,IAAIyzB,GAAa,EACE,MAAfrC,EAAQpxB,KAEVyzB,GAAa,EACbzzB,KAGF,IAAI4wB,EAAU,GACd,KAAO5wB,EAAIoxB,EAAQvwB,QACF,MAAfuwB,EAAQpxB,IACO,MAAfoxB,EAAQpxB,IACO,OAAfoxB,EAAQpxB,IACO,OAAfoxB,EAAQpxB,IACO,OAAfoxB,EAAQpxB,GAAaA,IAErB4wB,GAAWQ,EAAQpxB,GAWrB,GATA4wB,EAAUA,EAAQ5b,OAGkB,MAAhC4b,EAAQA,EAAQ/vB,OAAS,KAE3B+vB,EAAUA,EAAQ8C,UAAU,EAAG9C,EAAQ/vB,OAAS,GAEhDb,KAsUe0wB,EApUIE,GAqUpBvJ,EAAKmL,OAAO9B,GArUkB,CAC7B,IAAIc,EAMJ,OAJEA,EAD4B,IAA1BZ,EAAQ5b,OAAOnU,OACX,2BAEA,QAAQ+vB,EAAQ,wBAEjBqC,EAAe,aAAczB,EAAK0B,EAAyB9B,EAASpxB,GAC7E,CAEA,MAAM6L,EAAS8nB,EAAiBvC,EAASpxB,GACzC,IAAe,IAAX6L,EACF,OAAOonB,EAAe,cAAe,mBAAmBrC,EAAQ,qBAAsBsC,EAAyB9B,EAASpxB,IAE1H,IAAI+tB,EAAUliB,EAAO5D,MAGrB,GAFAjI,EAAI6L,EAAO2P,MAEyB,MAAhCuS,EAAQA,EAAQltB,OAAS,GAAY,CAEvC,MAAM+yB,EAAe5zB,EAAI+tB,EAAQltB,OACjCktB,EAAUA,EAAQ2F,UAAU,EAAG3F,EAAQltB,OAAS,GAChD,MAAMgzB,EAAUC,EAAwB/F,EAAS5qB,GACjD,IAAgB,IAAZ0wB,EAOF,OAAOZ,EAAeY,EAAQ1R,IAAI+B,KAAM2P,EAAQ1R,IAAIqP,IAAK0B,EAAyB9B,EAASwC,EAAeC,EAAQ1R,IAAI4R,OANtHT,GAAW,CAQf,MAAO,GAAIG,EAAY,CACrB,IAAK5nB,EAAOmoB,UACV,OAAOf,EAAe,aAAc,gBAAgBrC,EAAQ,iCAAkCsC,EAAyB9B,EAASpxB,IAC3H,GAAI+tB,EAAQ/Y,OAAOnU,OAAS,EACjC,OAAOoyB,EAAe,aAAc,gBAAgBrC,EAAQ,+CAAgDsC,EAAyB9B,EAASoC,IACzI,CACL,MAAMS,EAAMZ,EAAK/f,MACjB,GAAIsd,IAAYqD,EAAIrD,QAAS,CAC3B,IAAIsD,EAAUhB,EAAyB9B,EAAS6C,EAAIT,aACpD,OAAOP,EAAe,aACpB,yBAAyBgB,EAAIrD,QAAQ,qBAAqBsD,EAAQH,KAAK,SAASG,EAAQC,IAAI,6BAA6BvD,EAAQ,KACjIsC,EAAyB9B,EAASoC,GACtC,CAGmB,GAAfH,EAAKxyB,SACP0yB,GAAc,EAElB,CACF,KAAO,CACL,MAAMM,EAAUC,EAAwB/F,EAAS5qB,GACjD,IAAgB,IAAZ0wB,EAIF,OAAOZ,EAAeY,EAAQ1R,IAAI+B,KAAM2P,EAAQ1R,IAAIqP,IAAK0B,EAAyB9B,EAASpxB,EAAI+tB,EAAQltB,OAASgzB,EAAQ1R,IAAI4R,OAI9H,IAAoB,IAAhBR,EACF,OAAON,EAAe,aAAc,sCAAuCC,EAAyB9B,EAASpxB,IAE7GqzB,EAAKpzB,KAAK,CAAC2wB,UAAS4C,gBAEtBF,GAAW,CACb,CAIA,IAAKtzB,IAAKA,EAAIoxB,EAAQvwB,OAAQb,IAC5B,GAAmB,MAAfoxB,EAAQpxB,GAAY,CACtB,GAAuB,MAAnBoxB,EAAQpxB,EAAI,GAAY,CAE1BA,IACAA,EAAImzB,EAAoB/B,EAASpxB,GACjC,QACF,CAAO,GAAqB,MAAjBoxB,EAAQpxB,EAAE,GAInB,MAFA,GADAA,EAAIgzB,EAAO5B,IAAWpxB,GAClBA,EAAEmiB,IAAK,OAAOniB,CAItB,MAAO,GAAmB,MAAfoxB,EAAQpxB,GAAY,CAC7B,MAAMo0B,EAAWC,EAAkBjD,EAASpxB,GAC5C,IAAiB,GAAbo0B,EACF,OAAOnB,EAAe,cAAe,4BAA6BC,EAAyB9B,EAASpxB,IACtGA,EAAIo0B,CACN,CAEiB,MAAfhD,EAAQpxB,IACVA,GAEJ,CACF,CAKA,CAiOJ,IAAyB0wB,EA9NvB,OAAK4C,EAEoB,GAAfD,EAAKxyB,OACJoyB,EAAe,aAAc,iBAAiBI,EAAK,GAAGzC,QAAQ,KAAMsC,EAAyB9B,EAASiC,EAAK,GAAGG,gBAC/GH,EAAKxyB,OAAS,IACboyB,EAAe,aAAc,YAChC5xB,KAAKC,UAAU+xB,EAAK1yB,KAAI3B,GAAKA,EAAE4xB,UAAU,KAAM,GAAGloB,QAAQ,SAAU,IACpE,WAAY,CAACqrB,KAAM,EAAGI,IAAK,IAN1BlB,EAAe,aAAc,sBAAuB,EAU/D,EA8EA,MAAMqB,EAAc,IACdC,EAAc,IAOpB,SAASZ,EAAiBvC,EAASpxB,GACjC,IAAI+tB,EAAU,GACVyG,EAAY,GACZR,GAAY,EAChB,KAAOh0B,EAAIoxB,EAAQvwB,OAAQb,IAAK,CAC9B,GAAIoxB,EAAQpxB,KAAOs0B,GAAelD,EAAQpxB,KAAOu0B,EAC7B,KAAdC,EACFA,EAAYpD,EAAQpxB,GACXw0B,IAAcpD,EAAQpxB,KAG/Bw0B,EAAY,SAET,GAAmB,MAAfpD,EAAQpxB,IACC,KAAdw0B,EAAkB,CACpBR,GAAY,EACZ,KACF,CAEFjG,GAAWqD,EAAQpxB,EACrB,CACA,MAAkB,KAAdw0B,GAIG,CACLvsB,MAAO8lB,EACPvS,MAAOxb,EACPg0B,UAAWA,EAEf,CAKA,MAAMS,EAAoB,IAAIrsB,OAAO,0DAA2D,KAIhG,SAAS0rB,EAAwB/F,EAAS5qB,GAKxC,MAAMwvB,EAAUtL,EAAKoL,cAAc1E,EAAS0G,GACtCC,EAAY,CAAC,EAEnB,IAAK,IAAI10B,EAAI,EAAGA,EAAI2yB,EAAQ9xB,OAAQb,IAAK,CACvC,GAA6B,IAAzB2yB,EAAQ3yB,GAAG,GAAGa,OAEhB,OAAOoyB,EAAe,cAAe,cAAcN,EAAQ3yB,GAAG,GAAG,8BAA+B20B,EAAqBhC,EAAQ3yB,KACxH,QAAsByM,IAAlBkmB,EAAQ3yB,GAAG,KAAqBmD,EAAQ4vB,uBAEjD,OAAOE,EAAe,cAAe,sBAAsBN,EAAQ3yB,GAAG,GAAG,oBAAqB20B,EAAqBhC,EAAQ3yB,KAK7H,MAAM40B,EAAWjC,EAAQ3yB,GAAG,GAC5B,IAAK60B,EAAiBD,GACpB,OAAO3B,EAAe,cAAe,cAAc2B,EAAS,wBAAyBD,EAAqBhC,EAAQ3yB,KAEpH,GAAK00B,EAAU5sB,eAAe8sB,GAI5B,OAAO3B,EAAe,cAAe,cAAc2B,EAAS,iBAAkBD,EAAqBhC,EAAQ3yB,KAF3G00B,EAAUE,GAAY,CAI1B,CAEA,OAAO,CACT,CAiBA,SAASP,EAAkBjD,EAASpxB,GAGlC,GAAmB,MAAfoxB,IADJpxB,GAEE,OAAQ,EACV,GAAmB,MAAfoxB,EAAQpxB,GAEV,OAtBJ,SAAiCoxB,EAASpxB,GACxC,IAAI80B,EAAK,KAKT,IAJmB,MAAf1D,EAAQpxB,KACVA,IACA80B,EAAK,cAEA90B,EAAIoxB,EAAQvwB,OAAQb,IAAK,CAC9B,GAAmB,MAAfoxB,EAAQpxB,GACV,OAAOA,EACT,IAAKoxB,EAAQpxB,GAAGgd,MAAM8X,GACpB,KACJ,CACA,OAAQ,CACV,CASWC,CAAwB3D,IAD/BpxB,GAGF,IAAIg1B,EAAQ,EACZ,KAAOh1B,EAAIoxB,EAAQvwB,OAAQb,IAAKg1B,IAC9B,KAAI5D,EAAQpxB,GAAGgd,MAAM,OAASgY,EAAQ,IAAtC,CAEA,GAAmB,MAAf5D,EAAQpxB,GACV,MACF,OAAQ,CAHE,CAKZ,OAAOA,CACT,CAEA,SAASizB,EAAe/O,EAAMvT,EAASskB,GACrC,MAAO,CACL9S,IAAK,CACH+B,KAAMA,EACNsN,IAAK7gB,EACLojB,KAAMkB,EAAWlB,MAAQkB,EACzBd,IAAKc,EAAWd,KAGtB,CAEA,SAASU,EAAiBD,GACxB,OAAOvN,EAAKmL,OAAOoC,EACrB,CASA,SAAS1B,EAAyB9B,EAAS5V,GACzC,MAAM0Z,EAAQ9D,EAAQsC,UAAU,EAAGlY,GAAOjT,MAAM,SAChD,MAAO,CACLwrB,KAAMmB,EAAMr0B,OAGZszB,IAAKe,EAAMA,EAAMr0B,OAAS,GAAGA,OAAS,EAE1C,CAGA,SAAS8zB,EAAqB3X,GAC5B,OAAOA,EAAM6V,WAAa7V,EAAM,GAAGnc,MACrC,0BC1ZA5B,EAAOC,QAAU,SAASwxB,EAAS7pB,EAAQinB,GACzCptB,KAAKgwB,QAAUA,EACfhwB,KAAKmG,OAASA,EACdnG,KAAK+uB,MAAQ,CAAC,EACd/uB,KAAKgvB,SAAW,CAAC,EACjBhvB,KAAKotB,IAAMA,EACXptB,KAAKy0B,SAAW,SAAS1F,GACnBrlB,MAAMC,QAAQ3J,KAAK+uB,MAAMA,EAAMiB,UAEjChwB,KAAK+uB,MAAMA,EAAMiB,SAASzwB,KAAKwvB,GAE/B/uB,KAAK+uB,MAAMA,EAAMiB,SAAW,CAACjB,EAEjC,CACF,gCCdA,MAAMpI,EAAO,EAAQ,OACf2E,EAAe,sBACfoJ,EAAU,EAAQ,OAClBC,EAAW,EAAQ,OAGvB,wFACC3sB,QAAQ,QAAS2e,EAAK+K,aAMpBrjB,OAAOsE,UAAY3Q,OAAO2Q,WAC7BtE,OAAOsE,SAAW3Q,OAAO2Q,WAEtBtE,OAAOumB,YAAc5yB,OAAO4yB,aAC/BvmB,OAAOumB,WAAa5yB,OAAO4yB,YAG7B,MAAMrJ,EAAiB,CACrBC,oBAAqB,KACrBC,cAAc,EACdC,aAAc,QACdC,kBAAkB,EAClBkJ,iBAAiB,EACjBxC,wBAAwB,EAExBrB,gBAAgB,EAChB8D,qBAAqB,EACrB7E,WAAW,EACX8E,YAAY,EACZnJ,cAAc,EACdC,kBAAmB,MACnBoF,gBAAiB,CACf+D,KAAK,EACL9D,cAAc,GAEhBlF,kBAAmB,SAASntB,EAAGqxB,GAC7B,OAAOrxB,CACT,EACAotB,mBAAoB,SAASptB,EAAGq1B,GAC9B,OAAOr1B,CACT,EACAo2B,UAAW,GACXtF,sBAAsB,GAIxBnxB,EAAQ+sB,eAAiBA,EAEzB,MAAMjoB,EAAQ,CACZ,sBACA,eACA,eACA,mBACA,kBACA,yBACA,iBACA,sBACA,YACA,aACA,eACA,oBACA,oBACA,qBACA,sBACA,kBACA,YACA,wBAUF,SAAS4xB,EAAgBhF,EAAS9C,EAAK3qB,GASrC,OARI2qB,IACE3qB,EAAQsyB,aACV3H,EAAMA,EAAI9Y,QAGZ8Y,EAAM+H,EADN/H,EAAM3qB,EAAQupB,kBAAkBoB,EAAK8C,GACfztB,EAAQuuB,eAAgBvuB,EAAQwuB,kBAGjD7D,CACT,CAEA,SAASgI,EAAiBpF,EAASvtB,GACjC,GAAIA,EAAQoyB,gBAAiB,CAC3B,MAAMlC,EAAO3C,EAAQnoB,MAAM,KACrBwtB,EAA+B,MAAtBrF,EAAQrS,OAAO,GAAa,IAAM,GACjD,GAAgB,UAAZgV,EAAK,GACP,MAAO,GAEW,IAAhBA,EAAKxyB,SACP6vB,EAAUqF,EAAS1C,EAAK,GAE5B,CACA,OAAO3C,CACT,CAEA,SAASmF,EAAW/H,EAAKkI,EAAa7yB,GACpC,GAAI6yB,GAA8B,iBAARlI,EAAkB,CAE1C,MAAMmI,EAASnI,EAAI9Y,OACnB,MAAc,SAAXihB,GACgB,UAAXA,GACIZ,EAASvH,EAAK3qB,EAC5B,CACE,OAAIkkB,EAAKkJ,QAAQzC,GACRA,EAEA,EAGb,CAhDA5uB,EAAQ8E,MAAQA,EAoDhB,MAAMkyB,EAAY,IAAI9tB,OAAO,wCAAyC,KAEtE,SAAS+tB,EAAmBpI,EAAS5qB,GACnC,IAAKA,EAAQkpB,kBAAuC,iBAAZ0B,EAAsB,CAC5DA,EAAUA,EAAQrlB,QAAQ,SAAU,KAGpC,MAAMiqB,EAAUtL,EAAKoL,cAAc1E,EAASmI,GACtC5D,EAAMK,EAAQ9xB,OACdiF,EAAQ,CAAC,EACf,IAAK,IAAI9F,EAAI,EAAGA,EAAIsyB,EAAKtyB,IAAK,CAC5B,MAAM40B,EAAWkB,EAAiBnD,EAAQ3yB,GAAG,GAAImD,GAC7CyxB,EAAS/zB,cACW4L,IAAlBkmB,EAAQ3yB,GAAG,IACTmD,EAAQsyB,aACV9C,EAAQ3yB,GAAG,GAAK2yB,EAAQ3yB,GAAG,GAAGgV,QAEhC2d,EAAQ3yB,GAAG,GAAKmD,EAAQwpB,mBAAmBgG,EAAQ3yB,GAAG,GAAI40B,GAC1D9uB,EAAM3C,EAAQ+oB,oBAAsB0I,GAAYiB,EAC9ClD,EAAQ3yB,GAAG,GACXmD,EAAQqyB,oBACRryB,EAAQwuB,kBAEDxuB,EAAQ4vB,yBACjBjtB,EAAM3C,EAAQ+oB,oBAAsB0I,IAAY,GAGtD,CACA,IAAKntB,OAAO4O,KAAKvQ,GAAOjF,OACtB,OAEF,GAAIsC,EAAQgpB,aAAc,CACxB,MAAMiK,EAAiB,CAAC,EAExB,OADAA,EAAejzB,EAAQgpB,cAAgBrmB,EAChCswB,CACT,CACA,OAAOtwB,CACT,CACF,CAiJA,SAASuwB,EAA0BxlB,EAAM7Q,GACvC,IAAIs2B,EACAC,EAAS,GACb,IAAK,IAAI/a,EAAQxb,EAAGwb,EAAQ3K,EAAKhQ,OAAQ2a,IAAS,CAChD,IAAIwU,EAAKnf,EAAK2K,GACd,GAAI8a,EACItG,IAAOsG,IAAcA,EAAe,SACrC,GAAW,MAAPtG,GAAqB,MAAPA,EACrBsG,EAAetG,MACZ,IAAW,MAAPA,EACP,MAAO,CACLnf,KAAM0lB,EACN/a,MAAOA,GAEK,OAAPwU,IACTA,EAAK,IACP,CACAuG,GAAUvG,CACZ,CACF,CAEA,SAASwG,EAAiBpF,EAAS7U,EAAKvc,EAAGy2B,GACzC,MAAMC,EAAetF,EAAQ9T,QAAQf,EAAKvc,GAC1C,IAAqB,IAAlB02B,EACD,MAAM,IAAI5zB,MAAM2zB,GAEhB,OAAOC,EAAena,EAAI1b,OAAS,CAEvC,CAEA3B,EAAQ4yB,gBA7KgB,SAASV,EAASjuB,GACxCiuB,EAAUA,EAAQ1oB,QAAQ,SAAU,MACpCvF,EAAU6oB,EAAa7oB,EAAS8oB,EAAgBjoB,GAChD,MAAM2yB,EAAS,IAAIvB,EAAQ,QAC3B,IAAIwB,EAAcD,EACdE,EAAW,GAGf,IAAI,IAAI72B,EAAE,EAAGA,EAAGoxB,EAAQvwB,OAAQb,IAE9B,GAAU,MADCoxB,EAAQpxB,GAEjB,GAAqB,MAAjBoxB,EAAQpxB,EAAE,GAAY,CACxB,MAAM82B,EAAaN,EAAiBpF,EAAS,IAAKpxB,EAAG,8BACrD,IAAI4wB,EAAUQ,EAAQsC,UAAU1zB,EAAE,EAAE82B,GAAY9hB,OAEhD,GAAG7R,EAAQoyB,gBAAgB,CACzB,MAAMwB,EAAanG,EAAQtT,QAAQ,MAChB,IAAhByZ,IACDnG,EAAUA,EAAQrI,OAAOwO,EAAW,GAExC,CAKGH,IACEA,EAAY9I,IACb8I,EAAY9I,IAAMzG,EAAKkI,SAASqH,EAAY9I,KAAO,GAAK8H,EAAgBhF,EAASiG,EAAW1zB,GAE5FyzB,EAAY9I,IAAM8H,EAAgBhF,EAASiG,EAAW1zB,IAItDA,EAAQwyB,UAAU90B,QAAUsC,EAAQwyB,UAAU5wB,SAAS6xB,EAAYlG,WACrEkG,EAAYnH,MAAQ,GACQhjB,MAAxBmqB,EAAYlH,WAAyBkH,EAAYlH,SAAW,CAAC,GACjEkH,EAAY9I,IAAMsD,EAAQ7I,OAAOqO,EAAY/D,WAAa,EAAG7yB,EAAI42B,EAAY/D,WAAa,IAE5F+D,EAAcA,EAAY/vB,OAC1BgwB,EAAW,GACX72B,EAAI82B,CACN,MAAO,GAAqB,MAAjB1F,EAAQpxB,EAAE,GACnBA,EAAIw2B,EAAiBpF,EAAS,KAAMpxB,EAAG,8BAClC,GAAgC,QAA7BoxB,EAAQ7I,OAAOvoB,EAAI,EAAG,GAC9BA,EAAIw2B,EAAiBpF,EAAS,SAAOpxB,EAAG,+BACnC,GAAiC,OAA7BoxB,EAAQ7I,OAAOvoB,EAAI,EAAG,GAAa,CAC5C,MAAM82B,EAAaN,EAAiBpF,EAAS,IAAKpxB,EAAG,0BAGnDA,EAFaoxB,EAAQsC,UAAU1zB,EAAG82B,GAC1BxZ,QAAQ,MAAQ,EACpB8T,EAAQ9T,QAAQ,KAAMtd,GAAK,EAE3B82B,CAER,MAAM,GAAgC,OAA7B1F,EAAQ7I,OAAOvoB,EAAI,EAAG,GAAa,CAC1C,MAAM82B,EAAaN,EAAiBpF,EAAS,MAAOpxB,EAAG,wBAA0B,EAC3Eu2B,EAASnF,EAAQsC,UAAU1zB,EAAI,EAAE82B,GAUvC,GALGD,IACDD,EAAY9I,IAAMzG,EAAKkI,SAASqH,EAAY9I,KAAO,GAAK8H,EAAgBgB,EAAYlG,QAASmG,EAAW1zB,GACxG0zB,EAAW,IAGT1zB,EAAQmpB,aAAc,CAExB,MAAM0K,EAAY,IAAI5B,EAAQjyB,EAAQmpB,aAAcsK,EAAaL,GACjEK,EAAYzB,SAAS6B,GAErBJ,EAAY9I,IAAMzG,EAAKkI,SAASqH,EAAY9I,KAAO3qB,EAAQopB,kBAEvDgK,IACFS,EAAUlJ,IAAMyI,EAEpB,MACEK,EAAY9I,KAAO8I,EAAY9I,KAAO,KAAOyI,GAAU,IAGzDv2B,EAAI82B,EAAa,CACnB,KAAM,CACJ,MAAMjrB,EAASwqB,EAA0BjF,EAASpxB,EAAE,GACpD,IAAIu2B,EAAS1qB,EAAOgF,KACpB,MAAMimB,EAAajrB,EAAO2P,MACpByb,EAAiBV,EAAOjZ,QAAQ,KACtC,IAAIsT,EAAU2F,EACVW,GAA2B,EAM/B,IALuB,IAApBD,IACDrG,EAAU2F,EAAOhO,OAAO,EAAG0O,GAAgBvuB,QAAQ,SAAU,IAC7D6tB,EAASA,EAAOhO,OAAO0O,EAAiB,IAGvC9zB,EAAQoyB,gBAAgB,CACzB,MAAMwB,EAAanG,EAAQtT,QAAQ,MAChB,IAAhByZ,IACDnG,EAAUA,EAAQrI,OAAOwO,EAAW,GACpCG,EAA2BtG,IAAY/kB,EAAOgF,KAAK0X,OAAOwO,EAAa,GAE3E,CASA,GANIH,GAAeC,GACU,SAAxBD,EAAYlG,UACbkG,EAAY9I,IAAMzG,EAAKkI,SAASqH,EAAY9I,KAAO,GAAK8H,EAAiBgB,EAAYlG,QAASmG,EAAU1zB,IAIzGozB,EAAO11B,OAAS,GAAK01B,EAAOY,YAAY,OAASZ,EAAO11B,OAAS,EAAE,CAEjC,MAAhC+vB,EAAQA,EAAQ/vB,OAAS,IAC1B+vB,EAAUA,EAAQrI,OAAO,EAAGqI,EAAQ/vB,OAAS,GAC7C01B,EAAS3F,GAET2F,EAASA,EAAOhO,OAAO,EAAGgO,EAAO11B,OAAS,GAG5C,MAAMm2B,EAAY,IAAI5B,EAAQxE,EAASgG,EAAa,IACjDhG,IAAY2F,IACbS,EAAUtH,SAAWyG,EAAmBI,EAAQpzB,IAElDyzB,EAAYzB,SAAS6B,EACvB,KAAK,CAEH,MAAMA,EAAY,IAAI5B,EAASxE,EAASgG,GACpCzzB,EAAQwyB,UAAU90B,QAAUsC,EAAQwyB,UAAU5wB,SAASiyB,EAAUtG,WACnEsG,EAAUnE,WAAWiE,GAEpBlG,IAAY2F,GAAUW,IACvBF,EAAUtH,SAAWyG,EAAmBI,EAAQpzB,IAElDyzB,EAAYzB,SAAS6B,GACrBJ,EAAcI,CAChB,CACAH,EAAW,GACX72B,EAAI82B,CACN,MAEAD,GAAYzF,EAAQpxB,GAGxB,OAAO22B,CACT,kCClTA,MAAMS,EAA+B,iBAAZlP,GACvBA,GACqB,UAArBA,EAAQmP,SACVp4B,EAAOC,QAAUk4B,EAAY,CAAE5N,IAAK,MAAS,CAAEA,IAAK,qCCHpD,MAAM8N,EAAYr4B,EAAOC,QAAU,CAACuC,EAAG81B,EAASp0B,EAAU,CAAC,KACzDq0B,EAAmBD,MAGdp0B,EAAQs0B,WAAmC,MAAtBF,EAAQlZ,OAAO,KAIlC,IAAIqZ,EAAUH,EAASp0B,GAAS6Z,MAAMvb,IAG/CxC,EAAOC,QAAUo4B,EAEjB,MAAMtR,EAAO,EAAQ,OACrBsR,EAAU9N,IAAMxD,EAAKwD,IAErB,MAAMmO,EAAW5vB,OAAO,eACxBuvB,EAAUK,SAAWA,EACrB,MAAM9N,EAAS,EAAQ,OAEjB+N,EAAU,CACd,IAAK,CAAEC,KAAM,YAAaC,MAAO,aACjC,IAAK,CAAED,KAAM,MAAOC,MAAO,MAC3B,IAAK,CAAED,KAAM,MAAOC,MAAO,MAC3B,IAAK,CAAED,KAAM,MAAOC,MAAO,MAC3B,IAAK,CAAED,KAAM,MAAOC,MAAO,MAKvBC,EAAQ,OAGRC,EAAOD,EAAQ,KAYfE,EAAUl3B,GAAKA,EAAEwH,MAAM,IAAI2vB,QAAO,CAAC1T,EAAKzkB,KAC5CykB,EAAIzkB,IAAK,EACFykB,IACN,CAAC,GAGE2T,EAAaF,EAAQ,mBAGrBG,EAAqBH,EAAQ,OAG7BI,EAAa,MAEnBf,EAAUgB,OAAS,CAACf,EAASp0B,EAAU,CAAC,IACtC,CAAC1B,EAAGzB,EAAGu4B,IAASjB,EAAU71B,EAAG81B,EAASp0B,GAExC,MAAMimB,EAAM,CAAC7pB,EAAGmC,EAAI,CAAC,KACnB,MAAM1C,EAAI,CAAC,EAGX,OAFAyI,OAAO4O,KAAK9W,GAAG4a,SAAQwI,GAAK3jB,EAAE2jB,GAAKpjB,EAAEojB,KACrClb,OAAO4O,KAAK3U,GAAGyY,SAAQwI,GAAK3jB,EAAE2jB,GAAKjhB,EAAEihB,KAC9B3jB,GAGTs4B,EAAUzX,SAAW2Y,IACnB,IAAKA,GAAsB,iBAARA,IAAqB/wB,OAAO4O,KAAKmiB,GAAK33B,OACvD,OAAOy2B,EAGT,MAAMmB,EAAOnB,EAEPjyB,EAAI,CAAC5D,EAAG81B,EAASp0B,IAAYs1B,EAAKh3B,EAAG81B,EAASnO,EAAIoP,EAAKr1B,IAa7D,OAZAkC,EAAEqyB,UAAY,cAAwBe,EAAKf,UACzC9tB,YAAa2tB,EAASp0B,GACpBu1B,MAAMnB,EAASnO,EAAIoP,EAAKr1B,GAC1B,IAEU0c,SAAW1c,GAAWs1B,EAAK5Y,SAASuJ,EAAIoP,EAAKr1B,IAAUu0B,UACnEryB,EAAEizB,OAAS,CAACf,EAASp0B,IAAYs1B,EAAKH,OAAOf,EAASnO,EAAIoP,EAAKr1B,IAC/DkC,EAAEwa,SAAW1c,GAAWs1B,EAAK5Y,SAASuJ,EAAIoP,EAAKr1B,IAC/CkC,EAAEszB,OAAS,CAACpB,EAASp0B,IAAYs1B,EAAKE,OAAOpB,EAASnO,EAAIoP,EAAKr1B,IAC/DkC,EAAEuzB,YAAc,CAACrB,EAASp0B,IAAYs1B,EAAKG,YAAYrB,EAASnO,EAAIoP,EAAKr1B,IACzEkC,EAAE2X,MAAQ,CAACub,EAAMhB,EAASp0B,IAAYs1B,EAAKzb,MAAMub,EAAMhB,EAASnO,EAAIoP,EAAKr1B,IAElEkC,GAiBTiyB,EAAUsB,YAAc,CAACrB,EAASp0B,IAAYy1B,EAAYrB,EAASp0B,GAEnE,MAAMy1B,EAAc,CAACrB,EAASp0B,EAAU,CAAC,KACvCq0B,EAAmBD,GAIfp0B,EAAQ01B,UAAY,mBAAmB7a,KAAKuZ,GAEvC,CAACA,GAGH1N,EAAO0N,IAIVC,EAAqBD,IACzB,GAAuB,iBAAZA,EACT,MAAM,IAAI5sB,UAAU,mBAGtB,GAAI4sB,EAAQ12B,OANa,MAOvB,MAAM,IAAI8J,UAAU,sBACtB,EAcImuB,EAAW/wB,OAAO,YAExBuvB,EAAUqB,OAAS,CAACpB,EAASp0B,IAC3B,IAAIu0B,EAAUH,EAASp0B,GAAW,CAAC,GAAGw1B,SAExCrB,EAAUta,MAAQ,CAACub,EAAMhB,EAASp0B,EAAU,CAAC,KAC3C,MAAM41B,EAAK,IAAIrB,EAAUH,EAASp0B,GAKlC,OAJAo1B,EAAOA,EAAKD,QAAOlzB,GAAK2zB,EAAG/b,MAAM5X,KAC7B2zB,EAAG51B,QAAQ61B,SAAWT,EAAK13B,QAC7B03B,EAAKt4B,KAAKs3B,GAELgB,GAST,MAAMb,EACJ9tB,YAAa2tB,EAASp0B,GACpBq0B,EAAmBD,GAEdp0B,IAASA,EAAU,CAAC,GAEzBzC,KAAKyC,QAAUA,EACfzC,KAAK8jB,IAAM,GACX9jB,KAAK62B,QAAUA,EACf72B,KAAKu4B,uBAAyB91B,EAAQ81B,uBACL,IAA/B91B,EAAQ+1B,mBACNx4B,KAAKu4B,uBACPv4B,KAAK62B,QAAU72B,KAAK62B,QAAQ7uB,QAAQ,MAAO,MAE7ChI,KAAKy4B,OAAS,KACdz4B,KAAK04B,QAAS,EACd14B,KAAK6S,SAAU,EACf7S,KAAK24B,OAAQ,EACb34B,KAAK44B,UAAYn2B,EAAQm2B,QAGzB54B,KAAK64B,MACP,CAEA1nB,QAAU,CAEV0nB,OACE,MAAMhC,EAAU72B,KAAK62B,QACfp0B,EAAUzC,KAAKyC,QAGrB,IAAKA,EAAQs0B,WAAmC,MAAtBF,EAAQlZ,OAAO,GAEvC,YADA3d,KAAK6S,SAAU,GAGjB,IAAKgkB,EAEH,YADA72B,KAAK24B,OAAQ,GAKf34B,KAAK84B,cAGL,IAAIhV,EAAM9jB,KAAK+4B,QAAU/4B,KAAKk4B,cAE1Bz1B,EAAQ0O,QAAOnR,KAAKmR,MAAQ,IAAIhF,IAASoB,EAAQ6D,SAASjF,IAE9DnM,KAAKmR,MAAMnR,KAAK62B,QAAS/S,GAOzBA,EAAM9jB,KAAKg5B,UAAYlV,EAAI7jB,KAAII,GAAKA,EAAEwH,MAAM8vB,KAE5C33B,KAAKmR,MAAMnR,KAAK62B,QAAS/S,GAGzBA,EAAMA,EAAI7jB,KAAI,CAACI,EAAG44B,EAAInV,IAAQzjB,EAAEJ,IAAID,KAAK+oB,MAAO/oB,QAEhDA,KAAKmR,MAAMnR,KAAK62B,QAAS/S,GAGzBA,EAAMA,EAAI8T,QAAOv3B,IAA2B,IAAtBA,EAAEuc,SAAQ,KAEhC5c,KAAKmR,MAAMnR,KAAK62B,QAAS/S,GAEzB9jB,KAAK8jB,IAAMA,CACb,CAEAgV,cACE,GAAI94B,KAAKyC,QAAQy2B,SAAU,OAE3B,MAAMrC,EAAU72B,KAAK62B,QACrB,IAAI6B,GAAS,EACTS,EAAe,EAEnB,IAAK,IAAI75B,EAAI,EAAGA,EAAIu3B,EAAQ12B,QAAgC,MAAtB02B,EAAQlZ,OAAOre,GAAYA,IAC/Do5B,GAAUA,EACVS,IAGEA,IAAcn5B,KAAK62B,QAAUA,EAAQ1a,MAAMgd,IAC/Cn5B,KAAK04B,OAASA,CAChB,CAOAU,SAAUC,EAAMxC,EAAS+B,GACvB,IAAIn2B,EAAUzC,KAAKyC,QAEnBzC,KAAKmR,MAAM,WACT,CAAE,KAAQnR,KAAMq5B,KAAMA,EAAMxC,QAASA,IAEvC72B,KAAKmR,MAAM,WAAYkoB,EAAKl5B,OAAQ02B,EAAQ12B,QAE5C,IAAK,IAAIm5B,EAAK,EACVC,EAAK,EACLC,EAAKH,EAAKl5B,OACVs5B,EAAK5C,EAAQ12B,OACVm5B,EAAKE,GAAQD,EAAKE,EACnBH,IAAMC,IAAM,CAChBv5B,KAAKmR,MAAM,iBACX,IA6FIuoB,EA7FA34B,EAAI81B,EAAQ0C,GACZ70B,EAAI20B,EAAKC,GAOb,GALAt5B,KAAKmR,MAAM0lB,EAAS91B,EAAG2D,IAKb,IAAN3D,EAAa,OAAO,EAExB,GAAIA,IAAMk2B,EAAU,CAClBj3B,KAAKmR,MAAM,WAAY,CAAC0lB,EAAS91B,EAAG2D,IAwBpC,IAAIi1B,EAAKL,EACLM,EAAKL,EAAK,EACd,GAAIK,IAAOH,EAAI,CAQb,IAPAz5B,KAAKmR,MAAM,iBAOJmoB,EAAKE,EAAIF,IACd,GAAiB,MAAbD,EAAKC,IAA4B,OAAbD,EAAKC,KACzB72B,EAAQo3B,KAA8B,MAAvBR,EAAKC,GAAI3b,OAAO,GAAa,OAAO,EAEzD,OAAO,CACT,CAGA,KAAOgc,EAAKH,GAAI,CACd,IAAIM,EAAYT,EAAKM,GAKrB,GAHA35B,KAAKmR,MAAM,mBAAoBkoB,EAAMM,EAAI9C,EAAS+C,EAAIE,GAGlD95B,KAAKo5B,SAASC,EAAKld,MAAMwd,GAAK9C,EAAQ1a,MAAMyd,GAAKhB,GAGnD,OAFA54B,KAAKmR,MAAM,wBAAyBwoB,EAAIH,EAAIM,IAErC,EAIP,GAAkB,MAAdA,GAAmC,OAAdA,IACrBr3B,EAAQo3B,KAA+B,MAAxBC,EAAUnc,OAAO,GAAa,CAC/C3d,KAAKmR,MAAM,gBAAiBkoB,EAAMM,EAAI9C,EAAS+C,GAC/C,KACF,CAGA55B,KAAKmR,MAAM,4CACXwoB,GAEJ,CAMA,SAAIf,IAEF54B,KAAKmR,MAAM,2BAA4BkoB,EAAMM,EAAI9C,EAAS+C,GACtDD,IAAOH,GAGf,CAcA,GARiB,iBAANz4B,GACT24B,EAAMh1B,IAAM3D,EACZf,KAAKmR,MAAM,eAAgBpQ,EAAG2D,EAAGg1B,KAEjCA,EAAMh1B,EAAE4X,MAAMvb,GACdf,KAAKmR,MAAM,gBAAiBpQ,EAAG2D,EAAGg1B,KAG/BA,EAAK,OAAO,CACnB,CAcA,GAAIJ,IAAOE,GAAMD,IAAOE,EAGtB,OAAO,EACF,GAAIH,IAAOE,EAIhB,OAAOZ,EACyB,GAAIW,IAAOE,EAK3C,OAAQH,IAAOE,EAAK,GAAoB,KAAbH,EAAKC,GAKlC,MAAM,IAAIl3B,MAAM,OAClB,CAEA81B,cACE,OAAOA,EAAYl4B,KAAK62B,QAAS72B,KAAKyC,QACxC,CAEAsmB,MAAO8N,EAASkD,GACdjD,EAAmBD,GAEnB,MAAMp0B,EAAUzC,KAAKyC,QAGrB,GAAgB,OAAZo0B,EAAkB,CACpB,IAAKp0B,EAAQu3B,WACX,OAAO/C,EAEPJ,EAAU,GACd,CACA,GAAgB,KAAZA,EAAgB,MAAO,GAE3B,IAAIzC,EAAK,GACL6F,GAAW,EACXC,GAAW,EAEf,MAAMC,EAAmB,GACnBC,EAAgB,GACtB,IAAIC,EAIAC,EACAb,EACAc,EALAC,GAAU,EACVC,GAAgB,EAChBC,GAAc,EAOdC,EAAuC,MAAtB9D,EAAQlZ,OAAO,GAChCid,EAAiBn4B,EAAQo3B,KAAOc,EACpC,MAMME,EAAmB95B,GACP,MAAhBA,EAAE4c,OAAO,GACL,GACAlb,EAAQo3B,IACR,iCACA,UAGAiB,EAAiB,KACrB,GAAIT,EAAW,CAGb,OAAQA,GACN,IAAK,IACHjG,GAAMkD,EACN2C,GAAW,EACb,MACA,IAAK,IACH7F,GAAMiD,EACN4C,GAAW,EACb,MACA,QACE7F,GAAM,KAAOiG,EAGjBr6B,KAAKmR,MAAM,uBAAwBkpB,EAAWjG,GAC9CiG,GAAY,CACd,GAGF,IAAK,IAAWh7B,EAAPC,EAAI,EAAOA,EAAIu3B,EAAQ12B,SAAYd,EAAIw3B,EAAQlZ,OAAOre,IAAKA,IAIlE,GAHAU,KAAKmR,MAAM,eAAgB0lB,EAASv3B,EAAG80B,EAAI/0B,GAGvC66B,EAAJ,CAEE,GAAU,MAAN76B,EACF,OAAO,EAGLo4B,EAAWp4B,KACb+0B,GAAM,MAERA,GAAM/0B,EACN66B,GAAW,CAEb,MAEA,OAAQ76B,GAEN,IAAK,IAEH,OAAO,EAGT,IAAK,KACH,GAAIm7B,GAAqC,MAA1B3D,EAAQlZ,OAAOre,EAAI,GAAY,CAC5C80B,GAAM/0B,EACN,QACF,CAEAy7B,IACAZ,GAAW,EACb,SAIA,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IAKH,GAJAl6B,KAAKmR,MAAM,6BAA8B0lB,EAASv3B,EAAG80B,EAAI/0B,GAIrDm7B,EAAS,CACXx6B,KAAKmR,MAAM,cACD,MAAN9R,GAAaC,IAAMo7B,EAAa,IAAGr7B,EAAI,KAC3C+0B,GAAM/0B,EACN,QACF,CAKAW,KAAKmR,MAAM,yBAA0BkpB,GACrCS,IACAT,EAAYh7B,EAIRoD,EAAQs4B,OAAOD,IACrB,SAEA,IAAK,IAAK,CACR,GAAIN,EAAS,CACXpG,GAAM,IACN,QACF,CAEA,IAAKiG,EAAW,CACdjG,GAAM,MACN,QACF,CAEA,MAAM4G,EAAU,CACdz3B,KAAM82B,EACNre,MAAO1c,EAAI,EACX27B,QAAS7G,EAAGj0B,OACZg3B,KAAMD,EAAQmD,GAAWlD,KACzBC,MAAOF,EAAQmD,GAAWjD,OAE5Bp3B,KAAKmR,MAAMnR,KAAK62B,QAAS,KAAMmE,GAC/Bb,EAAiB56B,KAAKy7B,GAEtB5G,GAAM4G,EAAQ7D,KAEQ,IAAlB6D,EAAQhf,OAAgC,MAAjBgf,EAAQz3B,OACjCo3B,GAAiB,EACjBvG,GAAMyG,EAAgBhE,EAAQ1a,MAAM7c,EAAI,KAE1CU,KAAKmR,MAAM,eAAgBkpB,EAAWjG,GACtCiG,GAAY,EACZ,QACF,CAEA,IAAK,IAAK,CACR,MAAMW,EAAUb,EAAiBA,EAAiBh6B,OAAS,GAC3D,GAAIq6B,IAAYQ,EAAS,CACvB5G,GAAM,MACN,QACF,CACA+F,EAAiBvnB,MAGjBkoB,IACAb,GAAW,EACXR,EAAKuB,EAGL5G,GAAMqF,EAAGrC,MACO,MAAZqC,EAAGl2B,MACL62B,EAAc76B,KAAKwH,OAAOgK,OAAO0oB,EAAI,CAAEyB,MAAO9G,EAAGj0B,UAEnD,QACF,CAEA,IAAK,IAAK,CACR,MAAM66B,EAAUb,EAAiBA,EAAiBh6B,OAAS,GAC3D,GAAIq6B,IAAYQ,EAAS,CACvB5G,GAAM,MACN,QACF,CAEA0G,IACA1G,GAAM,IAEgB,IAAlB4G,EAAQhf,OAAgC,MAAjBgf,EAAQz3B,OACjCo3B,GAAiB,EACjBvG,GAAMyG,EAAgBhE,EAAQ1a,MAAM7c,EAAI,KAE1C,QACF,CAGA,IAAK,IAIH,GAFAw7B,IAEIN,EAAS,CACXpG,GAAM,KAAO/0B,EACb,QACF,CAEAm7B,GAAU,EACVE,EAAap7B,EACbm7B,EAAerG,EAAGj0B,OAClBi0B,GAAM/0B,EACR,SAEA,IAAK,IAKH,GAAIC,IAAMo7B,EAAa,IAAMF,EAAS,CACpCpG,GAAM,KAAO/0B,EACb,QACF,CASAi7B,EAAKzD,EAAQ7D,UAAU0H,EAAa,EAAGp7B,GACvC,IACEoI,OAAO,KAAgC4yB,EA7evBtyB,QAAQ,cAAe,MAEvBA,QAAQ,WAAY,QA2eU,MAE9CosB,GAAM/0B,CACR,CAAE,MAAO87B,GAGP/G,EAAKA,EAAGpB,UAAU,EAAGyH,GAAgB,QACvC,CACAR,GAAW,EACXO,GAAU,EACZ,SAEA,QAEEM,KAEIrD,EAAWp4B,IAAc,MAANA,GAAam7B,IAClCpG,GAAM,MAGRA,GAAM/0B,EAyBZ,IAjBIm7B,IAKFF,EAAKzD,EAAQ1a,MAAMue,EAAa,GAChCH,EAAKv6B,KAAK+oB,MAAMuR,EAAIlC,GACpBhE,EAAKA,EAAGpB,UAAU,EAAGyH,GAAgB,MAAQF,EAAG,GAChDN,EAAWA,GAAYM,EAAG,IASvBd,EAAKU,EAAiBvnB,MAAO6mB,EAAIA,EAAKU,EAAiBvnB,MAAO,CACjE,IAAIwoB,EACJA,EAAOhH,EAAGjY,MAAMsd,EAAGwB,QAAUxB,EAAGtC,KAAKh3B,QACrCH,KAAKmR,MAAM,eAAgBijB,EAAIqF,GAE/B2B,EAAOA,EAAKpzB,QAAQ,6BAA6B,CAACqzB,EAAG3a,EAAIC,KAElDA,IAEHA,EAAK,MASAD,EAAKA,EAAKC,EAAK,OAGxB3gB,KAAKmR,MAAM,iBAAkBiqB,EAAMA,EAAM3B,EAAIrF,GAC7C,MAAM91B,EAAgB,MAAZm7B,EAAGl2B,KAAe+zB,EACZ,MAAZmC,EAAGl2B,KAAe8zB,EAClB,KAAOoC,EAAGl2B,KAEd02B,GAAW,EACX7F,EAAKA,EAAGjY,MAAM,EAAGsd,EAAGwB,SAAW38B,EAAI,MAAQ88B,CAC7C,CAGAN,IACIZ,IAEF9F,GAAM,QAKR,MAAMkH,EAAkB5D,EAAmBtD,EAAGzW,OAAO,IAOrD,IAAK,IAAIjf,EAAI07B,EAAcj6B,OAAS,EAAGzB,GAAK,EAAGA,IAAK,CAClD,MAAM68B,EAAKnB,EAAc17B,GAEnB88B,EAAWpH,EAAGjY,MAAM,EAAGof,EAAGN,SAC1BQ,EAAUrH,EAAGjY,MAAMof,EAAGN,QAASM,EAAGL,MAAQ,GAChD,IAAIQ,EAAUtH,EAAGjY,MAAMof,EAAGL,OAC1B,MAAMS,EAASvH,EAAGjY,MAAMof,EAAGL,MAAQ,EAAGK,EAAGL,OAASQ,EAK5CE,EAAoBJ,EAAS3zB,MAAM,KAAK1H,OACxC07B,EAAmBL,EAAS3zB,MAAM,KAAK1H,OAASy7B,EACtD,IAAIE,EAAaJ,EACjB,IAAK,IAAIp8B,EAAI,EAAGA,EAAIu8B,EAAkBv8B,IACpCw8B,EAAaA,EAAW9zB,QAAQ,WAAY,IAE9C0zB,EAAUI,EAIV1H,EAAKoH,EAAWC,EAAUC,GAFC,KAAZA,GAAkB3B,IAAU3B,EAAW,YAAc,IAEvBuD,CAC/C,CAcA,GATW,KAAPvH,GAAa6F,IACf7F,EAAK,QAAUA,GAGbkH,IACFlH,GAxUAuG,EACI,GACAC,EACA,iCACA,WAoUkBxG,GAIpB2F,IAAU3B,EACZ,MAAO,CAAChE,EAAI6F,GAWd,GAPIx3B,EAAQs5B,SAAW9B,IACrBA,EAAWpD,EAAQlX,gBAAkBkX,EAAQmF,gBAM1C/B,EACH,MA1nBe55B,IAAKA,EAAE2H,QAAQ,SAAU,MA0nBjCi0B,CAAapF,GAGtB,MAAMqF,EAAQz5B,EAAQs5B,OAAS,IAAM,GACrC,IACE,OAAOh1B,OAAOgK,OAAO,IAAIrJ,OAAO,IAAM0sB,EAAK,IAAK8H,GAAQ,CACtDC,MAAOtF,EACPuF,KAAMhI,GAEV,CAAE,MAAO+G,GAKP,OAAO,IAAIzzB,OAAO,KACpB,CACF,CAEAuwB,SACE,GAAIj4B,KAAKy4B,SAA0B,IAAhBz4B,KAAKy4B,OAAkB,OAAOz4B,KAAKy4B,OAQtD,MAAM3U,EAAM9jB,KAAK8jB,IAEjB,IAAKA,EAAI3jB,OAEP,OADAH,KAAKy4B,QAAS,EACPz4B,KAAKy4B,OAEd,MAAMh2B,EAAUzC,KAAKyC,QAEf45B,EAAU55B,EAAQu3B,WAAa1C,EACjC70B,EAAQo3B,IAtxBG,0CAIE,0BAoxBXqC,EAAQz5B,EAAQs5B,OAAS,IAAM,GAQrC,IAAI3H,EAAKtQ,EAAI7jB,KAAI42B,IACfA,EAAUA,EAAQ52B,KAAIc,GACP,iBAANA,EAA8BA,EAxqBjBiH,QAAQ,2BAA4B,QAyqBtDjH,IAAMk2B,EAAWA,EACjBl2B,EAAEq7B,OACJ5E,QAAO,CAAC1T,EAAK/iB,KACP+iB,EAAIA,EAAI3jB,OAAS,KAAO82B,GAAYl2B,IAAMk2B,GAC9CnT,EAAIvkB,KAAKwB,GAEJ+iB,IACN,IACH+S,EAAQpd,SAAQ,CAAC1Y,EAAGzB,KACdyB,IAAMk2B,GAAYJ,EAAQv3B,EAAE,KAAO23B,IAG7B,IAAN33B,EACEu3B,EAAQ12B,OAAS,EACnB02B,EAAQv3B,EAAE,GAAK,UAAa+8B,EAAU,QAAWxF,EAAQv3B,EAAE,GAE3Du3B,EAAQv3B,GAAK+8B,EAEN/8B,IAAMu3B,EAAQ12B,OAAS,EAChC02B,EAAQv3B,EAAE,IAAM,UAAa+8B,EAAU,MAEvCxF,EAAQv3B,EAAE,IAAM,aAAiB+8B,EAAU,OAAUxF,EAAQv3B,EAAE,GAC/Du3B,EAAQv3B,EAAE,GAAK23B,GACjB,IAEKJ,EAAQe,QAAO72B,GAAKA,IAAMk2B,IAAU72B,KAAK,QAC/CA,KAAK,KAIRg0B,EAAK,OAASA,EAAK,KAGfp0B,KAAK04B,SAAQtE,EAAK,OAASA,EAAK,QAEpC,IACEp0B,KAAKy4B,OAAS,IAAI/wB,OAAO0sB,EAAI8H,EAC/B,CAAE,MAAOI,GACPt8B,KAAKy4B,QAAS,CAChB,CACA,OAAOz4B,KAAKy4B,MACd,CAEAnc,MAAO5X,EAAGk0B,EAAU54B,KAAK44B,SAIvB,GAHA54B,KAAKmR,MAAM,QAASzM,EAAG1E,KAAK62B,SAGxB72B,KAAK6S,QAAS,OAAO,EACzB,GAAI7S,KAAK24B,MAAO,MAAa,KAANj0B,EAEvB,GAAU,MAANA,GAAak0B,EAAS,OAAO,EAEjC,MAAMn2B,EAAUzC,KAAKyC,QAGJ,MAAb6iB,EAAKwD,MACPpkB,EAAIA,EAAEmD,MAAMyd,EAAKwD,KAAK1oB,KAAK,MAI7BsE,EAAIA,EAAEmD,MAAM8vB,GACZ33B,KAAKmR,MAAMnR,KAAK62B,QAAS,QAASnyB,GAOlC,MAAMof,EAAM9jB,KAAK8jB,IAIjB,IAAIpN,EAHJ1W,KAAKmR,MAAMnR,KAAK62B,QAAS,MAAO/S,GAIhC,IAAK,IAAIxkB,EAAIoF,EAAEvE,OAAS,EAAGb,GAAK,IAC9BoX,EAAWhS,EAAEpF,IACToX,GAF6BpX,KAKnC,IAAK,IAAIA,EAAI,EAAGA,EAAIwkB,EAAI3jB,OAAQb,IAAK,CACnC,MAAMu3B,EAAU/S,EAAIxkB,GACpB,IAAI+5B,EAAO30B,EAKX,GAJIjC,EAAQ85B,WAAgC,IAAnB1F,EAAQ12B,SAC/Bk5B,EAAO,CAAC3iB,IAEE1W,KAAKo5B,SAASC,EAAMxC,EAAS+B,GAEvC,QAAIn2B,EAAQ+5B,aACJx8B,KAAK04B,MAEjB,CAIA,OAAIj2B,EAAQ+5B,YACLx8B,KAAK04B,MACd,CAEA+D,gBAAiB3E,GACf,OAAOlB,EAAUzX,SAAS2Y,GAAKd,SACjC,EAGFJ,EAAUI,UAAYA,IC96BlB0F,EAA2B,CAAC,EAGhC,SAASnZ,EAAoBoZ,GAE5B,IAAIC,EAAeF,EAAyBC,GAC5C,QAAqB5wB,IAAjB6wB,EACH,OAAOA,EAAap+B,QAGrB,IAAID,EAASm+B,EAAyBC,GAAY,CACjDn9B,GAAIm9B,EACJE,QAAQ,EACRr+B,QAAS,CAAC,GAUX,OANAs+B,EAAoBH,GAAUt2B,KAAK9H,EAAOC,QAASD,EAAQA,EAAOC,QAAS+kB,GAG3EhlB,EAAOs+B,QAAS,EAGTt+B,EAAOC,OACf,CAGA+kB,EAAoB5e,EAAIm4B,ErE5BpB9+B,EAAW,GACfulB,EAAoBwZ,EAAI,CAAC5xB,EAAQ6xB,EAAU1nB,EAAI2nB,KAC9C,IAAGD,EAAH,CAMA,IAAIE,EAAeC,IACnB,IAAS79B,EAAI,EAAGA,EAAItB,EAASmC,OAAQb,IAAK,CACrC09B,EAAWh/B,EAASsB,GAAG,GACvBgW,EAAKtX,EAASsB,GAAG,GACjB29B,EAAWj/B,EAASsB,GAAG,GAE3B,IAJA,IAGI89B,GAAY,EACP/R,EAAI,EAAGA,EAAI2R,EAAS78B,OAAQkrB,MACpB,EAAX4R,GAAsBC,GAAgBD,IAAal2B,OAAO4O,KAAK4N,EAAoBwZ,GAAGM,OAAO9zB,GAASga,EAAoBwZ,EAAExzB,GAAKyzB,EAAS3R,MAC9I2R,EAASt7B,OAAO2pB,IAAK,IAErB+R,GAAY,EACTH,EAAWC,IAAcA,EAAeD,IAG7C,GAAGG,EAAW,CACbp/B,EAAS0D,OAAOpC,IAAK,GACrB,IAAIR,EAAIwW,SACEvJ,IAANjN,IAAiBqM,EAASrM,EAC/B,CACD,CACA,OAAOqM,CArBP,CAJC8xB,EAAWA,GAAY,EACvB,IAAI,IAAI39B,EAAItB,EAASmC,OAAQb,EAAI,GAAKtB,EAASsB,EAAI,GAAG,GAAK29B,EAAU39B,IAAKtB,EAASsB,GAAKtB,EAASsB,EAAI,GACrGtB,EAASsB,GAAK,CAAC09B,EAAU1nB,EAAI2nB,EAuBjB,EsE3Bd1Z,EAAoB7kB,EAAKH,IACxB,IAAI++B,EAAS/+B,GAAUA,EAAOuI,WAC7B,IAAOvI,EAAiB,QACxB,IAAM,EAEP,OADAglB,EAAoB5kB,EAAE2+B,EAAQ,CAAEz+B,EAAGy+B,IAC5BA,CAAM,ErENVp/B,EAAW6I,OAAO4d,eAAkB3b,GAASjC,OAAO4d,eAAe3b,GAASA,GAASA,EAAa,UAQtGua,EAAoBjlB,EAAI,SAASiJ,EAAOg2B,GAEvC,GADU,EAAPA,IAAUh2B,EAAQvH,KAAKuH,IAChB,EAAPg2B,EAAU,OAAOh2B,EACpB,GAAoB,iBAAVA,GAAsBA,EAAO,CACtC,GAAW,EAAPg2B,GAAah2B,EAAMT,WAAY,OAAOS,EAC1C,GAAW,GAAPg2B,GAAoC,mBAAfh2B,EAAMi2B,KAAqB,OAAOj2B,CAC5D,CACA,IAAIk2B,EAAK12B,OAAOgb,OAAO,MACvBwB,EAAoBzkB,EAAE2+B,GACtB,IAAI3F,EAAM,CAAC,EACX75B,EAAiBA,GAAkB,CAAC,KAAMC,EAAS,CAAC,GAAIA,EAAS,IAAKA,EAASA,IAC/E,IAAI,IAAIkK,EAAiB,EAAPm1B,GAAYh2B,EAAyB,iBAAXa,KAAyBnK,EAAe2e,QAAQxU,GAAUA,EAAUlK,EAASkK,GACxHrB,OAAO22B,oBAAoBt1B,GAASqR,SAASlQ,GAASuuB,EAAIvuB,GAAO,IAAOhC,EAAMgC,KAI/E,OAFAuuB,EAAa,QAAI,IAAM,EACvBvU,EAAoB5kB,EAAE8+B,EAAI3F,GACnB2F,CACR,EsExBAla,EAAoB5kB,EAAI,CAACH,EAASm/B,KACjC,IAAI,IAAIp0B,KAAOo0B,EACXpa,EAAoBxkB,EAAE4+B,EAAYp0B,KAASga,EAAoBxkB,EAAEP,EAAS+K,IAC5ExC,OAAOC,eAAexI,EAAS+K,EAAK,CAAEtC,YAAY,EAAMC,IAAKy2B,EAAWp0B,IAE1E,ECNDga,EAAoB7e,EAAI,CAAC,EAGzB6e,EAAoBllB,EAAKu/B,GACjBC,QAAQC,IAAI/2B,OAAO4O,KAAK4N,EAAoB7e,GAAG8yB,QAAO,CAACuG,EAAUx0B,KACvEga,EAAoB7e,EAAE6E,GAAKq0B,EAASG,GAC7BA,IACL,KCNJxa,EAAoBhjB,EAAKq9B,GAEZA,EAAU,IAAMA,EAAU,SAAW,CAAC,KAAO,uBAAuB,KAAO,wBAAwBA,GCHhHra,EAAoBngB,EAAI,WACvB,GAA0B,iBAAf46B,WAAyB,OAAOA,WAC3C,IACC,OAAOh+B,MAAQ,IAAIgU,SAAS,cAAb,EAChB,CAAE,MAAO3V,GACR,GAAsB,iBAAX2D,OAAqB,OAAOA,MACxC,CACA,CAPuB,GCAxBuhB,EAAoBxkB,EAAI,CAACiK,EAAKkP,IAAUnR,OAAOI,UAAUC,eAAef,KAAK2C,EAAKkP,GzEA9E/Z,EAAa,CAAC,EACdC,EAAoB,aAExBmlB,EAAoBjjB,EAAI,CAAC4Z,EAAKxB,EAAMnP,EAAKq0B,KACxC,GAAGz/B,EAAW+b,GAAQ/b,EAAW+b,GAAK3a,KAAKmZ,OAA3C,CACA,IAAIulB,EAAQC,EACZ,QAAWnyB,IAARxC,EAEF,IADA,IAAI40B,EAAUr8B,SAASs8B,qBAAqB,UACpC9+B,EAAI,EAAGA,EAAI6+B,EAAQh+B,OAAQb,IAAK,CACvC,IAAIe,EAAI89B,EAAQ7+B,GAChB,GAAGe,EAAEg+B,aAAa,QAAUnkB,GAAO7Z,EAAEg+B,aAAa,iBAAmBjgC,EAAoBmL,EAAK,CAAE00B,EAAS59B,EAAG,KAAO,CACpH,CAEG49B,IACHC,GAAa,GACbD,EAASn8B,SAASQ,cAAc,WAEzBg8B,QAAU,QACjBL,EAAOtyB,QAAU,IACb4X,EAAoB7gB,IACvBu7B,EAAOt7B,aAAa,QAAS4gB,EAAoB7gB,IAElDu7B,EAAOt7B,aAAa,eAAgBvE,EAAoBmL,GACxD00B,EAAOM,IAAMrkB,GAEd/b,EAAW+b,GAAO,CAACxB,GACnB,IAAI8lB,EAAmB,CAACC,EAAMC,KAE7BT,EAAOU,QAAUV,EAAOW,OAAS,KACjCtyB,aAAaX,GACb,IAAIkzB,EAAU1gC,EAAW+b,GAIzB,UAHO/b,EAAW+b,GAClB+jB,EAAOn7B,YAAcm7B,EAAOn7B,WAAWC,YAAYk7B,GACnDY,GAAWA,EAAQplB,SAASnE,GAAQA,EAAGopB,KACpCD,EAAM,OAAOA,EAAKC,EAAM,EAExB/yB,EAAUY,WAAWiyB,EAAiB15B,KAAK,UAAMiH,EAAW,CAAExI,KAAM,UAAWtE,OAAQg/B,IAAW,MACtGA,EAAOU,QAAUH,EAAiB15B,KAAK,KAAMm5B,EAAOU,SACpDV,EAAOW,OAASJ,EAAiB15B,KAAK,KAAMm5B,EAAOW,QACnDV,GAAcp8B,SAASK,KAAKE,YAAY47B,EAnCkB,CAmCX,E0EtChD1a,EAAoBzkB,EAAKN,IACH,oBAAX6I,QAA0BA,OAAOC,aAC1CP,OAAOC,eAAexI,EAAS6I,OAAOC,YAAa,CAAEC,MAAO,WAE7DR,OAAOC,eAAexI,EAAS,aAAc,CAAE+I,OAAO,GAAO,ECL9Dgc,EAAoBub,IAAOvgC,IAC1BA,EAAOwgC,MAAQ,GACVxgC,EAAOygC,WAAUzgC,EAAOygC,SAAW,IACjCzgC,GCHRglB,EAAoB8H,EAAI,WCAxB,IAAI4T,EACA1b,EAAoBngB,EAAE87B,gBAAeD,EAAY1b,EAAoBngB,EAAE+7B,SAAW,IACtF,IAAIr9B,EAAWyhB,EAAoBngB,EAAEtB,SACrC,IAAKm9B,GAAan9B,IACbA,EAASs9B,gBACZH,EAAYn9B,EAASs9B,cAAcb,MAC/BU,GAAW,CACf,IAAId,EAAUr8B,EAASs8B,qBAAqB,UACzCD,EAAQh+B,SAAQ8+B,EAAYd,EAAQA,EAAQh+B,OAAS,GAAGo+B,IAC5D,CAID,IAAKU,EAAW,MAAM,IAAI78B,MAAM,yDAChC68B,EAAYA,EAAUj3B,QAAQ,OAAQ,IAAIA,QAAQ,QAAS,IAAIA,QAAQ,YAAa,KACpFub,EAAoBxiB,EAAIk+B,YCfxB1b,EAAoBviB,EAAIc,SAASu9B,SAAW5gC,KAAK0gC,SAASG,KAK1D,IAAIC,EAAkB,CACrB,KAAM,GAGPhc,EAAoB7e,EAAE2mB,EAAI,CAACuS,EAASG,KAElC,IAAIyB,EAAqBjc,EAAoBxkB,EAAEwgC,EAAiB3B,GAAW2B,EAAgB3B,QAAW7xB,EACtG,GAA0B,IAAvByzB,EAGF,GAAGA,EACFzB,EAASx+B,KAAKigC,EAAmB,QAC3B,CAGL,IAAIC,EAAU,IAAI5B,SAAQ,CAACpa,EAASic,IAAYF,EAAqBD,EAAgB3B,GAAW,CAACna,EAASic,KAC1G3B,EAASx+B,KAAKigC,EAAmB,GAAKC,GAGtC,IAAIvlB,EAAMqJ,EAAoBxiB,EAAIwiB,EAAoBhjB,EAAEq9B,GAEpDxsB,EAAQ,IAAIhP,MAgBhBmhB,EAAoBjjB,EAAE4Z,GAfFwkB,IACnB,GAAGnb,EAAoBxkB,EAAEwgC,EAAiB3B,KAEf,KAD1B4B,EAAqBD,EAAgB3B,MACR2B,EAAgB3B,QAAW7xB,GACrDyzB,GAAoB,CACtB,IAAIG,EAAYjB,IAAyB,SAAfA,EAAMn7B,KAAkB,UAAYm7B,EAAMn7B,MAChEq8B,EAAUlB,GAASA,EAAMz/B,QAAUy/B,EAAMz/B,OAAOs/B,IACpDntB,EAAMnB,QAAU,iBAAmB2tB,EAAU,cAAgB+B,EAAY,KAAOC,EAAU,IAC1FxuB,EAAM/N,KAAO,iBACb+N,EAAM7N,KAAOo8B,EACbvuB,EAAMyI,QAAU+lB,EAChBJ,EAAmB,GAAGpuB,EACvB,CACD,GAEwC,SAAWwsB,EAASA,EAE/D,CACD,EAWFra,EAAoBwZ,EAAE1R,EAAKuS,GAA0C,IAA7B2B,EAAgB3B,GAGxD,IAAIiC,EAAuB,CAACC,EAA4B3vB,KACvD,IAKIwsB,EAAUiB,EALVZ,EAAW7sB,EAAK,GAChB4vB,EAAc5vB,EAAK,GACnB6vB,EAAU7vB,EAAK,GAGI7Q,EAAI,EAC3B,GAAG09B,EAAS9R,MAAM1rB,GAAgC,IAAxB+/B,EAAgB//B,KAAa,CACtD,IAAIm9B,KAAYoD,EACZxc,EAAoBxkB,EAAEghC,EAAapD,KACrCpZ,EAAoB5e,EAAEg4B,GAAYoD,EAAYpD,IAGhD,GAAGqD,EAAS,IAAI70B,EAAS60B,EAAQzc,EAClC,CAEA,IADGuc,GAA4BA,EAA2B3vB,GACrD7Q,EAAI09B,EAAS78B,OAAQb,IACzBs+B,EAAUZ,EAAS19B,GAChBikB,EAAoBxkB,EAAEwgC,EAAiB3B,IAAY2B,EAAgB3B,IACrE2B,EAAgB3B,GAAS,KAE1B2B,EAAgB3B,GAAW,EAE5B,OAAOra,EAAoBwZ,EAAE5xB,EAAO,EAGjC80B,EAAqBxhC,KAA4B,sBAAIA,KAA4B,uBAAK,GAC1FwhC,EAAmBxmB,QAAQomB,EAAqB/6B,KAAK,KAAM,IAC3Dm7B,EAAmB1gC,KAAOsgC,EAAqB/6B,KAAK,KAAMm7B,EAAmB1gC,KAAKuF,KAAKm7B,QCvFvF1c,EAAoB7gB,QAAKqJ,ECGzB,IAAIm0B,EAAsB3c,EAAoBwZ,OAAEhxB,EAAW,CAAC,OAAO,IAAOwX,EAAoB,QAC9F2c,EAAsB3c,EAAoBwZ,EAAEmD","sources":["webpack:///nextcloud/webpack/runtime/chunk loaded","webpack:///nextcloud/webpack/runtime/create fake namespace object","webpack:///nextcloud/webpack/runtime/load script","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/Mixins/richEditor.js","webpack:///nextcloud/node_modules/vue-observe-visibility/dist/vue-observe-visibility.esm.js","webpack:///nextcloud/node_modules/vue-material-design-icons/Refresh.vue","webpack:///nextcloud/node_modules/vue-material-design-icons/Refresh.vue?vue&type=script&lang=js&","webpack://nextcloud/./node_modules/vue-material-design-icons/Refresh.vue?0940","webpack:///nextcloud/node_modules/vue-material-design-icons/Refresh.vue?vue&type=template&id=6bf8414a&","webpack:///nextcloud/node_modules/vue-material-design-icons/MessageReplyText.vue?vue&type=script&lang=js&","webpack:///nextcloud/node_modules/vue-material-design-icons/MessageReplyText.vue","webpack://nextcloud/./node_modules/vue-material-design-icons/MessageReplyText.vue?2121","webpack:///nextcloud/node_modules/vue-material-design-icons/MessageReplyText.vue?vue&type=template&id=43cf8810&","webpack:///nextcloud/apps/comments/src/components/Moment.vue","webpack:///nextcloud/apps/comments/src/components/Moment.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/comments/src/components/Moment.vue?9b20","webpack://nextcloud/./apps/comments/src/components/Moment.vue?135d","webpack:///nextcloud/apps/comments/src/utils/davUtils.js","webpack:///nextcloud/apps/comments/src/utils/decodeHtmlEntities.js","webpack:///nextcloud/apps/comments/src/services/DavClient.js","webpack:///nextcloud/apps/comments/src/mixins/CommentMixin.js","webpack:///nextcloud/apps/comments/src/services/EditComment.js","webpack:///nextcloud/apps/comments/src/services/DeleteComment.js","webpack:///nextcloud/apps/comments/src/services/NewComment.js","webpack:///nextcloud/apps/comments/src/components/Comment.vue?vue&type=script&lang=js&","webpack:///nextcloud/apps/comments/src/components/Comment.vue","webpack://nextcloud/./apps/comments/src/components/Comment.vue?19d6","webpack://nextcloud/./apps/comments/src/components/Comment.vue?7f26","webpack://nextcloud/./apps/comments/src/components/Comment.vue?d1f7","webpack:///nextcloud/node_modules/webdav/dist/node/tools/headers.js","webpack:///nextcloud/node_modules/webdav/dist/node/tools/dav.js","webpack:///nextcloud/node_modules/webdav/dist/node/tools/encode.js","webpack:///nextcloud/node_modules/webdav/dist/node/compat/env.js","webpack:///nextcloud/apps/comments/src/services/GetComments.ts","webpack:///nextcloud/node_modules/webdav/dist/node/response.js","webpack:///nextcloud/apps/comments/src/views/Comments.vue","webpack:///nextcloud/apps/comments/src/views/Comments.vue?vue&type=script&lang=js&","webpack:///nextcloud/apps/comments/src/services/ReadComments.ts","webpack:///nextcloud/apps/comments/src/utils/cancelableRequest.js","webpack://nextcloud/./apps/comments/src/views/Comments.vue?fca1","webpack://nextcloud/./apps/comments/src/views/Comments.vue?f45b","webpack://nextcloud/./apps/comments/src/views/Comments.vue?0e41","webpack:///nextcloud/apps/comments/src/services/CommentsInstance.js","webpack:///nextcloud/apps/comments/src/comments-app.js","webpack:///nextcloud/node_modules/balanced-match/index.js","webpack:///nextcloud/node_modules/base-64/base64.js","webpack:///nextcloud/apps/comments/src/components/Comment.vue?vue&type=style&index=0&id=c1f58ece&prod&lang=scss&scoped=true&","webpack:///nextcloud/apps/comments/src/views/Comments.vue?vue&type=style&index=0&id=3334d67c&prod&lang=scss&scoped=true&","webpack:///nextcloud/node_modules/he/he.js","webpack:///nextcloud/node_modules/layerr/dist/error.js","webpack:///nextcloud/node_modules/layerr/dist/index.js","webpack:///nextcloud/node_modules/layerr/dist/layerr.js","webpack:///nextcloud/node_modules/layerr/dist/tools.js","webpack:///nextcloud/node_modules/layerr/dist/types.js","webpack:///nextcloud/node_modules/moment/locale|sync|/^\\.\\/.*$","webpack:///nextcloud/node_modules/nested-property/dist/nested-property.js","webpack:///nextcloud/node_modules/path-posix/index.js","webpack:///nextcloud/node_modules/webdav/node_modules/brace-expansion/index.js","webpack:///nextcloud/node_modules/webdav/node_modules/fast-xml-parser/src/json2xml.js","webpack:///nextcloud/node_modules/webdav/node_modules/fast-xml-parser/src/nimndata.js","webpack:///nextcloud/node_modules/webdav/node_modules/fast-xml-parser/src/node2json.js","webpack:///nextcloud/node_modules/webdav/node_modules/fast-xml-parser/src/node2json_str.js","webpack:///nextcloud/node_modules/webdav/node_modules/fast-xml-parser/src/parser.js","webpack:///nextcloud/node_modules/webdav/node_modules/fast-xml-parser/src/util.js","webpack:///nextcloud/node_modules/webdav/node_modules/fast-xml-parser/src/validator.js","webpack:///nextcloud/node_modules/webdav/node_modules/fast-xml-parser/src/xmlNode.js","webpack:///nextcloud/node_modules/webdav/node_modules/fast-xml-parser/src/xmlstr2xmlnode.js","webpack:///nextcloud/node_modules/webdav/node_modules/minimatch/lib/path.js","webpack:///nextcloud/node_modules/webdav/node_modules/minimatch/minimatch.js","webpack:///nextcloud/webpack/bootstrap","webpack:///nextcloud/webpack/runtime/compat get default export","webpack:///nextcloud/webpack/runtime/define property getters","webpack:///nextcloud/webpack/runtime/ensure chunk","webpack:///nextcloud/webpack/runtime/get javascript chunk filename","webpack:///nextcloud/webpack/runtime/global","webpack:///nextcloud/webpack/runtime/hasOwnProperty shorthand","webpack:///nextcloud/webpack/runtime/make namespace object","webpack:///nextcloud/webpack/runtime/node module decorator","webpack:///nextcloud/webpack/runtime/runtimeId","webpack:///nextcloud/webpack/runtime/publicPath","webpack:///nextcloud/webpack/runtime/jsonp chunk loading","webpack:///nextcloud/webpack/runtime/nonce","webpack:///nextcloud/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","var getProto = Object.getPrototypeOf ? (obj) => (Object.getPrototypeOf(obj)) : (obj) => (obj.__proto__);\nvar leafPrototypes;\n// create a fake namespace object\n// mode & 1: value is a module id, require it\n// mode & 2: merge all properties of value into the ns\n// mode & 4: return value when already ns object\n// mode & 16: return value when it's Promise-like\n// mode & 8|1: behave like require\n__webpack_require__.t = function(value, mode) {\n\tif(mode & 1) value = this(value);\n\tif(mode & 8) return value;\n\tif(typeof value === 'object' && value) {\n\t\tif((mode & 4) && value.__esModule) return value;\n\t\tif((mode & 16) && typeof value.then === 'function') return value;\n\t}\n\tvar ns = Object.create(null);\n\t__webpack_require__.r(ns);\n\tvar def = {};\n\tleafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];\n\tfor(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {\n\t\tObject.getOwnPropertyNames(current).forEach((key) => (def[key] = () => (value[key])));\n\t}\n\tdef['default'] = () => (value);\n\t__webpack_require__.d(ns, def);\n\treturn ns;\n};","var inProgress = {};\nvar dataWebpackPrefix = \"nextcloud:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(\"NextcloudVue\",[],t):\"object\"==typeof exports?exports.NextcloudVue=t():(e.NextcloudVue=e.NextcloudVue||{},e.NextcloudVue[\"Mixins/richEditor\"]=t())}(self,(()=>(()=>{\"use strict\";var e={1390:(e,t,n)=>{n.d(t,{Z:()=>a});const r=require(\"linkify-string\");var o=n.n(r);const a=function(e){return o()(e,{defaultProtocol:\"https\",target:\"_blank\",className:\"external linkified\",attributes:{rel:\"nofollow noopener noreferrer\"}})}},5594:(e,t,n)=>{n.d(t,{Z:()=>c});var r=n(7537),o=n.n(r),a=n(3645),i=n.n(a)()(o());i.push([e.id,\".material-design-icon[data-v-8a961b36]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.mention-bubble--primary .mention-bubble__content[data-v-8a961b36]{color:var(--color-primary-element-text);background-color:var(--color-primary-element)}.mention-bubble__wrapper[data-v-8a961b36]{max-width:150px;height:18px;vertical-align:text-bottom;display:inline-flex;align-items:center}.mention-bubble__content[data-v-8a961b36]{display:inline-flex;overflow:hidden;align-items:center;max-width:100%;height:20px;-webkit-user-select:none;user-select:none;padding-right:6px;padding-left:2px;border-radius:10px;background-color:var(--color-background-dark)}.mention-bubble__icon[data-v-8a961b36]{position:relative;width:16px;height:16px;border-radius:8px;background-color:var(--color-background-darker);background-repeat:no-repeat;background-position:center;background-size:12px}.mention-bubble__icon--with-avatar[data-v-8a961b36]{color:inherit;background-size:cover}.mention-bubble__title[data-v-8a961b36]{overflow:hidden;margin-left:2px;white-space:nowrap;text-overflow:ellipsis}.mention-bubble__title[data-v-8a961b36]::before{content:attr(title)}.mention-bubble__select[data-v-8a961b36]{position:absolute;z-index:-1;left:-1000px}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcRichContenteditable/NcMentionBubble.vue\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CAAA,mECCC,uCAAA,CACA,6CAAA,CAGD,0CACC,eAXiB,CAajB,WAAA,CACA,0BAAA,CACA,mBAAA,CACA,kBAAA,CAGD,0CACC,mBAAA,CACA,eAAA,CACA,kBAAA,CACA,cAAA,CACA,WAzBc,CA0Bd,wBAAA,CACA,gBAAA,CACA,iBAAA,CACA,gBA3Be,CA4Bf,kBAAA,CACA,6CAAA,CAGD,uCACC,iBAAA,CACA,UAjCmB,CAkCnB,WAlCmB,CAmCnB,iBAAA,CACA,+CAAA,CACA,2BAAA,CACA,0BAAA,CACA,oBAAA,CAEA,oDACC,aAAA,CACA,qBAAA,CAIF,wCACC,eAAA,CACA,eAlDe,CAmDf,kBAAA,CACA,sBAAA,CAEA,gDACC,mBAAA,CAKF,yCACC,iBAAA,CACA,UAAA,CACA,YAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"caee4c9\\\"; @import 'variables'; @import 'material-icons';\\n\\n$bubble-height: 20px;\\n$bubble-max-width: 150px;\\n$bubble-padding: 2px;\\n$bubble-avatar-size: $bubble-height - 2 * $bubble-padding;\\n\\n.mention-bubble {\\n\\t&--primary &__content {\\n\\t\\tcolor: var(--color-primary-element-text);\\n\\t\\tbackground-color: var(--color-primary-element);\\n\\t}\\n\\n\\t&__wrapper {\\n\\t\\tmax-width: $bubble-max-width;\\n\\t\\t// Align with text\\n\\t\\theight: $bubble-height - $bubble-padding;\\n\\t\\tvertical-align: text-bottom;\\n\\t\\tdisplay: inline-flex;\\n\\t\\talign-items: center;\\n\\t}\\n\\n\\t&__content {\\n\\t\\tdisplay: inline-flex;\\n\\t\\toverflow: hidden;\\n\\t\\talign-items: center;\\n\\t\\tmax-width: 100%;\\n\\t\\theight: $bubble-height ;\\n\\t\\t-webkit-user-select: none;\\n\\t\\tuser-select: none;\\n\\t\\tpadding-right: $bubble-padding * 3;\\n\\t\\tpadding-left: $bubble-padding;\\n\\t\\tborder-radius: math.div($bubble-height, 2);\\n\\t\\tbackground-color: var(--color-background-dark);\\n\\t}\\n\\n\\t&__icon {\\n\\t\\tposition: relative;\\n\\t\\twidth: $bubble-avatar-size;\\n\\t\\theight: $bubble-avatar-size;\\n\\t\\tborder-radius: math.div($bubble-avatar-size, 2);\\n\\t\\tbackground-color: var(--color-background-darker);\\n\\t\\tbackground-repeat: no-repeat;\\n\\t\\tbackground-position: center;\\n\\t\\tbackground-size: $bubble-avatar-size - 2 * $bubble-padding;\\n\\n\\t\\t&--with-avatar {\\n\\t\\t\\tcolor: inherit;\\n\\t\\t\\tbackground-size: cover;\\n\\t\\t}\\n\\t}\\n\\n\\t&__title {\\n\\t\\toverflow: hidden;\\n\\t\\tmargin-left: $bubble-padding;\\n\\t\\twhite-space: nowrap;\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\t// Put label in ::before so it is not selectable\\n\\t\\t&::before {\\n\\t\\t\\tcontent: attr(title);\\n\\t\\t}\\n\\t}\\n\\n\\t// Hide the mention id so it is selectable\\n\\t&__select {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: -1;\\n\\t\\tleft: -1000px;\\n\\t}\\n}\\n\\n\"],sourceRoot:\"\"}]);const c=i},3645:e=>{e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var n=\"\",r=void 0!==t[5];return t[4]&&(n+=\"@supports (\".concat(t[4],\") {\")),t[2]&&(n+=\"@media \".concat(t[2],\" {\")),r&&(n+=\"@layer\".concat(t[5].length>0?\" \".concat(t[5]):\"\",\" {\")),n+=e(t),r&&(n+=\"}\"),t[2]&&(n+=\"}\"),t[4]&&(n+=\"}\"),n})).join(\"\")},t.i=function(e,n,r,o,a){\"string\"==typeof e&&(e=[[null,e,void 0]]);var i={};if(r)for(var c=0;c<this.length;c++){var s=this[c][0];null!=s&&(i[s]=!0)}for(var l=0;l<e.length;l++){var u=[].concat(e[l]);r&&i[u[0]]||(void 0!==a&&(void 0===u[5]||(u[1]=\"@layer\".concat(u[5].length>0?\" \".concat(u[5]):\"\",\" {\").concat(u[1],\"}\")),u[5]=a),n&&(u[2]?(u[1]=\"@media \".concat(u[2],\" {\").concat(u[1],\"}\"),u[2]=n):u[2]=n),o&&(u[4]?(u[1]=\"@supports (\".concat(u[4],\") {\").concat(u[1],\"}\"),u[4]=o):u[4]=\"\".concat(o)),t.push(u))}},t}},7537:e=>{e.exports=function(e){var t=e[1],n=e[3];if(!n)return t;if(\"function\"==typeof btoa){var r=btoa(unescape(encodeURIComponent(JSON.stringify(n)))),o=\"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(r),a=\"/*# \".concat(o,\" */\");return[t].concat([a]).join(\"\\n\")}return[t].join(\"\\n\")}},3379:e=>{var t=[];function n(e){for(var n=-1,r=0;r<t.length;r++)if(t[r].identifier===e){n=r;break}return n}function r(e,r){for(var a={},i=[],c=0;c<e.length;c++){var s=e[c],l=r.base?s[0]+r.base:s[0],u=a[l]||0,d=\"\".concat(l,\" \").concat(u);a[l]=u+1;var p=n(d),b={css:s[1],media:s[2],sourceMap:s[3],supports:s[4],layer:s[5]};if(-1!==p)t[p].references++,t[p].updater(b);else{var A=o(b,r);r.byIndex=c,t.splice(c,0,{identifier:d,updater:A,references:1})}i.push(d)}return i}function o(e,t){var n=t.domAPI(t);n.update(e);return function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap&&t.supports===e.supports&&t.layer===e.layer)return;n.update(e=t)}else n.remove()}}e.exports=function(e,o){var a=r(e=e||[],o=o||{});return function(e){e=e||[];for(var i=0;i<a.length;i++){var c=n(a[i]);t[c].references--}for(var s=r(e,o),l=0;l<a.length;l++){var u=n(a[l]);0===t[u].references&&(t[u].updater(),t.splice(u,1))}a=s}}},569:e=>{var t={};e.exports=function(e,n){var r=function(e){if(void 0===t[e]){var n=document.querySelector(e);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(e){n=null}t[e]=n}return t[e]}(e);if(!r)throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");r.appendChild(n)}},9216:e=>{e.exports=function(e){var t=document.createElement(\"style\");return e.setAttributes(t,e.attributes),e.insert(t,e.options),t}},3565:(e,t,n)=>{e.exports=function(e){var t=n.nc;t&&e.setAttribute(\"nonce\",t)}},7795:e=>{e.exports=function(e){var t=e.insertStyleElement(e);return{update:function(n){!function(e,t,n){var r=\"\";n.supports&&(r+=\"@supports (\".concat(n.supports,\") {\")),n.media&&(r+=\"@media \".concat(n.media,\" {\"));var o=void 0!==n.layer;o&&(r+=\"@layer\".concat(n.layer.length>0?\" \".concat(n.layer):\"\",\" {\")),r+=n.css,o&&(r+=\"}\"),n.media&&(r+=\"}\"),n.supports&&(r+=\"}\");var a=n.sourceMap;a&&\"undefined\"!=typeof btoa&&(r+=\"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(a)))),\" */\")),t.styleTagTransform(r,e,t.options)}(t,e,n)},remove:function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(t)}}}},4589:e=>{e.exports=function(e,t){if(t.styleSheet)t.styleSheet.cssText=e;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(e))}}},4470:(e,t,n)=>{n.d(t,{Z:()=>g});var r=n(4262);const o={name:\"NcMentionBubble\",props:{id:{type:String,required:!0},label:{type:String,required:!0},icon:{type:String,required:!0},iconUrl:{type:[String,null],default:null},source:{type:String,required:!0},primary:{type:Boolean,default:!1}},computed:{avatarUrl:function(){return this.iconUrl?this.iconUrl:this.id&&\"users\"===this.source?this.getAvatarUrl(this.id,44):null},mentionText:function(){return this.id.includes(\" \")||this.id.includes(\"/\")?'@\"'.concat(this.id,'\"'):\"@\".concat(this.id)}},methods:{getAvatarUrl:function(e,t){return(0,r.generateUrl)(\"/avatar/{user}/{size}\",{user:e,size:t})}}};var a=n(3379),i=n.n(a),c=n(7795),s=n.n(c),l=n(569),u=n.n(l),d=n(3565),p=n.n(d),b=n(9216),A=n.n(b),f=n(4589),m=n.n(f),v=n(5594),C={};C.styleTagTransform=m(),C.setAttributes=p(),C.insert=u().bind(null,\"head\"),C.domAPI=s(),C.insertStyleElement=A();i()(v.Z,C);v.Z&&v.Z.locals&&v.Z.locals;const g=(0,n(1900).Z)(o,(function(){var e=this,t=e._self._c;return t(\"span\",{staticClass:\"mention-bubble\",class:{\"mention-bubble--primary\":e.primary},attrs:{contenteditable:\"false\"}},[t(\"span\",{staticClass:\"mention-bubble__wrapper\"},[t(\"span\",{staticClass:\"mention-bubble__content\"},[t(\"span\",{staticClass:\"mention-bubble__icon\",class:[e.icon,\"mention-bubble__icon--\".concat(e.avatarUrl?\"with-avatar\":\"\")],style:e.avatarUrl?{backgroundImage:\"url(\".concat(e.avatarUrl,\")\")}:null}),e._v(\" \"),t(\"span\",{staticClass:\"mention-bubble__title\",attrs:{role:\"heading\",title:e.label}})]),e._v(\" \"),t(\"span\",{staticClass:\"mention-bubble__select\",attrs:{role:\"none\"}},[e._v(e._s(e.mentionText))])])])}),[],!1,null,\"8a961b36\",null).exports},1900:(e,t,n)=>{function r(e,t,n,r,o,a,i,c){var s,l=\"function\"==typeof e?e.options:e;if(t&&(l.render=t,l.staticRenderFns=n,l._compiled=!0),r&&(l.functional=!0),a&&(l._scopeId=\"data-v-\"+a),i?(s=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||\"undefined\"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),o&&o.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(i)},l._ssrRegister=s):o&&(s=c?function(){o.call(this,(l.functional?this.parent:this).$root.$options.shadowRoot)}:o),s)if(l.functional){l._injectStyles=s;var u=l.render;l.render=function(e,t){return s.call(t),u(e,t)}}else{var d=l.beforeCreate;l.beforeCreate=d?[].concat(d,s):[s]}return{exports:e,options:l}}n.d(t,{Z:()=>r})},4262:e=>{e.exports=require(\"@nextcloud/router\")},2734:e=>{e.exports=require(\"vue\")}},t={};function n(r){var o=t[r];if(void 0!==o)return o.exports;var a=t[r]={id:r,exports:{}};return e[r](a,a.exports,n),a.exports}n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},n.nc=void 0;var r={};return(()=>{n.r(r),n.d(r,{USERID_REGEX:()=>p,USERID_REGEX_WITH_SPACE:()=>b,default:()=>A});var e=n(4470),t=n(1390);const o=require(\"escape-html\");var a=n.n(o);const i=require(\"striptags\");var c=n.n(i),s=n(2734),l=n.n(s),u=\"(?:^|\\\\s)\",d=\"(?:[^a-z]|$)\",p=new RegExp(\"\".concat(u,\"(@[a-zA-Z0-9_.@\\\\-']+)(\").concat(d,\")\"),\"gi\"),b=new RegExp(\"\".concat(u,\"(@&quot;[a-zA-Z0-9 _.@\\\\-']+&quot;)(\").concat(d,\")\"),\"gi\");const A={props:{userData:{type:Object,default:function(){return{}}}},methods:{renderContent:function(e){var n=this;return a()(e).split(p).map((function(e){return e.split(b)})).flat().map((function(e){if(!e.startsWith(\"@\"))return(0,t.Z)(e);var r=e.replace(/@|&quot;/gi,\"\");return\" \"+n.genSelectTemplate(r)})).join(\"\").replace(/\\n/gim,\"<br>\").replace(/&amp;/gim,\"&\")},parseContent:function(e){var t=e.replace(/<br>/gim,\"\\n\");return t=(t=(t=t.replace(/&nbsp;/gim,\" \")).replace(/&amp;/gim,\"&\")).replace(/<\\/div>/gim,\"\\n\"),t=c()(t,\"<div>\"),t=c()(t)},genSelectTemplate:function(t){if(void 0===t)return\"\".concat(this.autocompleteTribute.current.collection.trigger).concat(this.autocompleteTribute.current.mentionText);var n=this.userData[t];return n?this.renderComponentHtml(n,e.Z).replace(/[\\n\\t]/gim,\"\"):t.includes(\" \")||t.includes(\"/\")?'@\"'.concat(t,'\"'):\"@\".concat(t)},renderComponentHtml:function(e,t){var n=new(l().extend(t))({propsData:e}),r=document.createElement(\"div\"),o=document.createElement(\"div\");r.style.display=\"none\",r.appendChild(o),document.body.appendChild(r),n.$mount(o);var a=r.innerHTML;return n.$destroy(),r.remove(),a}}}})(),r})()));\n//# sourceMappingURL=richEditor.js.map","function _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n return arr2;\n }\n}\n\nfunction _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}\n\nfunction processOptions(value) {\n var options;\n\n if (typeof value === 'function') {\n // Simple options (callback-only)\n options = {\n callback: value\n };\n } else {\n // Options object\n options = value;\n }\n\n return options;\n}\nfunction throttle(callback, delay) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var timeout;\n var lastState;\n var currentArgs;\n\n var throttled = function throttled(state) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n currentArgs = args;\n if (timeout && state === lastState) return;\n var leading = options.leading;\n\n if (typeof leading === 'function') {\n leading = leading(state, lastState);\n }\n\n if ((!timeout || state !== lastState) && leading) {\n callback.apply(void 0, [state].concat(_toConsumableArray(currentArgs)));\n }\n\n lastState = state;\n clearTimeout(timeout);\n timeout = setTimeout(function () {\n callback.apply(void 0, [state].concat(_toConsumableArray(currentArgs)));\n timeout = 0;\n }, delay);\n };\n\n throttled._clear = function () {\n clearTimeout(timeout);\n timeout = null;\n };\n\n return throttled;\n}\nfunction deepEqual(val1, val2) {\n if (val1 === val2) return true;\n\n if (_typeof(val1) === 'object') {\n for (var key in val1) {\n if (!deepEqual(val1[key], val2[key])) {\n return false;\n }\n }\n\n return true;\n }\n\n return false;\n}\n\nvar VisibilityState =\n/*#__PURE__*/\nfunction () {\n function VisibilityState(el, options, vnode) {\n _classCallCheck(this, VisibilityState);\n\n this.el = el;\n this.observer = null;\n this.frozen = false;\n this.createObserver(options, vnode);\n }\n\n _createClass(VisibilityState, [{\n key: \"createObserver\",\n value: function createObserver(options, vnode) {\n var _this = this;\n\n if (this.observer) {\n this.destroyObserver();\n }\n\n if (this.frozen) return;\n this.options = processOptions(options);\n\n this.callback = function (result, entry) {\n _this.options.callback(result, entry);\n\n if (result && _this.options.once) {\n _this.frozen = true;\n\n _this.destroyObserver();\n }\n }; // Throttle\n\n\n if (this.callback && this.options.throttle) {\n var _ref = this.options.throttleOptions || {},\n _leading = _ref.leading;\n\n this.callback = throttle(this.callback, this.options.throttle, {\n leading: function leading(state) {\n return _leading === 'both' || _leading === 'visible' && state || _leading === 'hidden' && !state;\n }\n });\n }\n\n this.oldResult = undefined;\n this.observer = new IntersectionObserver(function (entries) {\n var entry = entries[0];\n\n if (entries.length > 1) {\n var intersectingEntry = entries.find(function (e) {\n return e.isIntersecting;\n });\n\n if (intersectingEntry) {\n entry = intersectingEntry;\n }\n }\n\n if (_this.callback) {\n // Use isIntersecting if possible because browsers can report isIntersecting as true, but intersectionRatio as 0, when something very slowly enters the viewport.\n var result = entry.isIntersecting && entry.intersectionRatio >= _this.threshold;\n if (result === _this.oldResult) return;\n _this.oldResult = result;\n\n _this.callback(result, entry);\n }\n }, this.options.intersection); // Wait for the element to be in document\n\n vnode.context.$nextTick(function () {\n if (_this.observer) {\n _this.observer.observe(_this.el);\n }\n });\n }\n }, {\n key: \"destroyObserver\",\n value: function destroyObserver() {\n if (this.observer) {\n this.observer.disconnect();\n this.observer = null;\n } // Cancel throttled call\n\n\n if (this.callback && this.callback._clear) {\n this.callback._clear();\n\n this.callback = null;\n }\n }\n }, {\n key: \"threshold\",\n get: function get() {\n return this.options.intersection && typeof this.options.intersection.threshold === 'number' ? this.options.intersection.threshold : 0;\n }\n }]);\n\n return VisibilityState;\n}();\n\nfunction bind(el, _ref2, vnode) {\n var value = _ref2.value;\n if (!value) return;\n\n if (typeof IntersectionObserver === 'undefined') {\n console.warn('[vue-observe-visibility] IntersectionObserver API is not available in your browser. Please install this polyfill: https://github.com/w3c/IntersectionObserver/tree/master/polyfill');\n } else {\n var state = new VisibilityState(el, value, vnode);\n el._vue_visibilityState = state;\n }\n}\n\nfunction update(el, _ref3, vnode) {\n var value = _ref3.value,\n oldValue = _ref3.oldValue;\n if (deepEqual(value, oldValue)) return;\n var state = el._vue_visibilityState;\n\n if (!value) {\n unbind(el);\n return;\n }\n\n if (state) {\n state.createObserver(value, vnode);\n } else {\n bind(el, {\n value: value\n }, vnode);\n }\n}\n\nfunction unbind(el) {\n var state = el._vue_visibilityState;\n\n if (state) {\n state.destroyObserver();\n delete el._vue_visibilityState;\n }\n}\n\nvar ObserveVisibility = {\n bind: bind,\n update: update,\n unbind: unbind\n};\n\nfunction install(Vue) {\n Vue.directive('observe-visibility', ObserveVisibility);\n /* -- Add more components here -- */\n}\n/* -- Plugin definition & Auto-install -- */\n\n/* You shouldn't have to modify the code below */\n// Plugin\n\nvar plugin = {\n // eslint-disable-next-line no-undef\n version: \"1.0.0\",\n install: install\n};\n\nvar GlobalVue = null;\n\nif (typeof window !== 'undefined') {\n GlobalVue = window.Vue;\n} else if (typeof global !== 'undefined') {\n GlobalVue = global.Vue;\n}\n\nif (GlobalVue) {\n GlobalVue.use(plugin);\n}\n\nexport default plugin;\nexport { ObserveVisibility, install };\n","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"!title\"\n :aria-label=\"title\"\n class=\"material-design-icon refresh-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M17.65,6.35C16.2,4.9 14.21,4 12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20C15.73,20 18.84,17.45 19.73,14H17.65C16.83,16.33 14.61,18 12,18A6,6 0 0,1 6,12A6,6 0 0,1 12,6C13.66,6 15.14,6.69 16.22,7.78L13,11H20V4L17.65,6.35Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"RefreshIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Refresh.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Refresh.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Refresh.vue?vue&type=template&id=6bf8414a&\"\nimport script from \"./Refresh.vue?vue&type=script&lang=js&\"\nexport * from \"./Refresh.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon refresh-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M17.65,6.35C16.2,4.9 14.21,4 12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20C15.73,20 18.84,17.45 19.73,14H17.65C16.83,16.33 14.61,18 12,18A6,6 0 0,1 6,12A6,6 0 0,1 12,6C13.66,6 15.14,6.69 16.22,7.78L13,11H20V4L17.65,6.35Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./MessageReplyText.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./MessageReplyText.vue?vue&type=script&lang=js&\"","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"!title\"\n :aria-label=\"title\"\n class=\"material-design-icon message-reply-text-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M18,8H6V6H18V8M18,11H6V9H18V11M18,14H6V12H18V14M22,4A2,2 0 0,0 20,2H4A2,2 0 0,0 2,4V16A2,2 0 0,0 4,18H18L22,22V4Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"MessageReplyTextIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","import { render, staticRenderFns } from \"./MessageReplyText.vue?vue&type=template&id=43cf8810&\"\nimport script from \"./MessageReplyText.vue?vue&type=script&lang=js&\"\nexport * from \"./MessageReplyText.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon message-reply-text-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M18,8H6V6H18V8M18,11H6V9H18V11M18,14H6V12H18V14M22,4A2,2 0 0,0 20,2H4A2,2 0 0,0 2,4V16A2,2 0 0,0 4,18H18L22,22V4Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!-- TODO: Move to vue components -->\n\n<template>\n\t<span class=\"live-relative-timestamp\" :data-timestamp=\"timestamp * 1000\" :title=\"title\">{{ formatted }}</span>\n</template>\n\n<script>\nimport moment from '@nextcloud/moment'\n\nexport default {\n\tname: 'Moment',\n\tprops: {\n\t\ttimestamp: {\n\t\t\ttype: Number,\n\t\t\trequired: true,\n\t\t},\n\t\tformat: {\n\t\t\ttype: String,\n\t\t\tdefault: 'LLL',\n\t\t},\n\t},\n\tcomputed: {\n\t\ttitle() {\n\t\t\treturn moment.unix(this.timestamp).format(this.format)\n\t\t},\n\t\tformatted() {\n\t\t\treturn moment.unix(this.timestamp).fromNow()\n\t\t},\n\t},\n}\n</script>\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Moment.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Moment.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Moment.vue?vue&type=template&id=57999be6&\"\nimport script from \"./Moment.vue?vue&type=script&lang=js&\"\nexport * from \"./Moment.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',{staticClass:\"live-relative-timestamp\",attrs:{\"data-timestamp\":_vm.timestamp * 1000,\"title\":_vm.title}},[_vm._v(_vm._s(_vm.formatted))])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright Copyright (c) 2020 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport { generateRemoteUrl } from '@nextcloud/router'\n\nconst getRootPath = function() {\n\treturn generateRemoteUrl('dav/comments')\n}\n\nexport { getRootPath }\n","/**\n * @copyright Copyright (c) 2021 Christopher Ng <chrng8@gmail.com>\n *\n * @author Christopher Ng <chrng8@gmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n/**\n * @param {any} value -\n * @param {any} passes -\n */\nexport function decodeHtmlEntities(value, passes = 1) {\n\tconst parser = new DOMParser()\n\tlet decoded = value\n\tfor (let i = 0; i < passes; i++) {\n\t\tdecoded = parser.parseFromString(decoded, 'text/html').documentElement.textContent\n\t}\n\treturn decoded\n}\n","/**\n * @copyright Copyright (c) 2021 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport { createClient } from 'webdav'\nimport { getRootPath } from '../utils/davUtils.js'\nimport { getRequestToken } from '@nextcloud/auth'\n\n// init webdav client\nconst client = createClient(getRootPath(), {\n\theaders: {\n\t\t// Add this so the server knows it is an request from the browser\n\t\t'X-Requested-With': 'XMLHttpRequest',\n\t\t// Inject user auth\n\t\trequesttoken: getRequestToken() ?? '',\n\t},\n})\n\nexport default client\n","/**\n * @copyright Copyright (c) 2020 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport NewComment from '../services/NewComment.js'\nimport DeleteComment from '../services/DeleteComment.js'\nimport EditComment from '../services/EditComment.js'\nimport { showError, showUndo, TOAST_UNDO_TIMEOUT } from '@nextcloud/dialogs'\n\nexport default {\n\tprops: {\n\t\tid: {\n\t\t\ttype: Number,\n\t\t\tdefault: null,\n\t\t},\n\t\tmessage: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\tressourceId: {\n\t\t\ttype: [String, Number],\n\t\t\trequired: true,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tdeleted: false,\n\t\t\tediting: false,\n\t\t\tloading: false,\n\t\t}\n\t},\n\n\tmethods: {\n\t\t// EDITION\n\t\tonEdit() {\n\t\t\tthis.editing = true\n\t\t},\n\t\tonEditCancel() {\n\t\t\tthis.editing = false\n\t\t\t// Restore original value\n\t\t\tthis.updateLocalMessage(this.message)\n\t\t},\n\t\tasync onEditComment(message) {\n\t\t\tthis.loading = true\n\t\t\ttry {\n\t\t\t\tawait EditComment(this.commentsType, this.ressourceId, this.id, message)\n\t\t\t\tthis.logger.debug('Comment edited', { commentsType: this.commentsType, ressourceId: this.ressourceId, id: this.id, message })\n\t\t\t\tthis.$emit('update:message', message)\n\t\t\t\tthis.editing = false\n\t\t\t} catch (error) {\n\t\t\t\tshowError(t('comments', 'An error occurred while trying to edit the comment'))\n\t\t\t\tconsole.error(error)\n\t\t\t} finally {\n\t\t\t\tthis.loading = false\n\t\t\t}\n\t\t},\n\n\t\t// DELETION\n\t\tonDeleteWithUndo() {\n\t\t\tthis.deleted = true\n\t\t\tconst timeOutDelete = setTimeout(this.onDelete, TOAST_UNDO_TIMEOUT)\n\t\t\tshowUndo(t('comments', 'Comment deleted'), () => {\n\t\t\t\tclearTimeout(timeOutDelete)\n\t\t\t\tthis.deleted = false\n\t\t\t})\n\t\t},\n\t\tasync onDelete() {\n\t\t\ttry {\n\t\t\t\tawait DeleteComment(this.commentsType, this.ressourceId, this.id)\n\t\t\t\tthis.logger.debug('Comment deleted', { commentsType: this.commentsType, ressourceId: this.ressourceId, id: this.id })\n\t\t\t\tthis.$emit('delete', this.id)\n\t\t\t} catch (error) {\n\t\t\t\tshowError(t('comments', 'An error occurred while trying to delete the comment'))\n\t\t\t\tconsole.error(error)\n\t\t\t\tthis.deleted = false\n\t\t\t}\n\t\t},\n\n\t\t// CREATION\n\t\tasync onNewComment(message) {\n\t\t\tthis.loading = true\n\t\t\ttry {\n\t\t\t\tconst newComment = await NewComment(this.commentsType, this.ressourceId, message)\n\t\t\t\tthis.logger.debug('New comment posted', { commentsType: this.commentsType, ressourceId: this.ressourceId, newComment })\n\t\t\t\tthis.$emit('new', newComment)\n\n\t\t\t\t// Clear old content\n\t\t\t\tthis.$emit('update:message', '')\n\t\t\t\tthis.localMessage = ''\n\t\t\t} catch (error) {\n\t\t\t\tshowError(t('comments', 'An error occurred while trying to create the comment'))\n\t\t\t\tconsole.error(error)\n\t\t\t} finally {\n\t\t\t\tthis.loading = false\n\t\t\t}\n\t\t},\n\t},\n}\n","/**\n * @copyright Copyright (c) 2020 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport client from './DavClient.js'\n\n/**\n * Edit an existing comment\n *\n * @param {string} commentsType the ressource type\n * @param {number} ressourceId the ressource ID\n * @param {number} commentId the comment iD\n * @param {string} message the message content\n */\nexport default async function(commentsType, ressourceId, commentId, message) {\n\tconst commentPath = ['', commentsType, ressourceId, commentId].join('/')\n\n\treturn await client.customRequest(commentPath, Object.assign({\n\t\tmethod: 'PROPPATCH',\n\t\tdata: `<?xml version=\"1.0\"?>\n\t\t\t<d:propertyupdate\n\t\t\t\txmlns:d=\"DAV:\"\n\t\t\t\txmlns:oc=\"http://owncloud.org/ns\">\n\t\t\t<d:set>\n\t\t\t\t<d:prop>\n\t\t\t\t\t<oc:message>${message}</oc:message>\n\t\t\t\t</d:prop>\n\t\t\t</d:set>\n\t\t\t</d:propertyupdate>`,\n\t}))\n}\n","/**\n * @copyright Copyright (c) 2020 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport client from './DavClient.js'\n\n/**\n * Delete a comment\n *\n * @param {string} commentsType the ressource type\n * @param {number} ressourceId the ressource ID\n * @param {number} commentId the comment iD\n */\nexport default async function(commentsType, ressourceId, commentId) {\n\tconst commentPath = ['', commentsType, ressourceId, commentId].join('/')\n\n\t// Fetch newly created comment data\n\tawait client.deleteFile(commentPath)\n}\n","/**\n * @copyright Copyright (c) 2020 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport { getCurrentUser } from '@nextcloud/auth'\nimport { getRootPath } from '../utils/davUtils.js'\nimport { decodeHtmlEntities } from '../utils/decodeHtmlEntities.js'\nimport axios from '@nextcloud/axios'\nimport client from './DavClient.js'\n\n/**\n * Retrieve the comments list\n *\n * @param {string} commentsType the ressource type\n * @param {number} ressourceId the ressource ID\n * @param {string} message the message\n * @return {object} the new comment\n */\nexport default async function(commentsType, ressourceId, message) {\n\tconst ressourcePath = ['', commentsType, ressourceId].join('/')\n\n\tconst response = await axios.post(getRootPath() + ressourcePath, {\n\t\tactorDisplayName: getCurrentUser().displayName,\n\t\tactorId: getCurrentUser().uid,\n\t\tactorType: 'users',\n\t\tcreationDateTime: (new Date()).toUTCString(),\n\t\tmessage,\n\t\tobjectType: 'files',\n\t\tverb: 'comment',\n\t})\n\n\t// Retrieve comment id from ressource location\n\tconst commentId = parseInt(response.headers['content-location'].split('/').pop())\n\tconst commentPath = ressourcePath + '/' + commentId\n\n\t// Fetch newly created comment data\n\tconst comment = await client.stat(commentPath, {\n\t\tdetails: true,\n\t})\n\n\tconst props = comment.data.props\n\t// Decode twice to handle potentially double-encoded entities\n\t// FIXME Remove this once https://github.com/nextcloud/server/issues/29306\n\t// is resolved\n\tprops.actorDisplayName = decodeHtmlEntities(props.actorDisplayName, 2)\n\tprops.message = decodeHtmlEntities(props.message, 2)\n\n\treturn comment.data\n}\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Comment.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Comment.vue?vue&type=script&lang=js&\"","<!--\n - @copyright Copyright (c) 2020 John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @author John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n<template>\n\t<component :is=\"tag\"\n\t\tv-show=\"!deleted\"\n\t\t:class=\"{'comment--loading': loading}\"\n\t\tclass=\"comment\">\n\t\t<!-- Comment header toolbar -->\n\t\t<div class=\"comment__side\">\n\t\t\t<!-- Author -->\n\t\t\t<NcAvatar class=\"comment__avatar\"\n\t\t\t\t:display-name=\"actorDisplayName\"\n\t\t\t\t:user=\"actorId\"\n\t\t\t\t:size=\"32\" />\n\t\t</div>\n\t\t<div class=\"comment__body\">\n\t\t\t<div class=\"comment__header\">\n\t\t\t\t<span class=\"comment__author\">{{ actorDisplayName }}</span>\n\n\t\t\t\t<!-- Comment actions,\n\t\t\t\t\tshow if we have a message id and current user is author -->\n\t\t\t\t<NcActions v-if=\"isOwnComment && id && !loading\" class=\"comment__actions\">\n\t\t\t\t\t<template v-if=\"!editing\">\n\t\t\t\t\t\t<NcActionButton :close-after-click=\"true\"\n\t\t\t\t\t\t\ticon=\"icon-rename\"\n\t\t\t\t\t\t\t@click=\"onEdit\">\n\t\t\t\t\t\t\t{{ t('comments', 'Edit comment') }}\n\t\t\t\t\t\t</NcActionButton>\n\t\t\t\t\t\t<NcActionSeparator />\n\t\t\t\t\t\t<NcActionButton :close-after-click=\"true\"\n\t\t\t\t\t\t\ticon=\"icon-delete\"\n\t\t\t\t\t\t\t@click=\"onDeleteWithUndo\">\n\t\t\t\t\t\t\t{{ t('comments', 'Delete comment') }}\n\t\t\t\t\t\t</NcActionButton>\n\t\t\t\t\t</template>\n\n\t\t\t\t\t<NcActionButton v-else\n\t\t\t\t\t\ticon=\"icon-close\"\n\t\t\t\t\t\t@click=\"onEditCancel\">\n\t\t\t\t\t\t{{ t('comments', 'Cancel edit') }}\n\t\t\t\t\t</NcActionButton>\n\t\t\t\t</NcActions>\n\n\t\t\t\t<!-- Show loading if we're editing or deleting, not on new ones -->\n\t\t\t\t<div v-if=\"id && loading\" class=\"comment_loading icon-loading-small\" />\n\n\t\t\t\t<!-- Relative time to the comment creation -->\n\t\t\t\t<Moment v-else-if=\"creationDateTime\" class=\"comment__timestamp\" :timestamp=\"timestamp\" />\n\t\t\t</div>\n\n\t\t\t<!-- Message editor -->\n\t\t\t<div v-if=\"editor || editing\" class=\"comment__editor \">\n\t\t\t\t<NcRichContenteditable ref=\"editor\"\n\t\t\t\t\t:auto-complete=\"autoComplete\"\n\t\t\t\t\t:contenteditable=\"!loading\"\n\t\t\t\t\t:value=\"localMessage\"\n\t\t\t\t\t:user-data=\"userData\"\n\t\t\t\t\t@update:value=\"updateLocalMessage\"\n\t\t\t\t\t@submit=\"onSubmit\" />\n\t\t\t\t<NcButton class=\"comment__submit\"\n\t\t\t\t\ttype=\"tertiary-no-background\"\n\t\t\t\t\tnative-type=\"submit\"\n\t\t\t\t\t:aria-label=\"t('comments', 'Post comment')\"\n\t\t\t\t\t:disabled=\"isEmptyMessage\"\n\t\t\t\t\t@click=\"onSubmit\">\n\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t<span v-if=\"loading\" class=\"icon-loading-small\" />\n\t\t\t\t\t\t<ArrowRight v-else :size=\"20\" />\n\t\t\t\t\t</template>\n\t\t\t\t</NcButton>\n\t\t\t</div>\n\n\t\t\t<!-- Message content -->\n\t\t\t<!-- The html is escaped and sanitized before rendering -->\n\t\t\t<!-- eslint-disable-next-line vue/no-v-html-->\n\t\t\t<div v-else\n\t\t\t\t:class=\"{'comment__message--expanded': expanded}\"\n\t\t\t\tclass=\"comment__message\"\n\t\t\t\t@click=\"onExpand\"\n\t\t\t\tv-html=\"renderedContent\" />\n\t\t</div>\n\t</component>\n</template>\n\n<script>\nimport { getCurrentUser } from '@nextcloud/auth'\nimport moment from '@nextcloud/moment'\n\nimport NcActionButton from '@nextcloud/vue/dist/Components/NcActionButton.js'\nimport NcActions from '@nextcloud/vue/dist/Components/NcActions.js'\nimport NcActionSeparator from '@nextcloud/vue/dist/Components/NcActionSeparator.js'\nimport NcAvatar from '@nextcloud/vue/dist/Components/NcAvatar.js'\nimport NcButton from '@nextcloud/vue/dist/Components/NcButton.js'\nimport RichEditorMixin from '@nextcloud/vue/dist/Mixins/richEditor.js'\nimport ArrowRight from 'vue-material-design-icons/ArrowRight.vue'\n\nimport Moment from './Moment.vue'\nimport CommentMixin from '../mixins/CommentMixin.js'\n\n// Dynamic loading\nconst NcRichContenteditable = () => import('@nextcloud/vue/dist/Components/NcRichContenteditable.js')\n\nexport default {\n\tname: 'Comment',\n\n\tcomponents: {\n\t\tNcActionButton,\n\t\tNcActions,\n\t\tNcActionSeparator,\n\t\tArrowRight,\n\t\tNcAvatar,\n\t\tNcButton,\n\t\tMoment,\n\t\tNcRichContenteditable,\n\t},\n\tmixins: [RichEditorMixin, CommentMixin],\n\n\tinheritAttrs: false,\n\n\tprops: {\n\t\tactorDisplayName: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tactorId: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tcreationDateTime: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\n\t\t/**\n\t\t * Force the editor display\n\t\t */\n\t\teditor: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Provide the autocompletion data\n\t\t */\n\t\tautoComplete: {\n\t\t\ttype: Function,\n\t\t\trequired: true,\n\t\t},\n\n\t\ttag: {\n\t\t\ttype: String,\n\t\t\tdefault: 'div',\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\texpanded: false,\n\t\t\t// Only change data locally and update the original\n\t\t\t// parent data when the request is sent and resolved\n\t\t\tlocalMessage: '',\n\t\t}\n\t},\n\n\tcomputed: {\n\n\t\t/**\n\t\t * Is the current user the author of this comment\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\tisOwnComment() {\n\t\t\treturn getCurrentUser().uid === this.actorId\n\t\t},\n\n\t\t/**\n\t\t * Rendered content as html string\n\t\t *\n\t\t * @return {string}\n\t\t */\n\t\trenderedContent() {\n\t\t\tif (this.isEmptyMessage) {\n\t\t\t\treturn ''\n\t\t\t}\n\t\t\treturn this.renderContent(this.localMessage)\n\t\t},\n\n\t\tisEmptyMessage() {\n\t\t\treturn !this.localMessage || this.localMessage.trim() === ''\n\t\t},\n\n\t\ttimestamp() {\n\t\t\t// seconds, not milliseconds\n\t\t\treturn parseInt(moment(this.creationDateTime).format('x'), 10) / 1000\n\t\t},\n\t},\n\n\twatch: {\n\t\t// If the data change, update the local value\n\t\tmessage(message) {\n\t\t\tthis.updateLocalMessage(message)\n\t\t},\n\t},\n\n\tbeforeMount() {\n\t\t// Init localMessage\n\t\tthis.updateLocalMessage(this.message)\n\t},\n\n\tmethods: {\n\t\t/**\n\t\t * Update local Message on outer change\n\t\t *\n\t\t * @param {string} message the message to set\n\t\t */\n\t\tupdateLocalMessage(message) {\n\t\t\tthis.localMessage = message.toString()\n\t\t},\n\n\t\t/**\n\t\t * Dispatch message between edit and create\n\t\t */\n\t\tonSubmit() {\n\t\t\t// Do not submit if message is empty\n\t\t\tif (this.localMessage.trim() === '') {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tif (this.editor) {\n\t\t\t\tthis.onNewComment(this.localMessage.trim())\n\t\t\t\tthis.$nextTick(() => {\n\t\t\t\t\t// Focus the editor again\n\t\t\t\t\tthis.$refs.editor.$el.focus()\n\t\t\t\t})\n\t\t\t\treturn\n\t\t\t}\n\t\t\tthis.onEditComment(this.localMessage.trim())\n\t\t},\n\n\t\tonExpand() {\n\t\t\tthis.expanded = true\n\t\t},\n\t},\n\n}\n</script>\n\n<style lang=\"scss\" scoped>\n@use \"sass:math\";\n\n$comment-padding: 10px;\n\n.comment {\n\tdisplay: flex;\n\tgap: 16px;\n\tposition: relative;\n\tpadding: 5px $comment-padding;\n\n\t&__side {\n\t\tdisplay: flex;\n\t\talign-items: flex-start;\n\t\tpadding-top: 16px;\n\t}\n\n\t&__body {\n\t\tdisplay: flex;\n\t\tflex-grow: 1;\n\t\tflex-direction: column;\n\t}\n\n\t&__header {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tmin-height: 44px;\n\t}\n\n\t&__actions {\n\t\tmargin-left: $comment-padding !important;\n\t}\n\n\t&__author {\n\t\toverflow: hidden;\n\t\twhite-space: nowrap;\n\t\ttext-overflow: ellipsis;\n\t\tcolor: var(--color-text-maxcontrast);\n\t}\n\n\t&_loading,\n\t&__timestamp {\n\t\tmargin-left: auto;\n\t\ttext-align: right;\n\t\twhite-space: nowrap;\n\t\tcolor: var(--color-text-maxcontrast);\n\t}\n\n\t&__submit {\n\t\tposition: absolute !important;\n\t\tright: 0;\n\t\tbottom: 0;\n\t\t// Align with input border\n\t\tmargin: 1px;\n\t}\n\n\t&__message {\n\t\twhite-space: pre-wrap;\n\t\tword-break: break-word;\n\t\tmax-height: 70px;\n\t\toverflow: hidden;\n\t\tmargin-top: -6px;\n\t\t&--expanded {\n\t\t\tmax-height: none;\n\t\t\toverflow: visible;\n\t\t}\n\t}\n}\n\n.rich-contenteditable__input {\n\tmin-height: 44px;\n\tmargin: 0;\n\tpadding: $comment-padding;\n}\n\n</style>\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Comment.vue?vue&type=style&index=0&id=c1f58ece&prod&lang=scss&scoped=true&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Comment.vue?vue&type=style&index=0&id=c1f58ece&prod&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./Comment.vue?vue&type=template&id=c1f58ece&scoped=true&\"\nimport script from \"./Comment.vue?vue&type=script&lang=js&\"\nexport * from \"./Comment.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Comment.vue?vue&type=style&index=0&id=c1f58ece&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"c1f58ece\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c(_vm.tag,{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.deleted),expression:\"!deleted\"}],tag:\"component\",staticClass:\"comment\",class:{'comment--loading': _vm.loading}},[_c('div',{staticClass:\"comment__side\"},[_c('NcAvatar',{staticClass:\"comment__avatar\",attrs:{\"display-name\":_vm.actorDisplayName,\"user\":_vm.actorId,\"size\":32}})],1),_vm._v(\" \"),_c('div',{staticClass:\"comment__body\"},[_c('div',{staticClass:\"comment__header\"},[_c('span',{staticClass:\"comment__author\"},[_vm._v(_vm._s(_vm.actorDisplayName))]),_vm._v(\" \"),(_vm.isOwnComment && _vm.id && !_vm.loading)?_c('NcActions',{staticClass:\"comment__actions\"},[(!_vm.editing)?[_c('NcActionButton',{attrs:{\"close-after-click\":true,\"icon\":\"icon-rename\"},on:{\"click\":_vm.onEdit}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('comments', 'Edit comment'))+\"\\n\\t\\t\\t\\t\\t\")]),_vm._v(\" \"),_c('NcActionSeparator'),_vm._v(\" \"),_c('NcActionButton',{attrs:{\"close-after-click\":true,\"icon\":\"icon-delete\"},on:{\"click\":_vm.onDeleteWithUndo}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('comments', 'Delete comment'))+\"\\n\\t\\t\\t\\t\\t\")])]:_c('NcActionButton',{attrs:{\"icon\":\"icon-close\"},on:{\"click\":_vm.onEditCancel}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('comments', 'Cancel edit'))+\"\\n\\t\\t\\t\\t\")])],2):_vm._e(),_vm._v(\" \"),(_vm.id && _vm.loading)?_c('div',{staticClass:\"comment_loading icon-loading-small\"}):(_vm.creationDateTime)?_c('Moment',{staticClass:\"comment__timestamp\",attrs:{\"timestamp\":_vm.timestamp}}):_vm._e()],1),_vm._v(\" \"),(_vm.editor || _vm.editing)?_c('div',{staticClass:\"comment__editor\"},[_c('NcRichContenteditable',{ref:\"editor\",attrs:{\"auto-complete\":_vm.autoComplete,\"contenteditable\":!_vm.loading,\"value\":_vm.localMessage,\"user-data\":_vm.userData},on:{\"update:value\":_vm.updateLocalMessage,\"submit\":_vm.onSubmit}}),_vm._v(\" \"),_c('NcButton',{staticClass:\"comment__submit\",attrs:{\"type\":\"tertiary-no-background\",\"native-type\":\"submit\",\"aria-label\":_vm.t('comments', 'Post comment'),\"disabled\":_vm.isEmptyMessage},on:{\"click\":_vm.onSubmit},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [(_vm.loading)?_c('span',{staticClass:\"icon-loading-small\"}):_c('ArrowRight',{attrs:{\"size\":20}})]},proxy:true}],null,false,2357784758)})],1):_c('div',{staticClass:\"comment__message\",class:{'comment__message--expanded': _vm.expanded},domProps:{\"innerHTML\":_vm._s(_vm.renderedContent)},on:{\"click\":_vm.onExpand}})])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export function convertResponseHeaders(headers) {\n const output = {};\n for (const key of headers.keys()) {\n output[key] = headers.get(key);\n }\n return output;\n}\nexport function mergeHeaders(...headerPayloads) {\n if (headerPayloads.length === 0)\n return {};\n const headerKeys = {};\n return headerPayloads.reduce((output, headers) => {\n Object.keys(headers).forEach(header => {\n const lowerHeader = header.toLowerCase();\n if (headerKeys.hasOwnProperty(lowerHeader)) {\n output[headerKeys[lowerHeader]] = headers[header];\n }\n else {\n headerKeys[lowerHeader] = header;\n output[header] = headers[header];\n }\n });\n return output;\n }, {});\n}\n","import path from \"path-posix\";\nimport xmlParser from \"fast-xml-parser\";\nimport nestedProp from \"nested-property\";\nimport { decodeHTMLEntities } from \"./encode.js\";\nimport { normalisePath } from \"./path.js\";\nvar PropertyType;\n(function (PropertyType) {\n PropertyType[\"Array\"] = \"array\";\n PropertyType[\"Object\"] = \"object\";\n PropertyType[\"Original\"] = \"original\";\n})(PropertyType || (PropertyType = {}));\nfunction getPropertyOfType(obj, prop, type = PropertyType.Original) {\n const val = nestedProp.get(obj, prop);\n if (type === \"array\" && Array.isArray(val) === false) {\n return [val];\n }\n else if (type === \"object\" && Array.isArray(val)) {\n return val[0];\n }\n return val;\n}\nfunction normaliseResponse(response) {\n const output = Object.assign({}, response);\n nestedProp.set(output, \"propstat\", getPropertyOfType(output, \"propstat\", PropertyType.Object));\n nestedProp.set(output, \"propstat.prop\", getPropertyOfType(output, \"propstat.prop\", PropertyType.Object));\n return output;\n}\nfunction normaliseResult(result) {\n const { multistatus } = result;\n if (multistatus === \"\") {\n return {\n multistatus: {\n response: []\n }\n };\n }\n if (!multistatus) {\n throw new Error(\"Invalid response: No root multistatus found\");\n }\n const output = {\n multistatus: Array.isArray(multistatus) ? multistatus[0] : multistatus\n };\n nestedProp.set(output, \"multistatus.response\", getPropertyOfType(output, \"multistatus.response\", PropertyType.Array));\n nestedProp.set(output, \"multistatus.response\", nestedProp.get(output, \"multistatus.response\").map(response => normaliseResponse(response)));\n return output;\n}\nexport function parseXML(xml) {\n return new Promise(resolve => {\n const result = xmlParser.parse(xml, {\n arrayMode: false,\n ignoreNameSpace: true,\n parseTrueNumberOnly: true\n // // We don't use the processors here as decoding is done manually\n // // later on - decoding early would break some path checks.\n // attrValueProcessor: val => decodeHTMLEntities(decodeURIComponent(val)),\n // tagValueProcessor: val => decodeHTMLEntities(decodeURIComponent(val))\n });\n resolve(normaliseResult(result));\n });\n}\nexport function prepareFileFromProps(props, rawFilename, isDetailed = false) {\n // Last modified time, raw size, item type and mime\n const { getlastmodified: lastMod = null, getcontentlength: rawSize = \"0\", resourcetype: resourceType = null, getcontenttype: mimeType = null, getetag: etag = null } = props;\n const type = resourceType &&\n typeof resourceType === \"object\" &&\n typeof resourceType.collection !== \"undefined\"\n ? \"directory\"\n : \"file\";\n const filename = decodeHTMLEntities(rawFilename);\n const stat = {\n filename,\n basename: path.basename(filename),\n lastmod: lastMod,\n size: parseInt(rawSize, 10),\n type,\n etag: typeof etag === \"string\" ? etag.replace(/\"/g, \"\") : null\n };\n if (type === \"file\") {\n stat.mime = mimeType && typeof mimeType === \"string\" ? mimeType.split(\";\")[0] : \"\";\n }\n if (isDetailed) {\n stat.props = props;\n }\n return stat;\n}\nexport function parseStat(result, filename, isDetailed = false) {\n let responseItem = null;\n try {\n responseItem = result.multistatus.response[0];\n }\n catch (e) {\n /* ignore */\n }\n if (!responseItem) {\n throw new Error(\"Failed getting item stat: bad response\");\n }\n const { propstat: { prop: props, status: statusLine } } = responseItem;\n // As defined in https://tools.ietf.org/html/rfc2068#section-6.1\n const [_, statusCodeStr, statusText] = statusLine.split(\" \", 3);\n const statusCode = parseInt(statusCodeStr, 10);\n if (statusCode >= 400) {\n const err = new Error(`Invalid response: ${statusCode} ${statusText}`);\n err.status = statusCode;\n throw err;\n }\n const filePath = normalisePath(filename);\n return prepareFileFromProps(props, filePath, isDetailed);\n}\nexport function translateDiskSpace(value) {\n switch (value.toString()) {\n case \"-3\":\n return \"unlimited\";\n case \"-2\":\n /* falls-through */\n case \"-1\":\n // -1 is non-computed\n return \"unknown\";\n default:\n return parseInt(value, 10);\n }\n}\n","import base64 from \"base-64\";\nimport he from \"he\";\nimport { isWeb } from \"../compat/env.js\";\nexport function decodeHTMLEntities(text) {\n if (!isWeb()) {\n // Node\n return he.decode(text);\n }\n else {\n // Nasty browser way\n const txt = document.createElement(\"textarea\");\n txt.innerHTML = text;\n return txt.value;\n }\n}\nexport function fromBase64(text) {\n return base64.decode(text);\n}\nexport function toBase64(text) {\n return base64.encode(text);\n}\n","export function isWeb() {\n if (typeof WEB === \"boolean\" && WEB === true) {\n return true;\n }\n return false;\n}\n","/**\n * @copyright Copyright (c) 2020 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport { parseXML } from 'webdav';\n// https://github.com/perry-mitchell/webdav-client/issues/339\nimport { processResponsePayload } from '../../../../node_modules/webdav/dist/node/response.js';\nimport { prepareFileFromProps } from '../../../../node_modules/webdav/dist/node/tools/dav.js';\nimport client from './DavClient.js';\nexport const DEFAULT_LIMIT = 20;\n/**\n * Retrieve the comments list\n *\n * @param {object} data destructuring object\n * @param {string} data.commentsType the ressource type\n * @param {number} data.ressourceId the ressource ID\n * @param {object} [options] optional options for axios\n * @param {number} [options.offset] the pagination offset\n * @return {object[]} the comments list\n */\nexport const getComments = async function ({ commentsType, ressourceId }, options) {\n const ressourcePath = ['', commentsType, ressourceId].join('/');\n const response = await client.customRequest(ressourcePath, Object.assign({\n method: 'REPORT',\n data: `<?xml version=\"1.0\"?>\n\t\t\t<oc:filter-comments\n\t\t\t\txmlns:d=\"DAV:\"\n\t\t\t\txmlns:oc=\"http://owncloud.org/ns\"\n\t\t\t\txmlns:nc=\"http://nextcloud.org/ns\"\n\t\t\t\txmlns:ocs=\"http://open-collaboration-services.org/ns\">\n\t\t\t\t<oc:limit>${DEFAULT_LIMIT}</oc:limit>\n\t\t\t\t<oc:offset>${options.offset || 0}</oc:offset>\n\t\t\t</oc:filter-comments>`,\n }, options));\n const responseData = await response.text();\n const result = await parseXML(responseData);\n const stat = getDirectoryFiles(result, true);\n return processResponsePayload(response, stat, true);\n};\n// https://github.com/perry-mitchell/webdav-client/blob/8d9694613c978ce7404e26a401c39a41f125f87f/source/operations/directoryContents.ts\nconst getDirectoryFiles = function (result, isDetailed = false) {\n // Extract the response items (directory contents)\n const { multistatus: { response: responseItems }, } = result;\n // Map all items to a consistent output structure (results)\n return responseItems.map(item => {\n // Each item should contain a stat object\n const { propstat: { prop: props }, } = item;\n return prepareFileFromProps(props, props.id.toString(), isDetailed);\n });\n};\n","import minimatch from \"minimatch\";\nimport { convertResponseHeaders } from \"./tools/headers.js\";\nexport function createErrorFromResponse(response, prefix = \"\") {\n const err = new Error(`${prefix}Invalid response: ${response.status} ${response.statusText}`);\n err.status = response.status;\n err.response = response;\n return err;\n}\nexport function handleResponseCode(context, response) {\n const { status } = response;\n if (status === 401 && context.digest)\n return response;\n if (status >= 400) {\n const err = createErrorFromResponse(response);\n throw err;\n }\n return response;\n}\nexport function processGlobFilter(files, glob) {\n return files.filter(file => minimatch(file.filename, glob, { matchBase: true }));\n}\nexport function processResponsePayload(response, data, isDetailed = false) {\n return isDetailed\n ? {\n data,\n headers: response.headers ? convertResponseHeaders(response.headers) : {},\n status: response.status,\n statusText: response.statusText\n }\n : data;\n}\n","<!--\n - @copyright Copyright (c) 2020 John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @author John Molakvoæ <skjnldsv@protonmail.com>\n - @author Richard Steinmetz <richard@steinmetz.cloud>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<template>\n\t<div class=\"comments\"\n\t\t:class=\"{ 'icon-loading': isFirstLoading }\"\n\t\tv-observe-visibility=\"onVisibilityChange\">\n\t\t<!-- Editor -->\n\t\t<Comment v-bind=\"editorData\"\n\t\t\t:auto-complete=\"autoComplete\"\n\t\t\t:user-data=\"userData\"\n\t\t\t:editor=\"true\"\n\t\t\t:ressource-id=\"ressourceId\"\n\t\t\tclass=\"comments__writer\"\n\t\t\t@new=\"onNewComment\" />\n\n\t\t<template v-if=\"!isFirstLoading\">\n\t\t\t<NcEmptyContent v-if=\"!hasComments && done\"\n\t\t\t\tclass=\"comments__empty\"\n\t\t\t\t:title=\"t('comments', 'No comments yet, start the conversation!')\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<MessageReplyTextIcon />\n\t\t\t\t</template>\n\t\t\t</NcEmptyContent>\n\t\t\t<ul v-else>\n\t\t\t\t<!-- Comments -->\n\t\t\t\t<Comment v-for=\"comment in comments\"\n\t\t\t\t\t:key=\"comment.props.id\"\n\t\t\t\t\ttag=\"li\"\n\t\t\t\t\tv-bind=\"comment.props\"\n\t\t\t\t\t:auto-complete=\"autoComplete\"\n\t\t\t\t\t:message.sync=\"comment.props.message\"\n\t\t\t\t\t:ressource-id=\"ressourceId\"\n\t\t\t\t\t:user-data=\"genMentionsData(comment.props.mentions)\"\n\t\t\t\t\tclass=\"comments__list\"\n\t\t\t\t\t@delete=\"onDelete\" />\n\t\t\t</ul>\n\n\t\t\t<!-- Loading more message -->\n\t\t\t<div v-if=\"loading && !isFirstLoading\" class=\"comments__info icon-loading\" />\n\n\t\t\t<div v-else-if=\"hasComments && done\" class=\"comments__info\">\n\t\t\t\t{{ t('comments', 'No more messages') }}\n\t\t\t</div>\n\n\t\t\t<!-- Error message -->\n\t\t\t<template v-else-if=\"error\">\n\t\t\t\t<NcEmptyContent class=\"comments__error\" :title=\"error\">\n\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t<AlertCircleOutlineIcon />\n\t\t\t\t\t</template>\n\t\t\t\t</NcEmptyContent>\n\t\t\t\t<NcButton class=\"comments__retry\" @click=\"getComments\">\n\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t<RefreshIcon />\n\t\t\t\t\t</template>\n\t\t\t\t\t{{ t('comments', 'Retry') }}\n\t\t\t\t</NcButton>\n\t\t\t</template>\n\t\t</template>\n\t</div>\n</template>\n\n<script>\nimport { generateOcsUrl } from '@nextcloud/router'\nimport { getCurrentUser } from '@nextcloud/auth'\nimport { loadState } from '@nextcloud/initial-state'\nimport { showError } from '@nextcloud/dialogs'\nimport axios from '@nextcloud/axios'\nimport VTooltip from 'v-tooltip'\nimport Vue from 'vue'\nimport VueObserveVisibility from 'vue-observe-visibility'\n\nimport NcEmptyContent from '@nextcloud/vue/dist/Components/NcEmptyContent.js'\nimport NcButton from '@nextcloud/vue/dist/Components/NcButton.js'\nimport RefreshIcon from 'vue-material-design-icons/Refresh.vue'\nimport MessageReplyTextIcon from 'vue-material-design-icons/MessageReplyText.vue'\nimport AlertCircleOutlineIcon from 'vue-material-design-icons/AlertCircleOutline.vue'\n\nimport Comment from '../components/Comment.vue'\nimport { getComments, DEFAULT_LIMIT } from '../services/GetComments.ts'\nimport cancelableRequest from '../utils/cancelableRequest.js'\nimport { markCommentsAsRead } from '../services/ReadComments.ts'\n\nVue.use(VTooltip)\nVue.use(VueObserveVisibility)\n\nexport default {\n\tname: 'Comments',\n\n\tcomponents: {\n\t\t// Avatar,\n\t\tComment,\n\t\tNcEmptyContent,\n\t\tNcButton,\n\t\tRefreshIcon,\n\t\tMessageReplyTextIcon,\n\t\tAlertCircleOutlineIcon,\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\terror: '',\n\t\t\tloading: false,\n\t\t\tdone: false,\n\n\t\t\tressourceId: null,\n\t\t\toffset: 0,\n\t\t\tcomments: [],\n\n\t\t\tcancelRequest: () => {},\n\n\t\t\teditorData: {\n\t\t\t\tactorDisplayName: getCurrentUser().displayName,\n\t\t\t\tactorId: getCurrentUser().uid,\n\t\t\t\tkey: 'editor',\n\t\t\t},\n\n\t\t\tComment,\n\t\t\tuserData: {},\n\t\t}\n\t},\n\n\tcomputed: {\n\t\thasComments() {\n\t\t\treturn this.comments.length > 0\n\t\t},\n\t\tisFirstLoading() {\n\t\t\treturn this.loading && this.offset === 0\n\t\t},\n\t},\n\n\tmethods: {\n\t\tasync onVisibilityChange(isVisible) {\n\t\t\tif (isVisible) {\n\t\t\t\ttry {\n\t\t\t\t\tawait markCommentsAsRead(this.commentsType, this.ressourceId, new Date())\n\t\t\t\t} catch (e) {\n\t\t\t\t\tshowError(e.message || t('comments', 'Failed to mark comments as read'))\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Update current ressourceId and fetch new data\n\t\t *\n\t\t * @param {number} ressourceId the current ressourceId (fileId...)\n\t\t */\n\t\tasync update(ressourceId) {\n\t\t\tthis.ressourceId = ressourceId\n\t\t\tthis.resetState()\n\t\t\tthis.getComments()\n\t\t},\n\n\t\t/**\n\t\t * Ran when the bottom of the tab is reached\n\t\t */\n\t\tonScrollBottomReached() {\n\t\t\t/**\n\t\t\t * Do not fetch more if we:\n\t\t\t * - are showing an error\n\t\t\t * - already fetched everything\n\t\t\t * - are currently loading\n\t\t\t */\n\t\t\tif (this.error || this.done || this.loading) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tthis.getComments()\n\t\t},\n\n\t\t/**\n\t\t * Make sure we have all mentions as Array of objects\n\t\t *\n\t\t * @param {Array} mentions the mentions list\n\t\t * @return {Object<string, object>}\n\t\t */\n\t\tgenMentionsData(mentions) {\n\t\t\tObject.values(mentions)\n\t\t\t\t.flat()\n\t\t\t\t.forEach(mention => {\n\t\t\t\t\tthis.userData[mention.mentionId] = {\n\t\t\t\t\t\t// TODO: support groups\n\t\t\t\t\t\ticon: 'icon-user',\n\t\t\t\t\t\tid: mention.mentionId,\n\t\t\t\t\t\tlabel: mention.mentionDisplayName,\n\t\t\t\t\t\tsource: 'users',\n\t\t\t\t\t\tprimary: getCurrentUser().uid === mention.mentionId,\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\treturn this.userData\n\t\t},\n\n\t\t/**\n\t\t * Get the existing shares infos\n\t\t */\n\t\tasync getComments() {\n\t\t\t// Cancel any ongoing request\n\t\t\tthis.cancelRequest('cancel')\n\n\t\t\ttry {\n\t\t\t\tthis.loading = true\n\t\t\t\tthis.error = ''\n\n\t\t\t\t// Init cancellable request\n\t\t\t\tconst { request, abort } = cancelableRequest(getComments)\n\t\t\t\tthis.cancelRequest = abort\n\n\t\t\t\t// Fetch comments\n\t\t\t\tconst { data: comments } = await request({\n\t\t\t\t\tcommentsType: this.commentsType,\n\t\t\t\t\tressourceId: this.ressourceId,\n\t\t\t\t}, { offset: this.offset }) || { data: [] }\n\n\t\t\t\tthis.logger.debug(`Processed ${comments.length} comments`, { comments })\n\n\t\t\t\t// We received less than the requested amount,\n\t\t\t\t// we're done fetching comments\n\t\t\t\tif (comments.length < DEFAULT_LIMIT) {\n\t\t\t\t\tthis.done = true\n\t\t\t\t}\n\n\t\t\t\t// Insert results\n\t\t\t\tthis.comments.push(...comments)\n\n\t\t\t\t// Increase offset for next fetch\n\t\t\t\tthis.offset += DEFAULT_LIMIT\n\t\t\t} catch (error) {\n\t\t\t\tif (error.message === 'cancel') {\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t\tthis.error = t('comments', 'Unable to load the comments list')\n\t\t\t\tconsole.error('Error loading the comments list', error)\n\t\t\t} finally {\n\t\t\t\tthis.loading = false\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Autocomplete @mentions\n\t\t *\n\t\t * @param {string} search the query\n\t\t * @param {Function} callback the callback to process the results with\n\t\t */\n\t\tasync autoComplete(search, callback) {\n\t\t\tconst results = await axios.get(generateOcsUrl('core/autocomplete/get'), {\n\t\t\t\tparams: {\n\t\t\t\t\tsearch,\n\t\t\t\t\titemType: 'files',\n\t\t\t\t\titemId: this.ressourceId,\n\t\t\t\t\tsorter: 'commenters|share-recipients',\n\t\t\t\t\tlimit: loadState('comments', 'maxAutoCompleteResults'),\n\t\t\t\t},\n\t\t\t})\n\t\t\t// Save user data so it can be used by the editor to replace mentions\n\t\t\tresults.data.ocs.data.forEach(user => { this.userData[user.id] = user })\n\t\t\treturn callback(Object.values(this.userData))\n\t\t},\n\n\t\t/**\n\t\t * Add newly created comment to the list\n\t\t *\n\t\t * @param {object} comment the new comment\n\t\t */\n\t\tonNewComment(comment) {\n\t\t\tthis.comments.unshift(comment)\n\t\t},\n\n\t\t/**\n\t\t * Remove deleted comment from the list\n\t\t *\n\t\t * @param {number} id the deleted comment\n\t\t */\n\t\tonDelete(id) {\n\t\t\tconst index = this.comments.findIndex(comment => comment.props.id === id)\n\t\t\tif (index > -1) {\n\t\t\t\tthis.comments.splice(index, 1)\n\t\t\t} else {\n\t\t\t\tconsole.error('Could not find the deleted comment in the list', id)\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Reset the current view to its default state\n\t\t */\n\t\tresetState() {\n\t\t\tthis.error = ''\n\t\t\tthis.loading = false\n\t\t\tthis.done = false\n\t\t\tthis.offset = 0\n\t\t\tthis.comments = []\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.comments {\n\t// Do not add emptycontent top margin\n\t&__empty,\n\t&__error {\n\t\tmargin-top: 0 !important;\n\t}\n\n\t&__retry {\n\t\tmargin: 0 auto;\n\t}\n\n\t&__info {\n\t\theight: 60px;\n\t\tcolor: var(--color-text-maxcontrast);\n\t\ttext-align: center;\n\t\tline-height: 60px;\n\t}\n}\n</style>\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Comments.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Comments.vue?vue&type=script&lang=js&\"","/**\n * @copyright 2023 Christopher Ng <chrng8@gmail.com>\n *\n * @author Christopher Ng <chrng8@gmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport client from './DavClient.js';\n/**\n * Mark comments older than the date timestamp as read\n *\n * @param commentsType the ressource type\n * @param ressourceId the ressource ID\n * @param date the date object\n */\nexport const markCommentsAsRead = (commentsType, ressourceId, date) => {\n const ressourcePath = ['', commentsType, ressourceId].join('/');\n const readMarker = date.toUTCString();\n return client.customRequest(ressourcePath, {\n method: 'PROPPATCH',\n data: `<?xml version=\"1.0\"?>\n\t\t\t<d:propertyupdate\n\t\t\t\txmlns:d=\"DAV:\"\n\t\t\t\txmlns:oc=\"http://owncloud.org/ns\">\n\t\t\t<d:set>\n\t\t\t\t<d:prop>\n\t\t\t\t\t<oc:readMarker>${readMarker}</oc:readMarker>\n\t\t\t\t</d:prop>\n\t\t\t</d:set>\n\t\t\t</d:propertyupdate>`,\n });\n};\n","/**\n * @copyright Copyright (c) 2020 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n/**\n * Creates a cancelable axios 'request object'.\n *\n * @param {Function} request the axios promise request\n * @return {object}\n */\nconst cancelableRequest = function(request) {\n\tconst controller = new AbortController()\n\tconst signal = controller.signal\n\n\t/**\n\t * Execute the request\n\t *\n\t * @param {string} url the url to send the request to\n\t * @param {object} [options] optional config for the request\n\t */\n\tconst fetch = async function(url, options) {\n\t\tconst response = await request(\n\t\t\turl,\n\t\t\tObject.assign({ signal }, options)\n\t\t)\n\t\treturn response\n\t}\n\n\treturn {\n\t\trequest: fetch,\n\t\tabort: () => controller.abort(),\n\t}\n}\n\nexport default cancelableRequest\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Comments.vue?vue&type=style&index=0&id=3334d67c&prod&lang=scss&scoped=true&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Comments.vue?vue&type=style&index=0&id=3334d67c&prod&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./Comments.vue?vue&type=template&id=3334d67c&scoped=true&\"\nimport script from \"./Comments.vue?vue&type=script&lang=js&\"\nexport * from \"./Comments.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Comments.vue?vue&type=style&index=0&id=3334d67c&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3334d67c\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{directives:[{name:\"observe-visibility\",rawName:\"v-observe-visibility\",value:(_vm.onVisibilityChange),expression:\"onVisibilityChange\"}],staticClass:\"comments\",class:{ 'icon-loading': _vm.isFirstLoading }},[_c('Comment',_vm._b({staticClass:\"comments__writer\",attrs:{\"auto-complete\":_vm.autoComplete,\"user-data\":_vm.userData,\"editor\":true,\"ressource-id\":_vm.ressourceId},on:{\"new\":_vm.onNewComment}},'Comment',_vm.editorData,false)),_vm._v(\" \"),(!_vm.isFirstLoading)?[(!_vm.hasComments && _vm.done)?_c('NcEmptyContent',{staticClass:\"comments__empty\",attrs:{\"title\":_vm.t('comments', 'No comments yet, start the conversation!')},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('MessageReplyTextIcon')]},proxy:true}],null,false,1033639148)}):_c('ul',_vm._l((_vm.comments),function(comment){return _c('Comment',_vm._b({key:comment.props.id,staticClass:\"comments__list\",attrs:{\"tag\":\"li\",\"auto-complete\":_vm.autoComplete,\"message\":comment.props.message,\"ressource-id\":_vm.ressourceId,\"user-data\":_vm.genMentionsData(comment.props.mentions)},on:{\"update:message\":function($event){return _vm.$set(comment.props, \"message\", $event)},\"delete\":_vm.onDelete}},'Comment',comment.props,false))}),1),_vm._v(\" \"),(_vm.loading && !_vm.isFirstLoading)?_c('div',{staticClass:\"comments__info icon-loading\"}):(_vm.hasComments && _vm.done)?_c('div',{staticClass:\"comments__info\"},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('comments', 'No more messages'))+\"\\n\\t\\t\")]):(_vm.error)?[_c('NcEmptyContent',{staticClass:\"comments__error\",attrs:{\"title\":_vm.error},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('AlertCircleOutlineIcon')]},proxy:true}],null,false,66050004)}),_vm._v(\" \"),_c('NcButton',{staticClass:\"comments__retry\",on:{\"click\":_vm.getComments},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('RefreshIcon')]},proxy:true}],null,false,3924573781)},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('comments', 'Retry'))+\"\\n\\t\\t\\t\")])]:_vm._e()]:_vm._e()],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright Copyright (c) 2020 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport { getLoggerBuilder } from '@nextcloud/logger'\nimport { translate as t, translatePlural as n } from '@nextcloud/l10n'\nimport { getRequestToken } from '@nextcloud/auth'\nimport CommentsApp from '../views/Comments.vue'\nimport Vue from 'vue'\n\n// eslint-disable-next-line camelcase\n__webpack_nonce__ = btoa(getRequestToken())\n\nconst logger = getLoggerBuilder()\n\t.setApp('comments')\n\t.detectUser()\n\t.build()\n\n// Add translates functions\nVue.mixin({\n\tdata() {\n\t\treturn {\n\t\t\tlogger,\n\t\t}\n\t},\n\tmethods: {\n\t\tt,\n\t\tn,\n\t},\n})\n\nexport default class CommentInstance {\n\n\t/**\n\t * Initialize a new Comments instance for the desired type\n\t *\n\t * @param {string} commentsType the comments endpoint type\n\t * @param {object} options the vue options (propsData, parent, el...)\n\t */\n\tconstructor(commentsType = 'files', options) {\n\t\t// Add comments type as a global mixin\n\t\tVue.mixin({\n\t\t\tdata() {\n\t\t\t\treturn {\n\t\t\t\t\tcommentsType,\n\t\t\t\t}\n\t\t\t},\n\t\t})\n\n\t\t// Init Comments component\n\t\tconst View = Vue.extend(CommentsApp)\n\t\treturn new View(options)\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2020 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport CommentsInstance from './services/CommentsInstance.js'\n\n// Init Comments\nif (window.OCA && !window.OCA.Comments) {\n\tObject.assign(window.OCA, { Comments: {} })\n}\n\n// Init Comments App view\nObject.assign(window.OCA.Comments, { View: CommentsInstance })\nconsole.debug('OCA.Comments.View initialized')\n","'use strict';\nmodule.exports = balanced;\nfunction balanced(a, b, str) {\n if (a instanceof RegExp) a = maybeMatch(a, str);\n if (b instanceof RegExp) b = maybeMatch(b, str);\n\n var r = range(a, b, str);\n\n return r && {\n start: r[0],\n end: r[1],\n pre: str.slice(0, r[0]),\n body: str.slice(r[0] + a.length, r[1]),\n post: str.slice(r[1] + b.length)\n };\n}\n\nfunction maybeMatch(reg, str) {\n var m = str.match(reg);\n return m ? m[0] : null;\n}\n\nbalanced.range = range;\nfunction range(a, b, str) {\n var begs, beg, left, right, result;\n var ai = str.indexOf(a);\n var bi = str.indexOf(b, ai + 1);\n var i = ai;\n\n if (ai >= 0 && bi > 0) {\n if(a===b) {\n return [ai, bi];\n }\n begs = [];\n left = str.length;\n\n while (i >= 0 && !result) {\n if (i == ai) {\n begs.push(i);\n ai = str.indexOf(a, i + 1);\n } else if (begs.length == 1) {\n result = [ begs.pop(), bi ];\n } else {\n beg = begs.pop();\n if (beg < left) {\n left = beg;\n right = bi;\n }\n\n bi = str.indexOf(b, i + 1);\n }\n\n i = ai < bi && ai >= 0 ? ai : bi;\n }\n\n if (begs.length) {\n result = [ left, right ];\n }\n }\n\n return result;\n}\n","/*! https://mths.be/base64 v1.0.0 by @mathias | MIT license */\n;(function(root) {\n\n\t// Detect free variables `exports`.\n\tvar freeExports = typeof exports == 'object' && exports;\n\n\t// Detect free variable `module`.\n\tvar freeModule = typeof module == 'object' && module &&\n\t\tmodule.exports == freeExports && module;\n\n\t// Detect free variable `global`, from Node.js or Browserified code, and use\n\t// it as `root`.\n\tvar freeGlobal = typeof global == 'object' && global;\n\tif (freeGlobal.global === freeGlobal || freeGlobal.window === freeGlobal) {\n\t\troot = freeGlobal;\n\t}\n\n\t/*--------------------------------------------------------------------------*/\n\n\tvar InvalidCharacterError = function(message) {\n\t\tthis.message = message;\n\t};\n\tInvalidCharacterError.prototype = new Error;\n\tInvalidCharacterError.prototype.name = 'InvalidCharacterError';\n\n\tvar error = function(message) {\n\t\t// Note: the error messages used throughout this file match those used by\n\t\t// the native `atob`/`btoa` implementation in Chromium.\n\t\tthrow new InvalidCharacterError(message);\n\t};\n\n\tvar TABLE = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n\t// http://whatwg.org/html/common-microsyntaxes.html#space-character\n\tvar REGEX_SPACE_CHARACTERS = /[\\t\\n\\f\\r ]/g;\n\n\t// `decode` is designed to be fully compatible with `atob` as described in the\n\t// HTML Standard. http://whatwg.org/html/webappapis.html#dom-windowbase64-atob\n\t// The optimized base64-decoding algorithm used is based on @atk’s excellent\n\t// implementation. https://gist.github.com/atk/1020396\n\tvar decode = function(input) {\n\t\tinput = String(input)\n\t\t\t.replace(REGEX_SPACE_CHARACTERS, '');\n\t\tvar length = input.length;\n\t\tif (length % 4 == 0) {\n\t\t\tinput = input.replace(/==?$/, '');\n\t\t\tlength = input.length;\n\t\t}\n\t\tif (\n\t\t\tlength % 4 == 1 ||\n\t\t\t// http://whatwg.org/C#alphanumeric-ascii-characters\n\t\t\t/[^+a-zA-Z0-9/]/.test(input)\n\t\t) {\n\t\t\terror(\n\t\t\t\t'Invalid character: the string to be decoded is not correctly encoded.'\n\t\t\t);\n\t\t}\n\t\tvar bitCounter = 0;\n\t\tvar bitStorage;\n\t\tvar buffer;\n\t\tvar output = '';\n\t\tvar position = -1;\n\t\twhile (++position < length) {\n\t\t\tbuffer = TABLE.indexOf(input.charAt(position));\n\t\t\tbitStorage = bitCounter % 4 ? bitStorage * 64 + buffer : buffer;\n\t\t\t// Unless this is the first of a group of 4 characters…\n\t\t\tif (bitCounter++ % 4) {\n\t\t\t\t// …convert the first 8 bits to a single ASCII character.\n\t\t\t\toutput += String.fromCharCode(\n\t\t\t\t\t0xFF & bitStorage >> (-2 * bitCounter & 6)\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t\treturn output;\n\t};\n\n\t// `encode` is designed to be fully compatible with `btoa` as described in the\n\t// HTML Standard: http://whatwg.org/html/webappapis.html#dom-windowbase64-btoa\n\tvar encode = function(input) {\n\t\tinput = String(input);\n\t\tif (/[^\\0-\\xFF]/.test(input)) {\n\t\t\t// Note: no need to special-case astral symbols here, as surrogates are\n\t\t\t// matched, and the input is supposed to only contain ASCII anyway.\n\t\t\terror(\n\t\t\t\t'The string to be encoded contains characters outside of the ' +\n\t\t\t\t'Latin1 range.'\n\t\t\t);\n\t\t}\n\t\tvar padding = input.length % 3;\n\t\tvar output = '';\n\t\tvar position = -1;\n\t\tvar a;\n\t\tvar b;\n\t\tvar c;\n\t\tvar buffer;\n\t\t// Make sure any padding is handled outside of the loop.\n\t\tvar length = input.length - padding;\n\n\t\twhile (++position < length) {\n\t\t\t// Read three bytes, i.e. 24 bits.\n\t\t\ta = input.charCodeAt(position) << 16;\n\t\t\tb = input.charCodeAt(++position) << 8;\n\t\t\tc = input.charCodeAt(++position);\n\t\t\tbuffer = a + b + c;\n\t\t\t// Turn the 24 bits into four chunks of 6 bits each, and append the\n\t\t\t// matching character for each of them to the output.\n\t\t\toutput += (\n\t\t\t\tTABLE.charAt(buffer >> 18 & 0x3F) +\n\t\t\t\tTABLE.charAt(buffer >> 12 & 0x3F) +\n\t\t\t\tTABLE.charAt(buffer >> 6 & 0x3F) +\n\t\t\t\tTABLE.charAt(buffer & 0x3F)\n\t\t\t);\n\t\t}\n\n\t\tif (padding == 2) {\n\t\t\ta = input.charCodeAt(position) << 8;\n\t\t\tb = input.charCodeAt(++position);\n\t\t\tbuffer = a + b;\n\t\t\toutput += (\n\t\t\t\tTABLE.charAt(buffer >> 10) +\n\t\t\t\tTABLE.charAt((buffer >> 4) & 0x3F) +\n\t\t\t\tTABLE.charAt((buffer << 2) & 0x3F) +\n\t\t\t\t'='\n\t\t\t);\n\t\t} else if (padding == 1) {\n\t\t\tbuffer = input.charCodeAt(position);\n\t\t\toutput += (\n\t\t\t\tTABLE.charAt(buffer >> 2) +\n\t\t\t\tTABLE.charAt((buffer << 4) & 0x3F) +\n\t\t\t\t'=='\n\t\t\t);\n\t\t}\n\n\t\treturn output;\n\t};\n\n\tvar base64 = {\n\t\t'encode': encode,\n\t\t'decode': decode,\n\t\t'version': '1.0.0'\n\t};\n\n\t// Some AMD build optimizers, like r.js, check for specific condition patterns\n\t// like the following:\n\tif (\n\t\ttypeof define == 'function' &&\n\t\ttypeof define.amd == 'object' &&\n\t\tdefine.amd\n\t) {\n\t\tdefine(function() {\n\t\t\treturn base64;\n\t\t});\n\t}\telse if (freeExports && !freeExports.nodeType) {\n\t\tif (freeModule) { // in Node.js or RingoJS v0.8.0+\n\t\t\tfreeModule.exports = base64;\n\t\t} else { // in Narwhal or RingoJS v0.7.0-\n\t\t\tfor (var key in base64) {\n\t\t\t\tbase64.hasOwnProperty(key) && (freeExports[key] = base64[key]);\n\t\t\t}\n\t\t}\n\t} else { // in Rhino or a web browser\n\t\troot.base64 = base64;\n\t}\n\n}(this));\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".comment[data-v-c1f58ece]{display:flex;gap:16px;position:relative;padding:5px 10px}.comment__side[data-v-c1f58ece]{display:flex;align-items:flex-start;padding-top:16px}.comment__body[data-v-c1f58ece]{display:flex;flex-grow:1;flex-direction:column}.comment__header[data-v-c1f58ece]{display:flex;align-items:center;min-height:44px}.comment__actions[data-v-c1f58ece]{margin-left:10px !important}.comment__author[data-v-c1f58ece]{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:var(--color-text-maxcontrast)}.comment_loading[data-v-c1f58ece],.comment__timestamp[data-v-c1f58ece]{margin-left:auto;text-align:right;white-space:nowrap;color:var(--color-text-maxcontrast)}.comment__submit[data-v-c1f58ece]{position:absolute !important;right:0;bottom:0;margin:1px}.comment__message[data-v-c1f58ece]{white-space:pre-wrap;word-break:break-word;max-height:70px;overflow:hidden;margin-top:-6px}.comment__message--expanded[data-v-c1f58ece]{max-height:none;overflow:visible}.rich-contenteditable__input[data-v-c1f58ece]{min-height:44px;margin:0;padding:10px}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/comments/src/components/Comment.vue\"],\"names\":[],\"mappings\":\"AAKA,0BACC,YAAA,CACA,QAAA,CACA,iBAAA,CACA,gBAAA,CAEA,gCACC,YAAA,CACA,sBAAA,CACA,gBAAA,CAGD,gCACC,YAAA,CACA,WAAA,CACA,qBAAA,CAGD,kCACC,YAAA,CACA,kBAAA,CACA,eAAA,CAGD,mCACC,2BAAA,CAGD,kCACC,eAAA,CACA,kBAAA,CACA,sBAAA,CACA,mCAAA,CAGD,uEAEC,gBAAA,CACA,gBAAA,CACA,kBAAA,CACA,mCAAA,CAGD,kCACC,4BAAA,CACA,OAAA,CACA,QAAA,CAEA,UAAA,CAGD,mCACC,oBAAA,CACA,qBAAA,CACA,eAAA,CACA,eAAA,CACA,eAAA,CACA,6CACC,eAAA,CACA,gBAAA,CAKH,8CACC,eAAA,CACA,QAAA,CACA,YArEiB\",\"sourcesContent\":[\"\\n@use \\\"sass:math\\\";\\n\\n$comment-padding: 10px;\\n\\n.comment {\\n\\tdisplay: flex;\\n\\tgap: 16px;\\n\\tposition: relative;\\n\\tpadding: 5px $comment-padding;\\n\\n\\t&__side {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\t\\tpadding-top: 16px;\\n\\t}\\n\\n\\t&__body {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-grow: 1;\\n\\t\\tflex-direction: column;\\n\\t}\\n\\n\\t&__header {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\tmin-height: 44px;\\n\\t}\\n\\n\\t&__actions {\\n\\t\\tmargin-left: $comment-padding !important;\\n\\t}\\n\\n\\t&__author {\\n\\t\\toverflow: hidden;\\n\\t\\twhite-space: nowrap;\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t}\\n\\n\\t&_loading,\\n\\t&__timestamp {\\n\\t\\tmargin-left: auto;\\n\\t\\ttext-align: right;\\n\\t\\twhite-space: nowrap;\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t}\\n\\n\\t&__submit {\\n\\t\\tposition: absolute !important;\\n\\t\\tright: 0;\\n\\t\\tbottom: 0;\\n\\t\\t// Align with input border\\n\\t\\tmargin: 1px;\\n\\t}\\n\\n\\t&__message {\\n\\t\\twhite-space: pre-wrap;\\n\\t\\tword-break: break-word;\\n\\t\\tmax-height: 70px;\\n\\t\\toverflow: hidden;\\n\\t\\tmargin-top: -6px;\\n\\t\\t&--expanded {\\n\\t\\t\\tmax-height: none;\\n\\t\\t\\toverflow: visible;\\n\\t\\t}\\n\\t}\\n}\\n\\n.rich-contenteditable__input {\\n\\tmin-height: 44px;\\n\\tmargin: 0;\\n\\tpadding: $comment-padding;\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".comments__empty[data-v-3334d67c],.comments__error[data-v-3334d67c]{margin-top:0 !important}.comments__retry[data-v-3334d67c]{margin:0 auto}.comments__info[data-v-3334d67c]{height:60px;color:var(--color-text-maxcontrast);text-align:center;line-height:60px}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/comments/src/views/Comments.vue\"],\"names\":[],\"mappings\":\"AAGC,oEAEC,uBAAA,CAGD,kCACC,aAAA,CAGD,iCACC,WAAA,CACA,mCAAA,CACA,iBAAA,CACA,gBAAA\",\"sourcesContent\":[\"\\n.comments {\\n\\t// Do not add emptycontent top margin\\n\\t&__empty,\\n\\t&__error {\\n\\t\\tmargin-top: 0 !important;\\n\\t}\\n\\n\\t&__retry {\\n\\t\\tmargin: 0 auto;\\n\\t}\\n\\n\\t&__info {\\n\\t\\theight: 60px;\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\ttext-align: center;\\n\\t\\tline-height: 60px;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","/*! https://mths.be/he v1.2.0 by @mathias | MIT license */\n;(function(root) {\n\n\t// Detect free variables `exports`.\n\tvar freeExports = typeof exports == 'object' && exports;\n\n\t// Detect free variable `module`.\n\tvar freeModule = typeof module == 'object' && module &&\n\t\tmodule.exports == freeExports && module;\n\n\t// Detect free variable `global`, from Node.js or Browserified code,\n\t// and use it as `root`.\n\tvar freeGlobal = typeof global == 'object' && global;\n\tif (freeGlobal.global === freeGlobal || freeGlobal.window === freeGlobal) {\n\t\troot = freeGlobal;\n\t}\n\n\t/*--------------------------------------------------------------------------*/\n\n\t// All astral symbols.\n\tvar regexAstralSymbols = /[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g;\n\t// All ASCII symbols (not just printable ASCII) except those listed in the\n\t// first column of the overrides table.\n\t// https://html.spec.whatwg.org/multipage/syntax.html#table-charref-overrides\n\tvar regexAsciiWhitelist = /[\\x01-\\x7F]/g;\n\t// All BMP symbols that are not ASCII newlines, printable ASCII symbols, or\n\t// code points listed in the first column of the overrides table on\n\t// https://html.spec.whatwg.org/multipage/syntax.html#table-charref-overrides.\n\tvar regexBmpWhitelist = /[\\x01-\\t\\x0B\\f\\x0E-\\x1F\\x7F\\x81\\x8D\\x8F\\x90\\x9D\\xA0-\\uFFFF]/g;\n\n\tvar regexEncodeNonAscii = /<\\u20D2|=\\u20E5|>\\u20D2|\\u205F\\u200A|\\u219D\\u0338|\\u2202\\u0338|\\u2220\\u20D2|\\u2229\\uFE00|\\u222A\\uFE00|\\u223C\\u20D2|\\u223D\\u0331|\\u223E\\u0333|\\u2242\\u0338|\\u224B\\u0338|\\u224D\\u20D2|\\u224E\\u0338|\\u224F\\u0338|\\u2250\\u0338|\\u2261\\u20E5|\\u2264\\u20D2|\\u2265\\u20D2|\\u2266\\u0338|\\u2267\\u0338|\\u2268\\uFE00|\\u2269\\uFE00|\\u226A\\u0338|\\u226A\\u20D2|\\u226B\\u0338|\\u226B\\u20D2|\\u227F\\u0338|\\u2282\\u20D2|\\u2283\\u20D2|\\u228A\\uFE00|\\u228B\\uFE00|\\u228F\\u0338|\\u2290\\u0338|\\u2293\\uFE00|\\u2294\\uFE00|\\u22B4\\u20D2|\\u22B5\\u20D2|\\u22D8\\u0338|\\u22D9\\u0338|\\u22DA\\uFE00|\\u22DB\\uFE00|\\u22F5\\u0338|\\u22F9\\u0338|\\u2933\\u0338|\\u29CF\\u0338|\\u29D0\\u0338|\\u2A6D\\u0338|\\u2A70\\u0338|\\u2A7D\\u0338|\\u2A7E\\u0338|\\u2AA1\\u0338|\\u2AA2\\u0338|\\u2AAC\\uFE00|\\u2AAD\\uFE00|\\u2AAF\\u0338|\\u2AB0\\u0338|\\u2AC5\\u0338|\\u2AC6\\u0338|\\u2ACB\\uFE00|\\u2ACC\\uFE00|\\u2AFD\\u20E5|[\\xA0-\\u0113\\u0116-\\u0122\\u0124-\\u012B\\u012E-\\u014D\\u0150-\\u017E\\u0192\\u01B5\\u01F5\\u0237\\u02C6\\u02C7\\u02D8-\\u02DD\\u0311\\u0391-\\u03A1\\u03A3-\\u03A9\\u03B1-\\u03C9\\u03D1\\u03D2\\u03D5\\u03D6\\u03DC\\u03DD\\u03F0\\u03F1\\u03F5\\u03F6\\u0401-\\u040C\\u040E-\\u044F\\u0451-\\u045C\\u045E\\u045F\\u2002-\\u2005\\u2007-\\u2010\\u2013-\\u2016\\u2018-\\u201A\\u201C-\\u201E\\u2020-\\u2022\\u2025\\u2026\\u2030-\\u2035\\u2039\\u203A\\u203E\\u2041\\u2043\\u2044\\u204F\\u2057\\u205F-\\u2063\\u20AC\\u20DB\\u20DC\\u2102\\u2105\\u210A-\\u2113\\u2115-\\u211E\\u2122\\u2124\\u2127-\\u2129\\u212C\\u212D\\u212F-\\u2131\\u2133-\\u2138\\u2145-\\u2148\\u2153-\\u215E\\u2190-\\u219B\\u219D-\\u21A7\\u21A9-\\u21AE\\u21B0-\\u21B3\\u21B5-\\u21B7\\u21BA-\\u21DB\\u21DD\\u21E4\\u21E5\\u21F5\\u21FD-\\u2205\\u2207-\\u2209\\u220B\\u220C\\u220F-\\u2214\\u2216-\\u2218\\u221A\\u221D-\\u2238\\u223A-\\u2257\\u2259\\u225A\\u225C\\u225F-\\u2262\\u2264-\\u228B\\u228D-\\u229B\\u229D-\\u22A5\\u22A7-\\u22B0\\u22B2-\\u22BB\\u22BD-\\u22DB\\u22DE-\\u22E3\\u22E6-\\u22F7\\u22F9-\\u22FE\\u2305\\u2306\\u2308-\\u2310\\u2312\\u2313\\u2315\\u2316\\u231C-\\u231F\\u2322\\u2323\\u232D\\u232E\\u2336\\u233D\\u233F\\u237C\\u23B0\\u23B1\\u23B4-\\u23B6\\u23DC-\\u23DF\\u23E2\\u23E7\\u2423\\u24C8\\u2500\\u2502\\u250C\\u2510\\u2514\\u2518\\u251C\\u2524\\u252C\\u2534\\u253C\\u2550-\\u256C\\u2580\\u2584\\u2588\\u2591-\\u2593\\u25A1\\u25AA\\u25AB\\u25AD\\u25AE\\u25B1\\u25B3-\\u25B5\\u25B8\\u25B9\\u25BD-\\u25BF\\u25C2\\u25C3\\u25CA\\u25CB\\u25EC\\u25EF\\u25F8-\\u25FC\\u2605\\u2606\\u260E\\u2640\\u2642\\u2660\\u2663\\u2665\\u2666\\u266A\\u266D-\\u266F\\u2713\\u2717\\u2720\\u2736\\u2758\\u2772\\u2773\\u27C8\\u27C9\\u27E6-\\u27ED\\u27F5-\\u27FA\\u27FC\\u27FF\\u2902-\\u2905\\u290C-\\u2913\\u2916\\u2919-\\u2920\\u2923-\\u292A\\u2933\\u2935-\\u2939\\u293C\\u293D\\u2945\\u2948-\\u294B\\u294E-\\u2976\\u2978\\u2979\\u297B-\\u297F\\u2985\\u2986\\u298B-\\u2996\\u299A\\u299C\\u299D\\u29A4-\\u29B7\\u29B9\\u29BB\\u29BC\\u29BE-\\u29C5\\u29C9\\u29CD-\\u29D0\\u29DC-\\u29DE\\u29E3-\\u29E5\\u29EB\\u29F4\\u29F6\\u2A00-\\u2A02\\u2A04\\u2A06\\u2A0C\\u2A0D\\u2A10-\\u2A17\\u2A22-\\u2A27\\u2A29\\u2A2A\\u2A2D-\\u2A31\\u2A33-\\u2A3C\\u2A3F\\u2A40\\u2A42-\\u2A4D\\u2A50\\u2A53-\\u2A58\\u2A5A-\\u2A5D\\u2A5F\\u2A66\\u2A6A\\u2A6D-\\u2A75\\u2A77-\\u2A9A\\u2A9D-\\u2AA2\\u2AA4-\\u2AB0\\u2AB3-\\u2AC8\\u2ACB\\u2ACC\\u2ACF-\\u2ADB\\u2AE4\\u2AE6-\\u2AE9\\u2AEB-\\u2AF3\\u2AFD\\uFB00-\\uFB04]|\\uD835[\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDCCF\\uDD04\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDD6B]/g;\n\tvar encodeMap = {'\\xAD':'shy','\\u200C':'zwnj','\\u200D':'zwj','\\u200E':'lrm','\\u2063':'ic','\\u2062':'it','\\u2061':'af','\\u200F':'rlm','\\u200B':'ZeroWidthSpace','\\u2060':'NoBreak','\\u0311':'DownBreve','\\u20DB':'tdot','\\u20DC':'DotDot','\\t':'Tab','\\n':'NewLine','\\u2008':'puncsp','\\u205F':'MediumSpace','\\u2009':'thinsp','\\u200A':'hairsp','\\u2004':'emsp13','\\u2002':'ensp','\\u2005':'emsp14','\\u2003':'emsp','\\u2007':'numsp','\\xA0':'nbsp','\\u205F\\u200A':'ThickSpace','\\u203E':'oline','_':'lowbar','\\u2010':'dash','\\u2013':'ndash','\\u2014':'mdash','\\u2015':'horbar',',':'comma',';':'semi','\\u204F':'bsemi',':':'colon','\\u2A74':'Colone','!':'excl','\\xA1':'iexcl','?':'quest','\\xBF':'iquest','.':'period','\\u2025':'nldr','\\u2026':'mldr','\\xB7':'middot','\\'':'apos','\\u2018':'lsquo','\\u2019':'rsquo','\\u201A':'sbquo','\\u2039':'lsaquo','\\u203A':'rsaquo','\"':'quot','\\u201C':'ldquo','\\u201D':'rdquo','\\u201E':'bdquo','\\xAB':'laquo','\\xBB':'raquo','(':'lpar',')':'rpar','[':'lsqb',']':'rsqb','{':'lcub','}':'rcub','\\u2308':'lceil','\\u2309':'rceil','\\u230A':'lfloor','\\u230B':'rfloor','\\u2985':'lopar','\\u2986':'ropar','\\u298B':'lbrke','\\u298C':'rbrke','\\u298D':'lbrkslu','\\u298E':'rbrksld','\\u298F':'lbrksld','\\u2990':'rbrkslu','\\u2991':'langd','\\u2992':'rangd','\\u2993':'lparlt','\\u2994':'rpargt','\\u2995':'gtlPar','\\u2996':'ltrPar','\\u27E6':'lobrk','\\u27E7':'robrk','\\u27E8':'lang','\\u27E9':'rang','\\u27EA':'Lang','\\u27EB':'Rang','\\u27EC':'loang','\\u27ED':'roang','\\u2772':'lbbrk','\\u2773':'rbbrk','\\u2016':'Vert','\\xA7':'sect','\\xB6':'para','@':'commat','*':'ast','/':'sol','undefined':null,'&':'amp','#':'num','%':'percnt','\\u2030':'permil','\\u2031':'pertenk','\\u2020':'dagger','\\u2021':'Dagger','\\u2022':'bull','\\u2043':'hybull','\\u2032':'prime','\\u2033':'Prime','\\u2034':'tprime','\\u2057':'qprime','\\u2035':'bprime','\\u2041':'caret','`':'grave','\\xB4':'acute','\\u02DC':'tilde','^':'Hat','\\xAF':'macr','\\u02D8':'breve','\\u02D9':'dot','\\xA8':'die','\\u02DA':'ring','\\u02DD':'dblac','\\xB8':'cedil','\\u02DB':'ogon','\\u02C6':'circ','\\u02C7':'caron','\\xB0':'deg','\\xA9':'copy','\\xAE':'reg','\\u2117':'copysr','\\u2118':'wp','\\u211E':'rx','\\u2127':'mho','\\u2129':'iiota','\\u2190':'larr','\\u219A':'nlarr','\\u2192':'rarr','\\u219B':'nrarr','\\u2191':'uarr','\\u2193':'darr','\\u2194':'harr','\\u21AE':'nharr','\\u2195':'varr','\\u2196':'nwarr','\\u2197':'nearr','\\u2198':'searr','\\u2199':'swarr','\\u219D':'rarrw','\\u219D\\u0338':'nrarrw','\\u219E':'Larr','\\u219F':'Uarr','\\u21A0':'Rarr','\\u21A1':'Darr','\\u21A2':'larrtl','\\u21A3':'rarrtl','\\u21A4':'mapstoleft','\\u21A5':'mapstoup','\\u21A6':'map','\\u21A7':'mapstodown','\\u21A9':'larrhk','\\u21AA':'rarrhk','\\u21AB':'larrlp','\\u21AC':'rarrlp','\\u21AD':'harrw','\\u21B0':'lsh','\\u21B1':'rsh','\\u21B2':'ldsh','\\u21B3':'rdsh','\\u21B5':'crarr','\\u21B6':'cularr','\\u21B7':'curarr','\\u21BA':'olarr','\\u21BB':'orarr','\\u21BC':'lharu','\\u21BD':'lhard','\\u21BE':'uharr','\\u21BF':'uharl','\\u21C0':'rharu','\\u21C1':'rhard','\\u21C2':'dharr','\\u21C3':'dharl','\\u21C4':'rlarr','\\u21C5':'udarr','\\u21C6':'lrarr','\\u21C7':'llarr','\\u21C8':'uuarr','\\u21C9':'rrarr','\\u21CA':'ddarr','\\u21CB':'lrhar','\\u21CC':'rlhar','\\u21D0':'lArr','\\u21CD':'nlArr','\\u21D1':'uArr','\\u21D2':'rArr','\\u21CF':'nrArr','\\u21D3':'dArr','\\u21D4':'iff','\\u21CE':'nhArr','\\u21D5':'vArr','\\u21D6':'nwArr','\\u21D7':'neArr','\\u21D8':'seArr','\\u21D9':'swArr','\\u21DA':'lAarr','\\u21DB':'rAarr','\\u21DD':'zigrarr','\\u21E4':'larrb','\\u21E5':'rarrb','\\u21F5':'duarr','\\u21FD':'loarr','\\u21FE':'roarr','\\u21FF':'hoarr','\\u2200':'forall','\\u2201':'comp','\\u2202':'part','\\u2202\\u0338':'npart','\\u2203':'exist','\\u2204':'nexist','\\u2205':'empty','\\u2207':'Del','\\u2208':'in','\\u2209':'notin','\\u220B':'ni','\\u220C':'notni','\\u03F6':'bepsi','\\u220F':'prod','\\u2210':'coprod','\\u2211':'sum','+':'plus','\\xB1':'pm','\\xF7':'div','\\xD7':'times','<':'lt','\\u226E':'nlt','<\\u20D2':'nvlt','=':'equals','\\u2260':'ne','=\\u20E5':'bne','\\u2A75':'Equal','>':'gt','\\u226F':'ngt','>\\u20D2':'nvgt','\\xAC':'not','|':'vert','\\xA6':'brvbar','\\u2212':'minus','\\u2213':'mp','\\u2214':'plusdo','\\u2044':'frasl','\\u2216':'setmn','\\u2217':'lowast','\\u2218':'compfn','\\u221A':'Sqrt','\\u221D':'prop','\\u221E':'infin','\\u221F':'angrt','\\u2220':'ang','\\u2220\\u20D2':'nang','\\u2221':'angmsd','\\u2222':'angsph','\\u2223':'mid','\\u2224':'nmid','\\u2225':'par','\\u2226':'npar','\\u2227':'and','\\u2228':'or','\\u2229':'cap','\\u2229\\uFE00':'caps','\\u222A':'cup','\\u222A\\uFE00':'cups','\\u222B':'int','\\u222C':'Int','\\u222D':'tint','\\u2A0C':'qint','\\u222E':'oint','\\u222F':'Conint','\\u2230':'Cconint','\\u2231':'cwint','\\u2232':'cwconint','\\u2233':'awconint','\\u2234':'there4','\\u2235':'becaus','\\u2236':'ratio','\\u2237':'Colon','\\u2238':'minusd','\\u223A':'mDDot','\\u223B':'homtht','\\u223C':'sim','\\u2241':'nsim','\\u223C\\u20D2':'nvsim','\\u223D':'bsim','\\u223D\\u0331':'race','\\u223E':'ac','\\u223E\\u0333':'acE','\\u223F':'acd','\\u2240':'wr','\\u2242':'esim','\\u2242\\u0338':'nesim','\\u2243':'sime','\\u2244':'nsime','\\u2245':'cong','\\u2247':'ncong','\\u2246':'simne','\\u2248':'ap','\\u2249':'nap','\\u224A':'ape','\\u224B':'apid','\\u224B\\u0338':'napid','\\u224C':'bcong','\\u224D':'CupCap','\\u226D':'NotCupCap','\\u224D\\u20D2':'nvap','\\u224E':'bump','\\u224E\\u0338':'nbump','\\u224F':'bumpe','\\u224F\\u0338':'nbumpe','\\u2250':'doteq','\\u2250\\u0338':'nedot','\\u2251':'eDot','\\u2252':'efDot','\\u2253':'erDot','\\u2254':'colone','\\u2255':'ecolon','\\u2256':'ecir','\\u2257':'cire','\\u2259':'wedgeq','\\u225A':'veeeq','\\u225C':'trie','\\u225F':'equest','\\u2261':'equiv','\\u2262':'nequiv','\\u2261\\u20E5':'bnequiv','\\u2264':'le','\\u2270':'nle','\\u2264\\u20D2':'nvle','\\u2265':'ge','\\u2271':'nge','\\u2265\\u20D2':'nvge','\\u2266':'lE','\\u2266\\u0338':'nlE','\\u2267':'gE','\\u2267\\u0338':'ngE','\\u2268\\uFE00':'lvnE','\\u2268':'lnE','\\u2269':'gnE','\\u2269\\uFE00':'gvnE','\\u226A':'ll','\\u226A\\u0338':'nLtv','\\u226A\\u20D2':'nLt','\\u226B':'gg','\\u226B\\u0338':'nGtv','\\u226B\\u20D2':'nGt','\\u226C':'twixt','\\u2272':'lsim','\\u2274':'nlsim','\\u2273':'gsim','\\u2275':'ngsim','\\u2276':'lg','\\u2278':'ntlg','\\u2277':'gl','\\u2279':'ntgl','\\u227A':'pr','\\u2280':'npr','\\u227B':'sc','\\u2281':'nsc','\\u227C':'prcue','\\u22E0':'nprcue','\\u227D':'sccue','\\u22E1':'nsccue','\\u227E':'prsim','\\u227F':'scsim','\\u227F\\u0338':'NotSucceedsTilde','\\u2282':'sub','\\u2284':'nsub','\\u2282\\u20D2':'vnsub','\\u2283':'sup','\\u2285':'nsup','\\u2283\\u20D2':'vnsup','\\u2286':'sube','\\u2288':'nsube','\\u2287':'supe','\\u2289':'nsupe','\\u228A\\uFE00':'vsubne','\\u228A':'subne','\\u228B\\uFE00':'vsupne','\\u228B':'supne','\\u228D':'cupdot','\\u228E':'uplus','\\u228F':'sqsub','\\u228F\\u0338':'NotSquareSubset','\\u2290':'sqsup','\\u2290\\u0338':'NotSquareSuperset','\\u2291':'sqsube','\\u22E2':'nsqsube','\\u2292':'sqsupe','\\u22E3':'nsqsupe','\\u2293':'sqcap','\\u2293\\uFE00':'sqcaps','\\u2294':'sqcup','\\u2294\\uFE00':'sqcups','\\u2295':'oplus','\\u2296':'ominus','\\u2297':'otimes','\\u2298':'osol','\\u2299':'odot','\\u229A':'ocir','\\u229B':'oast','\\u229D':'odash','\\u229E':'plusb','\\u229F':'minusb','\\u22A0':'timesb','\\u22A1':'sdotb','\\u22A2':'vdash','\\u22AC':'nvdash','\\u22A3':'dashv','\\u22A4':'top','\\u22A5':'bot','\\u22A7':'models','\\u22A8':'vDash','\\u22AD':'nvDash','\\u22A9':'Vdash','\\u22AE':'nVdash','\\u22AA':'Vvdash','\\u22AB':'VDash','\\u22AF':'nVDash','\\u22B0':'prurel','\\u22B2':'vltri','\\u22EA':'nltri','\\u22B3':'vrtri','\\u22EB':'nrtri','\\u22B4':'ltrie','\\u22EC':'nltrie','\\u22B4\\u20D2':'nvltrie','\\u22B5':'rtrie','\\u22ED':'nrtrie','\\u22B5\\u20D2':'nvrtrie','\\u22B6':'origof','\\u22B7':'imof','\\u22B8':'mumap','\\u22B9':'hercon','\\u22BA':'intcal','\\u22BB':'veebar','\\u22BD':'barvee','\\u22BE':'angrtvb','\\u22BF':'lrtri','\\u22C0':'Wedge','\\u22C1':'Vee','\\u22C2':'xcap','\\u22C3':'xcup','\\u22C4':'diam','\\u22C5':'sdot','\\u22C6':'Star','\\u22C7':'divonx','\\u22C8':'bowtie','\\u22C9':'ltimes','\\u22CA':'rtimes','\\u22CB':'lthree','\\u22CC':'rthree','\\u22CD':'bsime','\\u22CE':'cuvee','\\u22CF':'cuwed','\\u22D0':'Sub','\\u22D1':'Sup','\\u22D2':'Cap','\\u22D3':'Cup','\\u22D4':'fork','\\u22D5':'epar','\\u22D6':'ltdot','\\u22D7':'gtdot','\\u22D8':'Ll','\\u22D8\\u0338':'nLl','\\u22D9':'Gg','\\u22D9\\u0338':'nGg','\\u22DA\\uFE00':'lesg','\\u22DA':'leg','\\u22DB':'gel','\\u22DB\\uFE00':'gesl','\\u22DE':'cuepr','\\u22DF':'cuesc','\\u22E6':'lnsim','\\u22E7':'gnsim','\\u22E8':'prnsim','\\u22E9':'scnsim','\\u22EE':'vellip','\\u22EF':'ctdot','\\u22F0':'utdot','\\u22F1':'dtdot','\\u22F2':'disin','\\u22F3':'isinsv','\\u22F4':'isins','\\u22F5':'isindot','\\u22F5\\u0338':'notindot','\\u22F6':'notinvc','\\u22F7':'notinvb','\\u22F9':'isinE','\\u22F9\\u0338':'notinE','\\u22FA':'nisd','\\u22FB':'xnis','\\u22FC':'nis','\\u22FD':'notnivc','\\u22FE':'notnivb','\\u2305':'barwed','\\u2306':'Barwed','\\u230C':'drcrop','\\u230D':'dlcrop','\\u230E':'urcrop','\\u230F':'ulcrop','\\u2310':'bnot','\\u2312':'profline','\\u2313':'profsurf','\\u2315':'telrec','\\u2316':'target','\\u231C':'ulcorn','\\u231D':'urcorn','\\u231E':'dlcorn','\\u231F':'drcorn','\\u2322':'frown','\\u2323':'smile','\\u232D':'cylcty','\\u232E':'profalar','\\u2336':'topbot','\\u233D':'ovbar','\\u233F':'solbar','\\u237C':'angzarr','\\u23B0':'lmoust','\\u23B1':'rmoust','\\u23B4':'tbrk','\\u23B5':'bbrk','\\u23B6':'bbrktbrk','\\u23DC':'OverParenthesis','\\u23DD':'UnderParenthesis','\\u23DE':'OverBrace','\\u23DF':'UnderBrace','\\u23E2':'trpezium','\\u23E7':'elinters','\\u2423':'blank','\\u2500':'boxh','\\u2502':'boxv','\\u250C':'boxdr','\\u2510':'boxdl','\\u2514':'boxur','\\u2518':'boxul','\\u251C':'boxvr','\\u2524':'boxvl','\\u252C':'boxhd','\\u2534':'boxhu','\\u253C':'boxvh','\\u2550':'boxH','\\u2551':'boxV','\\u2552':'boxdR','\\u2553':'boxDr','\\u2554':'boxDR','\\u2555':'boxdL','\\u2556':'boxDl','\\u2557':'boxDL','\\u2558':'boxuR','\\u2559':'boxUr','\\u255A':'boxUR','\\u255B':'boxuL','\\u255C':'boxUl','\\u255D':'boxUL','\\u255E':'boxvR','\\u255F':'boxVr','\\u2560':'boxVR','\\u2561':'boxvL','\\u2562':'boxVl','\\u2563':'boxVL','\\u2564':'boxHd','\\u2565':'boxhD','\\u2566':'boxHD','\\u2567':'boxHu','\\u2568':'boxhU','\\u2569':'boxHU','\\u256A':'boxvH','\\u256B':'boxVh','\\u256C':'boxVH','\\u2580':'uhblk','\\u2584':'lhblk','\\u2588':'block','\\u2591':'blk14','\\u2592':'blk12','\\u2593':'blk34','\\u25A1':'squ','\\u25AA':'squf','\\u25AB':'EmptyVerySmallSquare','\\u25AD':'rect','\\u25AE':'marker','\\u25B1':'fltns','\\u25B3':'xutri','\\u25B4':'utrif','\\u25B5':'utri','\\u25B8':'rtrif','\\u25B9':'rtri','\\u25BD':'xdtri','\\u25BE':'dtrif','\\u25BF':'dtri','\\u25C2':'ltrif','\\u25C3':'ltri','\\u25CA':'loz','\\u25CB':'cir','\\u25EC':'tridot','\\u25EF':'xcirc','\\u25F8':'ultri','\\u25F9':'urtri','\\u25FA':'lltri','\\u25FB':'EmptySmallSquare','\\u25FC':'FilledSmallSquare','\\u2605':'starf','\\u2606':'star','\\u260E':'phone','\\u2640':'female','\\u2642':'male','\\u2660':'spades','\\u2663':'clubs','\\u2665':'hearts','\\u2666':'diams','\\u266A':'sung','\\u2713':'check','\\u2717':'cross','\\u2720':'malt','\\u2736':'sext','\\u2758':'VerticalSeparator','\\u27C8':'bsolhsub','\\u27C9':'suphsol','\\u27F5':'xlarr','\\u27F6':'xrarr','\\u27F7':'xharr','\\u27F8':'xlArr','\\u27F9':'xrArr','\\u27FA':'xhArr','\\u27FC':'xmap','\\u27FF':'dzigrarr','\\u2902':'nvlArr','\\u2903':'nvrArr','\\u2904':'nvHarr','\\u2905':'Map','\\u290C':'lbarr','\\u290D':'rbarr','\\u290E':'lBarr','\\u290F':'rBarr','\\u2910':'RBarr','\\u2911':'DDotrahd','\\u2912':'UpArrowBar','\\u2913':'DownArrowBar','\\u2916':'Rarrtl','\\u2919':'latail','\\u291A':'ratail','\\u291B':'lAtail','\\u291C':'rAtail','\\u291D':'larrfs','\\u291E':'rarrfs','\\u291F':'larrbfs','\\u2920':'rarrbfs','\\u2923':'nwarhk','\\u2924':'nearhk','\\u2925':'searhk','\\u2926':'swarhk','\\u2927':'nwnear','\\u2928':'toea','\\u2929':'tosa','\\u292A':'swnwar','\\u2933':'rarrc','\\u2933\\u0338':'nrarrc','\\u2935':'cudarrr','\\u2936':'ldca','\\u2937':'rdca','\\u2938':'cudarrl','\\u2939':'larrpl','\\u293C':'curarrm','\\u293D':'cularrp','\\u2945':'rarrpl','\\u2948':'harrcir','\\u2949':'Uarrocir','\\u294A':'lurdshar','\\u294B':'ldrushar','\\u294E':'LeftRightVector','\\u294F':'RightUpDownVector','\\u2950':'DownLeftRightVector','\\u2951':'LeftUpDownVector','\\u2952':'LeftVectorBar','\\u2953':'RightVectorBar','\\u2954':'RightUpVectorBar','\\u2955':'RightDownVectorBar','\\u2956':'DownLeftVectorBar','\\u2957':'DownRightVectorBar','\\u2958':'LeftUpVectorBar','\\u2959':'LeftDownVectorBar','\\u295A':'LeftTeeVector','\\u295B':'RightTeeVector','\\u295C':'RightUpTeeVector','\\u295D':'RightDownTeeVector','\\u295E':'DownLeftTeeVector','\\u295F':'DownRightTeeVector','\\u2960':'LeftUpTeeVector','\\u2961':'LeftDownTeeVector','\\u2962':'lHar','\\u2963':'uHar','\\u2964':'rHar','\\u2965':'dHar','\\u2966':'luruhar','\\u2967':'ldrdhar','\\u2968':'ruluhar','\\u2969':'rdldhar','\\u296A':'lharul','\\u296B':'llhard','\\u296C':'rharul','\\u296D':'lrhard','\\u296E':'udhar','\\u296F':'duhar','\\u2970':'RoundImplies','\\u2971':'erarr','\\u2972':'simrarr','\\u2973':'larrsim','\\u2974':'rarrsim','\\u2975':'rarrap','\\u2976':'ltlarr','\\u2978':'gtrarr','\\u2979':'subrarr','\\u297B':'suplarr','\\u297C':'lfisht','\\u297D':'rfisht','\\u297E':'ufisht','\\u297F':'dfisht','\\u299A':'vzigzag','\\u299C':'vangrt','\\u299D':'angrtvbd','\\u29A4':'ange','\\u29A5':'range','\\u29A6':'dwangle','\\u29A7':'uwangle','\\u29A8':'angmsdaa','\\u29A9':'angmsdab','\\u29AA':'angmsdac','\\u29AB':'angmsdad','\\u29AC':'angmsdae','\\u29AD':'angmsdaf','\\u29AE':'angmsdag','\\u29AF':'angmsdah','\\u29B0':'bemptyv','\\u29B1':'demptyv','\\u29B2':'cemptyv','\\u29B3':'raemptyv','\\u29B4':'laemptyv','\\u29B5':'ohbar','\\u29B6':'omid','\\u29B7':'opar','\\u29B9':'operp','\\u29BB':'olcross','\\u29BC':'odsold','\\u29BE':'olcir','\\u29BF':'ofcir','\\u29C0':'olt','\\u29C1':'ogt','\\u29C2':'cirscir','\\u29C3':'cirE','\\u29C4':'solb','\\u29C5':'bsolb','\\u29C9':'boxbox','\\u29CD':'trisb','\\u29CE':'rtriltri','\\u29CF':'LeftTriangleBar','\\u29CF\\u0338':'NotLeftTriangleBar','\\u29D0':'RightTriangleBar','\\u29D0\\u0338':'NotRightTriangleBar','\\u29DC':'iinfin','\\u29DD':'infintie','\\u29DE':'nvinfin','\\u29E3':'eparsl','\\u29E4':'smeparsl','\\u29E5':'eqvparsl','\\u29EB':'lozf','\\u29F4':'RuleDelayed','\\u29F6':'dsol','\\u2A00':'xodot','\\u2A01':'xoplus','\\u2A02':'xotime','\\u2A04':'xuplus','\\u2A06':'xsqcup','\\u2A0D':'fpartint','\\u2A10':'cirfnint','\\u2A11':'awint','\\u2A12':'rppolint','\\u2A13':'scpolint','\\u2A14':'npolint','\\u2A15':'pointint','\\u2A16':'quatint','\\u2A17':'intlarhk','\\u2A22':'pluscir','\\u2A23':'plusacir','\\u2A24':'simplus','\\u2A25':'plusdu','\\u2A26':'plussim','\\u2A27':'plustwo','\\u2A29':'mcomma','\\u2A2A':'minusdu','\\u2A2D':'loplus','\\u2A2E':'roplus','\\u2A2F':'Cross','\\u2A30':'timesd','\\u2A31':'timesbar','\\u2A33':'smashp','\\u2A34':'lotimes','\\u2A35':'rotimes','\\u2A36':'otimesas','\\u2A37':'Otimes','\\u2A38':'odiv','\\u2A39':'triplus','\\u2A3A':'triminus','\\u2A3B':'tritime','\\u2A3C':'iprod','\\u2A3F':'amalg','\\u2A40':'capdot','\\u2A42':'ncup','\\u2A43':'ncap','\\u2A44':'capand','\\u2A45':'cupor','\\u2A46':'cupcap','\\u2A47':'capcup','\\u2A48':'cupbrcap','\\u2A49':'capbrcup','\\u2A4A':'cupcup','\\u2A4B':'capcap','\\u2A4C':'ccups','\\u2A4D':'ccaps','\\u2A50':'ccupssm','\\u2A53':'And','\\u2A54':'Or','\\u2A55':'andand','\\u2A56':'oror','\\u2A57':'orslope','\\u2A58':'andslope','\\u2A5A':'andv','\\u2A5B':'orv','\\u2A5C':'andd','\\u2A5D':'ord','\\u2A5F':'wedbar','\\u2A66':'sdote','\\u2A6A':'simdot','\\u2A6D':'congdot','\\u2A6D\\u0338':'ncongdot','\\u2A6E':'easter','\\u2A6F':'apacir','\\u2A70':'apE','\\u2A70\\u0338':'napE','\\u2A71':'eplus','\\u2A72':'pluse','\\u2A73':'Esim','\\u2A77':'eDDot','\\u2A78':'equivDD','\\u2A79':'ltcir','\\u2A7A':'gtcir','\\u2A7B':'ltquest','\\u2A7C':'gtquest','\\u2A7D':'les','\\u2A7D\\u0338':'nles','\\u2A7E':'ges','\\u2A7E\\u0338':'nges','\\u2A7F':'lesdot','\\u2A80':'gesdot','\\u2A81':'lesdoto','\\u2A82':'gesdoto','\\u2A83':'lesdotor','\\u2A84':'gesdotol','\\u2A85':'lap','\\u2A86':'gap','\\u2A87':'lne','\\u2A88':'gne','\\u2A89':'lnap','\\u2A8A':'gnap','\\u2A8B':'lEg','\\u2A8C':'gEl','\\u2A8D':'lsime','\\u2A8E':'gsime','\\u2A8F':'lsimg','\\u2A90':'gsiml','\\u2A91':'lgE','\\u2A92':'glE','\\u2A93':'lesges','\\u2A94':'gesles','\\u2A95':'els','\\u2A96':'egs','\\u2A97':'elsdot','\\u2A98':'egsdot','\\u2A99':'el','\\u2A9A':'eg','\\u2A9D':'siml','\\u2A9E':'simg','\\u2A9F':'simlE','\\u2AA0':'simgE','\\u2AA1':'LessLess','\\u2AA1\\u0338':'NotNestedLessLess','\\u2AA2':'GreaterGreater','\\u2AA2\\u0338':'NotNestedGreaterGreater','\\u2AA4':'glj','\\u2AA5':'gla','\\u2AA6':'ltcc','\\u2AA7':'gtcc','\\u2AA8':'lescc','\\u2AA9':'gescc','\\u2AAA':'smt','\\u2AAB':'lat','\\u2AAC':'smte','\\u2AAC\\uFE00':'smtes','\\u2AAD':'late','\\u2AAD\\uFE00':'lates','\\u2AAE':'bumpE','\\u2AAF':'pre','\\u2AAF\\u0338':'npre','\\u2AB0':'sce','\\u2AB0\\u0338':'nsce','\\u2AB3':'prE','\\u2AB4':'scE','\\u2AB5':'prnE','\\u2AB6':'scnE','\\u2AB7':'prap','\\u2AB8':'scap','\\u2AB9':'prnap','\\u2ABA':'scnap','\\u2ABB':'Pr','\\u2ABC':'Sc','\\u2ABD':'subdot','\\u2ABE':'supdot','\\u2ABF':'subplus','\\u2AC0':'supplus','\\u2AC1':'submult','\\u2AC2':'supmult','\\u2AC3':'subedot','\\u2AC4':'supedot','\\u2AC5':'subE','\\u2AC5\\u0338':'nsubE','\\u2AC6':'supE','\\u2AC6\\u0338':'nsupE','\\u2AC7':'subsim','\\u2AC8':'supsim','\\u2ACB\\uFE00':'vsubnE','\\u2ACB':'subnE','\\u2ACC\\uFE00':'vsupnE','\\u2ACC':'supnE','\\u2ACF':'csub','\\u2AD0':'csup','\\u2AD1':'csube','\\u2AD2':'csupe','\\u2AD3':'subsup','\\u2AD4':'supsub','\\u2AD5':'subsub','\\u2AD6':'supsup','\\u2AD7':'suphsub','\\u2AD8':'supdsub','\\u2AD9':'forkv','\\u2ADA':'topfork','\\u2ADB':'mlcp','\\u2AE4':'Dashv','\\u2AE6':'Vdashl','\\u2AE7':'Barv','\\u2AE8':'vBar','\\u2AE9':'vBarv','\\u2AEB':'Vbar','\\u2AEC':'Not','\\u2AED':'bNot','\\u2AEE':'rnmid','\\u2AEF':'cirmid','\\u2AF0':'midcir','\\u2AF1':'topcir','\\u2AF2':'nhpar','\\u2AF3':'parsim','\\u2AFD':'parsl','\\u2AFD\\u20E5':'nparsl','\\u266D':'flat','\\u266E':'natur','\\u266F':'sharp','\\xA4':'curren','\\xA2':'cent','$':'dollar','\\xA3':'pound','\\xA5':'yen','\\u20AC':'euro','\\xB9':'sup1','\\xBD':'half','\\u2153':'frac13','\\xBC':'frac14','\\u2155':'frac15','\\u2159':'frac16','\\u215B':'frac18','\\xB2':'sup2','\\u2154':'frac23','\\u2156':'frac25','\\xB3':'sup3','\\xBE':'frac34','\\u2157':'frac35','\\u215C':'frac38','\\u2158':'frac45','\\u215A':'frac56','\\u215D':'frac58','\\u215E':'frac78','\\uD835\\uDCB6':'ascr','\\uD835\\uDD52':'aopf','\\uD835\\uDD1E':'afr','\\uD835\\uDD38':'Aopf','\\uD835\\uDD04':'Afr','\\uD835\\uDC9C':'Ascr','\\xAA':'ordf','\\xE1':'aacute','\\xC1':'Aacute','\\xE0':'agrave','\\xC0':'Agrave','\\u0103':'abreve','\\u0102':'Abreve','\\xE2':'acirc','\\xC2':'Acirc','\\xE5':'aring','\\xC5':'angst','\\xE4':'auml','\\xC4':'Auml','\\xE3':'atilde','\\xC3':'Atilde','\\u0105':'aogon','\\u0104':'Aogon','\\u0101':'amacr','\\u0100':'Amacr','\\xE6':'aelig','\\xC6':'AElig','\\uD835\\uDCB7':'bscr','\\uD835\\uDD53':'bopf','\\uD835\\uDD1F':'bfr','\\uD835\\uDD39':'Bopf','\\u212C':'Bscr','\\uD835\\uDD05':'Bfr','\\uD835\\uDD20':'cfr','\\uD835\\uDCB8':'cscr','\\uD835\\uDD54':'copf','\\u212D':'Cfr','\\uD835\\uDC9E':'Cscr','\\u2102':'Copf','\\u0107':'cacute','\\u0106':'Cacute','\\u0109':'ccirc','\\u0108':'Ccirc','\\u010D':'ccaron','\\u010C':'Ccaron','\\u010B':'cdot','\\u010A':'Cdot','\\xE7':'ccedil','\\xC7':'Ccedil','\\u2105':'incare','\\uD835\\uDD21':'dfr','\\u2146':'dd','\\uD835\\uDD55':'dopf','\\uD835\\uDCB9':'dscr','\\uD835\\uDC9F':'Dscr','\\uD835\\uDD07':'Dfr','\\u2145':'DD','\\uD835\\uDD3B':'Dopf','\\u010F':'dcaron','\\u010E':'Dcaron','\\u0111':'dstrok','\\u0110':'Dstrok','\\xF0':'eth','\\xD0':'ETH','\\u2147':'ee','\\u212F':'escr','\\uD835\\uDD22':'efr','\\uD835\\uDD56':'eopf','\\u2130':'Escr','\\uD835\\uDD08':'Efr','\\uD835\\uDD3C':'Eopf','\\xE9':'eacute','\\xC9':'Eacute','\\xE8':'egrave','\\xC8':'Egrave','\\xEA':'ecirc','\\xCA':'Ecirc','\\u011B':'ecaron','\\u011A':'Ecaron','\\xEB':'euml','\\xCB':'Euml','\\u0117':'edot','\\u0116':'Edot','\\u0119':'eogon','\\u0118':'Eogon','\\u0113':'emacr','\\u0112':'Emacr','\\uD835\\uDD23':'ffr','\\uD835\\uDD57':'fopf','\\uD835\\uDCBB':'fscr','\\uD835\\uDD09':'Ffr','\\uD835\\uDD3D':'Fopf','\\u2131':'Fscr','\\uFB00':'fflig','\\uFB03':'ffilig','\\uFB04':'ffllig','\\uFB01':'filig','fj':'fjlig','\\uFB02':'fllig','\\u0192':'fnof','\\u210A':'gscr','\\uD835\\uDD58':'gopf','\\uD835\\uDD24':'gfr','\\uD835\\uDCA2':'Gscr','\\uD835\\uDD3E':'Gopf','\\uD835\\uDD0A':'Gfr','\\u01F5':'gacute','\\u011F':'gbreve','\\u011E':'Gbreve','\\u011D':'gcirc','\\u011C':'Gcirc','\\u0121':'gdot','\\u0120':'Gdot','\\u0122':'Gcedil','\\uD835\\uDD25':'hfr','\\u210E':'planckh','\\uD835\\uDCBD':'hscr','\\uD835\\uDD59':'hopf','\\u210B':'Hscr','\\u210C':'Hfr','\\u210D':'Hopf','\\u0125':'hcirc','\\u0124':'Hcirc','\\u210F':'hbar','\\u0127':'hstrok','\\u0126':'Hstrok','\\uD835\\uDD5A':'iopf','\\uD835\\uDD26':'ifr','\\uD835\\uDCBE':'iscr','\\u2148':'ii','\\uD835\\uDD40':'Iopf','\\u2110':'Iscr','\\u2111':'Im','\\xED':'iacute','\\xCD':'Iacute','\\xEC':'igrave','\\xCC':'Igrave','\\xEE':'icirc','\\xCE':'Icirc','\\xEF':'iuml','\\xCF':'Iuml','\\u0129':'itilde','\\u0128':'Itilde','\\u0130':'Idot','\\u012F':'iogon','\\u012E':'Iogon','\\u012B':'imacr','\\u012A':'Imacr','\\u0133':'ijlig','\\u0132':'IJlig','\\u0131':'imath','\\uD835\\uDCBF':'jscr','\\uD835\\uDD5B':'jopf','\\uD835\\uDD27':'jfr','\\uD835\\uDCA5':'Jscr','\\uD835\\uDD0D':'Jfr','\\uD835\\uDD41':'Jopf','\\u0135':'jcirc','\\u0134':'Jcirc','\\u0237':'jmath','\\uD835\\uDD5C':'kopf','\\uD835\\uDCC0':'kscr','\\uD835\\uDD28':'kfr','\\uD835\\uDCA6':'Kscr','\\uD835\\uDD42':'Kopf','\\uD835\\uDD0E':'Kfr','\\u0137':'kcedil','\\u0136':'Kcedil','\\uD835\\uDD29':'lfr','\\uD835\\uDCC1':'lscr','\\u2113':'ell','\\uD835\\uDD5D':'lopf','\\u2112':'Lscr','\\uD835\\uDD0F':'Lfr','\\uD835\\uDD43':'Lopf','\\u013A':'lacute','\\u0139':'Lacute','\\u013E':'lcaron','\\u013D':'Lcaron','\\u013C':'lcedil','\\u013B':'Lcedil','\\u0142':'lstrok','\\u0141':'Lstrok','\\u0140':'lmidot','\\u013F':'Lmidot','\\uD835\\uDD2A':'mfr','\\uD835\\uDD5E':'mopf','\\uD835\\uDCC2':'mscr','\\uD835\\uDD10':'Mfr','\\uD835\\uDD44':'Mopf','\\u2133':'Mscr','\\uD835\\uDD2B':'nfr','\\uD835\\uDD5F':'nopf','\\uD835\\uDCC3':'nscr','\\u2115':'Nopf','\\uD835\\uDCA9':'Nscr','\\uD835\\uDD11':'Nfr','\\u0144':'nacute','\\u0143':'Nacute','\\u0148':'ncaron','\\u0147':'Ncaron','\\xF1':'ntilde','\\xD1':'Ntilde','\\u0146':'ncedil','\\u0145':'Ncedil','\\u2116':'numero','\\u014B':'eng','\\u014A':'ENG','\\uD835\\uDD60':'oopf','\\uD835\\uDD2C':'ofr','\\u2134':'oscr','\\uD835\\uDCAA':'Oscr','\\uD835\\uDD12':'Ofr','\\uD835\\uDD46':'Oopf','\\xBA':'ordm','\\xF3':'oacute','\\xD3':'Oacute','\\xF2':'ograve','\\xD2':'Ograve','\\xF4':'ocirc','\\xD4':'Ocirc','\\xF6':'ouml','\\xD6':'Ouml','\\u0151':'odblac','\\u0150':'Odblac','\\xF5':'otilde','\\xD5':'Otilde','\\xF8':'oslash','\\xD8':'Oslash','\\u014D':'omacr','\\u014C':'Omacr','\\u0153':'oelig','\\u0152':'OElig','\\uD835\\uDD2D':'pfr','\\uD835\\uDCC5':'pscr','\\uD835\\uDD61':'popf','\\u2119':'Popf','\\uD835\\uDD13':'Pfr','\\uD835\\uDCAB':'Pscr','\\uD835\\uDD62':'qopf','\\uD835\\uDD2E':'qfr','\\uD835\\uDCC6':'qscr','\\uD835\\uDCAC':'Qscr','\\uD835\\uDD14':'Qfr','\\u211A':'Qopf','\\u0138':'kgreen','\\uD835\\uDD2F':'rfr','\\uD835\\uDD63':'ropf','\\uD835\\uDCC7':'rscr','\\u211B':'Rscr','\\u211C':'Re','\\u211D':'Ropf','\\u0155':'racute','\\u0154':'Racute','\\u0159':'rcaron','\\u0158':'Rcaron','\\u0157':'rcedil','\\u0156':'Rcedil','\\uD835\\uDD64':'sopf','\\uD835\\uDCC8':'sscr','\\uD835\\uDD30':'sfr','\\uD835\\uDD4A':'Sopf','\\uD835\\uDD16':'Sfr','\\uD835\\uDCAE':'Sscr','\\u24C8':'oS','\\u015B':'sacute','\\u015A':'Sacute','\\u015D':'scirc','\\u015C':'Scirc','\\u0161':'scaron','\\u0160':'Scaron','\\u015F':'scedil','\\u015E':'Scedil','\\xDF':'szlig','\\uD835\\uDD31':'tfr','\\uD835\\uDCC9':'tscr','\\uD835\\uDD65':'topf','\\uD835\\uDCAF':'Tscr','\\uD835\\uDD17':'Tfr','\\uD835\\uDD4B':'Topf','\\u0165':'tcaron','\\u0164':'Tcaron','\\u0163':'tcedil','\\u0162':'Tcedil','\\u2122':'trade','\\u0167':'tstrok','\\u0166':'Tstrok','\\uD835\\uDCCA':'uscr','\\uD835\\uDD66':'uopf','\\uD835\\uDD32':'ufr','\\uD835\\uDD4C':'Uopf','\\uD835\\uDD18':'Ufr','\\uD835\\uDCB0':'Uscr','\\xFA':'uacute','\\xDA':'Uacute','\\xF9':'ugrave','\\xD9':'Ugrave','\\u016D':'ubreve','\\u016C':'Ubreve','\\xFB':'ucirc','\\xDB':'Ucirc','\\u016F':'uring','\\u016E':'Uring','\\xFC':'uuml','\\xDC':'Uuml','\\u0171':'udblac','\\u0170':'Udblac','\\u0169':'utilde','\\u0168':'Utilde','\\u0173':'uogon','\\u0172':'Uogon','\\u016B':'umacr','\\u016A':'Umacr','\\uD835\\uDD33':'vfr','\\uD835\\uDD67':'vopf','\\uD835\\uDCCB':'vscr','\\uD835\\uDD19':'Vfr','\\uD835\\uDD4D':'Vopf','\\uD835\\uDCB1':'Vscr','\\uD835\\uDD68':'wopf','\\uD835\\uDCCC':'wscr','\\uD835\\uDD34':'wfr','\\uD835\\uDCB2':'Wscr','\\uD835\\uDD4E':'Wopf','\\uD835\\uDD1A':'Wfr','\\u0175':'wcirc','\\u0174':'Wcirc','\\uD835\\uDD35':'xfr','\\uD835\\uDCCD':'xscr','\\uD835\\uDD69':'xopf','\\uD835\\uDD4F':'Xopf','\\uD835\\uDD1B':'Xfr','\\uD835\\uDCB3':'Xscr','\\uD835\\uDD36':'yfr','\\uD835\\uDCCE':'yscr','\\uD835\\uDD6A':'yopf','\\uD835\\uDCB4':'Yscr','\\uD835\\uDD1C':'Yfr','\\uD835\\uDD50':'Yopf','\\xFD':'yacute','\\xDD':'Yacute','\\u0177':'ycirc','\\u0176':'Ycirc','\\xFF':'yuml','\\u0178':'Yuml','\\uD835\\uDCCF':'zscr','\\uD835\\uDD37':'zfr','\\uD835\\uDD6B':'zopf','\\u2128':'Zfr','\\u2124':'Zopf','\\uD835\\uDCB5':'Zscr','\\u017A':'zacute','\\u0179':'Zacute','\\u017E':'zcaron','\\u017D':'Zcaron','\\u017C':'zdot','\\u017B':'Zdot','\\u01B5':'imped','\\xFE':'thorn','\\xDE':'THORN','\\u0149':'napos','\\u03B1':'alpha','\\u0391':'Alpha','\\u03B2':'beta','\\u0392':'Beta','\\u03B3':'gamma','\\u0393':'Gamma','\\u03B4':'delta','\\u0394':'Delta','\\u03B5':'epsi','\\u03F5':'epsiv','\\u0395':'Epsilon','\\u03DD':'gammad','\\u03DC':'Gammad','\\u03B6':'zeta','\\u0396':'Zeta','\\u03B7':'eta','\\u0397':'Eta','\\u03B8':'theta','\\u03D1':'thetav','\\u0398':'Theta','\\u03B9':'iota','\\u0399':'Iota','\\u03BA':'kappa','\\u03F0':'kappav','\\u039A':'Kappa','\\u03BB':'lambda','\\u039B':'Lambda','\\u03BC':'mu','\\xB5':'micro','\\u039C':'Mu','\\u03BD':'nu','\\u039D':'Nu','\\u03BE':'xi','\\u039E':'Xi','\\u03BF':'omicron','\\u039F':'Omicron','\\u03C0':'pi','\\u03D6':'piv','\\u03A0':'Pi','\\u03C1':'rho','\\u03F1':'rhov','\\u03A1':'Rho','\\u03C3':'sigma','\\u03A3':'Sigma','\\u03C2':'sigmaf','\\u03C4':'tau','\\u03A4':'Tau','\\u03C5':'upsi','\\u03A5':'Upsilon','\\u03D2':'Upsi','\\u03C6':'phi','\\u03D5':'phiv','\\u03A6':'Phi','\\u03C7':'chi','\\u03A7':'Chi','\\u03C8':'psi','\\u03A8':'Psi','\\u03C9':'omega','\\u03A9':'ohm','\\u0430':'acy','\\u0410':'Acy','\\u0431':'bcy','\\u0411':'Bcy','\\u0432':'vcy','\\u0412':'Vcy','\\u0433':'gcy','\\u0413':'Gcy','\\u0453':'gjcy','\\u0403':'GJcy','\\u0434':'dcy','\\u0414':'Dcy','\\u0452':'djcy','\\u0402':'DJcy','\\u0435':'iecy','\\u0415':'IEcy','\\u0451':'iocy','\\u0401':'IOcy','\\u0454':'jukcy','\\u0404':'Jukcy','\\u0436':'zhcy','\\u0416':'ZHcy','\\u0437':'zcy','\\u0417':'Zcy','\\u0455':'dscy','\\u0405':'DScy','\\u0438':'icy','\\u0418':'Icy','\\u0456':'iukcy','\\u0406':'Iukcy','\\u0457':'yicy','\\u0407':'YIcy','\\u0439':'jcy','\\u0419':'Jcy','\\u0458':'jsercy','\\u0408':'Jsercy','\\u043A':'kcy','\\u041A':'Kcy','\\u045C':'kjcy','\\u040C':'KJcy','\\u043B':'lcy','\\u041B':'Lcy','\\u0459':'ljcy','\\u0409':'LJcy','\\u043C':'mcy','\\u041C':'Mcy','\\u043D':'ncy','\\u041D':'Ncy','\\u045A':'njcy','\\u040A':'NJcy','\\u043E':'ocy','\\u041E':'Ocy','\\u043F':'pcy','\\u041F':'Pcy','\\u0440':'rcy','\\u0420':'Rcy','\\u0441':'scy','\\u0421':'Scy','\\u0442':'tcy','\\u0422':'Tcy','\\u045B':'tshcy','\\u040B':'TSHcy','\\u0443':'ucy','\\u0423':'Ucy','\\u045E':'ubrcy','\\u040E':'Ubrcy','\\u0444':'fcy','\\u0424':'Fcy','\\u0445':'khcy','\\u0425':'KHcy','\\u0446':'tscy','\\u0426':'TScy','\\u0447':'chcy','\\u0427':'CHcy','\\u045F':'dzcy','\\u040F':'DZcy','\\u0448':'shcy','\\u0428':'SHcy','\\u0449':'shchcy','\\u0429':'SHCHcy','\\u044A':'hardcy','\\u042A':'HARDcy','\\u044B':'ycy','\\u042B':'Ycy','\\u044C':'softcy','\\u042C':'SOFTcy','\\u044D':'ecy','\\u042D':'Ecy','\\u044E':'yucy','\\u042E':'YUcy','\\u044F':'yacy','\\u042F':'YAcy','\\u2135':'aleph','\\u2136':'beth','\\u2137':'gimel','\\u2138':'daleth'};\n\n\tvar regexEscape = /[\"&'<>`]/g;\n\tvar escapeMap = {\n\t\t'\"': '&quot;',\n\t\t'&': '&amp;',\n\t\t'\\'': '&#x27;',\n\t\t'<': '&lt;',\n\t\t// See https://mathiasbynens.be/notes/ambiguous-ampersands: in HTML, the\n\t\t// following is not strictly necessary unless it’s part of a tag or an\n\t\t// unquoted attribute value. We’re only escaping it to support those\n\t\t// situations, and for XML support.\n\t\t'>': '&gt;',\n\t\t// In Internet Explorer ≤ 8, the backtick character can be used\n\t\t// to break out of (un)quoted attribute values or HTML comments.\n\t\t// See http://html5sec.org/#102, http://html5sec.org/#108, and\n\t\t// http://html5sec.org/#133.\n\t\t'`': '&#x60;'\n\t};\n\n\tvar regexInvalidEntity = /&#(?:[xX][^a-fA-F0-9]|[^0-9xX])/;\n\tvar regexInvalidRawCodePoint = /[\\0-\\x08\\x0B\\x0E-\\x1F\\x7F-\\x9F\\uFDD0-\\uFDEF\\uFFFE\\uFFFF]|[\\uD83F\\uD87F\\uD8BF\\uD8FF\\uD93F\\uD97F\\uD9BF\\uD9FF\\uDA3F\\uDA7F\\uDABF\\uDAFF\\uDB3F\\uDB7F\\uDBBF\\uDBFF][\\uDFFE\\uDFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF]/;\n\tvar regexDecode = /&(CounterClockwiseContourIntegral|DoubleLongLeftRightArrow|ClockwiseContourIntegral|NotNestedGreaterGreater|NotSquareSupersetEqual|DiacriticalDoubleAcute|NotRightTriangleEqual|NotSucceedsSlantEqual|NotPrecedesSlantEqual|CloseCurlyDoubleQuote|NegativeVeryThinSpace|DoubleContourIntegral|FilledVerySmallSquare|CapitalDifferentialD|OpenCurlyDoubleQuote|EmptyVerySmallSquare|NestedGreaterGreater|DoubleLongRightArrow|NotLeftTriangleEqual|NotGreaterSlantEqual|ReverseUpEquilibrium|DoubleLeftRightArrow|NotSquareSubsetEqual|NotDoubleVerticalBar|RightArrowLeftArrow|NotGreaterFullEqual|NotRightTriangleBar|SquareSupersetEqual|DownLeftRightVector|DoubleLongLeftArrow|leftrightsquigarrow|LeftArrowRightArrow|NegativeMediumSpace|blacktriangleright|RightDownVectorBar|PrecedesSlantEqual|RightDoubleBracket|SucceedsSlantEqual|NotLeftTriangleBar|RightTriangleEqual|SquareIntersection|RightDownTeeVector|ReverseEquilibrium|NegativeThickSpace|longleftrightarrow|Longleftrightarrow|LongLeftRightArrow|DownRightTeeVector|DownRightVectorBar|GreaterSlantEqual|SquareSubsetEqual|LeftDownVectorBar|LeftDoubleBracket|VerticalSeparator|rightleftharpoons|NotGreaterGreater|NotSquareSuperset|blacktriangleleft|blacktriangledown|NegativeThinSpace|LeftDownTeeVector|NotLessSlantEqual|leftrightharpoons|DoubleUpDownArrow|DoubleVerticalBar|LeftTriangleEqual|FilledSmallSquare|twoheadrightarrow|NotNestedLessLess|DownLeftTeeVector|DownLeftVectorBar|RightAngleBracket|NotTildeFullEqual|NotReverseElement|RightUpDownVector|DiacriticalTilde|NotSucceedsTilde|circlearrowright|NotPrecedesEqual|rightharpoondown|DoubleRightArrow|NotSucceedsEqual|NonBreakingSpace|NotRightTriangle|LessEqualGreater|RightUpTeeVector|LeftAngleBracket|GreaterFullEqual|DownArrowUpArrow|RightUpVectorBar|twoheadleftarrow|GreaterEqualLess|downharpoonright|RightTriangleBar|ntrianglerighteq|NotSupersetEqual|LeftUpDownVector|DiacriticalAcute|rightrightarrows|vartriangleright|UpArrowDownArrow|DiacriticalGrave|UnderParenthesis|EmptySmallSquare|LeftUpVectorBar|leftrightarrows|DownRightVector|downharpoonleft|trianglerighteq|ShortRightArrow|OverParenthesis|DoubleLeftArrow|DoubleDownArrow|NotSquareSubset|bigtriangledown|ntrianglelefteq|UpperRightArrow|curvearrowright|vartriangleleft|NotLeftTriangle|nleftrightarrow|LowerRightArrow|NotHumpDownHump|NotGreaterTilde|rightthreetimes|LeftUpTeeVector|NotGreaterEqual|straightepsilon|LeftTriangleBar|rightsquigarrow|ContourIntegral|rightleftarrows|CloseCurlyQuote|RightDownVector|LeftRightVector|nLeftrightarrow|leftharpoondown|circlearrowleft|SquareSuperset|OpenCurlyQuote|hookrightarrow|HorizontalLine|DiacriticalDot|NotLessGreater|ntriangleright|DoubleRightTee|InvisibleComma|InvisibleTimes|LowerLeftArrow|DownLeftVector|NotSubsetEqual|curvearrowleft|trianglelefteq|NotVerticalBar|TildeFullEqual|downdownarrows|NotGreaterLess|RightTeeVector|ZeroWidthSpace|looparrowright|LongRightArrow|doublebarwedge|ShortLeftArrow|ShortDownArrow|RightVectorBar|GreaterGreater|ReverseElement|rightharpoonup|LessSlantEqual|leftthreetimes|upharpoonright|rightarrowtail|LeftDownVector|Longrightarrow|NestedLessLess|UpperLeftArrow|nshortparallel|leftleftarrows|leftrightarrow|Leftrightarrow|LeftRightArrow|longrightarrow|upharpoonleft|RightArrowBar|ApplyFunction|LeftTeeVector|leftarrowtail|NotEqualTilde|varsubsetneqq|varsupsetneqq|RightTeeArrow|SucceedsEqual|SucceedsTilde|LeftVectorBar|SupersetEqual|hookleftarrow|DifferentialD|VerticalTilde|VeryThinSpace|blacktriangle|bigtriangleup|LessFullEqual|divideontimes|leftharpoonup|UpEquilibrium|ntriangleleft|RightTriangle|measuredangle|shortparallel|longleftarrow|Longleftarrow|LongLeftArrow|DoubleLeftTee|Poincareplane|PrecedesEqual|triangleright|DoubleUpArrow|RightUpVector|fallingdotseq|looparrowleft|PrecedesTilde|NotTildeEqual|NotTildeTilde|smallsetminus|Proportional|triangleleft|triangledown|UnderBracket|NotHumpEqual|exponentiale|ExponentialE|NotLessTilde|HilbertSpace|RightCeiling|blacklozenge|varsupsetneq|HumpDownHump|GreaterEqual|VerticalLine|LeftTeeArrow|NotLessEqual|DownTeeArrow|LeftTriangle|varsubsetneq|Intersection|NotCongruent|DownArrowBar|LeftUpVector|LeftArrowBar|risingdotseq|GreaterTilde|RoundImplies|SquareSubset|ShortUpArrow|NotSuperset|quaternions|precnapprox|backepsilon|preccurlyeq|OverBracket|blacksquare|MediumSpace|VerticalBar|circledcirc|circleddash|CircleMinus|CircleTimes|LessGreater|curlyeqprec|curlyeqsucc|diamondsuit|UpDownArrow|Updownarrow|RuleDelayed|Rrightarrow|updownarrow|RightVector|nRightarrow|nrightarrow|eqslantless|LeftCeiling|Equilibrium|SmallCircle|expectation|NotSucceeds|thickapprox|GreaterLess|SquareUnion|NotPrecedes|NotLessLess|straightphi|succnapprox|succcurlyeq|SubsetEqual|sqsupseteq|Proportion|Laplacetrf|ImaginaryI|supsetneqq|NotGreater|gtreqqless|NotElement|ThickSpace|TildeEqual|TildeTilde|Fouriertrf|rmoustache|EqualTilde|eqslantgtr|UnderBrace|LeftVector|UpArrowBar|nLeftarrow|nsubseteqq|subsetneqq|nsupseteqq|nleftarrow|succapprox|lessapprox|UpTeeArrow|upuparrows|curlywedge|lesseqqgtr|varepsilon|varnothing|RightFloor|complement|CirclePlus|sqsubseteq|Lleftarrow|circledast|RightArrow|Rightarrow|rightarrow|lmoustache|Bernoullis|precapprox|mapstoleft|mapstodown|longmapsto|dotsquare|downarrow|DoubleDot|nsubseteq|supsetneq|leftarrow|nsupseteq|subsetneq|ThinSpace|ngeqslant|subseteqq|HumpEqual|NotSubset|triangleq|NotCupCap|lesseqgtr|heartsuit|TripleDot|Leftarrow|Coproduct|Congruent|varpropto|complexes|gvertneqq|LeftArrow|LessTilde|supseteqq|MinusPlus|CircleDot|nleqslant|NotExists|gtreqless|nparallel|UnionPlus|LeftFloor|checkmark|CenterDot|centerdot|Mellintrf|gtrapprox|bigotimes|OverBrace|spadesuit|therefore|pitchfork|rationals|PlusMinus|Backslash|Therefore|DownBreve|backsimeq|backprime|DownArrow|nshortmid|Downarrow|lvertneqq|eqvparsl|imagline|imagpart|infintie|integers|Integral|intercal|LessLess|Uarrocir|intlarhk|sqsupset|angmsdaf|sqsubset|llcorner|vartheta|cupbrcap|lnapprox|Superset|SuchThat|succnsim|succneqq|angmsdag|biguplus|curlyvee|trpezium|Succeeds|NotTilde|bigwedge|angmsdah|angrtvbd|triminus|cwconint|fpartint|lrcorner|smeparsl|subseteq|urcorner|lurdshar|laemptyv|DDotrahd|approxeq|ldrushar|awconint|mapstoup|backcong|shortmid|triangle|geqslant|gesdotol|timesbar|circledR|circledS|setminus|multimap|naturals|scpolint|ncongdot|RightTee|boxminus|gnapprox|boxtimes|andslope|thicksim|angmsdaa|varsigma|cirfnint|rtriltri|angmsdab|rppolint|angmsdac|barwedge|drbkarow|clubsuit|thetasym|bsolhsub|capbrcup|dzigrarr|doteqdot|DotEqual|dotminus|UnderBar|NotEqual|realpart|otimesas|ulcorner|hksearow|hkswarow|parallel|PartialD|elinters|emptyset|plusacir|bbrktbrk|angmsdad|pointint|bigoplus|angmsdae|Precedes|bigsqcup|varkappa|notindot|supseteq|precneqq|precnsim|profalar|profline|profsurf|leqslant|lesdotor|raemptyv|subplus|notnivb|notnivc|subrarr|zigrarr|vzigzag|submult|subedot|Element|between|cirscir|larrbfs|larrsim|lotimes|lbrksld|lbrkslu|lozenge|ldrdhar|dbkarow|bigcirc|epsilon|simrarr|simplus|ltquest|Epsilon|luruhar|gtquest|maltese|npolint|eqcolon|npreceq|bigodot|ddagger|gtrless|bnequiv|harrcir|ddotseq|equivDD|backsim|demptyv|nsqsube|nsqsupe|Upsilon|nsubset|upsilon|minusdu|nsucceq|swarrow|nsupset|coloneq|searrow|boxplus|napprox|natural|asympeq|alefsym|congdot|nearrow|bigstar|diamond|supplus|tritime|LeftTee|nvinfin|triplus|NewLine|nvltrie|nvrtrie|nwarrow|nexists|Diamond|ruluhar|Implies|supmult|angzarr|suplarr|suphsub|questeq|because|digamma|Because|olcross|bemptyv|omicron|Omicron|rotimes|NoBreak|intprod|angrtvb|orderof|uwangle|suphsol|lesdoto|orslope|DownTee|realine|cudarrl|rdldhar|OverBar|supedot|lessdot|supdsub|topfork|succsim|rbrkslu|rbrksld|pertenk|cudarrr|isindot|planckh|lessgtr|pluscir|gesdoto|plussim|plustwo|lesssim|cularrp|rarrsim|Cayleys|notinva|notinvb|notinvc|UpArrow|Uparrow|uparrow|NotLess|dwangle|precsim|Product|curarrm|Cconint|dotplus|rarrbfs|ccupssm|Cedilla|cemptyv|notniva|quatint|frac35|frac38|frac45|frac56|frac58|frac78|tridot|xoplus|gacute|gammad|Gammad|lfisht|lfloor|bigcup|sqsupe|gbreve|Gbreve|lharul|sqsube|sqcups|Gcedil|apacir|llhard|lmidot|Lmidot|lmoust|andand|sqcaps|approx|Abreve|spades|circeq|tprime|divide|topcir|Assign|topbot|gesdot|divonx|xuplus|timesd|gesles|atilde|solbar|SOFTcy|loplus|timesb|lowast|lowbar|dlcorn|dlcrop|softcy|dollar|lparlt|thksim|lrhard|Atilde|lsaquo|smashp|bigvee|thinsp|wreath|bkarow|lsquor|lstrok|Lstrok|lthree|ltimes|ltlarr|DotDot|simdot|ltrPar|weierp|xsqcup|angmsd|sigmav|sigmaf|zeetrf|Zcaron|zcaron|mapsto|vsupne|thetav|cirmid|marker|mcomma|Zacute|vsubnE|there4|gtlPar|vsubne|bottom|gtrarr|SHCHcy|shchcy|midast|midcir|middot|minusb|minusd|gtrdot|bowtie|sfrown|mnplus|models|colone|seswar|Colone|mstpos|searhk|gtrsim|nacute|Nacute|boxbox|telrec|hairsp|Tcedil|nbumpe|scnsim|ncaron|Ncaron|ncedil|Ncedil|hamilt|Scedil|nearhk|hardcy|HARDcy|tcedil|Tcaron|commat|nequiv|nesear|tcaron|target|hearts|nexist|varrho|scedil|Scaron|scaron|hellip|Sacute|sacute|hercon|swnwar|compfn|rtimes|rthree|rsquor|rsaquo|zacute|wedgeq|homtht|barvee|barwed|Barwed|rpargt|horbar|conint|swarhk|roplus|nltrie|hslash|hstrok|Hstrok|rmoust|Conint|bprime|hybull|hyphen|iacute|Iacute|supsup|supsub|supsim|varphi|coprod|brvbar|agrave|Supset|supset|igrave|Igrave|notinE|Agrave|iiiint|iinfin|copysr|wedbar|Verbar|vangrt|becaus|incare|verbar|inodot|bullet|drcorn|intcal|drcrop|cularr|vellip|Utilde|bumpeq|cupcap|dstrok|Dstrok|CupCap|cupcup|cupdot|eacute|Eacute|supdot|iquest|easter|ecaron|Ecaron|ecolon|isinsv|utilde|itilde|Itilde|curarr|succeq|Bumpeq|cacute|ulcrop|nparsl|Cacute|nprcue|egrave|Egrave|nrarrc|nrarrw|subsup|subsub|nrtrie|jsercy|nsccue|Jsercy|kappav|kcedil|Kcedil|subsim|ulcorn|nsimeq|egsdot|veebar|kgreen|capand|elsdot|Subset|subset|curren|aacute|lacute|Lacute|emptyv|ntilde|Ntilde|lagran|lambda|Lambda|capcap|Ugrave|langle|subdot|emsp13|numero|emsp14|nvdash|nvDash|nVdash|nVDash|ugrave|ufisht|nvHarr|larrfs|nvlArr|larrhk|larrlp|larrpl|nvrArr|Udblac|nwarhk|larrtl|nwnear|oacute|Oacute|latail|lAtail|sstarf|lbrace|odblac|Odblac|lbrack|udblac|odsold|eparsl|lcaron|Lcaron|ograve|Ograve|lcedil|Lcedil|Aacute|ssmile|ssetmn|squarf|ldquor|capcup|ominus|cylcty|rharul|eqcirc|dagger|rfloor|rfisht|Dagger|daleth|equals|origof|capdot|equest|dcaron|Dcaron|rdquor|oslash|Oslash|otilde|Otilde|otimes|Otimes|urcrop|Ubreve|ubreve|Yacute|Uacute|uacute|Rcedil|rcedil|urcorn|parsim|Rcaron|Vdashl|rcaron|Tstrok|percnt|period|permil|Exists|yacute|rbrack|rbrace|phmmat|ccaron|Ccaron|planck|ccedil|plankv|tstrok|female|plusdo|plusdu|ffilig|plusmn|ffllig|Ccedil|rAtail|dfisht|bernou|ratail|Rarrtl|rarrtl|angsph|rarrpl|rarrlp|rarrhk|xwedge|xotime|forall|ForAll|Vvdash|vsupnE|preceq|bigcap|frac12|frac13|frac14|primes|rarrfs|prnsim|frac15|Square|frac16|square|lesdot|frac18|frac23|propto|prurel|rarrap|rangle|puncsp|frac25|Racute|qprime|racute|lesges|frac34|abreve|AElig|eqsim|utdot|setmn|urtri|Equal|Uring|seArr|uring|searr|dashv|Dashv|mumap|nabla|iogon|Iogon|sdote|sdotb|scsim|napid|napos|equiv|natur|Acirc|dblac|erarr|nbump|iprod|erDot|ucirc|awint|esdot|angrt|ncong|isinE|scnap|Scirc|scirc|ndash|isins|Ubrcy|nearr|neArr|isinv|nedot|ubrcy|acute|Ycirc|iukcy|Iukcy|xutri|nesim|caret|jcirc|Jcirc|caron|twixt|ddarr|sccue|exist|jmath|sbquo|ngeqq|angst|ccaps|lceil|ngsim|UpTee|delta|Delta|rtrif|nharr|nhArr|nhpar|rtrie|jukcy|Jukcy|kappa|rsquo|Kappa|nlarr|nlArr|TSHcy|rrarr|aogon|Aogon|fflig|xrarr|tshcy|ccirc|nleqq|filig|upsih|nless|dharl|nlsim|fjlig|ropar|nltri|dharr|robrk|roarr|fllig|fltns|roang|rnmid|subnE|subne|lAarr|trisb|Ccirc|acirc|ccups|blank|VDash|forkv|Vdash|langd|cedil|blk12|blk14|laquo|strns|diams|notin|vDash|larrb|blk34|block|disin|uplus|vdash|vBarv|aelig|starf|Wedge|check|xrArr|lates|lbarr|lBarr|notni|lbbrk|bcong|frasl|lbrke|frown|vrtri|vprop|vnsup|gamma|Gamma|wedge|xodot|bdquo|srarr|doteq|ldquo|boxdl|boxdL|gcirc|Gcirc|boxDl|boxDL|boxdr|boxdR|boxDr|TRADE|trade|rlhar|boxDR|vnsub|npart|vltri|rlarr|boxhd|boxhD|nprec|gescc|nrarr|nrArr|boxHd|boxHD|boxhu|boxhU|nrtri|boxHu|clubs|boxHU|times|colon|Colon|gimel|xlArr|Tilde|nsime|tilde|nsmid|nspar|THORN|thorn|xlarr|nsube|nsubE|thkap|xhArr|comma|nsucc|boxul|boxuL|nsupe|nsupE|gneqq|gnsim|boxUl|boxUL|grave|boxur|boxuR|boxUr|boxUR|lescc|angle|bepsi|boxvh|varpi|boxvH|numsp|Theta|gsime|gsiml|theta|boxVh|boxVH|boxvl|gtcir|gtdot|boxvL|boxVl|boxVL|crarr|cross|Cross|nvsim|boxvr|nwarr|nwArr|sqsup|dtdot|Uogon|lhard|lharu|dtrif|ocirc|Ocirc|lhblk|duarr|odash|sqsub|Hacek|sqcup|llarr|duhar|oelig|OElig|ofcir|boxvR|uogon|lltri|boxVr|csube|uuarr|ohbar|csupe|ctdot|olarr|olcir|harrw|oline|sqcap|omacr|Omacr|omega|Omega|boxVR|aleph|lneqq|lnsim|loang|loarr|rharu|lobrk|hcirc|operp|oplus|rhard|Hcirc|orarr|Union|order|ecirc|Ecirc|cuepr|szlig|cuesc|breve|reals|eDDot|Breve|hoarr|lopar|utrif|rdquo|Umacr|umacr|efDot|swArr|ultri|alpha|rceil|ovbar|swarr|Wcirc|wcirc|smtes|smile|bsemi|lrarr|aring|parsl|lrhar|bsime|uhblk|lrtri|cupor|Aring|uharr|uharl|slarr|rbrke|bsolb|lsime|rbbrk|RBarr|lsimg|phone|rBarr|rbarr|icirc|lsquo|Icirc|emacr|Emacr|ratio|simne|plusb|simlE|simgE|simeq|pluse|ltcir|ltdot|empty|xharr|xdtri|iexcl|Alpha|ltrie|rarrw|pound|ltrif|xcirc|bumpe|prcue|bumpE|asymp|amacr|cuvee|Sigma|sigma|iiint|udhar|iiota|ijlig|IJlig|supnE|imacr|Imacr|prime|Prime|image|prnap|eogon|Eogon|rarrc|mdash|mDDot|cuwed|imath|supne|imped|Amacr|udarr|prsim|micro|rarrb|cwint|raquo|infin|eplus|range|rangd|Ucirc|radic|minus|amalg|veeeq|rAarr|epsiv|ycirc|quest|sharp|quot|zwnj|Qscr|race|qscr|Qopf|qopf|qint|rang|Rang|Zscr|zscr|Zopf|zopf|rarr|rArr|Rarr|Pscr|pscr|prop|prod|prnE|prec|ZHcy|zhcy|prap|Zeta|zeta|Popf|popf|Zdot|plus|zdot|Yuml|yuml|phiv|YUcy|yucy|Yscr|yscr|perp|Yopf|yopf|part|para|YIcy|Ouml|rcub|yicy|YAcy|rdca|ouml|osol|Oscr|rdsh|yacy|real|oscr|xvee|andd|rect|andv|Xscr|oror|ordm|ordf|xscr|ange|aopf|Aopf|rHar|Xopf|opar|Oopf|xopf|xnis|rhov|oopf|omid|xmap|oint|apid|apos|ogon|ascr|Ascr|odot|odiv|xcup|xcap|ocir|oast|nvlt|nvle|nvgt|nvge|nvap|Wscr|wscr|auml|ntlg|ntgl|nsup|nsub|nsim|Nscr|nscr|nsce|Wopf|ring|npre|wopf|npar|Auml|Barv|bbrk|Nopf|nopf|nmid|nLtv|beta|ropf|Ropf|Beta|beth|nles|rpar|nleq|bnot|bNot|nldr|NJcy|rscr|Rscr|Vscr|vscr|rsqb|njcy|bopf|nisd|Bopf|rtri|Vopf|nGtv|ngtr|vopf|boxh|boxH|boxv|nges|ngeq|boxV|bscr|scap|Bscr|bsim|Vert|vert|bsol|bull|bump|caps|cdot|ncup|scnE|ncap|nbsp|napE|Cdot|cent|sdot|Vbar|nang|vBar|chcy|Mscr|mscr|sect|semi|CHcy|Mopf|mopf|sext|circ|cire|mldr|mlcp|cirE|comp|shcy|SHcy|vArr|varr|cong|copf|Copf|copy|COPY|malt|male|macr|lvnE|cscr|ltri|sime|ltcc|simg|Cscr|siml|csub|Uuml|lsqb|lsim|uuml|csup|Lscr|lscr|utri|smid|lpar|cups|smte|lozf|darr|Lopf|Uscr|solb|lopf|sopf|Sopf|lneq|uscr|spar|dArr|lnap|Darr|dash|Sqrt|LJcy|ljcy|lHar|dHar|Upsi|upsi|diam|lesg|djcy|DJcy|leqq|dopf|Dopf|dscr|Dscr|dscy|ldsh|ldca|squf|DScy|sscr|Sscr|dsol|lcub|late|star|Star|Uopf|Larr|lArr|larr|uopf|dtri|dzcy|sube|subE|Lang|lang|Kscr|kscr|Kopf|kopf|KJcy|kjcy|KHcy|khcy|DZcy|ecir|edot|eDot|Jscr|jscr|succ|Jopf|jopf|Edot|uHar|emsp|ensp|Iuml|iuml|eopf|isin|Iscr|iscr|Eopf|epar|sung|epsi|escr|sup1|sup2|sup3|Iota|iota|supe|supE|Iopf|iopf|IOcy|iocy|Escr|esim|Esim|imof|Uarr|QUOT|uArr|uarr|euml|IEcy|iecy|Idot|Euml|euro|excl|Hscr|hscr|Hopf|hopf|TScy|tscy|Tscr|hbar|tscr|flat|tbrk|fnof|hArr|harr|half|fopf|Fopf|tdot|gvnE|fork|trie|gtcc|fscr|Fscr|gdot|gsim|Gscr|gscr|Gopf|gopf|gneq|Gdot|tosa|gnap|Topf|topf|geqq|toea|GJcy|gjcy|tint|gesl|mid|Sfr|ggg|top|ges|gla|glE|glj|geq|gne|gEl|gel|gnE|Gcy|gcy|gap|Tfr|tfr|Tcy|tcy|Hat|Tau|Ffr|tau|Tab|hfr|Hfr|ffr|Fcy|fcy|icy|Icy|iff|ETH|eth|ifr|Ifr|Eta|eta|int|Int|Sup|sup|ucy|Ucy|Sum|sum|jcy|ENG|ufr|Ufr|eng|Jcy|jfr|els|ell|egs|Efr|efr|Jfr|uml|kcy|Kcy|Ecy|ecy|kfr|Kfr|lap|Sub|sub|lat|lcy|Lcy|leg|Dot|dot|lEg|leq|les|squ|div|die|lfr|Lfr|lgE|Dfr|dfr|Del|deg|Dcy|dcy|lne|lnE|sol|loz|smt|Cup|lrm|cup|lsh|Lsh|sim|shy|map|Map|mcy|Mcy|mfr|Mfr|mho|gfr|Gfr|sfr|cir|Chi|chi|nap|Cfr|vcy|Vcy|cfr|Scy|scy|ncy|Ncy|vee|Vee|Cap|cap|nfr|scE|sce|Nfr|nge|ngE|nGg|vfr|Vfr|ngt|bot|nGt|nis|niv|Rsh|rsh|nle|nlE|bne|Bfr|bfr|nLl|nlt|nLt|Bcy|bcy|not|Not|rlm|wfr|Wfr|npr|nsc|num|ocy|ast|Ocy|ofr|xfr|Xfr|Ofr|ogt|ohm|apE|olt|Rho|ape|rho|Rfr|rfr|ord|REG|ang|reg|orv|And|and|AMP|Rcy|amp|Afr|ycy|Ycy|yen|yfr|Yfr|rcy|par|pcy|Pcy|pfr|Pfr|phi|Phi|afr|Acy|acy|zcy|Zcy|piv|acE|acd|zfr|Zfr|pre|prE|psi|Psi|qfr|Qfr|zwj|Or|ge|Gg|gt|gg|el|oS|lt|Lt|LT|Re|lg|gl|eg|ne|Im|it|le|DD|wp|wr|nu|Nu|dd|lE|Sc|sc|pi|Pi|ee|af|ll|Ll|rx|gE|xi|pm|Xi|ic|pr|Pr|in|ni|mp|mu|ac|Mu|or|ap|Gt|GT|ii);|&(Aacute|Agrave|Atilde|Ccedil|Eacute|Egrave|Iacute|Igrave|Ntilde|Oacute|Ograve|Oslash|Otilde|Uacute|Ugrave|Yacute|aacute|agrave|atilde|brvbar|ccedil|curren|divide|eacute|egrave|frac12|frac14|frac34|iacute|igrave|iquest|middot|ntilde|oacute|ograve|oslash|otilde|plusmn|uacute|ugrave|yacute|AElig|Acirc|Aring|Ecirc|Icirc|Ocirc|THORN|Ucirc|acirc|acute|aelig|aring|cedil|ecirc|icirc|iexcl|laquo|micro|ocirc|pound|raquo|szlig|thorn|times|ucirc|Auml|COPY|Euml|Iuml|Ouml|QUOT|Uuml|auml|cent|copy|euml|iuml|macr|nbsp|ordf|ordm|ouml|para|quot|sect|sup1|sup2|sup3|uuml|yuml|AMP|ETH|REG|amp|deg|eth|not|reg|shy|uml|yen|GT|LT|gt|lt)(?!;)([=a-zA-Z0-9]?)|&#([0-9]+)(;?)|&#[xX]([a-fA-F0-9]+)(;?)|&([0-9a-zA-Z]+)/g;\n\tvar decodeMap = {'aacute':'\\xE1','Aacute':'\\xC1','abreve':'\\u0103','Abreve':'\\u0102','ac':'\\u223E','acd':'\\u223F','acE':'\\u223E\\u0333','acirc':'\\xE2','Acirc':'\\xC2','acute':'\\xB4','acy':'\\u0430','Acy':'\\u0410','aelig':'\\xE6','AElig':'\\xC6','af':'\\u2061','afr':'\\uD835\\uDD1E','Afr':'\\uD835\\uDD04','agrave':'\\xE0','Agrave':'\\xC0','alefsym':'\\u2135','aleph':'\\u2135','alpha':'\\u03B1','Alpha':'\\u0391','amacr':'\\u0101','Amacr':'\\u0100','amalg':'\\u2A3F','amp':'&','AMP':'&','and':'\\u2227','And':'\\u2A53','andand':'\\u2A55','andd':'\\u2A5C','andslope':'\\u2A58','andv':'\\u2A5A','ang':'\\u2220','ange':'\\u29A4','angle':'\\u2220','angmsd':'\\u2221','angmsdaa':'\\u29A8','angmsdab':'\\u29A9','angmsdac':'\\u29AA','angmsdad':'\\u29AB','angmsdae':'\\u29AC','angmsdaf':'\\u29AD','angmsdag':'\\u29AE','angmsdah':'\\u29AF','angrt':'\\u221F','angrtvb':'\\u22BE','angrtvbd':'\\u299D','angsph':'\\u2222','angst':'\\xC5','angzarr':'\\u237C','aogon':'\\u0105','Aogon':'\\u0104','aopf':'\\uD835\\uDD52','Aopf':'\\uD835\\uDD38','ap':'\\u2248','apacir':'\\u2A6F','ape':'\\u224A','apE':'\\u2A70','apid':'\\u224B','apos':'\\'','ApplyFunction':'\\u2061','approx':'\\u2248','approxeq':'\\u224A','aring':'\\xE5','Aring':'\\xC5','ascr':'\\uD835\\uDCB6','Ascr':'\\uD835\\uDC9C','Assign':'\\u2254','ast':'*','asymp':'\\u2248','asympeq':'\\u224D','atilde':'\\xE3','Atilde':'\\xC3','auml':'\\xE4','Auml':'\\xC4','awconint':'\\u2233','awint':'\\u2A11','backcong':'\\u224C','backepsilon':'\\u03F6','backprime':'\\u2035','backsim':'\\u223D','backsimeq':'\\u22CD','Backslash':'\\u2216','Barv':'\\u2AE7','barvee':'\\u22BD','barwed':'\\u2305','Barwed':'\\u2306','barwedge':'\\u2305','bbrk':'\\u23B5','bbrktbrk':'\\u23B6','bcong':'\\u224C','bcy':'\\u0431','Bcy':'\\u0411','bdquo':'\\u201E','becaus':'\\u2235','because':'\\u2235','Because':'\\u2235','bemptyv':'\\u29B0','bepsi':'\\u03F6','bernou':'\\u212C','Bernoullis':'\\u212C','beta':'\\u03B2','Beta':'\\u0392','beth':'\\u2136','between':'\\u226C','bfr':'\\uD835\\uDD1F','Bfr':'\\uD835\\uDD05','bigcap':'\\u22C2','bigcirc':'\\u25EF','bigcup':'\\u22C3','bigodot':'\\u2A00','bigoplus':'\\u2A01','bigotimes':'\\u2A02','bigsqcup':'\\u2A06','bigstar':'\\u2605','bigtriangledown':'\\u25BD','bigtriangleup':'\\u25B3','biguplus':'\\u2A04','bigvee':'\\u22C1','bigwedge':'\\u22C0','bkarow':'\\u290D','blacklozenge':'\\u29EB','blacksquare':'\\u25AA','blacktriangle':'\\u25B4','blacktriangledown':'\\u25BE','blacktriangleleft':'\\u25C2','blacktriangleright':'\\u25B8','blank':'\\u2423','blk12':'\\u2592','blk14':'\\u2591','blk34':'\\u2593','block':'\\u2588','bne':'=\\u20E5','bnequiv':'\\u2261\\u20E5','bnot':'\\u2310','bNot':'\\u2AED','bopf':'\\uD835\\uDD53','Bopf':'\\uD835\\uDD39','bot':'\\u22A5','bottom':'\\u22A5','bowtie':'\\u22C8','boxbox':'\\u29C9','boxdl':'\\u2510','boxdL':'\\u2555','boxDl':'\\u2556','boxDL':'\\u2557','boxdr':'\\u250C','boxdR':'\\u2552','boxDr':'\\u2553','boxDR':'\\u2554','boxh':'\\u2500','boxH':'\\u2550','boxhd':'\\u252C','boxhD':'\\u2565','boxHd':'\\u2564','boxHD':'\\u2566','boxhu':'\\u2534','boxhU':'\\u2568','boxHu':'\\u2567','boxHU':'\\u2569','boxminus':'\\u229F','boxplus':'\\u229E','boxtimes':'\\u22A0','boxul':'\\u2518','boxuL':'\\u255B','boxUl':'\\u255C','boxUL':'\\u255D','boxur':'\\u2514','boxuR':'\\u2558','boxUr':'\\u2559','boxUR':'\\u255A','boxv':'\\u2502','boxV':'\\u2551','boxvh':'\\u253C','boxvH':'\\u256A','boxVh':'\\u256B','boxVH':'\\u256C','boxvl':'\\u2524','boxvL':'\\u2561','boxVl':'\\u2562','boxVL':'\\u2563','boxvr':'\\u251C','boxvR':'\\u255E','boxVr':'\\u255F','boxVR':'\\u2560','bprime':'\\u2035','breve':'\\u02D8','Breve':'\\u02D8','brvbar':'\\xA6','bscr':'\\uD835\\uDCB7','Bscr':'\\u212C','bsemi':'\\u204F','bsim':'\\u223D','bsime':'\\u22CD','bsol':'\\\\','bsolb':'\\u29C5','bsolhsub':'\\u27C8','bull':'\\u2022','bullet':'\\u2022','bump':'\\u224E','bumpe':'\\u224F','bumpE':'\\u2AAE','bumpeq':'\\u224F','Bumpeq':'\\u224E','cacute':'\\u0107','Cacute':'\\u0106','cap':'\\u2229','Cap':'\\u22D2','capand':'\\u2A44','capbrcup':'\\u2A49','capcap':'\\u2A4B','capcup':'\\u2A47','capdot':'\\u2A40','CapitalDifferentialD':'\\u2145','caps':'\\u2229\\uFE00','caret':'\\u2041','caron':'\\u02C7','Cayleys':'\\u212D','ccaps':'\\u2A4D','ccaron':'\\u010D','Ccaron':'\\u010C','ccedil':'\\xE7','Ccedil':'\\xC7','ccirc':'\\u0109','Ccirc':'\\u0108','Cconint':'\\u2230','ccups':'\\u2A4C','ccupssm':'\\u2A50','cdot':'\\u010B','Cdot':'\\u010A','cedil':'\\xB8','Cedilla':'\\xB8','cemptyv':'\\u29B2','cent':'\\xA2','centerdot':'\\xB7','CenterDot':'\\xB7','cfr':'\\uD835\\uDD20','Cfr':'\\u212D','chcy':'\\u0447','CHcy':'\\u0427','check':'\\u2713','checkmark':'\\u2713','chi':'\\u03C7','Chi':'\\u03A7','cir':'\\u25CB','circ':'\\u02C6','circeq':'\\u2257','circlearrowleft':'\\u21BA','circlearrowright':'\\u21BB','circledast':'\\u229B','circledcirc':'\\u229A','circleddash':'\\u229D','CircleDot':'\\u2299','circledR':'\\xAE','circledS':'\\u24C8','CircleMinus':'\\u2296','CirclePlus':'\\u2295','CircleTimes':'\\u2297','cire':'\\u2257','cirE':'\\u29C3','cirfnint':'\\u2A10','cirmid':'\\u2AEF','cirscir':'\\u29C2','ClockwiseContourIntegral':'\\u2232','CloseCurlyDoubleQuote':'\\u201D','CloseCurlyQuote':'\\u2019','clubs':'\\u2663','clubsuit':'\\u2663','colon':':','Colon':'\\u2237','colone':'\\u2254','Colone':'\\u2A74','coloneq':'\\u2254','comma':',','commat':'@','comp':'\\u2201','compfn':'\\u2218','complement':'\\u2201','complexes':'\\u2102','cong':'\\u2245','congdot':'\\u2A6D','Congruent':'\\u2261','conint':'\\u222E','Conint':'\\u222F','ContourIntegral':'\\u222E','copf':'\\uD835\\uDD54','Copf':'\\u2102','coprod':'\\u2210','Coproduct':'\\u2210','copy':'\\xA9','COPY':'\\xA9','copysr':'\\u2117','CounterClockwiseContourIntegral':'\\u2233','crarr':'\\u21B5','cross':'\\u2717','Cross':'\\u2A2F','cscr':'\\uD835\\uDCB8','Cscr':'\\uD835\\uDC9E','csub':'\\u2ACF','csube':'\\u2AD1','csup':'\\u2AD0','csupe':'\\u2AD2','ctdot':'\\u22EF','cudarrl':'\\u2938','cudarrr':'\\u2935','cuepr':'\\u22DE','cuesc':'\\u22DF','cularr':'\\u21B6','cularrp':'\\u293D','cup':'\\u222A','Cup':'\\u22D3','cupbrcap':'\\u2A48','cupcap':'\\u2A46','CupCap':'\\u224D','cupcup':'\\u2A4A','cupdot':'\\u228D','cupor':'\\u2A45','cups':'\\u222A\\uFE00','curarr':'\\u21B7','curarrm':'\\u293C','curlyeqprec':'\\u22DE','curlyeqsucc':'\\u22DF','curlyvee':'\\u22CE','curlywedge':'\\u22CF','curren':'\\xA4','curvearrowleft':'\\u21B6','curvearrowright':'\\u21B7','cuvee':'\\u22CE','cuwed':'\\u22CF','cwconint':'\\u2232','cwint':'\\u2231','cylcty':'\\u232D','dagger':'\\u2020','Dagger':'\\u2021','daleth':'\\u2138','darr':'\\u2193','dArr':'\\u21D3','Darr':'\\u21A1','dash':'\\u2010','dashv':'\\u22A3','Dashv':'\\u2AE4','dbkarow':'\\u290F','dblac':'\\u02DD','dcaron':'\\u010F','Dcaron':'\\u010E','dcy':'\\u0434','Dcy':'\\u0414','dd':'\\u2146','DD':'\\u2145','ddagger':'\\u2021','ddarr':'\\u21CA','DDotrahd':'\\u2911','ddotseq':'\\u2A77','deg':'\\xB0','Del':'\\u2207','delta':'\\u03B4','Delta':'\\u0394','demptyv':'\\u29B1','dfisht':'\\u297F','dfr':'\\uD835\\uDD21','Dfr':'\\uD835\\uDD07','dHar':'\\u2965','dharl':'\\u21C3','dharr':'\\u21C2','DiacriticalAcute':'\\xB4','DiacriticalDot':'\\u02D9','DiacriticalDoubleAcute':'\\u02DD','DiacriticalGrave':'`','DiacriticalTilde':'\\u02DC','diam':'\\u22C4','diamond':'\\u22C4','Diamond':'\\u22C4','diamondsuit':'\\u2666','diams':'\\u2666','die':'\\xA8','DifferentialD':'\\u2146','digamma':'\\u03DD','disin':'\\u22F2','div':'\\xF7','divide':'\\xF7','divideontimes':'\\u22C7','divonx':'\\u22C7','djcy':'\\u0452','DJcy':'\\u0402','dlcorn':'\\u231E','dlcrop':'\\u230D','dollar':'$','dopf':'\\uD835\\uDD55','Dopf':'\\uD835\\uDD3B','dot':'\\u02D9','Dot':'\\xA8','DotDot':'\\u20DC','doteq':'\\u2250','doteqdot':'\\u2251','DotEqual':'\\u2250','dotminus':'\\u2238','dotplus':'\\u2214','dotsquare':'\\u22A1','doublebarwedge':'\\u2306','DoubleContourIntegral':'\\u222F','DoubleDot':'\\xA8','DoubleDownArrow':'\\u21D3','DoubleLeftArrow':'\\u21D0','DoubleLeftRightArrow':'\\u21D4','DoubleLeftTee':'\\u2AE4','DoubleLongLeftArrow':'\\u27F8','DoubleLongLeftRightArrow':'\\u27FA','DoubleLongRightArrow':'\\u27F9','DoubleRightArrow':'\\u21D2','DoubleRightTee':'\\u22A8','DoubleUpArrow':'\\u21D1','DoubleUpDownArrow':'\\u21D5','DoubleVerticalBar':'\\u2225','downarrow':'\\u2193','Downarrow':'\\u21D3','DownArrow':'\\u2193','DownArrowBar':'\\u2913','DownArrowUpArrow':'\\u21F5','DownBreve':'\\u0311','downdownarrows':'\\u21CA','downharpoonleft':'\\u21C3','downharpoonright':'\\u21C2','DownLeftRightVector':'\\u2950','DownLeftTeeVector':'\\u295E','DownLeftVector':'\\u21BD','DownLeftVectorBar':'\\u2956','DownRightTeeVector':'\\u295F','DownRightVector':'\\u21C1','DownRightVectorBar':'\\u2957','DownTee':'\\u22A4','DownTeeArrow':'\\u21A7','drbkarow':'\\u2910','drcorn':'\\u231F','drcrop':'\\u230C','dscr':'\\uD835\\uDCB9','Dscr':'\\uD835\\uDC9F','dscy':'\\u0455','DScy':'\\u0405','dsol':'\\u29F6','dstrok':'\\u0111','Dstrok':'\\u0110','dtdot':'\\u22F1','dtri':'\\u25BF','dtrif':'\\u25BE','duarr':'\\u21F5','duhar':'\\u296F','dwangle':'\\u29A6','dzcy':'\\u045F','DZcy':'\\u040F','dzigrarr':'\\u27FF','eacute':'\\xE9','Eacute':'\\xC9','easter':'\\u2A6E','ecaron':'\\u011B','Ecaron':'\\u011A','ecir':'\\u2256','ecirc':'\\xEA','Ecirc':'\\xCA','ecolon':'\\u2255','ecy':'\\u044D','Ecy':'\\u042D','eDDot':'\\u2A77','edot':'\\u0117','eDot':'\\u2251','Edot':'\\u0116','ee':'\\u2147','efDot':'\\u2252','efr':'\\uD835\\uDD22','Efr':'\\uD835\\uDD08','eg':'\\u2A9A','egrave':'\\xE8','Egrave':'\\xC8','egs':'\\u2A96','egsdot':'\\u2A98','el':'\\u2A99','Element':'\\u2208','elinters':'\\u23E7','ell':'\\u2113','els':'\\u2A95','elsdot':'\\u2A97','emacr':'\\u0113','Emacr':'\\u0112','empty':'\\u2205','emptyset':'\\u2205','EmptySmallSquare':'\\u25FB','emptyv':'\\u2205','EmptyVerySmallSquare':'\\u25AB','emsp':'\\u2003','emsp13':'\\u2004','emsp14':'\\u2005','eng':'\\u014B','ENG':'\\u014A','ensp':'\\u2002','eogon':'\\u0119','Eogon':'\\u0118','eopf':'\\uD835\\uDD56','Eopf':'\\uD835\\uDD3C','epar':'\\u22D5','eparsl':'\\u29E3','eplus':'\\u2A71','epsi':'\\u03B5','epsilon':'\\u03B5','Epsilon':'\\u0395','epsiv':'\\u03F5','eqcirc':'\\u2256','eqcolon':'\\u2255','eqsim':'\\u2242','eqslantgtr':'\\u2A96','eqslantless':'\\u2A95','Equal':'\\u2A75','equals':'=','EqualTilde':'\\u2242','equest':'\\u225F','Equilibrium':'\\u21CC','equiv':'\\u2261','equivDD':'\\u2A78','eqvparsl':'\\u29E5','erarr':'\\u2971','erDot':'\\u2253','escr':'\\u212F','Escr':'\\u2130','esdot':'\\u2250','esim':'\\u2242','Esim':'\\u2A73','eta':'\\u03B7','Eta':'\\u0397','eth':'\\xF0','ETH':'\\xD0','euml':'\\xEB','Euml':'\\xCB','euro':'\\u20AC','excl':'!','exist':'\\u2203','Exists':'\\u2203','expectation':'\\u2130','exponentiale':'\\u2147','ExponentialE':'\\u2147','fallingdotseq':'\\u2252','fcy':'\\u0444','Fcy':'\\u0424','female':'\\u2640','ffilig':'\\uFB03','fflig':'\\uFB00','ffllig':'\\uFB04','ffr':'\\uD835\\uDD23','Ffr':'\\uD835\\uDD09','filig':'\\uFB01','FilledSmallSquare':'\\u25FC','FilledVerySmallSquare':'\\u25AA','fjlig':'fj','flat':'\\u266D','fllig':'\\uFB02','fltns':'\\u25B1','fnof':'\\u0192','fopf':'\\uD835\\uDD57','Fopf':'\\uD835\\uDD3D','forall':'\\u2200','ForAll':'\\u2200','fork':'\\u22D4','forkv':'\\u2AD9','Fouriertrf':'\\u2131','fpartint':'\\u2A0D','frac12':'\\xBD','frac13':'\\u2153','frac14':'\\xBC','frac15':'\\u2155','frac16':'\\u2159','frac18':'\\u215B','frac23':'\\u2154','frac25':'\\u2156','frac34':'\\xBE','frac35':'\\u2157','frac38':'\\u215C','frac45':'\\u2158','frac56':'\\u215A','frac58':'\\u215D','frac78':'\\u215E','frasl':'\\u2044','frown':'\\u2322','fscr':'\\uD835\\uDCBB','Fscr':'\\u2131','gacute':'\\u01F5','gamma':'\\u03B3','Gamma':'\\u0393','gammad':'\\u03DD','Gammad':'\\u03DC','gap':'\\u2A86','gbreve':'\\u011F','Gbreve':'\\u011E','Gcedil':'\\u0122','gcirc':'\\u011D','Gcirc':'\\u011C','gcy':'\\u0433','Gcy':'\\u0413','gdot':'\\u0121','Gdot':'\\u0120','ge':'\\u2265','gE':'\\u2267','gel':'\\u22DB','gEl':'\\u2A8C','geq':'\\u2265','geqq':'\\u2267','geqslant':'\\u2A7E','ges':'\\u2A7E','gescc':'\\u2AA9','gesdot':'\\u2A80','gesdoto':'\\u2A82','gesdotol':'\\u2A84','gesl':'\\u22DB\\uFE00','gesles':'\\u2A94','gfr':'\\uD835\\uDD24','Gfr':'\\uD835\\uDD0A','gg':'\\u226B','Gg':'\\u22D9','ggg':'\\u22D9','gimel':'\\u2137','gjcy':'\\u0453','GJcy':'\\u0403','gl':'\\u2277','gla':'\\u2AA5','glE':'\\u2A92','glj':'\\u2AA4','gnap':'\\u2A8A','gnapprox':'\\u2A8A','gne':'\\u2A88','gnE':'\\u2269','gneq':'\\u2A88','gneqq':'\\u2269','gnsim':'\\u22E7','gopf':'\\uD835\\uDD58','Gopf':'\\uD835\\uDD3E','grave':'`','GreaterEqual':'\\u2265','GreaterEqualLess':'\\u22DB','GreaterFullEqual':'\\u2267','GreaterGreater':'\\u2AA2','GreaterLess':'\\u2277','GreaterSlantEqual':'\\u2A7E','GreaterTilde':'\\u2273','gscr':'\\u210A','Gscr':'\\uD835\\uDCA2','gsim':'\\u2273','gsime':'\\u2A8E','gsiml':'\\u2A90','gt':'>','Gt':'\\u226B','GT':'>','gtcc':'\\u2AA7','gtcir':'\\u2A7A','gtdot':'\\u22D7','gtlPar':'\\u2995','gtquest':'\\u2A7C','gtrapprox':'\\u2A86','gtrarr':'\\u2978','gtrdot':'\\u22D7','gtreqless':'\\u22DB','gtreqqless':'\\u2A8C','gtrless':'\\u2277','gtrsim':'\\u2273','gvertneqq':'\\u2269\\uFE00','gvnE':'\\u2269\\uFE00','Hacek':'\\u02C7','hairsp':'\\u200A','half':'\\xBD','hamilt':'\\u210B','hardcy':'\\u044A','HARDcy':'\\u042A','harr':'\\u2194','hArr':'\\u21D4','harrcir':'\\u2948','harrw':'\\u21AD','Hat':'^','hbar':'\\u210F','hcirc':'\\u0125','Hcirc':'\\u0124','hearts':'\\u2665','heartsuit':'\\u2665','hellip':'\\u2026','hercon':'\\u22B9','hfr':'\\uD835\\uDD25','Hfr':'\\u210C','HilbertSpace':'\\u210B','hksearow':'\\u2925','hkswarow':'\\u2926','hoarr':'\\u21FF','homtht':'\\u223B','hookleftarrow':'\\u21A9','hookrightarrow':'\\u21AA','hopf':'\\uD835\\uDD59','Hopf':'\\u210D','horbar':'\\u2015','HorizontalLine':'\\u2500','hscr':'\\uD835\\uDCBD','Hscr':'\\u210B','hslash':'\\u210F','hstrok':'\\u0127','Hstrok':'\\u0126','HumpDownHump':'\\u224E','HumpEqual':'\\u224F','hybull':'\\u2043','hyphen':'\\u2010','iacute':'\\xED','Iacute':'\\xCD','ic':'\\u2063','icirc':'\\xEE','Icirc':'\\xCE','icy':'\\u0438','Icy':'\\u0418','Idot':'\\u0130','iecy':'\\u0435','IEcy':'\\u0415','iexcl':'\\xA1','iff':'\\u21D4','ifr':'\\uD835\\uDD26','Ifr':'\\u2111','igrave':'\\xEC','Igrave':'\\xCC','ii':'\\u2148','iiiint':'\\u2A0C','iiint':'\\u222D','iinfin':'\\u29DC','iiota':'\\u2129','ijlig':'\\u0133','IJlig':'\\u0132','Im':'\\u2111','imacr':'\\u012B','Imacr':'\\u012A','image':'\\u2111','ImaginaryI':'\\u2148','imagline':'\\u2110','imagpart':'\\u2111','imath':'\\u0131','imof':'\\u22B7','imped':'\\u01B5','Implies':'\\u21D2','in':'\\u2208','incare':'\\u2105','infin':'\\u221E','infintie':'\\u29DD','inodot':'\\u0131','int':'\\u222B','Int':'\\u222C','intcal':'\\u22BA','integers':'\\u2124','Integral':'\\u222B','intercal':'\\u22BA','Intersection':'\\u22C2','intlarhk':'\\u2A17','intprod':'\\u2A3C','InvisibleComma':'\\u2063','InvisibleTimes':'\\u2062','iocy':'\\u0451','IOcy':'\\u0401','iogon':'\\u012F','Iogon':'\\u012E','iopf':'\\uD835\\uDD5A','Iopf':'\\uD835\\uDD40','iota':'\\u03B9','Iota':'\\u0399','iprod':'\\u2A3C','iquest':'\\xBF','iscr':'\\uD835\\uDCBE','Iscr':'\\u2110','isin':'\\u2208','isindot':'\\u22F5','isinE':'\\u22F9','isins':'\\u22F4','isinsv':'\\u22F3','isinv':'\\u2208','it':'\\u2062','itilde':'\\u0129','Itilde':'\\u0128','iukcy':'\\u0456','Iukcy':'\\u0406','iuml':'\\xEF','Iuml':'\\xCF','jcirc':'\\u0135','Jcirc':'\\u0134','jcy':'\\u0439','Jcy':'\\u0419','jfr':'\\uD835\\uDD27','Jfr':'\\uD835\\uDD0D','jmath':'\\u0237','jopf':'\\uD835\\uDD5B','Jopf':'\\uD835\\uDD41','jscr':'\\uD835\\uDCBF','Jscr':'\\uD835\\uDCA5','jsercy':'\\u0458','Jsercy':'\\u0408','jukcy':'\\u0454','Jukcy':'\\u0404','kappa':'\\u03BA','Kappa':'\\u039A','kappav':'\\u03F0','kcedil':'\\u0137','Kcedil':'\\u0136','kcy':'\\u043A','Kcy':'\\u041A','kfr':'\\uD835\\uDD28','Kfr':'\\uD835\\uDD0E','kgreen':'\\u0138','khcy':'\\u0445','KHcy':'\\u0425','kjcy':'\\u045C','KJcy':'\\u040C','kopf':'\\uD835\\uDD5C','Kopf':'\\uD835\\uDD42','kscr':'\\uD835\\uDCC0','Kscr':'\\uD835\\uDCA6','lAarr':'\\u21DA','lacute':'\\u013A','Lacute':'\\u0139','laemptyv':'\\u29B4','lagran':'\\u2112','lambda':'\\u03BB','Lambda':'\\u039B','lang':'\\u27E8','Lang':'\\u27EA','langd':'\\u2991','langle':'\\u27E8','lap':'\\u2A85','Laplacetrf':'\\u2112','laquo':'\\xAB','larr':'\\u2190','lArr':'\\u21D0','Larr':'\\u219E','larrb':'\\u21E4','larrbfs':'\\u291F','larrfs':'\\u291D','larrhk':'\\u21A9','larrlp':'\\u21AB','larrpl':'\\u2939','larrsim':'\\u2973','larrtl':'\\u21A2','lat':'\\u2AAB','latail':'\\u2919','lAtail':'\\u291B','late':'\\u2AAD','lates':'\\u2AAD\\uFE00','lbarr':'\\u290C','lBarr':'\\u290E','lbbrk':'\\u2772','lbrace':'{','lbrack':'[','lbrke':'\\u298B','lbrksld':'\\u298F','lbrkslu':'\\u298D','lcaron':'\\u013E','Lcaron':'\\u013D','lcedil':'\\u013C','Lcedil':'\\u013B','lceil':'\\u2308','lcub':'{','lcy':'\\u043B','Lcy':'\\u041B','ldca':'\\u2936','ldquo':'\\u201C','ldquor':'\\u201E','ldrdhar':'\\u2967','ldrushar':'\\u294B','ldsh':'\\u21B2','le':'\\u2264','lE':'\\u2266','LeftAngleBracket':'\\u27E8','leftarrow':'\\u2190','Leftarrow':'\\u21D0','LeftArrow':'\\u2190','LeftArrowBar':'\\u21E4','LeftArrowRightArrow':'\\u21C6','leftarrowtail':'\\u21A2','LeftCeiling':'\\u2308','LeftDoubleBracket':'\\u27E6','LeftDownTeeVector':'\\u2961','LeftDownVector':'\\u21C3','LeftDownVectorBar':'\\u2959','LeftFloor':'\\u230A','leftharpoondown':'\\u21BD','leftharpoonup':'\\u21BC','leftleftarrows':'\\u21C7','leftrightarrow':'\\u2194','Leftrightarrow':'\\u21D4','LeftRightArrow':'\\u2194','leftrightarrows':'\\u21C6','leftrightharpoons':'\\u21CB','leftrightsquigarrow':'\\u21AD','LeftRightVector':'\\u294E','LeftTee':'\\u22A3','LeftTeeArrow':'\\u21A4','LeftTeeVector':'\\u295A','leftthreetimes':'\\u22CB','LeftTriangle':'\\u22B2','LeftTriangleBar':'\\u29CF','LeftTriangleEqual':'\\u22B4','LeftUpDownVector':'\\u2951','LeftUpTeeVector':'\\u2960','LeftUpVector':'\\u21BF','LeftUpVectorBar':'\\u2958','LeftVector':'\\u21BC','LeftVectorBar':'\\u2952','leg':'\\u22DA','lEg':'\\u2A8B','leq':'\\u2264','leqq':'\\u2266','leqslant':'\\u2A7D','les':'\\u2A7D','lescc':'\\u2AA8','lesdot':'\\u2A7F','lesdoto':'\\u2A81','lesdotor':'\\u2A83','lesg':'\\u22DA\\uFE00','lesges':'\\u2A93','lessapprox':'\\u2A85','lessdot':'\\u22D6','lesseqgtr':'\\u22DA','lesseqqgtr':'\\u2A8B','LessEqualGreater':'\\u22DA','LessFullEqual':'\\u2266','LessGreater':'\\u2276','lessgtr':'\\u2276','LessLess':'\\u2AA1','lesssim':'\\u2272','LessSlantEqual':'\\u2A7D','LessTilde':'\\u2272','lfisht':'\\u297C','lfloor':'\\u230A','lfr':'\\uD835\\uDD29','Lfr':'\\uD835\\uDD0F','lg':'\\u2276','lgE':'\\u2A91','lHar':'\\u2962','lhard':'\\u21BD','lharu':'\\u21BC','lharul':'\\u296A','lhblk':'\\u2584','ljcy':'\\u0459','LJcy':'\\u0409','ll':'\\u226A','Ll':'\\u22D8','llarr':'\\u21C7','llcorner':'\\u231E','Lleftarrow':'\\u21DA','llhard':'\\u296B','lltri':'\\u25FA','lmidot':'\\u0140','Lmidot':'\\u013F','lmoust':'\\u23B0','lmoustache':'\\u23B0','lnap':'\\u2A89','lnapprox':'\\u2A89','lne':'\\u2A87','lnE':'\\u2268','lneq':'\\u2A87','lneqq':'\\u2268','lnsim':'\\u22E6','loang':'\\u27EC','loarr':'\\u21FD','lobrk':'\\u27E6','longleftarrow':'\\u27F5','Longleftarrow':'\\u27F8','LongLeftArrow':'\\u27F5','longleftrightarrow':'\\u27F7','Longleftrightarrow':'\\u27FA','LongLeftRightArrow':'\\u27F7','longmapsto':'\\u27FC','longrightarrow':'\\u27F6','Longrightarrow':'\\u27F9','LongRightArrow':'\\u27F6','looparrowleft':'\\u21AB','looparrowright':'\\u21AC','lopar':'\\u2985','lopf':'\\uD835\\uDD5D','Lopf':'\\uD835\\uDD43','loplus':'\\u2A2D','lotimes':'\\u2A34','lowast':'\\u2217','lowbar':'_','LowerLeftArrow':'\\u2199','LowerRightArrow':'\\u2198','loz':'\\u25CA','lozenge':'\\u25CA','lozf':'\\u29EB','lpar':'(','lparlt':'\\u2993','lrarr':'\\u21C6','lrcorner':'\\u231F','lrhar':'\\u21CB','lrhard':'\\u296D','lrm':'\\u200E','lrtri':'\\u22BF','lsaquo':'\\u2039','lscr':'\\uD835\\uDCC1','Lscr':'\\u2112','lsh':'\\u21B0','Lsh':'\\u21B0','lsim':'\\u2272','lsime':'\\u2A8D','lsimg':'\\u2A8F','lsqb':'[','lsquo':'\\u2018','lsquor':'\\u201A','lstrok':'\\u0142','Lstrok':'\\u0141','lt':'<','Lt':'\\u226A','LT':'<','ltcc':'\\u2AA6','ltcir':'\\u2A79','ltdot':'\\u22D6','lthree':'\\u22CB','ltimes':'\\u22C9','ltlarr':'\\u2976','ltquest':'\\u2A7B','ltri':'\\u25C3','ltrie':'\\u22B4','ltrif':'\\u25C2','ltrPar':'\\u2996','lurdshar':'\\u294A','luruhar':'\\u2966','lvertneqq':'\\u2268\\uFE00','lvnE':'\\u2268\\uFE00','macr':'\\xAF','male':'\\u2642','malt':'\\u2720','maltese':'\\u2720','map':'\\u21A6','Map':'\\u2905','mapsto':'\\u21A6','mapstodown':'\\u21A7','mapstoleft':'\\u21A4','mapstoup':'\\u21A5','marker':'\\u25AE','mcomma':'\\u2A29','mcy':'\\u043C','Mcy':'\\u041C','mdash':'\\u2014','mDDot':'\\u223A','measuredangle':'\\u2221','MediumSpace':'\\u205F','Mellintrf':'\\u2133','mfr':'\\uD835\\uDD2A','Mfr':'\\uD835\\uDD10','mho':'\\u2127','micro':'\\xB5','mid':'\\u2223','midast':'*','midcir':'\\u2AF0','middot':'\\xB7','minus':'\\u2212','minusb':'\\u229F','minusd':'\\u2238','minusdu':'\\u2A2A','MinusPlus':'\\u2213','mlcp':'\\u2ADB','mldr':'\\u2026','mnplus':'\\u2213','models':'\\u22A7','mopf':'\\uD835\\uDD5E','Mopf':'\\uD835\\uDD44','mp':'\\u2213','mscr':'\\uD835\\uDCC2','Mscr':'\\u2133','mstpos':'\\u223E','mu':'\\u03BC','Mu':'\\u039C','multimap':'\\u22B8','mumap':'\\u22B8','nabla':'\\u2207','nacute':'\\u0144','Nacute':'\\u0143','nang':'\\u2220\\u20D2','nap':'\\u2249','napE':'\\u2A70\\u0338','napid':'\\u224B\\u0338','napos':'\\u0149','napprox':'\\u2249','natur':'\\u266E','natural':'\\u266E','naturals':'\\u2115','nbsp':'\\xA0','nbump':'\\u224E\\u0338','nbumpe':'\\u224F\\u0338','ncap':'\\u2A43','ncaron':'\\u0148','Ncaron':'\\u0147','ncedil':'\\u0146','Ncedil':'\\u0145','ncong':'\\u2247','ncongdot':'\\u2A6D\\u0338','ncup':'\\u2A42','ncy':'\\u043D','Ncy':'\\u041D','ndash':'\\u2013','ne':'\\u2260','nearhk':'\\u2924','nearr':'\\u2197','neArr':'\\u21D7','nearrow':'\\u2197','nedot':'\\u2250\\u0338','NegativeMediumSpace':'\\u200B','NegativeThickSpace':'\\u200B','NegativeThinSpace':'\\u200B','NegativeVeryThinSpace':'\\u200B','nequiv':'\\u2262','nesear':'\\u2928','nesim':'\\u2242\\u0338','NestedGreaterGreater':'\\u226B','NestedLessLess':'\\u226A','NewLine':'\\n','nexist':'\\u2204','nexists':'\\u2204','nfr':'\\uD835\\uDD2B','Nfr':'\\uD835\\uDD11','nge':'\\u2271','ngE':'\\u2267\\u0338','ngeq':'\\u2271','ngeqq':'\\u2267\\u0338','ngeqslant':'\\u2A7E\\u0338','nges':'\\u2A7E\\u0338','nGg':'\\u22D9\\u0338','ngsim':'\\u2275','ngt':'\\u226F','nGt':'\\u226B\\u20D2','ngtr':'\\u226F','nGtv':'\\u226B\\u0338','nharr':'\\u21AE','nhArr':'\\u21CE','nhpar':'\\u2AF2','ni':'\\u220B','nis':'\\u22FC','nisd':'\\u22FA','niv':'\\u220B','njcy':'\\u045A','NJcy':'\\u040A','nlarr':'\\u219A','nlArr':'\\u21CD','nldr':'\\u2025','nle':'\\u2270','nlE':'\\u2266\\u0338','nleftarrow':'\\u219A','nLeftarrow':'\\u21CD','nleftrightarrow':'\\u21AE','nLeftrightarrow':'\\u21CE','nleq':'\\u2270','nleqq':'\\u2266\\u0338','nleqslant':'\\u2A7D\\u0338','nles':'\\u2A7D\\u0338','nless':'\\u226E','nLl':'\\u22D8\\u0338','nlsim':'\\u2274','nlt':'\\u226E','nLt':'\\u226A\\u20D2','nltri':'\\u22EA','nltrie':'\\u22EC','nLtv':'\\u226A\\u0338','nmid':'\\u2224','NoBreak':'\\u2060','NonBreakingSpace':'\\xA0','nopf':'\\uD835\\uDD5F','Nopf':'\\u2115','not':'\\xAC','Not':'\\u2AEC','NotCongruent':'\\u2262','NotCupCap':'\\u226D','NotDoubleVerticalBar':'\\u2226','NotElement':'\\u2209','NotEqual':'\\u2260','NotEqualTilde':'\\u2242\\u0338','NotExists':'\\u2204','NotGreater':'\\u226F','NotGreaterEqual':'\\u2271','NotGreaterFullEqual':'\\u2267\\u0338','NotGreaterGreater':'\\u226B\\u0338','NotGreaterLess':'\\u2279','NotGreaterSlantEqual':'\\u2A7E\\u0338','NotGreaterTilde':'\\u2275','NotHumpDownHump':'\\u224E\\u0338','NotHumpEqual':'\\u224F\\u0338','notin':'\\u2209','notindot':'\\u22F5\\u0338','notinE':'\\u22F9\\u0338','notinva':'\\u2209','notinvb':'\\u22F7','notinvc':'\\u22F6','NotLeftTriangle':'\\u22EA','NotLeftTriangleBar':'\\u29CF\\u0338','NotLeftTriangleEqual':'\\u22EC','NotLess':'\\u226E','NotLessEqual':'\\u2270','NotLessGreater':'\\u2278','NotLessLess':'\\u226A\\u0338','NotLessSlantEqual':'\\u2A7D\\u0338','NotLessTilde':'\\u2274','NotNestedGreaterGreater':'\\u2AA2\\u0338','NotNestedLessLess':'\\u2AA1\\u0338','notni':'\\u220C','notniva':'\\u220C','notnivb':'\\u22FE','notnivc':'\\u22FD','NotPrecedes':'\\u2280','NotPrecedesEqual':'\\u2AAF\\u0338','NotPrecedesSlantEqual':'\\u22E0','NotReverseElement':'\\u220C','NotRightTriangle':'\\u22EB','NotRightTriangleBar':'\\u29D0\\u0338','NotRightTriangleEqual':'\\u22ED','NotSquareSubset':'\\u228F\\u0338','NotSquareSubsetEqual':'\\u22E2','NotSquareSuperset':'\\u2290\\u0338','NotSquareSupersetEqual':'\\u22E3','NotSubset':'\\u2282\\u20D2','NotSubsetEqual':'\\u2288','NotSucceeds':'\\u2281','NotSucceedsEqual':'\\u2AB0\\u0338','NotSucceedsSlantEqual':'\\u22E1','NotSucceedsTilde':'\\u227F\\u0338','NotSuperset':'\\u2283\\u20D2','NotSupersetEqual':'\\u2289','NotTilde':'\\u2241','NotTildeEqual':'\\u2244','NotTildeFullEqual':'\\u2247','NotTildeTilde':'\\u2249','NotVerticalBar':'\\u2224','npar':'\\u2226','nparallel':'\\u2226','nparsl':'\\u2AFD\\u20E5','npart':'\\u2202\\u0338','npolint':'\\u2A14','npr':'\\u2280','nprcue':'\\u22E0','npre':'\\u2AAF\\u0338','nprec':'\\u2280','npreceq':'\\u2AAF\\u0338','nrarr':'\\u219B','nrArr':'\\u21CF','nrarrc':'\\u2933\\u0338','nrarrw':'\\u219D\\u0338','nrightarrow':'\\u219B','nRightarrow':'\\u21CF','nrtri':'\\u22EB','nrtrie':'\\u22ED','nsc':'\\u2281','nsccue':'\\u22E1','nsce':'\\u2AB0\\u0338','nscr':'\\uD835\\uDCC3','Nscr':'\\uD835\\uDCA9','nshortmid':'\\u2224','nshortparallel':'\\u2226','nsim':'\\u2241','nsime':'\\u2244','nsimeq':'\\u2244','nsmid':'\\u2224','nspar':'\\u2226','nsqsube':'\\u22E2','nsqsupe':'\\u22E3','nsub':'\\u2284','nsube':'\\u2288','nsubE':'\\u2AC5\\u0338','nsubset':'\\u2282\\u20D2','nsubseteq':'\\u2288','nsubseteqq':'\\u2AC5\\u0338','nsucc':'\\u2281','nsucceq':'\\u2AB0\\u0338','nsup':'\\u2285','nsupe':'\\u2289','nsupE':'\\u2AC6\\u0338','nsupset':'\\u2283\\u20D2','nsupseteq':'\\u2289','nsupseteqq':'\\u2AC6\\u0338','ntgl':'\\u2279','ntilde':'\\xF1','Ntilde':'\\xD1','ntlg':'\\u2278','ntriangleleft':'\\u22EA','ntrianglelefteq':'\\u22EC','ntriangleright':'\\u22EB','ntrianglerighteq':'\\u22ED','nu':'\\u03BD','Nu':'\\u039D','num':'#','numero':'\\u2116','numsp':'\\u2007','nvap':'\\u224D\\u20D2','nvdash':'\\u22AC','nvDash':'\\u22AD','nVdash':'\\u22AE','nVDash':'\\u22AF','nvge':'\\u2265\\u20D2','nvgt':'>\\u20D2','nvHarr':'\\u2904','nvinfin':'\\u29DE','nvlArr':'\\u2902','nvle':'\\u2264\\u20D2','nvlt':'<\\u20D2','nvltrie':'\\u22B4\\u20D2','nvrArr':'\\u2903','nvrtrie':'\\u22B5\\u20D2','nvsim':'\\u223C\\u20D2','nwarhk':'\\u2923','nwarr':'\\u2196','nwArr':'\\u21D6','nwarrow':'\\u2196','nwnear':'\\u2927','oacute':'\\xF3','Oacute':'\\xD3','oast':'\\u229B','ocir':'\\u229A','ocirc':'\\xF4','Ocirc':'\\xD4','ocy':'\\u043E','Ocy':'\\u041E','odash':'\\u229D','odblac':'\\u0151','Odblac':'\\u0150','odiv':'\\u2A38','odot':'\\u2299','odsold':'\\u29BC','oelig':'\\u0153','OElig':'\\u0152','ofcir':'\\u29BF','ofr':'\\uD835\\uDD2C','Ofr':'\\uD835\\uDD12','ogon':'\\u02DB','ograve':'\\xF2','Ograve':'\\xD2','ogt':'\\u29C1','ohbar':'\\u29B5','ohm':'\\u03A9','oint':'\\u222E','olarr':'\\u21BA','olcir':'\\u29BE','olcross':'\\u29BB','oline':'\\u203E','olt':'\\u29C0','omacr':'\\u014D','Omacr':'\\u014C','omega':'\\u03C9','Omega':'\\u03A9','omicron':'\\u03BF','Omicron':'\\u039F','omid':'\\u29B6','ominus':'\\u2296','oopf':'\\uD835\\uDD60','Oopf':'\\uD835\\uDD46','opar':'\\u29B7','OpenCurlyDoubleQuote':'\\u201C','OpenCurlyQuote':'\\u2018','operp':'\\u29B9','oplus':'\\u2295','or':'\\u2228','Or':'\\u2A54','orarr':'\\u21BB','ord':'\\u2A5D','order':'\\u2134','orderof':'\\u2134','ordf':'\\xAA','ordm':'\\xBA','origof':'\\u22B6','oror':'\\u2A56','orslope':'\\u2A57','orv':'\\u2A5B','oS':'\\u24C8','oscr':'\\u2134','Oscr':'\\uD835\\uDCAA','oslash':'\\xF8','Oslash':'\\xD8','osol':'\\u2298','otilde':'\\xF5','Otilde':'\\xD5','otimes':'\\u2297','Otimes':'\\u2A37','otimesas':'\\u2A36','ouml':'\\xF6','Ouml':'\\xD6','ovbar':'\\u233D','OverBar':'\\u203E','OverBrace':'\\u23DE','OverBracket':'\\u23B4','OverParenthesis':'\\u23DC','par':'\\u2225','para':'\\xB6','parallel':'\\u2225','parsim':'\\u2AF3','parsl':'\\u2AFD','part':'\\u2202','PartialD':'\\u2202','pcy':'\\u043F','Pcy':'\\u041F','percnt':'%','period':'.','permil':'\\u2030','perp':'\\u22A5','pertenk':'\\u2031','pfr':'\\uD835\\uDD2D','Pfr':'\\uD835\\uDD13','phi':'\\u03C6','Phi':'\\u03A6','phiv':'\\u03D5','phmmat':'\\u2133','phone':'\\u260E','pi':'\\u03C0','Pi':'\\u03A0','pitchfork':'\\u22D4','piv':'\\u03D6','planck':'\\u210F','planckh':'\\u210E','plankv':'\\u210F','plus':'+','plusacir':'\\u2A23','plusb':'\\u229E','pluscir':'\\u2A22','plusdo':'\\u2214','plusdu':'\\u2A25','pluse':'\\u2A72','PlusMinus':'\\xB1','plusmn':'\\xB1','plussim':'\\u2A26','plustwo':'\\u2A27','pm':'\\xB1','Poincareplane':'\\u210C','pointint':'\\u2A15','popf':'\\uD835\\uDD61','Popf':'\\u2119','pound':'\\xA3','pr':'\\u227A','Pr':'\\u2ABB','prap':'\\u2AB7','prcue':'\\u227C','pre':'\\u2AAF','prE':'\\u2AB3','prec':'\\u227A','precapprox':'\\u2AB7','preccurlyeq':'\\u227C','Precedes':'\\u227A','PrecedesEqual':'\\u2AAF','PrecedesSlantEqual':'\\u227C','PrecedesTilde':'\\u227E','preceq':'\\u2AAF','precnapprox':'\\u2AB9','precneqq':'\\u2AB5','precnsim':'\\u22E8','precsim':'\\u227E','prime':'\\u2032','Prime':'\\u2033','primes':'\\u2119','prnap':'\\u2AB9','prnE':'\\u2AB5','prnsim':'\\u22E8','prod':'\\u220F','Product':'\\u220F','profalar':'\\u232E','profline':'\\u2312','profsurf':'\\u2313','prop':'\\u221D','Proportion':'\\u2237','Proportional':'\\u221D','propto':'\\u221D','prsim':'\\u227E','prurel':'\\u22B0','pscr':'\\uD835\\uDCC5','Pscr':'\\uD835\\uDCAB','psi':'\\u03C8','Psi':'\\u03A8','puncsp':'\\u2008','qfr':'\\uD835\\uDD2E','Qfr':'\\uD835\\uDD14','qint':'\\u2A0C','qopf':'\\uD835\\uDD62','Qopf':'\\u211A','qprime':'\\u2057','qscr':'\\uD835\\uDCC6','Qscr':'\\uD835\\uDCAC','quaternions':'\\u210D','quatint':'\\u2A16','quest':'?','questeq':'\\u225F','quot':'\"','QUOT':'\"','rAarr':'\\u21DB','race':'\\u223D\\u0331','racute':'\\u0155','Racute':'\\u0154','radic':'\\u221A','raemptyv':'\\u29B3','rang':'\\u27E9','Rang':'\\u27EB','rangd':'\\u2992','range':'\\u29A5','rangle':'\\u27E9','raquo':'\\xBB','rarr':'\\u2192','rArr':'\\u21D2','Rarr':'\\u21A0','rarrap':'\\u2975','rarrb':'\\u21E5','rarrbfs':'\\u2920','rarrc':'\\u2933','rarrfs':'\\u291E','rarrhk':'\\u21AA','rarrlp':'\\u21AC','rarrpl':'\\u2945','rarrsim':'\\u2974','rarrtl':'\\u21A3','Rarrtl':'\\u2916','rarrw':'\\u219D','ratail':'\\u291A','rAtail':'\\u291C','ratio':'\\u2236','rationals':'\\u211A','rbarr':'\\u290D','rBarr':'\\u290F','RBarr':'\\u2910','rbbrk':'\\u2773','rbrace':'}','rbrack':']','rbrke':'\\u298C','rbrksld':'\\u298E','rbrkslu':'\\u2990','rcaron':'\\u0159','Rcaron':'\\u0158','rcedil':'\\u0157','Rcedil':'\\u0156','rceil':'\\u2309','rcub':'}','rcy':'\\u0440','Rcy':'\\u0420','rdca':'\\u2937','rdldhar':'\\u2969','rdquo':'\\u201D','rdquor':'\\u201D','rdsh':'\\u21B3','Re':'\\u211C','real':'\\u211C','realine':'\\u211B','realpart':'\\u211C','reals':'\\u211D','rect':'\\u25AD','reg':'\\xAE','REG':'\\xAE','ReverseElement':'\\u220B','ReverseEquilibrium':'\\u21CB','ReverseUpEquilibrium':'\\u296F','rfisht':'\\u297D','rfloor':'\\u230B','rfr':'\\uD835\\uDD2F','Rfr':'\\u211C','rHar':'\\u2964','rhard':'\\u21C1','rharu':'\\u21C0','rharul':'\\u296C','rho':'\\u03C1','Rho':'\\u03A1','rhov':'\\u03F1','RightAngleBracket':'\\u27E9','rightarrow':'\\u2192','Rightarrow':'\\u21D2','RightArrow':'\\u2192','RightArrowBar':'\\u21E5','RightArrowLeftArrow':'\\u21C4','rightarrowtail':'\\u21A3','RightCeiling':'\\u2309','RightDoubleBracket':'\\u27E7','RightDownTeeVector':'\\u295D','RightDownVector':'\\u21C2','RightDownVectorBar':'\\u2955','RightFloor':'\\u230B','rightharpoondown':'\\u21C1','rightharpoonup':'\\u21C0','rightleftarrows':'\\u21C4','rightleftharpoons':'\\u21CC','rightrightarrows':'\\u21C9','rightsquigarrow':'\\u219D','RightTee':'\\u22A2','RightTeeArrow':'\\u21A6','RightTeeVector':'\\u295B','rightthreetimes':'\\u22CC','RightTriangle':'\\u22B3','RightTriangleBar':'\\u29D0','RightTriangleEqual':'\\u22B5','RightUpDownVector':'\\u294F','RightUpTeeVector':'\\u295C','RightUpVector':'\\u21BE','RightUpVectorBar':'\\u2954','RightVector':'\\u21C0','RightVectorBar':'\\u2953','ring':'\\u02DA','risingdotseq':'\\u2253','rlarr':'\\u21C4','rlhar':'\\u21CC','rlm':'\\u200F','rmoust':'\\u23B1','rmoustache':'\\u23B1','rnmid':'\\u2AEE','roang':'\\u27ED','roarr':'\\u21FE','robrk':'\\u27E7','ropar':'\\u2986','ropf':'\\uD835\\uDD63','Ropf':'\\u211D','roplus':'\\u2A2E','rotimes':'\\u2A35','RoundImplies':'\\u2970','rpar':')','rpargt':'\\u2994','rppolint':'\\u2A12','rrarr':'\\u21C9','Rrightarrow':'\\u21DB','rsaquo':'\\u203A','rscr':'\\uD835\\uDCC7','Rscr':'\\u211B','rsh':'\\u21B1','Rsh':'\\u21B1','rsqb':']','rsquo':'\\u2019','rsquor':'\\u2019','rthree':'\\u22CC','rtimes':'\\u22CA','rtri':'\\u25B9','rtrie':'\\u22B5','rtrif':'\\u25B8','rtriltri':'\\u29CE','RuleDelayed':'\\u29F4','ruluhar':'\\u2968','rx':'\\u211E','sacute':'\\u015B','Sacute':'\\u015A','sbquo':'\\u201A','sc':'\\u227B','Sc':'\\u2ABC','scap':'\\u2AB8','scaron':'\\u0161','Scaron':'\\u0160','sccue':'\\u227D','sce':'\\u2AB0','scE':'\\u2AB4','scedil':'\\u015F','Scedil':'\\u015E','scirc':'\\u015D','Scirc':'\\u015C','scnap':'\\u2ABA','scnE':'\\u2AB6','scnsim':'\\u22E9','scpolint':'\\u2A13','scsim':'\\u227F','scy':'\\u0441','Scy':'\\u0421','sdot':'\\u22C5','sdotb':'\\u22A1','sdote':'\\u2A66','searhk':'\\u2925','searr':'\\u2198','seArr':'\\u21D8','searrow':'\\u2198','sect':'\\xA7','semi':';','seswar':'\\u2929','setminus':'\\u2216','setmn':'\\u2216','sext':'\\u2736','sfr':'\\uD835\\uDD30','Sfr':'\\uD835\\uDD16','sfrown':'\\u2322','sharp':'\\u266F','shchcy':'\\u0449','SHCHcy':'\\u0429','shcy':'\\u0448','SHcy':'\\u0428','ShortDownArrow':'\\u2193','ShortLeftArrow':'\\u2190','shortmid':'\\u2223','shortparallel':'\\u2225','ShortRightArrow':'\\u2192','ShortUpArrow':'\\u2191','shy':'\\xAD','sigma':'\\u03C3','Sigma':'\\u03A3','sigmaf':'\\u03C2','sigmav':'\\u03C2','sim':'\\u223C','simdot':'\\u2A6A','sime':'\\u2243','simeq':'\\u2243','simg':'\\u2A9E','simgE':'\\u2AA0','siml':'\\u2A9D','simlE':'\\u2A9F','simne':'\\u2246','simplus':'\\u2A24','simrarr':'\\u2972','slarr':'\\u2190','SmallCircle':'\\u2218','smallsetminus':'\\u2216','smashp':'\\u2A33','smeparsl':'\\u29E4','smid':'\\u2223','smile':'\\u2323','smt':'\\u2AAA','smte':'\\u2AAC','smtes':'\\u2AAC\\uFE00','softcy':'\\u044C','SOFTcy':'\\u042C','sol':'/','solb':'\\u29C4','solbar':'\\u233F','sopf':'\\uD835\\uDD64','Sopf':'\\uD835\\uDD4A','spades':'\\u2660','spadesuit':'\\u2660','spar':'\\u2225','sqcap':'\\u2293','sqcaps':'\\u2293\\uFE00','sqcup':'\\u2294','sqcups':'\\u2294\\uFE00','Sqrt':'\\u221A','sqsub':'\\u228F','sqsube':'\\u2291','sqsubset':'\\u228F','sqsubseteq':'\\u2291','sqsup':'\\u2290','sqsupe':'\\u2292','sqsupset':'\\u2290','sqsupseteq':'\\u2292','squ':'\\u25A1','square':'\\u25A1','Square':'\\u25A1','SquareIntersection':'\\u2293','SquareSubset':'\\u228F','SquareSubsetEqual':'\\u2291','SquareSuperset':'\\u2290','SquareSupersetEqual':'\\u2292','SquareUnion':'\\u2294','squarf':'\\u25AA','squf':'\\u25AA','srarr':'\\u2192','sscr':'\\uD835\\uDCC8','Sscr':'\\uD835\\uDCAE','ssetmn':'\\u2216','ssmile':'\\u2323','sstarf':'\\u22C6','star':'\\u2606','Star':'\\u22C6','starf':'\\u2605','straightepsilon':'\\u03F5','straightphi':'\\u03D5','strns':'\\xAF','sub':'\\u2282','Sub':'\\u22D0','subdot':'\\u2ABD','sube':'\\u2286','subE':'\\u2AC5','subedot':'\\u2AC3','submult':'\\u2AC1','subne':'\\u228A','subnE':'\\u2ACB','subplus':'\\u2ABF','subrarr':'\\u2979','subset':'\\u2282','Subset':'\\u22D0','subseteq':'\\u2286','subseteqq':'\\u2AC5','SubsetEqual':'\\u2286','subsetneq':'\\u228A','subsetneqq':'\\u2ACB','subsim':'\\u2AC7','subsub':'\\u2AD5','subsup':'\\u2AD3','succ':'\\u227B','succapprox':'\\u2AB8','succcurlyeq':'\\u227D','Succeeds':'\\u227B','SucceedsEqual':'\\u2AB0','SucceedsSlantEqual':'\\u227D','SucceedsTilde':'\\u227F','succeq':'\\u2AB0','succnapprox':'\\u2ABA','succneqq':'\\u2AB6','succnsim':'\\u22E9','succsim':'\\u227F','SuchThat':'\\u220B','sum':'\\u2211','Sum':'\\u2211','sung':'\\u266A','sup':'\\u2283','Sup':'\\u22D1','sup1':'\\xB9','sup2':'\\xB2','sup3':'\\xB3','supdot':'\\u2ABE','supdsub':'\\u2AD8','supe':'\\u2287','supE':'\\u2AC6','supedot':'\\u2AC4','Superset':'\\u2283','SupersetEqual':'\\u2287','suphsol':'\\u27C9','suphsub':'\\u2AD7','suplarr':'\\u297B','supmult':'\\u2AC2','supne':'\\u228B','supnE':'\\u2ACC','supplus':'\\u2AC0','supset':'\\u2283','Supset':'\\u22D1','supseteq':'\\u2287','supseteqq':'\\u2AC6','supsetneq':'\\u228B','supsetneqq':'\\u2ACC','supsim':'\\u2AC8','supsub':'\\u2AD4','supsup':'\\u2AD6','swarhk':'\\u2926','swarr':'\\u2199','swArr':'\\u21D9','swarrow':'\\u2199','swnwar':'\\u292A','szlig':'\\xDF','Tab':'\\t','target':'\\u2316','tau':'\\u03C4','Tau':'\\u03A4','tbrk':'\\u23B4','tcaron':'\\u0165','Tcaron':'\\u0164','tcedil':'\\u0163','Tcedil':'\\u0162','tcy':'\\u0442','Tcy':'\\u0422','tdot':'\\u20DB','telrec':'\\u2315','tfr':'\\uD835\\uDD31','Tfr':'\\uD835\\uDD17','there4':'\\u2234','therefore':'\\u2234','Therefore':'\\u2234','theta':'\\u03B8','Theta':'\\u0398','thetasym':'\\u03D1','thetav':'\\u03D1','thickapprox':'\\u2248','thicksim':'\\u223C','ThickSpace':'\\u205F\\u200A','thinsp':'\\u2009','ThinSpace':'\\u2009','thkap':'\\u2248','thksim':'\\u223C','thorn':'\\xFE','THORN':'\\xDE','tilde':'\\u02DC','Tilde':'\\u223C','TildeEqual':'\\u2243','TildeFullEqual':'\\u2245','TildeTilde':'\\u2248','times':'\\xD7','timesb':'\\u22A0','timesbar':'\\u2A31','timesd':'\\u2A30','tint':'\\u222D','toea':'\\u2928','top':'\\u22A4','topbot':'\\u2336','topcir':'\\u2AF1','topf':'\\uD835\\uDD65','Topf':'\\uD835\\uDD4B','topfork':'\\u2ADA','tosa':'\\u2929','tprime':'\\u2034','trade':'\\u2122','TRADE':'\\u2122','triangle':'\\u25B5','triangledown':'\\u25BF','triangleleft':'\\u25C3','trianglelefteq':'\\u22B4','triangleq':'\\u225C','triangleright':'\\u25B9','trianglerighteq':'\\u22B5','tridot':'\\u25EC','trie':'\\u225C','triminus':'\\u2A3A','TripleDot':'\\u20DB','triplus':'\\u2A39','trisb':'\\u29CD','tritime':'\\u2A3B','trpezium':'\\u23E2','tscr':'\\uD835\\uDCC9','Tscr':'\\uD835\\uDCAF','tscy':'\\u0446','TScy':'\\u0426','tshcy':'\\u045B','TSHcy':'\\u040B','tstrok':'\\u0167','Tstrok':'\\u0166','twixt':'\\u226C','twoheadleftarrow':'\\u219E','twoheadrightarrow':'\\u21A0','uacute':'\\xFA','Uacute':'\\xDA','uarr':'\\u2191','uArr':'\\u21D1','Uarr':'\\u219F','Uarrocir':'\\u2949','ubrcy':'\\u045E','Ubrcy':'\\u040E','ubreve':'\\u016D','Ubreve':'\\u016C','ucirc':'\\xFB','Ucirc':'\\xDB','ucy':'\\u0443','Ucy':'\\u0423','udarr':'\\u21C5','udblac':'\\u0171','Udblac':'\\u0170','udhar':'\\u296E','ufisht':'\\u297E','ufr':'\\uD835\\uDD32','Ufr':'\\uD835\\uDD18','ugrave':'\\xF9','Ugrave':'\\xD9','uHar':'\\u2963','uharl':'\\u21BF','uharr':'\\u21BE','uhblk':'\\u2580','ulcorn':'\\u231C','ulcorner':'\\u231C','ulcrop':'\\u230F','ultri':'\\u25F8','umacr':'\\u016B','Umacr':'\\u016A','uml':'\\xA8','UnderBar':'_','UnderBrace':'\\u23DF','UnderBracket':'\\u23B5','UnderParenthesis':'\\u23DD','Union':'\\u22C3','UnionPlus':'\\u228E','uogon':'\\u0173','Uogon':'\\u0172','uopf':'\\uD835\\uDD66','Uopf':'\\uD835\\uDD4C','uparrow':'\\u2191','Uparrow':'\\u21D1','UpArrow':'\\u2191','UpArrowBar':'\\u2912','UpArrowDownArrow':'\\u21C5','updownarrow':'\\u2195','Updownarrow':'\\u21D5','UpDownArrow':'\\u2195','UpEquilibrium':'\\u296E','upharpoonleft':'\\u21BF','upharpoonright':'\\u21BE','uplus':'\\u228E','UpperLeftArrow':'\\u2196','UpperRightArrow':'\\u2197','upsi':'\\u03C5','Upsi':'\\u03D2','upsih':'\\u03D2','upsilon':'\\u03C5','Upsilon':'\\u03A5','UpTee':'\\u22A5','UpTeeArrow':'\\u21A5','upuparrows':'\\u21C8','urcorn':'\\u231D','urcorner':'\\u231D','urcrop':'\\u230E','uring':'\\u016F','Uring':'\\u016E','urtri':'\\u25F9','uscr':'\\uD835\\uDCCA','Uscr':'\\uD835\\uDCB0','utdot':'\\u22F0','utilde':'\\u0169','Utilde':'\\u0168','utri':'\\u25B5','utrif':'\\u25B4','uuarr':'\\u21C8','uuml':'\\xFC','Uuml':'\\xDC','uwangle':'\\u29A7','vangrt':'\\u299C','varepsilon':'\\u03F5','varkappa':'\\u03F0','varnothing':'\\u2205','varphi':'\\u03D5','varpi':'\\u03D6','varpropto':'\\u221D','varr':'\\u2195','vArr':'\\u21D5','varrho':'\\u03F1','varsigma':'\\u03C2','varsubsetneq':'\\u228A\\uFE00','varsubsetneqq':'\\u2ACB\\uFE00','varsupsetneq':'\\u228B\\uFE00','varsupsetneqq':'\\u2ACC\\uFE00','vartheta':'\\u03D1','vartriangleleft':'\\u22B2','vartriangleright':'\\u22B3','vBar':'\\u2AE8','Vbar':'\\u2AEB','vBarv':'\\u2AE9','vcy':'\\u0432','Vcy':'\\u0412','vdash':'\\u22A2','vDash':'\\u22A8','Vdash':'\\u22A9','VDash':'\\u22AB','Vdashl':'\\u2AE6','vee':'\\u2228','Vee':'\\u22C1','veebar':'\\u22BB','veeeq':'\\u225A','vellip':'\\u22EE','verbar':'|','Verbar':'\\u2016','vert':'|','Vert':'\\u2016','VerticalBar':'\\u2223','VerticalLine':'|','VerticalSeparator':'\\u2758','VerticalTilde':'\\u2240','VeryThinSpace':'\\u200A','vfr':'\\uD835\\uDD33','Vfr':'\\uD835\\uDD19','vltri':'\\u22B2','vnsub':'\\u2282\\u20D2','vnsup':'\\u2283\\u20D2','vopf':'\\uD835\\uDD67','Vopf':'\\uD835\\uDD4D','vprop':'\\u221D','vrtri':'\\u22B3','vscr':'\\uD835\\uDCCB','Vscr':'\\uD835\\uDCB1','vsubne':'\\u228A\\uFE00','vsubnE':'\\u2ACB\\uFE00','vsupne':'\\u228B\\uFE00','vsupnE':'\\u2ACC\\uFE00','Vvdash':'\\u22AA','vzigzag':'\\u299A','wcirc':'\\u0175','Wcirc':'\\u0174','wedbar':'\\u2A5F','wedge':'\\u2227','Wedge':'\\u22C0','wedgeq':'\\u2259','weierp':'\\u2118','wfr':'\\uD835\\uDD34','Wfr':'\\uD835\\uDD1A','wopf':'\\uD835\\uDD68','Wopf':'\\uD835\\uDD4E','wp':'\\u2118','wr':'\\u2240','wreath':'\\u2240','wscr':'\\uD835\\uDCCC','Wscr':'\\uD835\\uDCB2','xcap':'\\u22C2','xcirc':'\\u25EF','xcup':'\\u22C3','xdtri':'\\u25BD','xfr':'\\uD835\\uDD35','Xfr':'\\uD835\\uDD1B','xharr':'\\u27F7','xhArr':'\\u27FA','xi':'\\u03BE','Xi':'\\u039E','xlarr':'\\u27F5','xlArr':'\\u27F8','xmap':'\\u27FC','xnis':'\\u22FB','xodot':'\\u2A00','xopf':'\\uD835\\uDD69','Xopf':'\\uD835\\uDD4F','xoplus':'\\u2A01','xotime':'\\u2A02','xrarr':'\\u27F6','xrArr':'\\u27F9','xscr':'\\uD835\\uDCCD','Xscr':'\\uD835\\uDCB3','xsqcup':'\\u2A06','xuplus':'\\u2A04','xutri':'\\u25B3','xvee':'\\u22C1','xwedge':'\\u22C0','yacute':'\\xFD','Yacute':'\\xDD','yacy':'\\u044F','YAcy':'\\u042F','ycirc':'\\u0177','Ycirc':'\\u0176','ycy':'\\u044B','Ycy':'\\u042B','yen':'\\xA5','yfr':'\\uD835\\uDD36','Yfr':'\\uD835\\uDD1C','yicy':'\\u0457','YIcy':'\\u0407','yopf':'\\uD835\\uDD6A','Yopf':'\\uD835\\uDD50','yscr':'\\uD835\\uDCCE','Yscr':'\\uD835\\uDCB4','yucy':'\\u044E','YUcy':'\\u042E','yuml':'\\xFF','Yuml':'\\u0178','zacute':'\\u017A','Zacute':'\\u0179','zcaron':'\\u017E','Zcaron':'\\u017D','zcy':'\\u0437','Zcy':'\\u0417','zdot':'\\u017C','Zdot':'\\u017B','zeetrf':'\\u2128','ZeroWidthSpace':'\\u200B','zeta':'\\u03B6','Zeta':'\\u0396','zfr':'\\uD835\\uDD37','Zfr':'\\u2128','zhcy':'\\u0436','ZHcy':'\\u0416','zigrarr':'\\u21DD','zopf':'\\uD835\\uDD6B','Zopf':'\\u2124','zscr':'\\uD835\\uDCCF','Zscr':'\\uD835\\uDCB5','zwj':'\\u200D','zwnj':'\\u200C'};\n\tvar decodeMapLegacy = {'aacute':'\\xE1','Aacute':'\\xC1','acirc':'\\xE2','Acirc':'\\xC2','acute':'\\xB4','aelig':'\\xE6','AElig':'\\xC6','agrave':'\\xE0','Agrave':'\\xC0','amp':'&','AMP':'&','aring':'\\xE5','Aring':'\\xC5','atilde':'\\xE3','Atilde':'\\xC3','auml':'\\xE4','Auml':'\\xC4','brvbar':'\\xA6','ccedil':'\\xE7','Ccedil':'\\xC7','cedil':'\\xB8','cent':'\\xA2','copy':'\\xA9','COPY':'\\xA9','curren':'\\xA4','deg':'\\xB0','divide':'\\xF7','eacute':'\\xE9','Eacute':'\\xC9','ecirc':'\\xEA','Ecirc':'\\xCA','egrave':'\\xE8','Egrave':'\\xC8','eth':'\\xF0','ETH':'\\xD0','euml':'\\xEB','Euml':'\\xCB','frac12':'\\xBD','frac14':'\\xBC','frac34':'\\xBE','gt':'>','GT':'>','iacute':'\\xED','Iacute':'\\xCD','icirc':'\\xEE','Icirc':'\\xCE','iexcl':'\\xA1','igrave':'\\xEC','Igrave':'\\xCC','iquest':'\\xBF','iuml':'\\xEF','Iuml':'\\xCF','laquo':'\\xAB','lt':'<','LT':'<','macr':'\\xAF','micro':'\\xB5','middot':'\\xB7','nbsp':'\\xA0','not':'\\xAC','ntilde':'\\xF1','Ntilde':'\\xD1','oacute':'\\xF3','Oacute':'\\xD3','ocirc':'\\xF4','Ocirc':'\\xD4','ograve':'\\xF2','Ograve':'\\xD2','ordf':'\\xAA','ordm':'\\xBA','oslash':'\\xF8','Oslash':'\\xD8','otilde':'\\xF5','Otilde':'\\xD5','ouml':'\\xF6','Ouml':'\\xD6','para':'\\xB6','plusmn':'\\xB1','pound':'\\xA3','quot':'\"','QUOT':'\"','raquo':'\\xBB','reg':'\\xAE','REG':'\\xAE','sect':'\\xA7','shy':'\\xAD','sup1':'\\xB9','sup2':'\\xB2','sup3':'\\xB3','szlig':'\\xDF','thorn':'\\xFE','THORN':'\\xDE','times':'\\xD7','uacute':'\\xFA','Uacute':'\\xDA','ucirc':'\\xFB','Ucirc':'\\xDB','ugrave':'\\xF9','Ugrave':'\\xD9','uml':'\\xA8','uuml':'\\xFC','Uuml':'\\xDC','yacute':'\\xFD','Yacute':'\\xDD','yen':'\\xA5','yuml':'\\xFF'};\n\tvar decodeMapNumeric = {'0':'\\uFFFD','128':'\\u20AC','130':'\\u201A','131':'\\u0192','132':'\\u201E','133':'\\u2026','134':'\\u2020','135':'\\u2021','136':'\\u02C6','137':'\\u2030','138':'\\u0160','139':'\\u2039','140':'\\u0152','142':'\\u017D','145':'\\u2018','146':'\\u2019','147':'\\u201C','148':'\\u201D','149':'\\u2022','150':'\\u2013','151':'\\u2014','152':'\\u02DC','153':'\\u2122','154':'\\u0161','155':'\\u203A','156':'\\u0153','158':'\\u017E','159':'\\u0178'};\n\tvar invalidReferenceCodePoints = [1,2,3,4,5,6,7,8,11,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,64976,64977,64978,64979,64980,64981,64982,64983,64984,64985,64986,64987,64988,64989,64990,64991,64992,64993,64994,64995,64996,64997,64998,64999,65000,65001,65002,65003,65004,65005,65006,65007,65534,65535,131070,131071,196606,196607,262142,262143,327678,327679,393214,393215,458750,458751,524286,524287,589822,589823,655358,655359,720894,720895,786430,786431,851966,851967,917502,917503,983038,983039,1048574,1048575,1114110,1114111];\n\n\t/*--------------------------------------------------------------------------*/\n\n\tvar stringFromCharCode = String.fromCharCode;\n\n\tvar object = {};\n\tvar hasOwnProperty = object.hasOwnProperty;\n\tvar has = function(object, propertyName) {\n\t\treturn hasOwnProperty.call(object, propertyName);\n\t};\n\n\tvar contains = function(array, value) {\n\t\tvar index = -1;\n\t\tvar length = array.length;\n\t\twhile (++index < length) {\n\t\t\tif (array[index] == value) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t};\n\n\tvar merge = function(options, defaults) {\n\t\tif (!options) {\n\t\t\treturn defaults;\n\t\t}\n\t\tvar result = {};\n\t\tvar key;\n\t\tfor (key in defaults) {\n\t\t\t// A `hasOwnProperty` check is not needed here, since only recognized\n\t\t\t// option names are used anyway. Any others are ignored.\n\t\t\tresult[key] = has(options, key) ? options[key] : defaults[key];\n\t\t}\n\t\treturn result;\n\t};\n\n\t// Modified version of `ucs2encode`; see https://mths.be/punycode.\n\tvar codePointToSymbol = function(codePoint, strict) {\n\t\tvar output = '';\n\t\tif ((codePoint >= 0xD800 && codePoint <= 0xDFFF) || codePoint > 0x10FFFF) {\n\t\t\t// See issue #4:\n\t\t\t// “Otherwise, if the number is in the range 0xD800 to 0xDFFF or is\n\t\t\t// greater than 0x10FFFF, then this is a parse error. Return a U+FFFD\n\t\t\t// REPLACEMENT CHARACTER.”\n\t\t\tif (strict) {\n\t\t\t\tparseError('character reference outside the permissible Unicode range');\n\t\t\t}\n\t\t\treturn '\\uFFFD';\n\t\t}\n\t\tif (has(decodeMapNumeric, codePoint)) {\n\t\t\tif (strict) {\n\t\t\t\tparseError('disallowed character reference');\n\t\t\t}\n\t\t\treturn decodeMapNumeric[codePoint];\n\t\t}\n\t\tif (strict && contains(invalidReferenceCodePoints, codePoint)) {\n\t\t\tparseError('disallowed character reference');\n\t\t}\n\t\tif (codePoint > 0xFFFF) {\n\t\t\tcodePoint -= 0x10000;\n\t\t\toutput += stringFromCharCode(codePoint >>> 10 & 0x3FF | 0xD800);\n\t\t\tcodePoint = 0xDC00 | codePoint & 0x3FF;\n\t\t}\n\t\toutput += stringFromCharCode(codePoint);\n\t\treturn output;\n\t};\n\n\tvar hexEscape = function(codePoint) {\n\t\treturn '&#x' + codePoint.toString(16).toUpperCase() + ';';\n\t};\n\n\tvar decEscape = function(codePoint) {\n\t\treturn '&#' + codePoint + ';';\n\t};\n\n\tvar parseError = function(message) {\n\t\tthrow Error('Parse error: ' + message);\n\t};\n\n\t/*--------------------------------------------------------------------------*/\n\n\tvar encode = function(string, options) {\n\t\toptions = merge(options, encode.options);\n\t\tvar strict = options.strict;\n\t\tif (strict && regexInvalidRawCodePoint.test(string)) {\n\t\t\tparseError('forbidden code point');\n\t\t}\n\t\tvar encodeEverything = options.encodeEverything;\n\t\tvar useNamedReferences = options.useNamedReferences;\n\t\tvar allowUnsafeSymbols = options.allowUnsafeSymbols;\n\t\tvar escapeCodePoint = options.decimal ? decEscape : hexEscape;\n\n\t\tvar escapeBmpSymbol = function(symbol) {\n\t\t\treturn escapeCodePoint(symbol.charCodeAt(0));\n\t\t};\n\n\t\tif (encodeEverything) {\n\t\t\t// Encode ASCII symbols.\n\t\t\tstring = string.replace(regexAsciiWhitelist, function(symbol) {\n\t\t\t\t// Use named references if requested & possible.\n\t\t\t\tif (useNamedReferences && has(encodeMap, symbol)) {\n\t\t\t\t\treturn '&' + encodeMap[symbol] + ';';\n\t\t\t\t}\n\t\t\t\treturn escapeBmpSymbol(symbol);\n\t\t\t});\n\t\t\t// Shorten a few escapes that represent two symbols, of which at least one\n\t\t\t// is within the ASCII range.\n\t\t\tif (useNamedReferences) {\n\t\t\t\tstring = string\n\t\t\t\t\t.replace(/&gt;\\u20D2/g, '&nvgt;')\n\t\t\t\t\t.replace(/&lt;\\u20D2/g, '&nvlt;')\n\t\t\t\t\t.replace(/&#x66;&#x6A;/g, '&fjlig;');\n\t\t\t}\n\t\t\t// Encode non-ASCII symbols.\n\t\t\tif (useNamedReferences) {\n\t\t\t\t// Encode non-ASCII symbols that can be replaced with a named reference.\n\t\t\t\tstring = string.replace(regexEncodeNonAscii, function(string) {\n\t\t\t\t\t// Note: there is no need to check `has(encodeMap, string)` here.\n\t\t\t\t\treturn '&' + encodeMap[string] + ';';\n\t\t\t\t});\n\t\t\t}\n\t\t\t// Note: any remaining non-ASCII symbols are handled outside of the `if`.\n\t\t} else if (useNamedReferences) {\n\t\t\t// Apply named character references.\n\t\t\t// Encode `<>\"'&` using named character references.\n\t\t\tif (!allowUnsafeSymbols) {\n\t\t\t\tstring = string.replace(regexEscape, function(string) {\n\t\t\t\t\treturn '&' + encodeMap[string] + ';'; // no need to check `has()` here\n\t\t\t\t});\n\t\t\t}\n\t\t\t// Shorten escapes that represent two symbols, of which at least one is\n\t\t\t// `<>\"'&`.\n\t\t\tstring = string\n\t\t\t\t.replace(/&gt;\\u20D2/g, '&nvgt;')\n\t\t\t\t.replace(/&lt;\\u20D2/g, '&nvlt;');\n\t\t\t// Encode non-ASCII symbols that can be replaced with a named reference.\n\t\t\tstring = string.replace(regexEncodeNonAscii, function(string) {\n\t\t\t\t// Note: there is no need to check `has(encodeMap, string)` here.\n\t\t\t\treturn '&' + encodeMap[string] + ';';\n\t\t\t});\n\t\t} else if (!allowUnsafeSymbols) {\n\t\t\t// Encode `<>\"'&` using hexadecimal escapes, now that they’re not handled\n\t\t\t// using named character references.\n\t\t\tstring = string.replace(regexEscape, escapeBmpSymbol);\n\t\t}\n\t\treturn string\n\t\t\t// Encode astral symbols.\n\t\t\t.replace(regexAstralSymbols, function($0) {\n\t\t\t\t// https://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae\n\t\t\t\tvar high = $0.charCodeAt(0);\n\t\t\t\tvar low = $0.charCodeAt(1);\n\t\t\t\tvar codePoint = (high - 0xD800) * 0x400 + low - 0xDC00 + 0x10000;\n\t\t\t\treturn escapeCodePoint(codePoint);\n\t\t\t})\n\t\t\t// Encode any remaining BMP symbols that are not printable ASCII symbols\n\t\t\t// using a hexadecimal escape.\n\t\t\t.replace(regexBmpWhitelist, escapeBmpSymbol);\n\t};\n\t// Expose default options (so they can be overridden globally).\n\tencode.options = {\n\t\t'allowUnsafeSymbols': false,\n\t\t'encodeEverything': false,\n\t\t'strict': false,\n\t\t'useNamedReferences': false,\n\t\t'decimal' : false\n\t};\n\n\tvar decode = function(html, options) {\n\t\toptions = merge(options, decode.options);\n\t\tvar strict = options.strict;\n\t\tif (strict && regexInvalidEntity.test(html)) {\n\t\t\tparseError('malformed character reference');\n\t\t}\n\t\treturn html.replace(regexDecode, function($0, $1, $2, $3, $4, $5, $6, $7, $8) {\n\t\t\tvar codePoint;\n\t\t\tvar semicolon;\n\t\t\tvar decDigits;\n\t\t\tvar hexDigits;\n\t\t\tvar reference;\n\t\t\tvar next;\n\n\t\t\tif ($1) {\n\t\t\t\treference = $1;\n\t\t\t\t// Note: there is no need to check `has(decodeMap, reference)`.\n\t\t\t\treturn decodeMap[reference];\n\t\t\t}\n\n\t\t\tif ($2) {\n\t\t\t\t// Decode named character references without trailing `;`, e.g. `&amp`.\n\t\t\t\t// This is only a parse error if it gets converted to `&`, or if it is\n\t\t\t\t// followed by `=` in an attribute context.\n\t\t\t\treference = $2;\n\t\t\t\tnext = $3;\n\t\t\t\tif (next && options.isAttributeValue) {\n\t\t\t\t\tif (strict && next == '=') {\n\t\t\t\t\t\tparseError('`&` did not start a character reference');\n\t\t\t\t\t}\n\t\t\t\t\treturn $0;\n\t\t\t\t} else {\n\t\t\t\t\tif (strict) {\n\t\t\t\t\t\tparseError(\n\t\t\t\t\t\t\t'named character reference was not terminated by a semicolon'\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\t// Note: there is no need to check `has(decodeMapLegacy, reference)`.\n\t\t\t\t\treturn decodeMapLegacy[reference] + (next || '');\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ($4) {\n\t\t\t\t// Decode decimal escapes, e.g. `&#119558;`.\n\t\t\t\tdecDigits = $4;\n\t\t\t\tsemicolon = $5;\n\t\t\t\tif (strict && !semicolon) {\n\t\t\t\t\tparseError('character reference was not terminated by a semicolon');\n\t\t\t\t}\n\t\t\t\tcodePoint = parseInt(decDigits, 10);\n\t\t\t\treturn codePointToSymbol(codePoint, strict);\n\t\t\t}\n\n\t\t\tif ($6) {\n\t\t\t\t// Decode hexadecimal escapes, e.g. `&#x1D306;`.\n\t\t\t\thexDigits = $6;\n\t\t\t\tsemicolon = $7;\n\t\t\t\tif (strict && !semicolon) {\n\t\t\t\t\tparseError('character reference was not terminated by a semicolon');\n\t\t\t\t}\n\t\t\t\tcodePoint = parseInt(hexDigits, 16);\n\t\t\t\treturn codePointToSymbol(codePoint, strict);\n\t\t\t}\n\n\t\t\t// If we’re still here, `if ($7)` is implied; it’s an ambiguous\n\t\t\t// ampersand for sure. https://mths.be/notes/ambiguous-ampersands\n\t\t\tif (strict) {\n\t\t\t\tparseError(\n\t\t\t\t\t'named character reference was not terminated by a semicolon'\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn $0;\n\t\t});\n\t};\n\t// Expose default options (so they can be overridden globally).\n\tdecode.options = {\n\t\t'isAttributeValue': false,\n\t\t'strict': false\n\t};\n\n\tvar escape = function(string) {\n\t\treturn string.replace(regexEscape, function($0) {\n\t\t\t// Note: there is no need to check `has(escapeMap, $0)` here.\n\t\t\treturn escapeMap[$0];\n\t\t});\n\t};\n\n\t/*--------------------------------------------------------------------------*/\n\n\tvar he = {\n\t\t'version': '1.2.0',\n\t\t'encode': encode,\n\t\t'decode': decode,\n\t\t'escape': escape,\n\t\t'unescape': decode\n\t};\n\n\t// Some AMD build optimizers, like r.js, check for specific condition patterns\n\t// like the following:\n\tif (\n\t\ttypeof define == 'function' &&\n\t\ttypeof define.amd == 'object' &&\n\t\tdefine.amd\n\t) {\n\t\tdefine(function() {\n\t\t\treturn he;\n\t\t});\n\t}\telse if (freeExports && !freeExports.nodeType) {\n\t\tif (freeModule) { // in Node.js, io.js, or RingoJS v0.8.0+\n\t\t\tfreeModule.exports = he;\n\t\t} else { // in Narwhal or RingoJS v0.7.0-\n\t\t\tfor (var key in he) {\n\t\t\t\thas(he, key) && (freeExports[key] = he[key]);\n\t\t\t}\n\t\t}\n\t} else { // in Rhino or a web browser\n\t\troot.he = he;\n\t}\n\n}(this));\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isError = exports.inherit = exports.assertError = void 0;\nfunction assertError(err) {\n if (!isError(err)) {\n throw new Error(\"Parameter was not an error\");\n }\n}\nexports.assertError = assertError;\nfunction inherit(ctor, superCtor) {\n ctor.super_ = superCtor;\n ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n}\nexports.inherit = inherit;\nfunction isError(err) {\n return objectToString(err) === \"[object Error]\" || err instanceof Error;\n}\nexports.isError = isError;\nfunction objectToString(obj) {\n return Object.prototype.toString.call(obj);\n}\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Layerr = void 0;\nvar layerr_1 = require(\"./layerr\");\nObject.defineProperty(exports, \"Layerr\", { enumerable: true, get: function () { return layerr_1.Layerr; } });\n__exportStar(require(\"./types\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Layerr = void 0;\nconst error_1 = require(\"./error\");\nconst tools_1 = require(\"./tools\");\nfunction Layerr(errorOptionsOrMessage, messageText) {\n const args = [...arguments];\n if (this instanceof Layerr === false) {\n throw new Error(\"Cannot invoke 'Layerr' like a function: It must be called with 'new'\");\n }\n const { options, shortMessage } = tools_1.parseArguments(args);\n this.name = \"Layerr\";\n if (options.name && typeof options.name === \"string\") {\n this.name = options.name;\n }\n let message = shortMessage;\n if (options.cause) {\n Object.defineProperty(this, \"_cause\", { value: options.cause });\n message = `${message}: ${options.cause.message}`;\n }\n this.message = message;\n Object.defineProperty(this, \"_info\", { value: {} });\n if (options.info && typeof options.info === \"object\") {\n Object.assign(this._info, options.info);\n }\n Error.call(this, message);\n if (Error.captureStackTrace) {\n const ctor = options.constructorOpt || this.constructor;\n Error.captureStackTrace(this, ctor);\n }\n return this;\n}\nexports.Layerr = Layerr;\nerror_1.inherit(Layerr, Error);\nLayerr.prototype.cause = function _getCause() {\n return Layerr.cause(this) || undefined;\n};\nLayerr.prototype.toString = function _toString() {\n let output = this.name || this.constructor.name || this.constructor.prototype.name;\n if (this.message) {\n output = `${output}: ${this.message}`;\n }\n return output;\n};\nLayerr.cause = function __getCause(err) {\n error_1.assertError(err);\n return error_1.isError(err._cause) ? err._cause : null;\n};\nLayerr.fullStack = function __getFullStack(err) {\n error_1.assertError(err);\n const cause = Layerr.cause(err);\n if (cause) {\n return `${err.stack}\\ncaused by: ${Layerr.fullStack(cause)}`;\n }\n return err.stack;\n};\nLayerr.info = function __getInfo(err) {\n error_1.assertError(err);\n const output = {};\n const cause = Layerr.cause(err);\n if (cause) {\n Object.assign(output, Layerr.info(cause));\n }\n if (err._info) {\n Object.assign(output, err._info);\n }\n return output;\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.parseArguments = void 0;\nconst error_1 = require(\"./error\");\nfunction parseArguments(args) {\n let options, shortMessage = \"\";\n if (args.length === 0) {\n options = {};\n }\n else if (error_1.isError(args[0])) {\n options = {\n cause: args[0]\n };\n shortMessage = args.slice(1).join(\" \") || \"\";\n }\n else if (args[0] && typeof args[0] === \"object\") {\n options = Object.assign({}, args[0]);\n shortMessage = args.slice(1).join(\" \") || \"\";\n }\n else if (typeof args[0] === \"string\") {\n options = {};\n shortMessage = shortMessage = args.join(\" \") || \"\";\n }\n else {\n throw new Error(\"Invalid arguments passed to Layerr\");\n }\n return {\n options,\n shortMessage\n };\n}\nexports.parseArguments = parseArguments;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","var map = {\n\t\"./af\": 42786,\n\t\"./af.js\": 42786,\n\t\"./ar\": 30867,\n\t\"./ar-dz\": 14130,\n\t\"./ar-dz.js\": 14130,\n\t\"./ar-kw\": 96135,\n\t\"./ar-kw.js\": 96135,\n\t\"./ar-ly\": 56440,\n\t\"./ar-ly.js\": 56440,\n\t\"./ar-ma\": 47702,\n\t\"./ar-ma.js\": 47702,\n\t\"./ar-sa\": 16040,\n\t\"./ar-sa.js\": 16040,\n\t\"./ar-tn\": 37100,\n\t\"./ar-tn.js\": 37100,\n\t\"./ar.js\": 30867,\n\t\"./az\": 31083,\n\t\"./az.js\": 31083,\n\t\"./be\": 9808,\n\t\"./be.js\": 9808,\n\t\"./bg\": 68338,\n\t\"./bg.js\": 68338,\n\t\"./bm\": 67438,\n\t\"./bm.js\": 67438,\n\t\"./bn\": 8905,\n\t\"./bn-bd\": 76225,\n\t\"./bn-bd.js\": 76225,\n\t\"./bn.js\": 8905,\n\t\"./bo\": 11560,\n\t\"./bo.js\": 11560,\n\t\"./br\": 1278,\n\t\"./br.js\": 1278,\n\t\"./bs\": 80622,\n\t\"./bs.js\": 80622,\n\t\"./ca\": 2468,\n\t\"./ca.js\": 2468,\n\t\"./cs\": 5822,\n\t\"./cs.js\": 5822,\n\t\"./cv\": 50877,\n\t\"./cv.js\": 50877,\n\t\"./cy\": 47373,\n\t\"./cy.js\": 47373,\n\t\"./da\": 24780,\n\t\"./da.js\": 24780,\n\t\"./de\": 59740,\n\t\"./de-at\": 60217,\n\t\"./de-at.js\": 60217,\n\t\"./de-ch\": 60894,\n\t\"./de-ch.js\": 60894,\n\t\"./de.js\": 59740,\n\t\"./dv\": 5300,\n\t\"./dv.js\": 5300,\n\t\"./el\": 50837,\n\t\"./el.js\": 50837,\n\t\"./en-au\": 78348,\n\t\"./en-au.js\": 78348,\n\t\"./en-ca\": 77925,\n\t\"./en-ca.js\": 77925,\n\t\"./en-gb\": 22243,\n\t\"./en-gb.js\": 22243,\n\t\"./en-ie\": 46436,\n\t\"./en-ie.js\": 46436,\n\t\"./en-il\": 47207,\n\t\"./en-il.js\": 47207,\n\t\"./en-in\": 44175,\n\t\"./en-in.js\": 44175,\n\t\"./en-nz\": 76319,\n\t\"./en-nz.js\": 76319,\n\t\"./en-sg\": 31662,\n\t\"./en-sg.js\": 31662,\n\t\"./eo\": 92915,\n\t\"./eo.js\": 92915,\n\t\"./es\": 55655,\n\t\"./es-do\": 55251,\n\t\"./es-do.js\": 55251,\n\t\"./es-mx\": 96112,\n\t\"./es-mx.js\": 96112,\n\t\"./es-us\": 71146,\n\t\"./es-us.js\": 71146,\n\t\"./es.js\": 55655,\n\t\"./et\": 5603,\n\t\"./et.js\": 5603,\n\t\"./eu\": 77763,\n\t\"./eu.js\": 77763,\n\t\"./fa\": 76959,\n\t\"./fa.js\": 76959,\n\t\"./fi\": 11897,\n\t\"./fi.js\": 11897,\n\t\"./fil\": 42549,\n\t\"./fil.js\": 42549,\n\t\"./fo\": 94694,\n\t\"./fo.js\": 94694,\n\t\"./fr\": 94470,\n\t\"./fr-ca\": 63049,\n\t\"./fr-ca.js\": 63049,\n\t\"./fr-ch\": 52330,\n\t\"./fr-ch.js\": 52330,\n\t\"./fr.js\": 94470,\n\t\"./fy\": 5044,\n\t\"./fy.js\": 5044,\n\t\"./ga\": 29295,\n\t\"./ga.js\": 29295,\n\t\"./gd\": 2101,\n\t\"./gd.js\": 2101,\n\t\"./gl\": 38794,\n\t\"./gl.js\": 38794,\n\t\"./gom-deva\": 27884,\n\t\"./gom-deva.js\": 27884,\n\t\"./gom-latn\": 23168,\n\t\"./gom-latn.js\": 23168,\n\t\"./gu\": 95349,\n\t\"./gu.js\": 95349,\n\t\"./he\": 24206,\n\t\"./he.js\": 24206,\n\t\"./hi\": 30094,\n\t\"./hi.js\": 30094,\n\t\"./hr\": 30316,\n\t\"./hr.js\": 30316,\n\t\"./hu\": 22138,\n\t\"./hu.js\": 22138,\n\t\"./hy-am\": 11423,\n\t\"./hy-am.js\": 11423,\n\t\"./id\": 29218,\n\t\"./id.js\": 29218,\n\t\"./is\": 90135,\n\t\"./is.js\": 90135,\n\t\"./it\": 90626,\n\t\"./it-ch\": 10150,\n\t\"./it-ch.js\": 10150,\n\t\"./it.js\": 90626,\n\t\"./ja\": 39183,\n\t\"./ja.js\": 39183,\n\t\"./jv\": 24286,\n\t\"./jv.js\": 24286,\n\t\"./ka\": 12105,\n\t\"./ka.js\": 12105,\n\t\"./kk\": 47772,\n\t\"./kk.js\": 47772,\n\t\"./km\": 18758,\n\t\"./km.js\": 18758,\n\t\"./kn\": 79282,\n\t\"./kn.js\": 79282,\n\t\"./ko\": 33730,\n\t\"./ko.js\": 33730,\n\t\"./ku\": 1408,\n\t\"./ku.js\": 1408,\n\t\"./ky\": 33291,\n\t\"./ky.js\": 33291,\n\t\"./lb\": 36841,\n\t\"./lb.js\": 36841,\n\t\"./lo\": 55466,\n\t\"./lo.js\": 55466,\n\t\"./lt\": 57010,\n\t\"./lt.js\": 57010,\n\t\"./lv\": 37595,\n\t\"./lv.js\": 37595,\n\t\"./me\": 39861,\n\t\"./me.js\": 39861,\n\t\"./mi\": 35493,\n\t\"./mi.js\": 35493,\n\t\"./mk\": 95966,\n\t\"./mk.js\": 95966,\n\t\"./ml\": 87341,\n\t\"./ml.js\": 87341,\n\t\"./mn\": 5115,\n\t\"./mn.js\": 5115,\n\t\"./mr\": 10370,\n\t\"./mr.js\": 10370,\n\t\"./ms\": 9847,\n\t\"./ms-my\": 41237,\n\t\"./ms-my.js\": 41237,\n\t\"./ms.js\": 9847,\n\t\"./mt\": 72126,\n\t\"./mt.js\": 72126,\n\t\"./my\": 56165,\n\t\"./my.js\": 56165,\n\t\"./nb\": 64924,\n\t\"./nb.js\": 64924,\n\t\"./ne\": 16744,\n\t\"./ne.js\": 16744,\n\t\"./nl\": 93901,\n\t\"./nl-be\": 59814,\n\t\"./nl-be.js\": 59814,\n\t\"./nl.js\": 93901,\n\t\"./nn\": 83877,\n\t\"./nn.js\": 83877,\n\t\"./oc-lnc\": 92135,\n\t\"./oc-lnc.js\": 92135,\n\t\"./pa-in\": 15858,\n\t\"./pa-in.js\": 15858,\n\t\"./pl\": 64495,\n\t\"./pl.js\": 64495,\n\t\"./pt\": 89520,\n\t\"./pt-br\": 57971,\n\t\"./pt-br.js\": 57971,\n\t\"./pt.js\": 89520,\n\t\"./ro\": 96459,\n\t\"./ro.js\": 96459,\n\t\"./ru\": 21793,\n\t\"./ru.js\": 21793,\n\t\"./sd\": 40950,\n\t\"./sd.js\": 40950,\n\t\"./se\": 10490,\n\t\"./se.js\": 10490,\n\t\"./si\": 90124,\n\t\"./si.js\": 90124,\n\t\"./sk\": 64249,\n\t\"./sk.js\": 64249,\n\t\"./sl\": 14985,\n\t\"./sl.js\": 14985,\n\t\"./sq\": 51104,\n\t\"./sq.js\": 51104,\n\t\"./sr\": 49131,\n\t\"./sr-cyrl\": 79915,\n\t\"./sr-cyrl.js\": 79915,\n\t\"./sr.js\": 49131,\n\t\"./ss\": 85893,\n\t\"./ss.js\": 85893,\n\t\"./sv\": 98760,\n\t\"./sv.js\": 98760,\n\t\"./sw\": 91172,\n\t\"./sw.js\": 91172,\n\t\"./ta\": 27333,\n\t\"./ta.js\": 27333,\n\t\"./te\": 23110,\n\t\"./te.js\": 23110,\n\t\"./tet\": 52095,\n\t\"./tet.js\": 52095,\n\t\"./tg\": 27321,\n\t\"./tg.js\": 27321,\n\t\"./th\": 9041,\n\t\"./th.js\": 9041,\n\t\"./tk\": 19005,\n\t\"./tk.js\": 19005,\n\t\"./tl-ph\": 75768,\n\t\"./tl-ph.js\": 75768,\n\t\"./tlh\": 89444,\n\t\"./tlh.js\": 89444,\n\t\"./tr\": 72397,\n\t\"./tr.js\": 72397,\n\t\"./tzl\": 28254,\n\t\"./tzl.js\": 28254,\n\t\"./tzm\": 51106,\n\t\"./tzm-latn\": 30699,\n\t\"./tzm-latn.js\": 30699,\n\t\"./tzm.js\": 51106,\n\t\"./ug-cn\": 9288,\n\t\"./ug-cn.js\": 9288,\n\t\"./uk\": 67691,\n\t\"./uk.js\": 67691,\n\t\"./ur\": 13795,\n\t\"./ur.js\": 13795,\n\t\"./uz\": 6791,\n\t\"./uz-latn\": 60588,\n\t\"./uz-latn.js\": 60588,\n\t\"./uz.js\": 6791,\n\t\"./vi\": 65666,\n\t\"./vi.js\": 65666,\n\t\"./x-pseudo\": 14378,\n\t\"./x-pseudo.js\": 14378,\n\t\"./yo\": 75805,\n\t\"./yo.js\": 75805,\n\t\"./zh-cn\": 83839,\n\t\"./zh-cn.js\": 83839,\n\t\"./zh-hk\": 55726,\n\t\"./zh-hk.js\": 55726,\n\t\"./zh-mo\": 99807,\n\t\"./zh-mo.js\": 99807,\n\t\"./zh-tw\": 74152,\n\t\"./zh-tw.js\": 74152\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 46700;","/**\n* @license nested-property https://github.com/cosmosio/nested-property\n*\n* The MIT License (MIT)\n*\n* Copyright (c) 2014-2020 Olivier Scherrer <pode.fr@gmail.com>\n*/\n\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _wrapNativeSuper(Class) { var _cache = typeof Map === \"function\" ? new Map() : undefined; _wrapNativeSuper = function _wrapNativeSuper(Class) { if (Class === null || !_isNativeFunction(Class)) return Class; if (typeof Class !== \"function\") { throw new TypeError(\"Super expression must either be null or a function\"); } if (typeof _cache !== \"undefined\") { if (_cache.has(Class)) return _cache.get(Class); _cache.set(Class, Wrapper); } function Wrapper() { return _construct(Class, arguments, _getPrototypeOf(this).constructor); } Wrapper.prototype = Object.create(Class.prototype, { constructor: { value: Wrapper, enumerable: false, writable: true, configurable: true } }); return _setPrototypeOf(Wrapper, Class); }; return _wrapNativeSuper(Class); }\n\nfunction _construct(Parent, args, Class) { if (_isNativeReflectConstruct()) { _construct = Reflect.construct; } else { _construct = function _construct(Parent, args, Class) { var a = [null]; a.push.apply(a, args); var Constructor = Function.bind.apply(Parent, a); var instance = new Constructor(); if (Class) _setPrototypeOf(instance, Class.prototype); return instance; }; } return _construct.apply(null, arguments); }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _isNativeFunction(fn) { return Function.toString.call(fn).indexOf(\"[native code]\") !== -1; }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nvar ARRAY_WILDCARD = \"+\";\nvar PATH_DELIMITER = \".\";\n\nvar ObjectPrototypeMutationError = /*#__PURE__*/function (_Error) {\n _inherits(ObjectPrototypeMutationError, _Error);\n\n function ObjectPrototypeMutationError(params) {\n var _this;\n\n _classCallCheck(this, ObjectPrototypeMutationError);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(ObjectPrototypeMutationError).call(this, params));\n _this.name = \"ObjectPrototypeMutationError\";\n return _this;\n }\n\n return ObjectPrototypeMutationError;\n}(_wrapNativeSuper(Error));\n\nmodule.exports = {\n set: setNestedProperty,\n get: getNestedProperty,\n has: hasNestedProperty,\n hasOwn: function hasOwn(object, property, options) {\n return this.has(object, property, options || {\n own: true\n });\n },\n isIn: isInNestedProperty,\n ObjectPrototypeMutationError: ObjectPrototypeMutationError\n};\n/**\n * Get the property of an object nested in one or more objects or array\n * Given an object such as a.b.c.d = 5, getNestedProperty(a, \"b.c.d\") will return 5.\n * It also works through arrays. Given a nested array such as a[0].b = 5, getNestedProperty(a, \"0.b\") will return 5.\n * For accessing nested properties through all items in an array, you may use the array wildcard \"+\".\n * For instance, getNestedProperty([{a:1}, {a:2}, {a:3}], \"+.a\") will return [1, 2, 3]\n * @param {Object} object the object to get the property from\n * @param {String} property the path to the property as a string\n * @returns the object or the the property value if found\n */\n\nfunction getNestedProperty(object, property) {\n if (_typeof(object) != \"object\" || object === null) {\n return object;\n }\n\n if (typeof property == \"undefined\") {\n return object;\n }\n\n if (typeof property == \"number\") {\n return object[property];\n }\n\n try {\n return traverse(object, property, function _getNestedProperty(currentObject, currentProperty) {\n return currentObject[currentProperty];\n });\n } catch (err) {\n return object;\n }\n}\n/**\n * Tell if a nested object has a given property (or array a given index)\n * given an object such as a.b.c.d = 5, hasNestedProperty(a, \"b.c.d\") will return true.\n * It also returns true if the property is in the prototype chain.\n * @param {Object} object the object to get the property from\n * @param {String} property the path to the property as a string\n * @param {Object} options:\n * - own: set to reject properties from the prototype\n * @returns true if has (property in object), false otherwise\n */\n\n\nfunction hasNestedProperty(object, property) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n if (_typeof(object) != \"object\" || object === null) {\n return false;\n }\n\n if (typeof property == \"undefined\") {\n return false;\n }\n\n if (typeof property == \"number\") {\n return property in object;\n }\n\n try {\n var has = false;\n traverse(object, property, function _hasNestedProperty(currentObject, currentProperty, segments, index) {\n if (isLastSegment(segments, index)) {\n if (options.own) {\n has = currentObject.hasOwnProperty(currentProperty);\n } else {\n has = currentProperty in currentObject;\n }\n } else {\n return currentObject && currentObject[currentProperty];\n }\n });\n return has;\n } catch (err) {\n return false;\n }\n}\n/**\n * Set the property of an object nested in one or more objects\n * If the property doesn't exist, it gets created.\n * @param {Object} object\n * @param {String} property\n * @param value the value to set\n * @returns object if no assignment was made or the value if the assignment was made\n */\n\n\nfunction setNestedProperty(object, property, value) {\n if (_typeof(object) != \"object\" || object === null) {\n return object;\n }\n\n if (typeof property == \"undefined\") {\n return object;\n }\n\n if (typeof property == \"number\") {\n object[property] = value;\n return object[property];\n }\n\n try {\n return traverse(object, property, function _setNestedProperty(currentObject, currentProperty, segments, index) {\n if (currentObject === Reflect.getPrototypeOf({})) {\n throw new ObjectPrototypeMutationError(\"Attempting to mutate Object.prototype\");\n }\n\n if (!currentObject[currentProperty]) {\n var nextPropIsNumber = Number.isInteger(Number(segments[index + 1]));\n var nextPropIsArrayWildcard = segments[index + 1] === ARRAY_WILDCARD;\n\n if (nextPropIsNumber || nextPropIsArrayWildcard) {\n currentObject[currentProperty] = [];\n } else {\n currentObject[currentProperty] = {};\n }\n }\n\n if (isLastSegment(segments, index)) {\n currentObject[currentProperty] = value;\n }\n\n return currentObject[currentProperty];\n });\n } catch (err) {\n if (err instanceof ObjectPrototypeMutationError) {\n // rethrow\n throw err;\n } else {\n return object;\n }\n }\n}\n/**\n * Tell if an object is on the path to a nested property\n * If the object is on the path, and the path exists, it returns true, and false otherwise.\n * @param {Object} object to get the nested property from\n * @param {String} property name of the nested property\n * @param {Object} objectInPath the object to check\n * @param {Object} options:\n * - validPath: return false if the path is invalid, even if the object is in the path\n * @returns {boolean} true if the object is on the path\n */\n\n\nfunction isInNestedProperty(object, property, objectInPath) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n\n if (_typeof(object) != \"object\" || object === null) {\n return false;\n }\n\n if (typeof property == \"undefined\") {\n return false;\n }\n\n try {\n var isIn = false,\n pathExists = false;\n traverse(object, property, function _isInNestedProperty(currentObject, currentProperty, segments, index) {\n isIn = isIn || currentObject === objectInPath || !!currentObject && currentObject[currentProperty] === objectInPath;\n pathExists = isLastSegment(segments, index) && _typeof(currentObject) === \"object\" && currentProperty in currentObject;\n return currentObject && currentObject[currentProperty];\n });\n\n if (options.validPath) {\n return isIn && pathExists;\n } else {\n return isIn;\n }\n } catch (err) {\n return false;\n }\n}\n\nfunction traverse(object, path) {\n var callback = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : function () {};\n var segments = path.split(PATH_DELIMITER);\n var length = segments.length;\n\n var _loop = function _loop(idx) {\n var currentSegment = segments[idx];\n\n if (!object) {\n return {\n v: void 0\n };\n }\n\n if (currentSegment === ARRAY_WILDCARD) {\n if (Array.isArray(object)) {\n return {\n v: object.map(function (value, index) {\n var remainingSegments = segments.slice(idx + 1);\n\n if (remainingSegments.length > 0) {\n return traverse(value, remainingSegments.join(PATH_DELIMITER), callback);\n } else {\n return callback(object, index, segments, idx);\n }\n })\n };\n } else {\n var pathToHere = segments.slice(0, idx).join(PATH_DELIMITER);\n throw new Error(\"Object at wildcard (\".concat(pathToHere, \") is not an array\"));\n }\n } else {\n object = callback(object, currentSegment, segments, idx);\n }\n };\n\n for (var idx = 0; idx < length; idx++) {\n var _ret = _loop(idx);\n\n if (_typeof(_ret) === \"object\") return _ret.v;\n }\n\n return object;\n}\n\nfunction isLastSegment(segments, index) {\n return segments.length === index + 1;\n}\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// 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 permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\nvar util = require('util');\nvar isString = function (x) {\n return typeof x === 'string';\n};\n\n\n// resolves . and .. elements in a path array with directory names there\n// must be no slashes or device names (c:\\) in the array\n// (so also no leading and trailing slashes - it does not distinguish\n// relative and absolute paths)\nfunction normalizeArray(parts, allowAboveRoot) {\n var res = [];\n for (var i = 0; i < parts.length; i++) {\n var p = parts[i];\n\n // ignore empty parts\n if (!p || p === '.')\n continue;\n\n if (p === '..') {\n if (res.length && res[res.length - 1] !== '..') {\n res.pop();\n } else if (allowAboveRoot) {\n res.push('..');\n }\n } else {\n res.push(p);\n }\n }\n\n return res;\n}\n\n// Split a filename into [root, dir, basename, ext], unix version\n// 'root' is just a slash, or nothing.\nvar splitPathRe =\n /^(\\/?|)([\\s\\S]*?)((?:\\.{1,2}|[^\\/]+?|)(\\.[^.\\/]*|))(?:[\\/]*)$/;\nvar posix = {};\n\n\nfunction posixSplitPath(filename) {\n return splitPathRe.exec(filename).slice(1);\n}\n\n\n// path.resolve([from ...], to)\n// posix version\nposix.resolve = function() {\n var resolvedPath = '',\n resolvedAbsolute = false;\n\n for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) {\n var path = (i >= 0) ? arguments[i] : process.cwd();\n\n // Skip empty and invalid entries\n if (!isString(path)) {\n throw new TypeError('Arguments to path.resolve must be strings');\n } else if (!path) {\n continue;\n }\n\n resolvedPath = path + '/' + resolvedPath;\n resolvedAbsolute = path.charAt(0) === '/';\n }\n\n // At this point the path should be resolved to a full absolute path, but\n // handle relative paths to be safe (might happen when process.cwd() fails)\n\n // Normalize the path\n resolvedPath = normalizeArray(resolvedPath.split('/'),\n !resolvedAbsolute).join('/');\n\n return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.';\n};\n\n// path.normalize(path)\n// posix version\nposix.normalize = function(path) {\n var isAbsolute = posix.isAbsolute(path),\n trailingSlash = path.substr(-1) === '/';\n\n // Normalize the path\n path = normalizeArray(path.split('/'), !isAbsolute).join('/');\n\n if (!path && !isAbsolute) {\n path = '.';\n }\n if (path && trailingSlash) {\n path += '/';\n }\n\n return (isAbsolute ? '/' : '') + path;\n};\n\n// posix version\nposix.isAbsolute = function(path) {\n return path.charAt(0) === '/';\n};\n\n// posix version\nposix.join = function() {\n var path = '';\n for (var i = 0; i < arguments.length; i++) {\n var segment = arguments[i];\n if (!isString(segment)) {\n throw new TypeError('Arguments to path.join must be strings');\n }\n if (segment) {\n if (!path) {\n path += segment;\n } else {\n path += '/' + segment;\n }\n }\n }\n return posix.normalize(path);\n};\n\n\n// path.relative(from, to)\n// posix version\nposix.relative = function(from, to) {\n from = posix.resolve(from).substr(1);\n to = posix.resolve(to).substr(1);\n\n function trim(arr) {\n var start = 0;\n for (; start < arr.length; start++) {\n if (arr[start] !== '') break;\n }\n\n var end = arr.length - 1;\n for (; end >= 0; end--) {\n if (arr[end] !== '') break;\n }\n\n if (start > end) return [];\n return arr.slice(start, end + 1);\n }\n\n var fromParts = trim(from.split('/'));\n var toParts = trim(to.split('/'));\n\n var length = Math.min(fromParts.length, toParts.length);\n var samePartsLength = length;\n for (var i = 0; i < length; i++) {\n if (fromParts[i] !== toParts[i]) {\n samePartsLength = i;\n break;\n }\n }\n\n var outputParts = [];\n for (var i = samePartsLength; i < fromParts.length; i++) {\n outputParts.push('..');\n }\n\n outputParts = outputParts.concat(toParts.slice(samePartsLength));\n\n return outputParts.join('/');\n};\n\n\nposix._makeLong = function(path) {\n return path;\n};\n\n\nposix.dirname = function(path) {\n var result = posixSplitPath(path),\n root = result[0],\n dir = result[1];\n\n if (!root && !dir) {\n // No dirname whatsoever\n return '.';\n }\n\n if (dir) {\n // It has a dirname, strip trailing slash\n dir = dir.substr(0, dir.length - 1);\n }\n\n return root + dir;\n};\n\n\nposix.basename = function(path, ext) {\n var f = posixSplitPath(path)[2];\n // TODO: make this comparison case-insensitive on windows?\n if (ext && f.substr(-1 * ext.length) === ext) {\n f = f.substr(0, f.length - ext.length);\n }\n return f;\n};\n\n\nposix.extname = function(path) {\n return posixSplitPath(path)[3];\n};\n\n\nposix.format = function(pathObject) {\n if (!util.isObject(pathObject)) {\n throw new TypeError(\n \"Parameter 'pathObject' must be an object, not \" + typeof pathObject\n );\n }\n\n var root = pathObject.root || '';\n\n if (!isString(root)) {\n throw new TypeError(\n \"'pathObject.root' must be a string or undefined, not \" +\n typeof pathObject.root\n );\n }\n\n var dir = pathObject.dir ? pathObject.dir + posix.sep : '';\n var base = pathObject.base || '';\n return dir + base;\n};\n\n\nposix.parse = function(pathString) {\n if (!isString(pathString)) {\n throw new TypeError(\n \"Parameter 'pathString' must be a string, not \" + typeof pathString\n );\n }\n var allParts = posixSplitPath(pathString);\n if (!allParts || allParts.length !== 4) {\n throw new TypeError(\"Invalid path '\" + pathString + \"'\");\n }\n allParts[1] = allParts[1] || '';\n allParts[2] = allParts[2] || '';\n allParts[3] = allParts[3] || '';\n\n return {\n root: allParts[0],\n dir: allParts[0] + allParts[1].slice(0, allParts[1].length - 1),\n base: allParts[2],\n ext: allParts[3],\n name: allParts[2].slice(0, allParts[2].length - allParts[3].length)\n };\n};\n\n\nposix.sep = '/';\nposix.delimiter = ':';\n\n module.exports = posix;\n","var balanced = require('balanced-match');\n\nmodule.exports = expandTop;\n\nvar escSlash = '\\0SLASH'+Math.random()+'\\0';\nvar escOpen = '\\0OPEN'+Math.random()+'\\0';\nvar escClose = '\\0CLOSE'+Math.random()+'\\0';\nvar escComma = '\\0COMMA'+Math.random()+'\\0';\nvar escPeriod = '\\0PERIOD'+Math.random()+'\\0';\n\nfunction numeric(str) {\n return parseInt(str, 10) == str\n ? parseInt(str, 10)\n : str.charCodeAt(0);\n}\n\nfunction escapeBraces(str) {\n return str.split('\\\\\\\\').join(escSlash)\n .split('\\\\{').join(escOpen)\n .split('\\\\}').join(escClose)\n .split('\\\\,').join(escComma)\n .split('\\\\.').join(escPeriod);\n}\n\nfunction unescapeBraces(str) {\n return str.split(escSlash).join('\\\\')\n .split(escOpen).join('{')\n .split(escClose).join('}')\n .split(escComma).join(',')\n .split(escPeriod).join('.');\n}\n\n\n// Basically just str.split(\",\"), but handling cases\n// where we have nested braced sections, which should be\n// treated as individual members, like {a,{b,c},d}\nfunction parseCommaParts(str) {\n if (!str)\n return [''];\n\n var parts = [];\n var m = balanced('{', '}', str);\n\n if (!m)\n return str.split(',');\n\n var pre = m.pre;\n var body = m.body;\n var post = m.post;\n var p = pre.split(',');\n\n p[p.length-1] += '{' + body + '}';\n var postParts = parseCommaParts(post);\n if (post.length) {\n p[p.length-1] += postParts.shift();\n p.push.apply(p, postParts);\n }\n\n parts.push.apply(parts, p);\n\n return parts;\n}\n\nfunction expandTop(str) {\n if (!str)\n return [];\n\n // I don't know why Bash 4.3 does this, but it does.\n // Anything starting with {} will have the first two bytes preserved\n // but *only* at the top level, so {},a}b will not expand to anything,\n // but a{},b}c will be expanded to [a}c,abc].\n // One could argue that this is a bug in Bash, but since the goal of\n // this module is to match Bash's rules, we escape a leading {}\n if (str.substr(0, 2) === '{}') {\n str = '\\\\{\\\\}' + str.substr(2);\n }\n\n return expand(escapeBraces(str), true).map(unescapeBraces);\n}\n\nfunction embrace(str) {\n return '{' + str + '}';\n}\nfunction isPadded(el) {\n return /^-?0\\d/.test(el);\n}\n\nfunction lte(i, y) {\n return i <= y;\n}\nfunction gte(i, y) {\n return i >= y;\n}\n\nfunction expand(str, isTop) {\n var expansions = [];\n\n var m = balanced('{', '}', str);\n if (!m) return [str];\n\n // no need to expand pre, since it is guaranteed to be free of brace-sets\n var pre = m.pre;\n var post = m.post.length\n ? expand(m.post, false)\n : [''];\n\n if (/\\$$/.test(m.pre)) { \n for (var k = 0; k < post.length; k++) {\n var expansion = pre+ '{' + m.body + '}' + post[k];\n expansions.push(expansion);\n }\n } else {\n var isNumericSequence = /^-?\\d+\\.\\.-?\\d+(?:\\.\\.-?\\d+)?$/.test(m.body);\n var isAlphaSequence = /^[a-zA-Z]\\.\\.[a-zA-Z](?:\\.\\.-?\\d+)?$/.test(m.body);\n var isSequence = isNumericSequence || isAlphaSequence;\n var isOptions = m.body.indexOf(',') >= 0;\n if (!isSequence && !isOptions) {\n // {a},b}\n if (m.post.match(/,.*\\}/)) {\n str = m.pre + '{' + m.body + escClose + m.post;\n return expand(str);\n }\n return [str];\n }\n\n var n;\n if (isSequence) {\n n = m.body.split(/\\.\\./);\n } else {\n n = parseCommaParts(m.body);\n if (n.length === 1) {\n // x{{a,b}}y ==> x{a}y x{b}y\n n = expand(n[0], false).map(embrace);\n if (n.length === 1) {\n return post.map(function(p) {\n return m.pre + n[0] + p;\n });\n }\n }\n }\n\n // at this point, n is the parts, and we know it's not a comma set\n // with a single entry.\n var N;\n\n if (isSequence) {\n var x = numeric(n[0]);\n var y = numeric(n[1]);\n var width = Math.max(n[0].length, n[1].length)\n var incr = n.length == 3\n ? Math.abs(numeric(n[2]))\n : 1;\n var test = lte;\n var reverse = y < x;\n if (reverse) {\n incr *= -1;\n test = gte;\n }\n var pad = n.some(isPadded);\n\n N = [];\n\n for (var i = x; test(i, y); i += incr) {\n var c;\n if (isAlphaSequence) {\n c = String.fromCharCode(i);\n if (c === '\\\\')\n c = '';\n } else {\n c = String(i);\n if (pad) {\n var need = width - c.length;\n if (need > 0) {\n var z = new Array(need + 1).join('0');\n if (i < 0)\n c = '-' + z + c.slice(1);\n else\n c = z + c;\n }\n }\n }\n N.push(c);\n }\n } else {\n N = [];\n\n for (var j = 0; j < n.length; j++) {\n N.push.apply(N, expand(n[j], false));\n }\n }\n\n for (var j = 0; j < N.length; j++) {\n for (var k = 0; k < post.length; k++) {\n var expansion = pre + N[j] + post[k];\n if (!isTop || isSequence || expansion)\n expansions.push(expansion);\n }\n }\n }\n\n return expansions;\n}\n\n","'use strict';\n//parse Empty Node as self closing node\nconst buildOptions = require('./util').buildOptions;\n\nconst defaultOptions = {\n attributeNamePrefix: '@_',\n attrNodeName: false,\n textNodeName: '#text',\n ignoreAttributes: true,\n cdataTagName: false,\n cdataPositionChar: '\\\\c',\n format: false,\n indentBy: ' ',\n supressEmptyNode: false,\n tagValueProcessor: function(a) {\n return a;\n },\n attrValueProcessor: function(a) {\n return a;\n },\n};\n\nconst props = [\n 'attributeNamePrefix',\n 'attrNodeName',\n 'textNodeName',\n 'ignoreAttributes',\n 'cdataTagName',\n 'cdataPositionChar',\n 'format',\n 'indentBy',\n 'supressEmptyNode',\n 'tagValueProcessor',\n 'attrValueProcessor',\n 'rootNodeName', //when array as root\n];\n\nfunction Parser(options) {\n this.options = buildOptions(options, defaultOptions, props);\n if (this.options.ignoreAttributes || this.options.attrNodeName) {\n this.isAttribute = function(/*a*/) {\n return false;\n };\n } else {\n this.attrPrefixLen = this.options.attributeNamePrefix.length;\n this.isAttribute = isAttribute;\n }\n if (this.options.cdataTagName) {\n this.isCDATA = isCDATA;\n } else {\n this.isCDATA = function(/*a*/) {\n return false;\n };\n }\n this.replaceCDATAstr = replaceCDATAstr;\n this.replaceCDATAarr = replaceCDATAarr;\n\n this.processTextOrObjNode = processTextOrObjNode\n\n if (this.options.format) {\n this.indentate = indentate;\n this.tagEndChar = '>\\n';\n this.newLine = '\\n';\n } else {\n this.indentate = function() {\n return '';\n };\n this.tagEndChar = '>';\n this.newLine = '';\n }\n\n if (this.options.supressEmptyNode) {\n this.buildTextNode = buildEmptyTextNode;\n this.buildObjNode = buildEmptyObjNode;\n } else {\n this.buildTextNode = buildTextValNode;\n this.buildObjNode = buildObjectNode;\n }\n\n this.buildTextValNode = buildTextValNode;\n this.buildObjectNode = buildObjectNode;\n}\n\nParser.prototype.parse = function(jObj) {\n if(Array.isArray(jObj) && this.options.rootNodeName && this.options.rootNodeName.length > 1){\n jObj = {\n [this.options.rootNodeName] : jObj\n }\n }\n return this.j2x(jObj, 0).val;\n};\n\nParser.prototype.j2x = function(jObj, level) {\n let attrStr = '';\n let val = '';\n for (let key in jObj) {\n if (typeof jObj[key] === 'undefined') {\n // supress undefined node\n } else if (jObj[key] === null) {\n val += this.indentate(level) + '<' + key + '/' + this.tagEndChar;\n } else if (jObj[key] instanceof Date) {\n val += this.buildTextNode(jObj[key], key, '', level);\n } else if (typeof jObj[key] !== 'object') {\n //premitive type\n const attr = this.isAttribute(key);\n if (attr) {\n attrStr += ' ' + attr + '=\"' + this.options.attrValueProcessor('' + jObj[key]) + '\"';\n } else if (this.isCDATA(key)) {\n if (jObj[this.options.textNodeName]) {\n val += this.replaceCDATAstr(jObj[this.options.textNodeName], jObj[key]);\n } else {\n val += this.replaceCDATAstr('', jObj[key]);\n }\n } else {\n //tag value\n if (key === this.options.textNodeName) {\n if (jObj[this.options.cdataTagName]) {\n //value will added while processing cdata\n } else {\n val += this.options.tagValueProcessor('' + jObj[key]);\n }\n } else {\n val += this.buildTextNode(jObj[key], key, '', level);\n }\n }\n } else if (Array.isArray(jObj[key])) {\n //repeated nodes\n if (this.isCDATA(key)) {\n val += this.indentate(level);\n if (jObj[this.options.textNodeName]) {\n val += this.replaceCDATAarr(jObj[this.options.textNodeName], jObj[key]);\n } else {\n val += this.replaceCDATAarr('', jObj[key]);\n }\n } else {\n //nested nodes\n const arrLen = jObj[key].length;\n for (let j = 0; j < arrLen; j++) {\n const item = jObj[key][j];\n if (typeof item === 'undefined') {\n // supress undefined node\n } else if (item === null) {\n val += this.indentate(level) + '<' + key + '/' + this.tagEndChar;\n } else if (typeof item === 'object') {\n val += this.processTextOrObjNode(item, key, level)\n } else {\n val += this.buildTextNode(item, key, '', level);\n }\n }\n }\n } else {\n //nested node\n if (this.options.attrNodeName && key === this.options.attrNodeName) {\n const Ks = Object.keys(jObj[key]);\n const L = Ks.length;\n for (let j = 0; j < L; j++) {\n attrStr += ' ' + Ks[j] + '=\"' + this.options.attrValueProcessor('' + jObj[key][Ks[j]]) + '\"';\n }\n } else {\n val += this.processTextOrObjNode(jObj[key], key, level)\n }\n }\n }\n return {attrStr: attrStr, val: val};\n};\n\nfunction processTextOrObjNode (object, key, level) {\n const result = this.j2x(object, level + 1);\n if (object[this.options.textNodeName] !== undefined && Object.keys(object).length === 1) {\n return this.buildTextNode(result.val, key, result.attrStr, level);\n } else {\n return this.buildObjNode(result.val, key, result.attrStr, level);\n }\n}\n\nfunction replaceCDATAstr(str, cdata) {\n str = this.options.tagValueProcessor('' + str);\n if (this.options.cdataPositionChar === '' || str === '') {\n return str + '<![CDATA[' + cdata + ']]' + this.tagEndChar;\n } else {\n return str.replace(this.options.cdataPositionChar, '<![CDATA[' + cdata + ']]' + this.tagEndChar);\n }\n}\n\nfunction replaceCDATAarr(str, cdata) {\n str = this.options.tagValueProcessor('' + str);\n if (this.options.cdataPositionChar === '' || str === '') {\n return str + '<![CDATA[' + cdata.join(']]><![CDATA[') + ']]' + this.tagEndChar;\n } else {\n for (let v in cdata) {\n str = str.replace(this.options.cdataPositionChar, '<![CDATA[' + cdata[v] + ']]>');\n }\n return str + this.newLine;\n }\n}\n\nfunction buildObjectNode(val, key, attrStr, level) {\n if (attrStr && val.indexOf('<') === -1) {\n return (\n this.indentate(level) +\n '<' +\n key +\n attrStr +\n '>' +\n val +\n //+ this.newLine\n // + this.indentate(level)\n '</' +\n key +\n this.tagEndChar\n );\n } else {\n return (\n this.indentate(level) +\n '<' +\n key +\n attrStr +\n this.tagEndChar +\n val +\n //+ this.newLine\n this.indentate(level) +\n '</' +\n key +\n this.tagEndChar\n );\n }\n}\n\nfunction buildEmptyObjNode(val, key, attrStr, level) {\n if (val !== '') {\n return this.buildObjectNode(val, key, attrStr, level);\n } else {\n return this.indentate(level) + '<' + key + attrStr + '/' + this.tagEndChar;\n //+ this.newLine\n }\n}\n\nfunction buildTextValNode(val, key, attrStr, level) {\n return (\n this.indentate(level) +\n '<' +\n key +\n attrStr +\n '>' +\n this.options.tagValueProcessor(val) +\n '</' +\n key +\n this.tagEndChar\n );\n}\n\nfunction buildEmptyTextNode(val, key, attrStr, level) {\n if (val !== '') {\n return this.buildTextValNode(val, key, attrStr, level);\n } else {\n return this.indentate(level) + '<' + key + attrStr + '/' + this.tagEndChar;\n }\n}\n\nfunction indentate(level) {\n return this.options.indentBy.repeat(level);\n}\n\nfunction isAttribute(name /*, options*/) {\n if (name.startsWith(this.options.attributeNamePrefix)) {\n return name.substr(this.attrPrefixLen);\n } else {\n return false;\n }\n}\n\nfunction isCDATA(name) {\n return name === this.options.cdataTagName;\n}\n\n//formatting\n//indentation\n//\\n after each closing or self closing tag\n\nmodule.exports = Parser;\n","'use strict';\nconst char = function(a) {\n return String.fromCharCode(a);\n};\n\nconst chars = {\n nilChar: char(176),\n missingChar: char(201),\n nilPremitive: char(175),\n missingPremitive: char(200),\n\n emptyChar: char(178),\n emptyValue: char(177), //empty Premitive\n\n boundryChar: char(179),\n\n objStart: char(198),\n arrStart: char(204),\n arrayEnd: char(185),\n};\n\nconst charsArr = [\n chars.nilChar,\n chars.nilPremitive,\n chars.missingChar,\n chars.missingPremitive,\n chars.boundryChar,\n chars.emptyChar,\n chars.emptyValue,\n chars.arrayEnd,\n chars.objStart,\n chars.arrStart,\n];\n\nconst _e = function(node, e_schema, options) {\n if (typeof e_schema === 'string') {\n //premitive\n if (node && node[0] && node[0].val !== undefined) {\n return getValue(node[0].val, e_schema);\n } else {\n return getValue(node, e_schema);\n }\n } else {\n const hasValidData = hasData(node);\n if (hasValidData === true) {\n let str = '';\n if (Array.isArray(e_schema)) {\n //attributes can't be repeated. hence check in children tags only\n str += chars.arrStart;\n const itemSchema = e_schema[0];\n //const itemSchemaType = itemSchema;\n const arr_len = node.length;\n\n if (typeof itemSchema === 'string') {\n for (let arr_i = 0; arr_i < arr_len; arr_i++) {\n const r = getValue(node[arr_i].val, itemSchema);\n str = processValue(str, r);\n }\n } else {\n for (let arr_i = 0; arr_i < arr_len; arr_i++) {\n const r = _e(node[arr_i], itemSchema, options);\n str = processValue(str, r);\n }\n }\n str += chars.arrayEnd; //indicates that next item is not array item\n } else {\n //object\n str += chars.objStart;\n const keys = Object.keys(e_schema);\n if (Array.isArray(node)) {\n node = node[0];\n }\n for (let i in keys) {\n const key = keys[i];\n //a property defined in schema can be present either in attrsMap or children tags\n //options.textNodeName will not present in both maps, take it's value from val\n //options.attrNodeName will be present in attrsMap\n let r;\n if (!options.ignoreAttributes && node.attrsMap && node.attrsMap[key]) {\n r = _e(node.attrsMap[key], e_schema[key], options);\n } else if (key === options.textNodeName) {\n r = _e(node.val, e_schema[key], options);\n } else {\n r = _e(node.child[key], e_schema[key], options);\n }\n str = processValue(str, r);\n }\n }\n return str;\n } else {\n return hasValidData;\n }\n }\n};\n\nconst getValue = function(a /*, type*/) {\n switch (a) {\n case undefined:\n return chars.missingPremitive;\n case null:\n return chars.nilPremitive;\n case '':\n return chars.emptyValue;\n default:\n return a;\n }\n};\n\nconst processValue = function(str, r) {\n if (!isAppChar(r[0]) && !isAppChar(str[str.length - 1])) {\n str += chars.boundryChar;\n }\n return str + r;\n};\n\nconst isAppChar = function(ch) {\n return charsArr.indexOf(ch) !== -1;\n};\n\nfunction hasData(jObj) {\n if (jObj === undefined) {\n return chars.missingChar;\n } else if (jObj === null) {\n return chars.nilChar;\n } else if (\n jObj.child &&\n Object.keys(jObj.child).length === 0 &&\n (!jObj.attrsMap || Object.keys(jObj.attrsMap).length === 0)\n ) {\n return chars.emptyChar;\n } else {\n return true;\n }\n}\n\nconst x2j = require('./xmlstr2xmlnode');\nconst buildOptions = require('./util').buildOptions;\n\nconst convert2nimn = function(node, e_schema, options) {\n options = buildOptions(options, x2j.defaultOptions, x2j.props);\n return _e(node, e_schema, options);\n};\n\nexports.convert2nimn = convert2nimn;\n","'use strict';\n\nconst util = require('./util');\n\nconst convertToJson = function(node, options, parentTagName) {\n const jObj = {};\n\n // when no child node or attr is present\n if (!options.alwaysCreateTextNode && (!node.child || util.isEmptyObject(node.child)) && (!node.attrsMap || util.isEmptyObject(node.attrsMap))) {\n return util.isExist(node.val) ? node.val : '';\n }\n\n // otherwise create a textnode if node has some text\n if (util.isExist(node.val) && !(typeof node.val === 'string' && (node.val === '' || node.val === options.cdataPositionChar))) {\n const asArray = util.isTagNameInArrayMode(node.tagname, options.arrayMode, parentTagName)\n jObj[options.textNodeName] = asArray ? [node.val] : node.val;\n }\n\n util.merge(jObj, node.attrsMap, options.arrayMode);\n\n const keys = Object.keys(node.child);\n for (let index = 0; index < keys.length; index++) {\n const tagName = keys[index];\n if (node.child[tagName] && node.child[tagName].length > 1) {\n jObj[tagName] = [];\n for (let tag in node.child[tagName]) {\n if (node.child[tagName].hasOwnProperty(tag)) {\n jObj[tagName].push(convertToJson(node.child[tagName][tag], options, tagName));\n }\n }\n } else {\n const result = convertToJson(node.child[tagName][0], options, tagName);\n const asArray = (options.arrayMode === true && typeof result === 'object') || util.isTagNameInArrayMode(tagName, options.arrayMode, parentTagName);\n jObj[tagName] = asArray ? [result] : result;\n }\n }\n\n //add value\n return jObj;\n};\n\nexports.convertToJson = convertToJson;\n","'use strict';\n\nconst util = require('./util');\nconst buildOptions = require('./util').buildOptions;\nconst x2j = require('./xmlstr2xmlnode');\n\n//TODO: do it later\nconst convertToJsonString = function(node, options) {\n options = buildOptions(options, x2j.defaultOptions, x2j.props);\n\n options.indentBy = options.indentBy || '';\n return _cToJsonStr(node, options, 0);\n};\n\nconst _cToJsonStr = function(node, options, level) {\n let jObj = '{';\n\n //traver through all the children\n const keys = Object.keys(node.child);\n\n for (let index = 0; index < keys.length; index++) {\n const tagname = keys[index];\n if (node.child[tagname] && node.child[tagname].length > 1) {\n jObj += '\"' + tagname + '\" : [ ';\n for (let tag in node.child[tagname]) {\n jObj += _cToJsonStr(node.child[tagname][tag], options) + ' , ';\n }\n jObj = jObj.substr(0, jObj.length - 1) + ' ] '; //remove extra comma in last\n } else {\n jObj += '\"' + tagname + '\" : ' + _cToJsonStr(node.child[tagname][0], options) + ' ,';\n }\n }\n util.merge(jObj, node.attrsMap);\n //add attrsMap as new children\n if (util.isEmptyObject(jObj)) {\n return util.isExist(node.val) ? node.val : '';\n } else {\n if (util.isExist(node.val)) {\n if (!(typeof node.val === 'string' && (node.val === '' || node.val === options.cdataPositionChar))) {\n jObj += '\"' + options.textNodeName + '\" : ' + stringval(node.val);\n }\n }\n }\n //add value\n if (jObj[jObj.length - 1] === ',') {\n jObj = jObj.substr(0, jObj.length - 2);\n }\n return jObj + '}';\n};\n\nfunction stringval(v) {\n if (v === true || v === false || !isNaN(v)) {\n return v;\n } else {\n return '\"' + v + '\"';\n }\n}\n\nfunction indentate(options, level) {\n return options.indentBy.repeat(level);\n}\n\nexports.convertToJsonString = convertToJsonString;\n","'use strict';\n\nconst nodeToJson = require('./node2json');\nconst xmlToNodeobj = require('./xmlstr2xmlnode');\nconst x2xmlnode = require('./xmlstr2xmlnode');\nconst buildOptions = require('./util').buildOptions;\nconst validator = require('./validator');\n\nexports.parse = function(xmlData, givenOptions = {}, validationOption) {\n if( validationOption){\n if(validationOption === true) validationOption = {}\n \n const result = validator.validate(xmlData, validationOption);\n if (result !== true) {\n throw Error( result.err.msg)\n }\n }\n if(givenOptions.parseTrueNumberOnly \n && givenOptions.parseNodeValue !== false\n && !givenOptions.numParseOptions){\n \n givenOptions.numParseOptions = {\n leadingZeros: false,\n }\n }\n let options = buildOptions(givenOptions, x2xmlnode.defaultOptions, x2xmlnode.props);\n\n const traversableObj = xmlToNodeobj.getTraversalObj(xmlData, options)\n //print(traversableObj, \" \");\n return nodeToJson.convertToJson(traversableObj, options);\n};\nexports.convertTonimn = require('./nimndata').convert2nimn;\nexports.getTraversalObj = xmlToNodeobj.getTraversalObj;\nexports.convertToJson = nodeToJson.convertToJson;\nexports.convertToJsonString = require('./node2json_str').convertToJsonString;\nexports.validate = validator.validate;\nexports.j2xParser = require('./json2xml');\nexports.parseToNimn = function(xmlData, schema, options) {\n return exports.convertTonimn(exports.getTraversalObj(xmlData, options), schema, options);\n};\n\n\nfunction print(xmlNode, indentation){\n if(xmlNode){\n console.log(indentation + \"{\")\n console.log(indentation + \" \\\"tagName\\\": \\\"\" + xmlNode.tagname + \"\\\", \");\n if(xmlNode.parent){\n console.log(indentation + \" \\\"parent\\\": \\\"\" + xmlNode.parent.tagname + \"\\\", \");\n }\n console.log(indentation + \" \\\"val\\\": \\\"\" + xmlNode.val + \"\\\", \");\n console.log(indentation + \" \\\"attrs\\\": \" + JSON.stringify(xmlNode.attrsMap,null,4) + \", \");\n\n if(xmlNode.child){\n console.log(indentation + \"\\\"child\\\": {\")\n const indentation2 = indentation + indentation;\n Object.keys(xmlNode.child).forEach( function(key) {\n const node = xmlNode.child[key];\n\n if(Array.isArray(node)){\n console.log(indentation + \"\\\"\"+key+\"\\\" :[\")\n node.forEach( function(item,index) {\n //console.log(indentation + \" \\\"\"+index+\"\\\" : [\")\n print(item, indentation2);\n })\n console.log(indentation + \"],\") \n }else{\n console.log(indentation + \" \\\"\"+key+\"\\\" : {\")\n print(node, indentation2);\n console.log(indentation + \"},\") \n }\n });\n console.log(indentation + \"},\")\n }\n console.log(indentation + \"},\")\n }\n}\n","'use strict';\n\nconst nameStartChar = ':A-Za-z_\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD';\nconst nameChar = nameStartChar + '\\\\-.\\\\d\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040';\nconst nameRegexp = '[' + nameStartChar + '][' + nameChar + ']*'\nconst regexName = new RegExp('^' + nameRegexp + '$');\n\nconst getAllMatches = function(string, regex) {\n const matches = [];\n let match = regex.exec(string);\n while (match) {\n const allmatches = [];\n allmatches.startIndex = regex.lastIndex - match[0].length;\n const len = match.length;\n for (let index = 0; index < len; index++) {\n allmatches.push(match[index]);\n }\n matches.push(allmatches);\n match = regex.exec(string);\n }\n return matches;\n};\n\nconst isName = function(string) {\n const match = regexName.exec(string);\n return !(match === null || typeof match === 'undefined');\n};\n\nexports.isExist = function(v) {\n return typeof v !== 'undefined';\n};\n\nexports.isEmptyObject = function(obj) {\n return Object.keys(obj).length === 0;\n};\n\n/**\n * Copy all the properties of a into b.\n * @param {*} target\n * @param {*} a\n */\nexports.merge = function(target, a, arrayMode) {\n if (a) {\n const keys = Object.keys(a); // will return an array of own properties\n const len = keys.length; //don't make it inline\n for (let i = 0; i < len; i++) {\n if (arrayMode === 'strict') {\n target[keys[i]] = [ a[keys[i]] ];\n } else {\n target[keys[i]] = a[keys[i]];\n }\n }\n }\n};\n/* exports.merge =function (b,a){\n return Object.assign(b,a);\n} */\n\nexports.getValue = function(v) {\n if (exports.isExist(v)) {\n return v;\n } else {\n return '';\n }\n};\n\n// const fakeCall = function(a) {return a;};\n// const fakeCallNoReturn = function() {};\n\nexports.buildOptions = function(options, defaultOptions, props) {\n let newOptions = {};\n if (!options) {\n return defaultOptions; //if there are not options\n }\n\n for (let i = 0; i < props.length; i++) {\n if (options[props[i]] !== undefined) {\n newOptions[props[i]] = options[props[i]];\n } else {\n newOptions[props[i]] = defaultOptions[props[i]];\n }\n }\n return newOptions;\n};\n\n/**\n * Check if a tag name should be treated as array\n *\n * @param tagName the node tagname\n * @param arrayMode the array mode option\n * @param parentTagName the parent tag name\n * @returns {boolean} true if node should be parsed as array\n */\nexports.isTagNameInArrayMode = function (tagName, arrayMode, parentTagName) {\n if (arrayMode === false) {\n return false;\n } else if (arrayMode instanceof RegExp) {\n return arrayMode.test(tagName);\n } else if (typeof arrayMode === 'function') {\n return !!arrayMode(tagName, parentTagName);\n }\n\n return arrayMode === \"strict\";\n}\n\nexports.isName = isName;\nexports.getAllMatches = getAllMatches;\nexports.nameRegexp = nameRegexp;\n","'use strict';\n\nconst util = require('./util');\n\nconst defaultOptions = {\n allowBooleanAttributes: false, //A tag can have attributes without any value\n};\n\nconst props = ['allowBooleanAttributes'];\n\n//const tagsPattern = new RegExp(\"<\\\\/?([\\\\w:\\\\-_\\.]+)\\\\s*\\/?>\",\"g\");\nexports.validate = function (xmlData, options) {\n options = util.buildOptions(options, defaultOptions, props);\n\n //xmlData = xmlData.replace(/(\\r\\n|\\n|\\r)/gm,\"\");//make it single line\n //xmlData = xmlData.replace(/(^\\s*<\\?xml.*?\\?>)/g,\"\");//Remove XML starting tag\n //xmlData = xmlData.replace(/(<!DOCTYPE[\\s\\w\\\"\\.\\/\\-\\:]+(\\[.*\\])*\\s*>)/g,\"\");//Remove DOCTYPE\n const tags = [];\n let tagFound = false;\n\n //indicates that the root tag has been closed (aka. depth 0 has been reached)\n let reachedRoot = false;\n\n if (xmlData[0] === '\\ufeff') {\n // check for byte order mark (BOM)\n xmlData = xmlData.substr(1);\n }\n\n for (let i = 0; i < xmlData.length; i++) {\n\n if (xmlData[i] === '<' && xmlData[i+1] === '?') {\n i+=2;\n i = readPI(xmlData,i);\n if (i.err) return i;\n }else if (xmlData[i] === '<') {\n //starting of tag\n //read until you reach to '>' avoiding any '>' in attribute value\n let tagStartPos = i;\n i++;\n \n if (xmlData[i] === '!') {\n i = readCommentAndCDATA(xmlData, i);\n continue;\n } else {\n let closingTag = false;\n if (xmlData[i] === '/') {\n //closing tag\n closingTag = true;\n i++;\n }\n //read tagname\n let tagName = '';\n for (; i < xmlData.length &&\n xmlData[i] !== '>' &&\n xmlData[i] !== ' ' &&\n xmlData[i] !== '\\t' &&\n xmlData[i] !== '\\n' &&\n xmlData[i] !== '\\r'; i++\n ) {\n tagName += xmlData[i];\n }\n tagName = tagName.trim();\n //console.log(tagName);\n\n if (tagName[tagName.length - 1] === '/') {\n //self closing tag without attributes\n tagName = tagName.substring(0, tagName.length - 1);\n //continue;\n i--;\n }\n if (!validateTagName(tagName)) {\n let msg;\n if (tagName.trim().length === 0) {\n msg = \"Invalid space after '<'.\";\n } else {\n msg = \"Tag '\"+tagName+\"' is an invalid name.\";\n }\n return getErrorObject('InvalidTag', msg, getLineNumberForPosition(xmlData, i));\n }\n\n const result = readAttributeStr(xmlData, i);\n if (result === false) {\n return getErrorObject('InvalidAttr', \"Attributes for '\"+tagName+\"' have open quote.\", getLineNumberForPosition(xmlData, i));\n }\n let attrStr = result.value;\n i = result.index;\n\n if (attrStr[attrStr.length - 1] === '/') {\n //self closing tag\n const attrStrStart = i - attrStr.length;\n attrStr = attrStr.substring(0, attrStr.length - 1);\n const isValid = validateAttributeString(attrStr, options);\n if (isValid === true) {\n tagFound = true;\n //continue; //text may presents after self closing tag\n } else {\n //the result from the nested function returns the position of the error within the attribute\n //in order to get the 'true' error line, we need to calculate the position where the attribute begins (i - attrStr.length) and then add the position within the attribute\n //this gives us the absolute index in the entire xml, which we can use to find the line at last\n return getErrorObject(isValid.err.code, isValid.err.msg, getLineNumberForPosition(xmlData, attrStrStart + isValid.err.line));\n }\n } else if (closingTag) {\n if (!result.tagClosed) {\n return getErrorObject('InvalidTag', \"Closing tag '\"+tagName+\"' doesn't have proper closing.\", getLineNumberForPosition(xmlData, i));\n } else if (attrStr.trim().length > 0) {\n return getErrorObject('InvalidTag', \"Closing tag '\"+tagName+\"' can't have attributes or invalid starting.\", getLineNumberForPosition(xmlData, tagStartPos));\n } else {\n const otg = tags.pop();\n if (tagName !== otg.tagName) {\n let openPos = getLineNumberForPosition(xmlData, otg.tagStartPos);\n return getErrorObject('InvalidTag',\n \"Expected closing tag '\"+otg.tagName+\"' (opened in line \"+openPos.line+\", col \"+openPos.col+\") instead of closing tag '\"+tagName+\"'.\",\n getLineNumberForPosition(xmlData, tagStartPos));\n }\n\n //when there are no more tags, we reached the root level.\n if (tags.length == 0) {\n reachedRoot = true;\n }\n }\n } else {\n const isValid = validateAttributeString(attrStr, options);\n if (isValid !== true) {\n //the result from the nested function returns the position of the error within the attribute\n //in order to get the 'true' error line, we need to calculate the position where the attribute begins (i - attrStr.length) and then add the position within the attribute\n //this gives us the absolute index in the entire xml, which we can use to find the line at last\n return getErrorObject(isValid.err.code, isValid.err.msg, getLineNumberForPosition(xmlData, i - attrStr.length + isValid.err.line));\n }\n\n //if the root level has been reached before ...\n if (reachedRoot === true) {\n return getErrorObject('InvalidXml', 'Multiple possible root nodes found.', getLineNumberForPosition(xmlData, i));\n } else {\n tags.push({tagName, tagStartPos});\n }\n tagFound = true;\n }\n\n //skip tag text value\n //It may include comments and CDATA value\n for (i++; i < xmlData.length; i++) {\n if (xmlData[i] === '<') {\n if (xmlData[i + 1] === '!') {\n //comment or CADATA\n i++;\n i = readCommentAndCDATA(xmlData, i);\n continue;\n } else if (xmlData[i+1] === '?') {\n i = readPI(xmlData, ++i);\n if (i.err) return i;\n } else{\n break;\n }\n } else if (xmlData[i] === '&') {\n const afterAmp = validateAmpersand(xmlData, i);\n if (afterAmp == -1)\n return getErrorObject('InvalidChar', \"char '&' is not expected.\", getLineNumberForPosition(xmlData, i));\n i = afterAmp;\n }\n } //end of reading tag text value\n if (xmlData[i] === '<') {\n i--;\n }\n }\n } else {\n if (xmlData[i] === ' ' || xmlData[i] === '\\t' || xmlData[i] === '\\n' || xmlData[i] === '\\r') {\n continue;\n }\n return getErrorObject('InvalidChar', \"char '\"+xmlData[i]+\"' is not expected.\", getLineNumberForPosition(xmlData, i));\n }\n }\n\n if (!tagFound) {\n return getErrorObject('InvalidXml', 'Start tag expected.', 1);\n }else if (tags.length == 1) {\n return getErrorObject('InvalidTag', \"Unclosed tag '\"+tags[0].tagName+\"'.\", getLineNumberForPosition(xmlData, tags[0].tagStartPos));\n }else if (tags.length > 0) {\n return getErrorObject('InvalidXml', \"Invalid '\"+\n JSON.stringify(tags.map(t => t.tagName), null, 4).replace(/\\r?\\n/g, '')+\n \"' found.\", {line: 1, col: 1});\n }\n\n return true;\n};\n\n/**\n * Read Processing insstructions and skip\n * @param {*} xmlData\n * @param {*} i\n */\nfunction readPI(xmlData, i) {\n const start = i;\n for (; i < xmlData.length; i++) {\n if (xmlData[i] == '?' || xmlData[i] == ' ') {\n //tagname\n const tagname = xmlData.substr(start, i - start);\n if (i > 5 && tagname === 'xml') {\n return getErrorObject('InvalidXml', 'XML declaration allowed only at the start of the document.', getLineNumberForPosition(xmlData, i));\n } else if (xmlData[i] == '?' && xmlData[i + 1] == '>') {\n //check if valid attribut string\n i++;\n break;\n } else {\n continue;\n }\n }\n }\n return i;\n}\n\nfunction readCommentAndCDATA(xmlData, i) {\n if (xmlData.length > i + 5 && xmlData[i + 1] === '-' && xmlData[i + 2] === '-') {\n //comment\n for (i += 3; i < xmlData.length; i++) {\n if (xmlData[i] === '-' && xmlData[i + 1] === '-' && xmlData[i + 2] === '>') {\n i += 2;\n break;\n }\n }\n } else if (\n xmlData.length > i + 8 &&\n xmlData[i + 1] === 'D' &&\n xmlData[i + 2] === 'O' &&\n xmlData[i + 3] === 'C' &&\n xmlData[i + 4] === 'T' &&\n xmlData[i + 5] === 'Y' &&\n xmlData[i + 6] === 'P' &&\n xmlData[i + 7] === 'E'\n ) {\n let angleBracketsCount = 1;\n for (i += 8; i < xmlData.length; i++) {\n if (xmlData[i] === '<') {\n angleBracketsCount++;\n } else if (xmlData[i] === '>') {\n angleBracketsCount--;\n if (angleBracketsCount === 0) {\n break;\n }\n }\n }\n } else if (\n xmlData.length > i + 9 &&\n xmlData[i + 1] === '[' &&\n xmlData[i + 2] === 'C' &&\n xmlData[i + 3] === 'D' &&\n xmlData[i + 4] === 'A' &&\n xmlData[i + 5] === 'T' &&\n xmlData[i + 6] === 'A' &&\n xmlData[i + 7] === '['\n ) {\n for (i += 8; i < xmlData.length; i++) {\n if (xmlData[i] === ']' && xmlData[i + 1] === ']' && xmlData[i + 2] === '>') {\n i += 2;\n break;\n }\n }\n }\n\n return i;\n}\n\nconst doubleQuote = '\"';\nconst singleQuote = \"'\";\n\n/**\n * Keep reading xmlData until '<' is found outside the attribute value.\n * @param {string} xmlData\n * @param {number} i\n */\nfunction readAttributeStr(xmlData, i) {\n let attrStr = '';\n let startChar = '';\n let tagClosed = false;\n for (; i < xmlData.length; i++) {\n if (xmlData[i] === doubleQuote || xmlData[i] === singleQuote) {\n if (startChar === '') {\n startChar = xmlData[i];\n } else if (startChar !== xmlData[i]) {\n //if vaue is enclosed with double quote then single quotes are allowed inside the value and vice versa\n } else {\n startChar = '';\n }\n } else if (xmlData[i] === '>') {\n if (startChar === '') {\n tagClosed = true;\n break;\n }\n }\n attrStr += xmlData[i];\n }\n if (startChar !== '') {\n return false;\n }\n\n return {\n value: attrStr,\n index: i,\n tagClosed: tagClosed\n };\n}\n\n/**\n * Select all the attributes whether valid or invalid.\n */\nconst validAttrStrRegxp = new RegExp('(\\\\s*)([^\\\\s=]+)(\\\\s*=)?(\\\\s*([\\'\"])(([\\\\s\\\\S])*?)\\\\5)?', 'g');\n\n//attr, =\"sd\", a=\"amit's\", a=\"sd\"b=\"saf\", ab cd=\"\"\n\nfunction validateAttributeString(attrStr, options) {\n //console.log(\"start:\"+attrStr+\":end\");\n\n //if(attrStr.trim().length === 0) return true; //empty string\n\n const matches = util.getAllMatches(attrStr, validAttrStrRegxp);\n const attrNames = {};\n\n for (let i = 0; i < matches.length; i++) {\n if (matches[i][1].length === 0) {\n //nospace before attribute name: a=\"sd\"b=\"saf\"\n return getErrorObject('InvalidAttr', \"Attribute '\"+matches[i][2]+\"' has no space in starting.\", getPositionFromMatch(matches[i]))\n } else if (matches[i][3] === undefined && !options.allowBooleanAttributes) {\n //independent attribute: ab\n return getErrorObject('InvalidAttr', \"boolean attribute '\"+matches[i][2]+\"' is not allowed.\", getPositionFromMatch(matches[i]));\n }\n /* else if(matches[i][6] === undefined){//attribute without value: ab=\n return { err: { code:\"InvalidAttr\",msg:\"attribute \" + matches[i][2] + \" has no value assigned.\"}};\n } */\n const attrName = matches[i][2];\n if (!validateAttrName(attrName)) {\n return getErrorObject('InvalidAttr', \"Attribute '\"+attrName+\"' is an invalid name.\", getPositionFromMatch(matches[i]));\n }\n if (!attrNames.hasOwnProperty(attrName)) {\n //check for duplicate attribute.\n attrNames[attrName] = 1;\n } else {\n return getErrorObject('InvalidAttr', \"Attribute '\"+attrName+\"' is repeated.\", getPositionFromMatch(matches[i]));\n }\n }\n\n return true;\n}\n\nfunction validateNumberAmpersand(xmlData, i) {\n let re = /\\d/;\n if (xmlData[i] === 'x') {\n i++;\n re = /[\\da-fA-F]/;\n }\n for (; i < xmlData.length; i++) {\n if (xmlData[i] === ';')\n return i;\n if (!xmlData[i].match(re))\n break;\n }\n return -1;\n}\n\nfunction validateAmpersand(xmlData, i) {\n // https://www.w3.org/TR/xml/#dt-charref\n i++;\n if (xmlData[i] === ';')\n return -1;\n if (xmlData[i] === '#') {\n i++;\n return validateNumberAmpersand(xmlData, i);\n }\n let count = 0;\n for (; i < xmlData.length; i++, count++) {\n if (xmlData[i].match(/\\w/) && count < 20)\n continue;\n if (xmlData[i] === ';')\n break;\n return -1;\n }\n return i;\n}\n\nfunction getErrorObject(code, message, lineNumber) {\n return {\n err: {\n code: code,\n msg: message,\n line: lineNumber.line || lineNumber,\n col: lineNumber.col,\n },\n };\n}\n\nfunction validateAttrName(attrName) {\n return util.isName(attrName);\n}\n\n// const startsWithXML = /^xml/i;\n\nfunction validateTagName(tagname) {\n return util.isName(tagname) /* && !tagname.match(startsWithXML) */;\n}\n\n//this function returns the line number for the character at the given index\nfunction getLineNumberForPosition(xmlData, index) {\n const lines = xmlData.substring(0, index).split(/\\r?\\n/);\n return {\n line: lines.length,\n\n // column number is last line's length + 1, because column numbering starts at 1:\n col: lines[lines.length - 1].length + 1\n };\n}\n\n//this function returns the position of the first character of match within attrStr\nfunction getPositionFromMatch(match) {\n return match.startIndex + match[1].length;\n}\n","'use strict';\n\nmodule.exports = function(tagname, parent, val) {\n this.tagname = tagname;\n this.parent = parent;\n this.child = {}; //child tags\n this.attrsMap = {}; //attributes map\n this.val = val; //text only\n this.addChild = function(child) {\n if (Array.isArray(this.child[child.tagname])) {\n //already presents\n this.child[child.tagname].push(child);\n } else {\n this.child[child.tagname] = [child];\n }\n };\n};\n","'use strict';\n\nconst util = require('./util');\nconst buildOptions = require('./util').buildOptions;\nconst xmlNode = require('./xmlNode');\nconst toNumber = require(\"strnum\");\n\nconst regx =\n '<((!\\\\[CDATA\\\\[([\\\\s\\\\S]*?)(]]>))|((NAME:)?(NAME))([^>]*)>|((\\\\/)(NAME)\\\\s*>))([^<]*)'\n .replace(/NAME/g, util.nameRegexp);\n\n//const tagsRegx = new RegExp(\"<(\\\\/?[\\\\w:\\\\-\\._]+)([^>]*)>(\\\\s*\"+cdataRegx+\")*([^<]+)?\",\"g\");\n//const tagsRegx = new RegExp(\"<(\\\\/?)((\\\\w*:)?([\\\\w:\\\\-\\._]+))([^>]*)>([^<]*)(\"+cdataRegx+\"([^<]*))*([^<]+)?\",\"g\");\n\n//polyfill\nif (!Number.parseInt && window.parseInt) {\n Number.parseInt = window.parseInt;\n}\nif (!Number.parseFloat && window.parseFloat) {\n Number.parseFloat = window.parseFloat;\n}\n\nconst defaultOptions = {\n attributeNamePrefix: '@_',\n attrNodeName: false,\n textNodeName: '#text',\n ignoreAttributes: true,\n ignoreNameSpace: false,\n allowBooleanAttributes: false, //a tag can have attributes without any value\n //ignoreRootElement : false,\n parseNodeValue: true,\n parseAttributeValue: false,\n arrayMode: false,\n trimValues: true, //Trim string values of tag and attributes\n cdataTagName: false,\n cdataPositionChar: '\\\\c',\n numParseOptions: {\n hex: true,\n leadingZeros: true\n },\n tagValueProcessor: function(a, tagName) {\n return a;\n },\n attrValueProcessor: function(a, attrName) {\n return a;\n },\n stopNodes: [],\n alwaysCreateTextNode: false\n //decodeStrict: false,\n};\n\nexports.defaultOptions = defaultOptions;\n\nconst props = [\n 'attributeNamePrefix',\n 'attrNodeName',\n 'textNodeName',\n 'ignoreAttributes',\n 'ignoreNameSpace',\n 'allowBooleanAttributes',\n 'parseNodeValue',\n 'parseAttributeValue',\n 'arrayMode',\n 'trimValues',\n 'cdataTagName',\n 'cdataPositionChar',\n 'tagValueProcessor',\n 'attrValueProcessor',\n 'parseTrueNumberOnly',\n 'numParseOptions',\n 'stopNodes',\n 'alwaysCreateTextNode'\n];\nexports.props = props;\n\n/**\n * Trim -> valueProcessor -> parse value\n * @param {string} tagName\n * @param {string} val\n * @param {object} options\n */\nfunction processTagValue(tagName, val, options) {\n if (val) {\n if (options.trimValues) {\n val = val.trim();\n }\n val = options.tagValueProcessor(val, tagName);\n val = parseValue(val, options.parseNodeValue, options.numParseOptions);\n }\n\n return val;\n}\n\nfunction resolveNameSpace(tagname, options) {\n if (options.ignoreNameSpace) {\n const tags = tagname.split(':');\n const prefix = tagname.charAt(0) === '/' ? '/' : '';\n if (tags[0] === 'xmlns') {\n return '';\n }\n if (tags.length === 2) {\n tagname = prefix + tags[1];\n }\n }\n return tagname;\n}\n\nfunction parseValue(val, shouldParse, options) {\n if (shouldParse && typeof val === 'string') {\n //console.log(options)\n const newval = val.trim();\n if(newval === 'true' ) return true;\n else if(newval === 'false' ) return false;\n else return toNumber(val, options);\n } else {\n if (util.isExist(val)) {\n return val;\n } else {\n return '';\n }\n }\n}\n\n//TODO: change regex to capture NS\n//const attrsRegx = new RegExp(\"([\\\\w\\\\-\\\\.\\\\:]+)\\\\s*=\\\\s*(['\\\"])((.|\\n)*?)\\\\2\",\"gm\");\nconst attrsRegx = new RegExp('([^\\\\s=]+)\\\\s*(=\\\\s*([\\'\"])(.*?)\\\\3)?', 'g');\n\nfunction buildAttributesMap(attrStr, options) {\n if (!options.ignoreAttributes && typeof attrStr === 'string') {\n attrStr = attrStr.replace(/\\r?\\n/g, ' ');\n //attrStr = attrStr || attrStr.trim();\n\n const matches = util.getAllMatches(attrStr, attrsRegx);\n const len = matches.length; //don't make it inline\n const attrs = {};\n for (let i = 0; i < len; i++) {\n const attrName = resolveNameSpace(matches[i][1], options);\n if (attrName.length) {\n if (matches[i][4] !== undefined) {\n if (options.trimValues) {\n matches[i][4] = matches[i][4].trim();\n }\n matches[i][4] = options.attrValueProcessor(matches[i][4], attrName);\n attrs[options.attributeNamePrefix + attrName] = parseValue(\n matches[i][4],\n options.parseAttributeValue,\n options.numParseOptions\n );\n } else if (options.allowBooleanAttributes) {\n attrs[options.attributeNamePrefix + attrName] = true;\n }\n }\n }\n if (!Object.keys(attrs).length) {\n return;\n }\n if (options.attrNodeName) {\n const attrCollection = {};\n attrCollection[options.attrNodeName] = attrs;\n return attrCollection;\n }\n return attrs;\n }\n}\n\nconst getTraversalObj = function(xmlData, options) {\n xmlData = xmlData.replace(/\\r\\n?/g, \"\\n\");\n options = buildOptions(options, defaultOptions, props);\n const xmlObj = new xmlNode('!xml');\n let currentNode = xmlObj;\n let textData = \"\";\n\n//function match(xmlData){\n for(let i=0; i< xmlData.length; i++){\n const ch = xmlData[i];\n if(ch === '<'){\n if( xmlData[i+1] === '/') {//Closing Tag\n const closeIndex = findClosingIndex(xmlData, \">\", i, \"Closing Tag is not closed.\")\n let tagName = xmlData.substring(i+2,closeIndex).trim();\n\n if(options.ignoreNameSpace){\n const colonIndex = tagName.indexOf(\":\");\n if(colonIndex !== -1){\n tagName = tagName.substr(colonIndex+1);\n }\n }\n\n /* if (currentNode.parent) {\n currentNode.parent.val = util.getValue(currentNode.parent.val) + '' + processTagValue2(tagName, textData , options);\n } */\n if(currentNode){\n if(currentNode.val){\n currentNode.val = util.getValue(currentNode.val) + '' + processTagValue(tagName, textData , options);\n }else{\n currentNode.val = processTagValue(tagName, textData , options);\n }\n }\n\n if (options.stopNodes.length && options.stopNodes.includes(currentNode.tagname)) {\n currentNode.child = []\n if (currentNode.attrsMap == undefined) { currentNode.attrsMap = {}}\n currentNode.val = xmlData.substr(currentNode.startIndex + 1, i - currentNode.startIndex - 1)\n }\n currentNode = currentNode.parent;\n textData = \"\";\n i = closeIndex;\n } else if( xmlData[i+1] === '?') {\n i = findClosingIndex(xmlData, \"?>\", i, \"Pi Tag is not closed.\")\n } else if(xmlData.substr(i + 1, 3) === '!--') {\n i = findClosingIndex(xmlData, \"-->\", i, \"Comment is not closed.\")\n } else if( xmlData.substr(i + 1, 2) === '!D') {\n const closeIndex = findClosingIndex(xmlData, \">\", i, \"DOCTYPE is not closed.\")\n const tagExp = xmlData.substring(i, closeIndex);\n if(tagExp.indexOf(\"[\") >= 0){\n i = xmlData.indexOf(\"]>\", i) + 1;\n }else{\n i = closeIndex;\n }\n }else if(xmlData.substr(i + 1, 2) === '![') {\n const closeIndex = findClosingIndex(xmlData, \"]]>\", i, \"CDATA is not closed.\") - 2\n const tagExp = xmlData.substring(i + 9,closeIndex);\n\n //considerations\n //1. CDATA will always have parent node\n //2. A tag with CDATA is not a leaf node so it's value would be string type.\n if(textData){\n currentNode.val = util.getValue(currentNode.val) + '' + processTagValue(currentNode.tagname, textData , options);\n textData = \"\";\n }\n\n if (options.cdataTagName) {\n //add cdata node\n const childNode = new xmlNode(options.cdataTagName, currentNode, tagExp);\n currentNode.addChild(childNode);\n //for backtracking\n currentNode.val = util.getValue(currentNode.val) + options.cdataPositionChar;\n //add rest value to parent node\n if (tagExp) {\n childNode.val = tagExp;\n }\n } else {\n currentNode.val = (currentNode.val || '') + (tagExp || '');\n }\n\n i = closeIndex + 2;\n }else {//Opening tag\n const result = closingIndexForOpeningTag(xmlData, i+1)\n let tagExp = result.data;\n const closeIndex = result.index;\n const separatorIndex = tagExp.indexOf(\" \");\n let tagName = tagExp;\n let shouldBuildAttributesMap = true;\n if(separatorIndex !== -1){\n tagName = tagExp.substr(0, separatorIndex).replace(/\\s\\s*$/, '');\n tagExp = tagExp.substr(separatorIndex + 1);\n }\n\n if(options.ignoreNameSpace){\n const colonIndex = tagName.indexOf(\":\");\n if(colonIndex !== -1){\n tagName = tagName.substr(colonIndex+1);\n shouldBuildAttributesMap = tagName !== result.data.substr(colonIndex + 1);\n }\n }\n\n //save text to parent node\n if (currentNode && textData) {\n if(currentNode.tagname !== '!xml'){\n currentNode.val = util.getValue(currentNode.val) + '' + processTagValue( currentNode.tagname, textData, options);\n }\n }\n\n if(tagExp.length > 0 && tagExp.lastIndexOf(\"/\") === tagExp.length - 1){//selfClosing tag\n\n if(tagName[tagName.length - 1] === \"/\"){ //remove trailing '/'\n tagName = tagName.substr(0, tagName.length - 1);\n tagExp = tagName;\n }else{\n tagExp = tagExp.substr(0, tagExp.length - 1);\n }\n\n const childNode = new xmlNode(tagName, currentNode, '');\n if(tagName !== tagExp){\n childNode.attrsMap = buildAttributesMap(tagExp, options);\n }\n currentNode.addChild(childNode);\n }else{//opening tag\n\n const childNode = new xmlNode( tagName, currentNode );\n if (options.stopNodes.length && options.stopNodes.includes(childNode.tagname)) {\n childNode.startIndex=closeIndex;\n }\n if(tagName !== tagExp && shouldBuildAttributesMap){\n childNode.attrsMap = buildAttributesMap(tagExp, options);\n }\n currentNode.addChild(childNode);\n currentNode = childNode;\n }\n textData = \"\";\n i = closeIndex;\n }\n }else{\n textData += xmlData[i];\n }\n }\n return xmlObj;\n}\n\nfunction closingIndexForOpeningTag(data, i){\n let attrBoundary;\n let tagExp = \"\";\n for (let index = i; index < data.length; index++) {\n let ch = data[index];\n if (attrBoundary) {\n if (ch === attrBoundary) attrBoundary = \"\";//reset\n } else if (ch === '\"' || ch === \"'\") {\n attrBoundary = ch;\n } else if (ch === '>') {\n return {\n data: tagExp,\n index: index\n }\n } else if (ch === '\\t') {\n ch = \" \"\n }\n tagExp += ch;\n }\n}\n\nfunction findClosingIndex(xmlData, str, i, errMsg){\n const closingIndex = xmlData.indexOf(str, i);\n if(closingIndex === -1){\n throw new Error(errMsg)\n }else{\n return closingIndex + str.length - 1;\n }\n}\n\nexports.getTraversalObj = getTraversalObj;\n","const isWindows = typeof process === 'object' &&\n process &&\n process.platform === 'win32'\nmodule.exports = isWindows ? { sep: '\\\\' } : { sep: '/' }\n","const minimatch = module.exports = (p, pattern, options = {}) => {\n assertValidPattern(pattern)\n\n // shortcut: comments match nothing.\n if (!options.nocomment && pattern.charAt(0) === '#') {\n return false\n }\n\n return new Minimatch(pattern, options).match(p)\n}\n\nmodule.exports = minimatch\n\nconst path = require('./lib/path.js')\nminimatch.sep = path.sep\n\nconst GLOBSTAR = Symbol('globstar **')\nminimatch.GLOBSTAR = GLOBSTAR\nconst expand = require('brace-expansion')\n\nconst plTypes = {\n '!': { open: '(?:(?!(?:', close: '))[^/]*?)'},\n '?': { open: '(?:', close: ')?' },\n '+': { open: '(?:', close: ')+' },\n '*': { open: '(?:', close: ')*' },\n '@': { open: '(?:', close: ')' }\n}\n\n// any single thing other than /\n// don't need to escape / when using new RegExp()\nconst qmark = '[^/]'\n\n// * => any number of characters\nconst star = qmark + '*?'\n\n// ** when dots are allowed. Anything goes, except .. and .\n// not (^ or / followed by one or two dots followed by $ or /),\n// followed by anything, any number of times.\nconst twoStarDot = '(?:(?!(?:\\\\\\/|^)(?:\\\\.{1,2})($|\\\\\\/)).)*?'\n\n// not a ^ or / followed by a dot,\n// followed by anything, any number of times.\nconst twoStarNoDot = '(?:(?!(?:\\\\\\/|^)\\\\.).)*?'\n\n// \"abc\" -> { a:true, b:true, c:true }\nconst charSet = s => s.split('').reduce((set, c) => {\n set[c] = true\n return set\n}, {})\n\n// characters that need to be escaped in RegExp.\nconst reSpecials = charSet('().*{}+?[]^$\\\\!')\n\n// characters that indicate we have to add the pattern start\nconst addPatternStartSet = charSet('[.(')\n\n// normalizes slashes.\nconst slashSplit = /\\/+/\n\nminimatch.filter = (pattern, options = {}) =>\n (p, i, list) => minimatch(p, pattern, options)\n\nconst ext = (a, b = {}) => {\n const t = {}\n Object.keys(a).forEach(k => t[k] = a[k])\n Object.keys(b).forEach(k => t[k] = b[k])\n return t\n}\n\nminimatch.defaults = def => {\n if (!def || typeof def !== 'object' || !Object.keys(def).length) {\n return minimatch\n }\n\n const orig = minimatch\n\n const m = (p, pattern, options) => orig(p, pattern, ext(def, options))\n m.Minimatch = class Minimatch extends orig.Minimatch {\n constructor (pattern, options) {\n super(pattern, ext(def, options))\n }\n }\n m.Minimatch.defaults = options => orig.defaults(ext(def, options)).Minimatch\n m.filter = (pattern, options) => orig.filter(pattern, ext(def, options))\n m.defaults = options => orig.defaults(ext(def, options))\n m.makeRe = (pattern, options) => orig.makeRe(pattern, ext(def, options))\n m.braceExpand = (pattern, options) => orig.braceExpand(pattern, ext(def, options))\n m.match = (list, pattern, options) => orig.match(list, pattern, ext(def, options))\n\n return m\n}\n\n\n\n\n\n// Brace expansion:\n// a{b,c}d -> abd acd\n// a{b,}c -> abc ac\n// a{0..3}d -> a0d a1d a2d a3d\n// a{b,c{d,e}f}g -> abg acdfg acefg\n// a{b,c}d{e,f}g -> abdeg acdeg abdeg abdfg\n//\n// Invalid sets are not expanded.\n// a{2..}b -> a{2..}b\n// a{b}c -> a{b}c\nminimatch.braceExpand = (pattern, options) => braceExpand(pattern, options)\n\nconst braceExpand = (pattern, options = {}) => {\n assertValidPattern(pattern)\n\n // Thanks to Yeting Li <https://github.com/yetingli> for\n // improving this regexp to avoid a ReDOS vulnerability.\n if (options.nobrace || !/\\{(?:(?!\\{).)*\\}/.test(pattern)) {\n // shortcut. no need to expand.\n return [pattern]\n }\n\n return expand(pattern)\n}\n\nconst MAX_PATTERN_LENGTH = 1024 * 64\nconst assertValidPattern = pattern => {\n if (typeof pattern !== 'string') {\n throw new TypeError('invalid pattern')\n }\n\n if (pattern.length > MAX_PATTERN_LENGTH) {\n throw new TypeError('pattern is too long')\n }\n}\n\n// parse a component of the expanded set.\n// At this point, no pattern may contain \"/\" in it\n// so we're going to return a 2d array, where each entry is the full\n// pattern, split on '/', and then turned into a regular expression.\n// A regexp is made at the end which joins each array with an\n// escaped /, and another full one which joins each regexp with |.\n//\n// Following the lead of Bash 4.1, note that \"**\" only has special meaning\n// when it is the *only* thing in a path portion. Otherwise, any series\n// of * is equivalent to a single *. Globstar behavior is enabled by\n// default, and can be disabled by setting options.noglobstar.\nconst SUBPARSE = Symbol('subparse')\n\nminimatch.makeRe = (pattern, options) =>\n new Minimatch(pattern, options || {}).makeRe()\n\nminimatch.match = (list, pattern, options = {}) => {\n const mm = new Minimatch(pattern, options)\n list = list.filter(f => mm.match(f))\n if (mm.options.nonull && !list.length) {\n list.push(pattern)\n }\n return list\n}\n\n// replace stuff like \\* with *\nconst globUnescape = s => s.replace(/\\\\(.)/g, '$1')\nconst charUnescape = s => s.replace(/\\\\([^-\\]])/g, '$1')\nconst regExpEscape = s => s.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&')\nconst braExpEscape = s => s.replace(/[[\\]\\\\]/g, '\\\\$&')\n\nclass Minimatch {\n constructor (pattern, options) {\n assertValidPattern(pattern)\n\n if (!options) options = {}\n\n this.options = options\n this.set = []\n this.pattern = pattern\n this.windowsPathsNoEscape = !!options.windowsPathsNoEscape ||\n options.allowWindowsEscape === false\n if (this.windowsPathsNoEscape) {\n this.pattern = this.pattern.replace(/\\\\/g, '/')\n }\n this.regexp = null\n this.negate = false\n this.comment = false\n this.empty = false\n this.partial = !!options.partial\n\n // make the set of regexps etc.\n this.make()\n }\n\n debug () {}\n\n make () {\n const pattern = this.pattern\n const options = this.options\n\n // empty patterns and comments match nothing.\n if (!options.nocomment && pattern.charAt(0) === '#') {\n this.comment = true\n return\n }\n if (!pattern) {\n this.empty = true\n return\n }\n\n // step 1: figure out negation, etc.\n this.parseNegate()\n\n // step 2: expand braces\n let set = this.globSet = this.braceExpand()\n\n if (options.debug) this.debug = (...args) => console.error(...args)\n\n this.debug(this.pattern, set)\n\n // step 3: now we have a set, so turn each one into a series of path-portion\n // matching patterns.\n // These will be regexps, except in the case of \"**\", which is\n // set to the GLOBSTAR object for globstar behavior,\n // and will not contain any / characters\n set = this.globParts = set.map(s => s.split(slashSplit))\n\n this.debug(this.pattern, set)\n\n // glob --> regexps\n set = set.map((s, si, set) => s.map(this.parse, this))\n\n this.debug(this.pattern, set)\n\n // filter out everything that didn't compile properly.\n set = set.filter(s => s.indexOf(false) === -1)\n\n this.debug(this.pattern, set)\n\n this.set = set\n }\n\n parseNegate () {\n if (this.options.nonegate) return\n\n const pattern = this.pattern\n let negate = false\n let negateOffset = 0\n\n for (let i = 0; i < pattern.length && pattern.charAt(i) === '!'; i++) {\n negate = !negate\n negateOffset++\n }\n\n if (negateOffset) this.pattern = pattern.slice(negateOffset)\n this.negate = negate\n }\n\n // set partial to true to test if, for example,\n // \"/a/b\" matches the start of \"/*/b/*/d\"\n // Partial means, if you run out of file before you run\n // out of pattern, then that's fine, as long as all\n // the parts match.\n matchOne (file, pattern, partial) {\n var options = this.options\n\n this.debug('matchOne',\n { 'this': this, file: file, pattern: pattern })\n\n this.debug('matchOne', file.length, pattern.length)\n\n for (var fi = 0,\n pi = 0,\n fl = file.length,\n pl = pattern.length\n ; (fi < fl) && (pi < pl)\n ; fi++, pi++) {\n this.debug('matchOne loop')\n var p = pattern[pi]\n var f = file[fi]\n\n this.debug(pattern, p, f)\n\n // should be impossible.\n // some invalid regexp stuff in the set.\n /* istanbul ignore if */\n if (p === false) return false\n\n if (p === GLOBSTAR) {\n this.debug('GLOBSTAR', [pattern, p, f])\n\n // \"**\"\n // a/**/b/**/c would match the following:\n // a/b/x/y/z/c\n // a/x/y/z/b/c\n // a/b/x/b/x/c\n // a/b/c\n // To do this, take the rest of the pattern after\n // the **, and see if it would match the file remainder.\n // If so, return success.\n // If not, the ** \"swallows\" a segment, and try again.\n // This is recursively awful.\n //\n // a/**/b/**/c matching a/b/x/y/z/c\n // - a matches a\n // - doublestar\n // - matchOne(b/x/y/z/c, b/**/c)\n // - b matches b\n // - doublestar\n // - matchOne(x/y/z/c, c) -> no\n // - matchOne(y/z/c, c) -> no\n // - matchOne(z/c, c) -> no\n // - matchOne(c, c) yes, hit\n var fr = fi\n var pr = pi + 1\n if (pr === pl) {\n this.debug('** at the end')\n // a ** at the end will just swallow the rest.\n // We have found a match.\n // however, it will not swallow /.x, unless\n // options.dot is set.\n // . and .. are *never* matched by **, for explosively\n // exponential reasons.\n for (; fi < fl; fi++) {\n if (file[fi] === '.' || file[fi] === '..' ||\n (!options.dot && file[fi].charAt(0) === '.')) return false\n }\n return true\n }\n\n // ok, let's see if we can swallow whatever we can.\n while (fr < fl) {\n var swallowee = file[fr]\n\n this.debug('\\nglobstar while', file, fr, pattern, pr, swallowee)\n\n // XXX remove this slice. Just pass the start index.\n if (this.matchOne(file.slice(fr), pattern.slice(pr), partial)) {\n this.debug('globstar found match!', fr, fl, swallowee)\n // found a match.\n return true\n } else {\n // can't swallow \".\" or \"..\" ever.\n // can only swallow \".foo\" when explicitly asked.\n if (swallowee === '.' || swallowee === '..' ||\n (!options.dot && swallowee.charAt(0) === '.')) {\n this.debug('dot detected!', file, fr, pattern, pr)\n break\n }\n\n // ** swallows a segment, and continue.\n this.debug('globstar swallow a segment, and continue')\n fr++\n }\n }\n\n // no match was found.\n // However, in partial mode, we can't say this is necessarily over.\n // If there's more *pattern* left, then\n /* istanbul ignore if */\n if (partial) {\n // ran out of file\n this.debug('\\n>>> no match, partial?', file, fr, pattern, pr)\n if (fr === fl) return true\n }\n return false\n }\n\n // something other than **\n // non-magic patterns just have to match exactly\n // patterns with magic have been turned into regexps.\n var hit\n if (typeof p === 'string') {\n hit = f === p\n this.debug('string match', p, f, hit)\n } else {\n hit = f.match(p)\n this.debug('pattern match', p, f, hit)\n }\n\n if (!hit) return false\n }\n\n // Note: ending in / means that we'll get a final \"\"\n // at the end of the pattern. This can only match a\n // corresponding \"\" at the end of the file.\n // If the file ends in /, then it can only match a\n // a pattern that ends in /, unless the pattern just\n // doesn't have any more for it. But, a/b/ should *not*\n // match \"a/b/*\", even though \"\" matches against the\n // [^/]*? pattern, except in partial mode, where it might\n // simply not be reached yet.\n // However, a/b/ should still satisfy a/*\n\n // now either we fell off the end of the pattern, or we're done.\n if (fi === fl && pi === pl) {\n // ran out of pattern and filename at the same time.\n // an exact hit!\n return true\n } else if (fi === fl) {\n // ran out of file, but still had pattern left.\n // this is ok if we're doing the match as part of\n // a glob fs traversal.\n return partial\n } else /* istanbul ignore else */ if (pi === pl) {\n // ran out of pattern, still have file left.\n // this is only acceptable if we're on the very last\n // empty segment of a file with a trailing slash.\n // a/* should match a/b/\n return (fi === fl - 1) && (file[fi] === '')\n }\n\n // should be unreachable.\n /* istanbul ignore next */\n throw new Error('wtf?')\n }\n\n braceExpand () {\n return braceExpand(this.pattern, this.options)\n }\n\n parse (pattern, isSub) {\n assertValidPattern(pattern)\n\n const options = this.options\n\n // shortcuts\n if (pattern === '**') {\n if (!options.noglobstar)\n return GLOBSTAR\n else\n pattern = '*'\n }\n if (pattern === '') return ''\n\n let re = ''\n let hasMagic = false\n let escaping = false\n // ? => one single character\n const patternListStack = []\n const negativeLists = []\n let stateChar\n let inClass = false\n let reClassStart = -1\n let classStart = -1\n let cs\n let pl\n let sp\n // . and .. never match anything that doesn't start with .,\n // even when options.dot is set. However, if the pattern\n // starts with ., then traversal patterns can match.\n let dotTravAllowed = pattern.charAt(0) === '.'\n let dotFileAllowed = options.dot || dotTravAllowed\n const patternStart = () =>\n dotTravAllowed\n ? ''\n : dotFileAllowed\n ? '(?!(?:^|\\\\/)\\\\.{1,2}(?:$|\\\\/))'\n : '(?!\\\\.)'\n const subPatternStart = (p) =>\n p.charAt(0) === '.'\n ? ''\n : options.dot\n ? '(?!(?:^|\\\\/)\\\\.{1,2}(?:$|\\\\/))'\n : '(?!\\\\.)'\n\n\n const clearStateChar = () => {\n if (stateChar) {\n // we had some state-tracking character\n // that wasn't consumed by this pass.\n switch (stateChar) {\n case '*':\n re += star\n hasMagic = true\n break\n case '?':\n re += qmark\n hasMagic = true\n break\n default:\n re += '\\\\' + stateChar\n break\n }\n this.debug('clearStateChar %j %j', stateChar, re)\n stateChar = false\n }\n }\n\n for (let i = 0, c; (i < pattern.length) && (c = pattern.charAt(i)); i++) {\n this.debug('%s\\t%s %s %j', pattern, i, re, c)\n\n // skip over any that are escaped.\n if (escaping) {\n /* istanbul ignore next - completely not allowed, even escaped. */\n if (c === '/') {\n return false\n }\n\n if (reSpecials[c]) {\n re += '\\\\'\n }\n re += c\n escaping = false\n continue\n }\n\n switch (c) {\n /* istanbul ignore next */\n case '/': {\n // Should already be path-split by now.\n return false\n }\n\n case '\\\\':\n if (inClass && pattern.charAt(i + 1) === '-') {\n re += c\n continue\n }\n\n clearStateChar()\n escaping = true\n continue\n\n // the various stateChar values\n // for the \"extglob\" stuff.\n case '?':\n case '*':\n case '+':\n case '@':\n case '!':\n this.debug('%s\\t%s %s %j <-- stateChar', pattern, i, re, c)\n\n // all of those are literals inside a class, except that\n // the glob [!a] means [^a] in regexp\n if (inClass) {\n this.debug(' in class')\n if (c === '!' && i === classStart + 1) c = '^'\n re += c\n continue\n }\n\n // if we already have a stateChar, then it means\n // that there was something like ** or +? in there.\n // Handle the stateChar, then proceed with this one.\n this.debug('call clearStateChar %j', stateChar)\n clearStateChar()\n stateChar = c\n // if extglob is disabled, then +(asdf|foo) isn't a thing.\n // just clear the statechar *now*, rather than even diving into\n // the patternList stuff.\n if (options.noext) clearStateChar()\n continue\n\n case '(': {\n if (inClass) {\n re += '('\n continue\n }\n\n if (!stateChar) {\n re += '\\\\('\n continue\n }\n\n const plEntry = {\n type: stateChar,\n start: i - 1,\n reStart: re.length,\n open: plTypes[stateChar].open,\n close: plTypes[stateChar].close,\n }\n this.debug(this.pattern, '\\t', plEntry)\n patternListStack.push(plEntry)\n // negation is (?:(?!(?:js)(?:<rest>))[^/]*)\n re += plEntry.open\n // next entry starts with a dot maybe?\n if (plEntry.start === 0 && plEntry.type !== '!') {\n dotTravAllowed = true\n re += subPatternStart(pattern.slice(i + 1))\n }\n this.debug('plType %j %j', stateChar, re)\n stateChar = false\n continue\n }\n\n case ')': {\n const plEntry = patternListStack[patternListStack.length - 1]\n if (inClass || !plEntry) {\n re += '\\\\)'\n continue\n }\n patternListStack.pop()\n\n // closing an extglob\n clearStateChar()\n hasMagic = true\n pl = plEntry\n // negation is (?:(?!js)[^/]*)\n // The others are (?:<pattern>)<type>\n re += pl.close\n if (pl.type === '!') {\n negativeLists.push(Object.assign(pl, { reEnd: re.length }))\n }\n continue\n }\n\n case '|': {\n const plEntry = patternListStack[patternListStack.length - 1]\n if (inClass || !plEntry) {\n re += '\\\\|'\n continue\n }\n\n clearStateChar()\n re += '|'\n // next subpattern can start with a dot?\n if (plEntry.start === 0 && plEntry.type !== '!') {\n dotTravAllowed = true\n re += subPatternStart(pattern.slice(i + 1))\n }\n continue\n }\n\n // these are mostly the same in regexp and glob\n case '[':\n // swallow any state-tracking char before the [\n clearStateChar()\n\n if (inClass) {\n re += '\\\\' + c\n continue\n }\n\n inClass = true\n classStart = i\n reClassStart = re.length\n re += c\n continue\n\n case ']':\n // a right bracket shall lose its special\n // meaning and represent itself in\n // a bracket expression if it occurs\n // first in the list. -- POSIX.2 2.8.3.2\n if (i === classStart + 1 || !inClass) {\n re += '\\\\' + c\n continue\n }\n\n // split where the last [ was, make sure we don't have\n // an invalid re. if so, re-walk the contents of the\n // would-be class to re-translate any characters that\n // were passed through as-is\n // TODO: It would probably be faster to determine this\n // without a try/catch and a new RegExp, but it's tricky\n // to do safely. For now, this is safe and works.\n cs = pattern.substring(classStart + 1, i)\n try {\n RegExp('[' + braExpEscape(charUnescape(cs)) + ']')\n // looks good, finish up the class.\n re += c\n } catch (er) {\n // out of order ranges in JS are errors, but in glob syntax,\n // they're just a range that matches nothing.\n re = re.substring(0, reClassStart) + '(?:$.)' // match nothing ever\n }\n hasMagic = true\n inClass = false\n continue\n\n default:\n // swallow any state char that wasn't consumed\n clearStateChar()\n\n if (reSpecials[c] && !(c === '^' && inClass)) {\n re += '\\\\'\n }\n\n re += c\n break\n\n } // switch\n } // for\n\n // handle the case where we left a class open.\n // \"[abc\" is valid, equivalent to \"\\[abc\"\n if (inClass) {\n // split where the last [ was, and escape it\n // this is a huge pita. We now have to re-walk\n // the contents of the would-be class to re-translate\n // any characters that were passed through as-is\n cs = pattern.slice(classStart + 1)\n sp = this.parse(cs, SUBPARSE)\n re = re.substring(0, reClassStart) + '\\\\[' + sp[0]\n hasMagic = hasMagic || sp[1]\n }\n\n // handle the case where we had a +( thing at the *end*\n // of the pattern.\n // each pattern list stack adds 3 chars, and we need to go through\n // and escape any | chars that were passed through as-is for the regexp.\n // Go through and escape them, taking care not to double-escape any\n // | chars that were already escaped.\n for (pl = patternListStack.pop(); pl; pl = patternListStack.pop()) {\n let tail\n tail = re.slice(pl.reStart + pl.open.length)\n this.debug('setting tail', re, pl)\n // maybe some even number of \\, then maybe 1 \\, followed by a |\n tail = tail.replace(/((?:\\\\{2}){0,64})(\\\\?)\\|/g, (_, $1, $2) => {\n /* istanbul ignore else - should already be done */\n if (!$2) {\n // the | isn't already escaped, so escape it.\n $2 = '\\\\'\n }\n\n // need to escape all those slashes *again*, without escaping the\n // one that we need for escaping the | character. As it works out,\n // escaping an even number of slashes can be done by simply repeating\n // it exactly after itself. That's why this trick works.\n //\n // I am sorry that you have to see this.\n return $1 + $1 + $2 + '|'\n })\n\n this.debug('tail=%j\\n %s', tail, tail, pl, re)\n const t = pl.type === '*' ? star\n : pl.type === '?' ? qmark\n : '\\\\' + pl.type\n\n hasMagic = true\n re = re.slice(0, pl.reStart) + t + '\\\\(' + tail\n }\n\n // handle trailing things that only matter at the very end.\n clearStateChar()\n if (escaping) {\n // trailing \\\\\n re += '\\\\\\\\'\n }\n\n // only need to apply the nodot start if the re starts with\n // something that could conceivably capture a dot\n const addPatternStart = addPatternStartSet[re.charAt(0)]\n\n // Hack to work around lack of negative lookbehind in JS\n // A pattern like: *.!(x).!(y|z) needs to ensure that a name\n // like 'a.xyz.yz' doesn't match. So, the first negative\n // lookahead, has to look ALL the way ahead, to the end of\n // the pattern.\n for (let n = negativeLists.length - 1; n > -1; n--) {\n const nl = negativeLists[n]\n\n const nlBefore = re.slice(0, nl.reStart)\n const nlFirst = re.slice(nl.reStart, nl.reEnd - 8)\n let nlAfter = re.slice(nl.reEnd)\n const nlLast = re.slice(nl.reEnd - 8, nl.reEnd) + nlAfter\n\n // Handle nested stuff like *(*.js|!(*.json)), where open parens\n // mean that we should *not* include the ) in the bit that is considered\n // \"after\" the negated section.\n const closeParensBefore = nlBefore.split(')').length\n const openParensBefore = nlBefore.split('(').length - closeParensBefore\n let cleanAfter = nlAfter\n for (let i = 0; i < openParensBefore; i++) {\n cleanAfter = cleanAfter.replace(/\\)[+*?]?/, '')\n }\n nlAfter = cleanAfter\n\n const dollar = nlAfter === '' && isSub !== SUBPARSE ? '(?:$|\\\\/)' : ''\n\n re = nlBefore + nlFirst + nlAfter + dollar + nlLast\n }\n\n // if the re is not \"\" at this point, then we need to make sure\n // it doesn't match against an empty path part.\n // Otherwise a/* will match a/, which it should not.\n if (re !== '' && hasMagic) {\n re = '(?=.)' + re\n }\n\n if (addPatternStart) {\n re = patternStart() + re\n }\n\n // parsing just a piece of a larger pattern.\n if (isSub === SUBPARSE) {\n return [re, hasMagic]\n }\n\n // if it's nocase, and the lcase/uppercase don't match, it's magic\n if (options.nocase && !hasMagic) {\n hasMagic = pattern.toUpperCase() !== pattern.toLowerCase()\n }\n\n // skip the regexp for non-magical patterns\n // unescape anything in it, though, so that it'll be\n // an exact match against a file etc.\n if (!hasMagic) {\n return globUnescape(pattern)\n }\n\n const flags = options.nocase ? 'i' : ''\n try {\n return Object.assign(new RegExp('^' + re + '$', flags), {\n _glob: pattern,\n _src: re,\n })\n } catch (er) /* istanbul ignore next - should be impossible */ {\n // If it was an invalid regular expression, then it can't match\n // anything. This trick looks for a character after the end of\n // the string, which is of course impossible, except in multi-line\n // mode, but it's not a /m regex.\n return new RegExp('$.')\n }\n }\n\n makeRe () {\n if (this.regexp || this.regexp === false) return this.regexp\n\n // at this point, this.set is a 2d array of partial\n // pattern strings, or \"**\".\n //\n // It's better to use .match(). This function shouldn't\n // be used, really, but it's pretty convenient sometimes,\n // when you just want to work with a regex.\n const set = this.set\n\n if (!set.length) {\n this.regexp = false\n return this.regexp\n }\n const options = this.options\n\n const twoStar = options.noglobstar ? star\n : options.dot ? twoStarDot\n : twoStarNoDot\n const flags = options.nocase ? 'i' : ''\n\n // coalesce globstars and regexpify non-globstar patterns\n // if it's the only item, then we just do one twoStar\n // if it's the first, and there are more, prepend (\\/|twoStar\\/)? to next\n // if it's the last, append (\\/twoStar|) to previous\n // if it's in the middle, append (\\/|\\/twoStar\\/) to previous\n // then filter out GLOBSTAR symbols\n let re = set.map(pattern => {\n pattern = pattern.map(p =>\n typeof p === 'string' ? regExpEscape(p)\n : p === GLOBSTAR ? GLOBSTAR\n : p._src\n ).reduce((set, p) => {\n if (!(set[set.length - 1] === GLOBSTAR && p === GLOBSTAR)) {\n set.push(p)\n }\n return set\n }, [])\n pattern.forEach((p, i) => {\n if (p !== GLOBSTAR || pattern[i-1] === GLOBSTAR) {\n return\n }\n if (i === 0) {\n if (pattern.length > 1) {\n pattern[i+1] = '(?:\\\\\\/|' + twoStar + '\\\\\\/)?' + pattern[i+1]\n } else {\n pattern[i] = twoStar\n }\n } else if (i === pattern.length - 1) {\n pattern[i-1] += '(?:\\\\\\/|' + twoStar + ')?'\n } else {\n pattern[i-1] += '(?:\\\\\\/|\\\\\\/' + twoStar + '\\\\\\/)' + pattern[i+1]\n pattern[i+1] = GLOBSTAR\n }\n })\n return pattern.filter(p => p !== GLOBSTAR).join('/')\n }).join('|')\n\n // must match entire pattern\n // ending in a * or ** will make it less strict.\n re = '^(?:' + re + ')$'\n\n // can match anything, as long as it's not this.\n if (this.negate) re = '^(?!' + re + ').*$'\n\n try {\n this.regexp = new RegExp(re, flags)\n } catch (ex) /* istanbul ignore next - should be impossible */ {\n this.regexp = false\n }\n return this.regexp\n }\n\n match (f, partial = this.partial) {\n this.debug('match', f, this.pattern)\n // short-circuit in the case of busted things.\n // comments, etc.\n if (this.comment) return false\n if (this.empty) return f === ''\n\n if (f === '/' && partial) return true\n\n const options = this.options\n\n // windows: need to use /, not \\\n if (path.sep !== '/') {\n f = f.split(path.sep).join('/')\n }\n\n // treat the test path as a set of pathparts.\n f = f.split(slashSplit)\n this.debug(this.pattern, 'split', f)\n\n // just ONE of the pattern sets in this.set needs to match\n // in order for it to be valid. If negating, then just one\n // match means that we have failed.\n // Either way, return on the first hit.\n\n const set = this.set\n this.debug(this.pattern, 'set', set)\n\n // Find the basename of the path by looking for the last non-empty segment\n let filename\n for (let i = f.length - 1; i >= 0; i--) {\n filename = f[i]\n if (filename) break\n }\n\n for (let i = 0; i < set.length; i++) {\n const pattern = set[i]\n let file = f\n if (options.matchBase && pattern.length === 1) {\n file = [filename]\n }\n const hit = this.matchOne(file, pattern, partial)\n if (hit) {\n if (options.flipNegate) return true\n return !this.negate\n }\n }\n\n // didn't get any hits. this is success if it's a negative\n // pattern, failure otherwise.\n if (options.flipNegate) return false\n return this.negate\n }\n\n static defaults (def) {\n return minimatch.defaults(def).Minimatch\n }\n}\n\nminimatch.Minimatch = Minimatch\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"\" + chunkId + \"-\" + chunkId + \".js?v=\" + {\"2323\":\"c3991282618b5e2556aa\",\"7181\":\"1ace2f1abfc44a729881\"}[chunkId] + \"\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.j = 6335;","var scriptUrl;\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \"\";\nvar document = __webpack_require__.g.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript)\n\t\tscriptUrl = document.currentScript.src;\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) scriptUrl = scripts[scripts.length - 1].src\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl;","__webpack_require__.b = document.baseURI || self.location.href;\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t6335: 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t} else installedChunks[chunkId] = 0;\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunknextcloud\"] = self[\"webpackChunknextcloud\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","__webpack_require__.nc = undefined;","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [7874], () => (__webpack_require__(3433)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","leafPrototypes","getProto","inProgress","dataWebpackPrefix","e","t","module","exports","self","n","d","Z","a","r","o","defaultProtocol","target","className","attributes","rel","c","i","push","id","version","sources","names","mappings","sourcesContent","sourceRoot","toString","this","map","concat","length","join","s","l","u","btoa","unescape","encodeURIComponent","JSON","stringify","identifier","base","p","b","css","media","sourceMap","supports","layer","references","updater","A","byIndex","splice","domAPI","update","remove","document","querySelector","window","HTMLIFrameElement","contentDocument","head","Error","appendChild","createElement","setAttributes","insert","options","nc","setAttribute","insertStyleElement","styleTagTransform","parentNode","removeChild","styleSheet","cssText","firstChild","createTextNode","g","name","props","type","String","required","label","icon","iconUrl","default","source","primary","Boolean","computed","avatarUrl","getAvatarUrl","mentionText","includes","methods","generateUrl","user","size","f","m","v","C","bind","locals","_self","_c","staticClass","class","attrs","contenteditable","style","backgroundImage","_v","role","title","_s","render","staticRenderFns","_compiled","functional","_scopeId","$vnode","ssrContext","parent","__VUE_SSR_CONTEXT__","call","_registeredComponents","add","_ssrRegister","$root","$options","shadowRoot","_injectStyles","beforeCreate","__esModule","Object","defineProperty","enumerable","get","prototype","hasOwnProperty","Symbol","toStringTag","value","USERID_REGEX","USERID_REGEX_WITH_SPACE","RegExp","userData","renderContent","split","flat","startsWith","replace","genSelectTemplate","parseContent","autocompleteTribute","current","collection","trigger","renderComponentHtml","extend","propsData","display","body","$mount","innerHTML","$destroy","_typeof","obj","iterator","constructor","_defineProperties","descriptor","configurable","writable","key","_toConsumableArray","arr","Array","isArray","arr2","_arrayWithoutHoles","iter","from","_iterableToArray","TypeError","_nonIterableSpread","deepEqual","val1","val2","VisibilityState","el","vnode","instance","Constructor","_classCallCheck","observer","frozen","createObserver","protoProps","_this","destroyObserver","callback","result","entry","once","throttle","_leading","throttleOptions","leading","delay","timeout","lastState","currentArgs","arguments","undefined","throttled","state","_len","args","_key","apply","clearTimeout","setTimeout","_clear","oldResult","IntersectionObserver","entries","intersectingEntry","find","isIntersecting","intersectionRatio","threshold","intersection","context","$nextTick","observe","disconnect","_ref2","console","warn","_vue_visibilityState","unbind","ObserveVisibility","_ref3","oldValue","install","Vue","directive","GlobalVue","use","emits","fillColor","Number","_vm","_b","on","$event","$emit","$attrs","_e","timestamp","format","moment","formatted","fromNow","getRootPath","generateRemoteUrl","decodeHtmlEntities","passes","parser","DOMParser","decoded","parseFromString","documentElement","textContent","createClient","headers","requesttoken","_getRequestToken","getRequestToken","message","ressourceId","data","deleted","editing","loading","onEdit","onEditCancel","updateLocalMessage","async","commentsType","commentId","commentPath","client","assign","method","EditComment","logger","debug","error","showError","onDeleteWithUndo","timeOutDelete","onDelete","TOAST_UNDO_TIMEOUT","showUndo","DeleteComment","newComment","ressourcePath","response","axios","actorDisplayName","getCurrentUser","displayName","actorId","uid","actorType","creationDateTime","Date","toUTCString","objectType","verb","parseInt","pop","comment","details","NewComment","localMessage","components","NcActionButton","NcActions","NcActionSeparator","ArrowRight","NcAvatar","NcButton","Moment","NcRichContenteditable","mixins","RichEditorMixin","CommentMixin","inheritAttrs","editor","autoComplete","Function","tag","expanded","isOwnComment","renderedContent","isEmptyMessage","trim","watch","beforeMount","onSubmit","onNewComment","$refs","$el","focus","onEditComment","onExpand","directives","rawName","expression","ref","scopedSlots","_u","fn","proxy","domProps","convertResponseHeaders","output","keys","PropertyType","prepareFileFromProps","rawFilename","isDetailed","getlastmodified","lastMod","getcontentlength","rawSize","resourcetype","resourceType","getcontenttype","mimeType","getetag","etag","filename","text","WEB","he","decode","txt","decodeHTMLEntities","stat","basename","lastmod","mime","getComments","_ref","offset","responseData","parseXML","status","statusText","processResponsePayload","getDirectoryFiles","multistatus","responseItems","item","propstat","prop","VTooltip","VueObserveVisibility","Comment","NcEmptyContent","RefreshIcon","MessageReplyTextIcon","AlertCircleOutlineIcon","done","comments","cancelRequest","editorData","hasComments","isFirstLoading","isVisible","markCommentsAsRead","date","readMarker","resetState","onScrollBottomReached","genMentionsData","mentions","values","forEach","mention","mentionId","mentionDisplayName","request","abort","controller","AbortController","signal","url","cancelableRequest","search","generateOcsUrl","params","itemType","itemId","sorter","limit","loadState","ocs","unshift","index","findIndex","onVisibilityChange","_l","$set","__webpack_nonce__","getLoggerBuilder","setApp","detectUser","build","OCA","Comments","View","CommentsApp","balanced","str","maybeMatch","range","start","end","pre","slice","post","reg","match","begs","beg","left","right","ai","indexOf","bi","root","freeGlobal","global","InvalidCharacterError","TABLE","REGEX_SPACE_CHARACTERS","base64","input","test","buffer","padding","position","charCodeAt","charAt","bitStorage","bitCounter","fromCharCode","___CSS_LOADER_EXPORT___","regexAstralSymbols","regexAsciiWhitelist","regexBmpWhitelist","regexEncodeNonAscii","encodeMap","regexEscape","escapeMap","regexInvalidEntity","regexInvalidRawCodePoint","regexDecode","decodeMap","decodeMapLegacy","decodeMapNumeric","invalidReferenceCodePoints","stringFromCharCode","has","object","propertyName","merge","defaults","codePointToSymbol","codePoint","strict","parseError","array","contains","hexEscape","toUpperCase","decEscape","encode","string","encodeEverything","useNamedReferences","allowUnsafeSymbols","escapeCodePoint","decimal","escapeBmpSymbol","symbol","$0","high","low","html","$1","$2","$3","$4","$5","$6","$7","$8","semicolon","decDigits","hexDigits","reference","next","isAttributeValue","isError","err","inherit","assertError","ctor","superCtor","super_","create","__createBinding","k","k2","__exportStar","Layerr","layerr_1","error_1","tools_1","errorOptionsOrMessage","messageText","shortMessage","parseArguments","cause","info","_info","captureStackTrace","constructorOpt","_cause","fullStack","stack","webpackContext","req","webpackContextResolve","__webpack_require__","code","resolve","_wrapNativeSuper","Class","_cache","Map","set","Wrapper","_construct","_getPrototypeOf","_setPrototypeOf","Parent","Reflect","construct","sham","Proxy","_isNativeReflectConstruct","setPrototypeOf","__proto__","getPrototypeOf","ARRAY_WILDCARD","ObjectPrototypeMutationError","_Error","ReferenceError","_assertThisInitialized","_possibleConstructorReturn","subClass","superClass","_inherits","traverse","path","segments","_loop","idx","currentSegment","remainingSegments","pathToHere","_ret","isLastSegment","property","currentObject","currentProperty","nextPropIsNumber","isInteger","nextPropIsArrayWildcard","own","hasOwn","isIn","objectInPath","pathExists","validPath","util","isString","x","normalizeArray","parts","allowAboveRoot","res","splitPathRe","posix","posixSplitPath","exec","resolvedPath","resolvedAbsolute","process","cwd","normalize","isAbsolute","trailingSlash","substr","segment","relative","to","fromParts","toParts","Math","min","samePartsLength","outputParts","_makeLong","dirname","dir","ext","extname","pathObject","isObject","sep","parse","pathString","allParts","delimiter","expand","escSlash","escOpen","escClose","escComma","escPeriod","escapeBraces","unescapeBraces","random","numeric","parseCommaParts","postParts","shift","embrace","isPadded","lte","y","gte","isTop","expansions","expansion","N","isNumericSequence","isAlphaSequence","isSequence","isOptions","width","max","incr","abs","pad","some","need","z","j","buildOptions","defaultOptions","attributeNamePrefix","attrNodeName","textNodeName","ignoreAttributes","cdataTagName","cdataPositionChar","indentBy","supressEmptyNode","tagValueProcessor","attrValueProcessor","Parser","isAttribute","attrPrefixLen","isCDATA","replaceCDATAstr","replaceCDATAarr","processTextOrObjNode","indentate","tagEndChar","newLine","buildTextNode","buildEmptyTextNode","buildObjNode","buildEmptyObjNode","buildTextValNode","buildObjectNode","level","j2x","val","attrStr","cdata","repeat","jObj","rootNodeName","attr","arrLen","Ks","L","char","chars","nilChar","missingChar","nilPremitive","missingPremitive","emptyChar","emptyValue","boundryChar","objStart","arrStart","arrayEnd","charsArr","node","e_schema","getValue","hasValidData","child","attrsMap","itemSchema","arr_len","arr_i","processValue","isAppChar","ch","x2j","convert2nimn","convertToJson","parentTagName","alwaysCreateTextNode","isEmptyObject","isExist","asArray","isTagNameInArrayMode","tagname","arrayMode","tagName","_cToJsonStr","isNaN","convertToJsonString","nodeToJson","xmlToNodeobj","x2xmlnode","validator","xmlData","givenOptions","validationOption","validate","msg","parseTrueNumberOnly","parseNodeValue","numParseOptions","leadingZeros","traversableObj","getTraversalObj","convertTonimn","j2xParser","parseToNimn","schema","nameStartChar","nameRegexp","regexName","len","newOptions","isName","getAllMatches","regex","matches","allmatches","startIndex","lastIndex","allowBooleanAttributes","readPI","getErrorObject","getLineNumberForPosition","readCommentAndCDATA","angleBracketsCount","tags","tagFound","reachedRoot","tagStartPos","closingTag","substring","readAttributeStr","attrStrStart","isValid","validateAttributeString","line","tagClosed","otg","openPos","col","afterAmp","validateAmpersand","doubleQuote","singleQuote","startChar","validAttrStrRegxp","attrNames","getPositionFromMatch","attrName","validateAttrName","re","validateNumberAmpersand","count","lineNumber","lines","addChild","xmlNode","toNumber","parseFloat","ignoreNameSpace","parseAttributeValue","trimValues","hex","stopNodes","processTagValue","parseValue","resolveNameSpace","prefix","shouldParse","newval","attrsRegx","buildAttributesMap","attrCollection","closingIndexForOpeningTag","attrBoundary","tagExp","findClosingIndex","errMsg","closingIndex","xmlObj","currentNode","textData","closeIndex","colonIndex","childNode","separatorIndex","shouldBuildAttributesMap","lastIndexOf","isWindows","platform","minimatch","pattern","assertValidPattern","nocomment","Minimatch","GLOBSTAR","plTypes","open","close","qmark","star","charSet","reduce","reSpecials","addPatternStartSet","slashSplit","filter","list","def","orig","super","makeRe","braceExpand","nobrace","SUBPARSE","mm","nonull","windowsPathsNoEscape","allowWindowsEscape","regexp","negate","empty","partial","make","parseNegate","globSet","globParts","si","nonegate","negateOffset","matchOne","file","fi","pi","fl","pl","hit","fr","pr","dot","swallowee","isSub","noglobstar","hasMagic","escaping","patternListStack","negativeLists","stateChar","cs","sp","inClass","reClassStart","classStart","dotTravAllowed","dotFileAllowed","subPatternStart","clearStateChar","noext","plEntry","reStart","reEnd","er","tail","_","addPatternStart","nl","nlBefore","nlFirst","nlAfter","nlLast","closeParensBefore","openParensBefore","cleanAfter","nocase","toLowerCase","globUnescape","flags","_glob","_src","twoStar","ex","matchBase","flipNegate","static","__webpack_module_cache__","moduleId","cachedModule","loaded","__webpack_modules__","O","chunkIds","priority","notFulfilled","Infinity","fulfilled","every","getter","mode","then","ns","getOwnPropertyNames","definition","chunkId","Promise","all","promises","globalThis","script","needAttach","scripts","getElementsByTagName","getAttribute","charset","src","onScriptComplete","prev","event","onerror","onload","doneFns","nmd","paths","children","scriptUrl","importScripts","location","currentScript","baseURI","href","installedChunks","installedChunkData","promise","reject","errorType","realSrc","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""}