{"version":3,"sources":["layout.js"],"names":["$","LeftSidebar","body","window","prototype","_reset","removeAttr","changeColor","color","attr","parent","updateConfig","changeSize","size","showUser","initMenu","self","layout","LayoutThemeApp","getConfig","sidebar","extend","defaultSidebarSize","on","event","preventDefault","sidebarSize","width","toggleClass","length","navCollapse","target","parents","not","collapse","each","pageUrl","location","href","split","addClass","firstLevelParent","secondLevelParent","upperLevelParent","is","twoColSideNav","twoColSideNavItems","sideSubMenus","tooltip","nav","nearestNav","closest","find","e","removeClass","leftSidebar","matchingItem","targetEl","trigger","initLayout","data","init","Constructor","jQuery","Topbar","el","prev","hasClass","slideToggle","RightBar","selectOptionsFromConfig","config","mode","prop","menuPosition","showuser","toggleRightSideBar","document","change","changeMode","val","changeLayoutWidth","changeMenuPositions","checked","topbar","reset","defaultBSStyle","defaultAppStyle","darkBSStyle","darkAppStyle","exemploBSStyle","exemploAppStyle","_saveConfig","newConfig","localStorage","setItem","JSON","stringify","param","newObj","originalParam","loadConfig","bodyConfig","parse","showRightSidebarOnPageLoad","ancodeTheme","getItem","applyConfig","sidebarConfig","topbarConfig","rightBar","position","clearSavedConfig"],"mappings":";;;;AAAA;;;;;;;;AASA;;;;AAIA,CAAC,UAAUA,CAAV,EAAa;AACV;;AAEA,MAAIC,WAAW,GAAG,SAAdA,WAAc,GAAY;AAC1B,SAAKC,IAAL,GAAYF,CAAC,CAAC,MAAD,CAAb,EACI,KAAKG,MAAL,GAAcH,CAAC,CAACG,MAAD,CADnB;AAEH,GAHD;AAKA;;;;;AAGAF,EAAAA,WAAW,CAACG,SAAZ,CAAsBC,MAAtB,GAA+B,YAAY;AACvC,SAAKH,IAAL,CAAUI,UAAV,CAAqB,oBAArB;AACA,SAAKJ,IAAL,CAAUI,UAAV,CAAqB,mBAArB;AACA,SAAKJ,IAAL,CAAUI,UAAV,CAAqB,uBAArB;AACH,GAJD;AAMI;;;;AAIAL,EAAAA,WAAW,CAACG,SAAZ,CAAsBG,WAAtB,GAAoC,UAAUC,KAAV,EAAiB;AACjD,SAAKN,IAAL,CAAUO,IAAV,CAAe,oBAAf,EAAqCD,KAArC;AACA,SAAKE,MAAL,CAAYC,YAAZ,CAAyB,SAAzB,EAAoC;AAAE,eAASH;AAAX,KAApC;AACH,GAbL;AAeI;;;;AAIAP,EAAAA,WAAW,CAACG,SAAZ,CAAsBQ,UAAtB,GAAmC,UAAUC,IAAV,EAAgB;AAC/C,SAAKX,IAAL,CAAUO,IAAV,CAAe,mBAAf,EAAoCI,IAApC;AACA,SAAKH,MAAL,CAAYC,YAAZ,CAAyB,SAAzB,EAAoC;AAAE,cAAQE;AAAV,KAApC;AACH,GAtBL;AAwBI;;;;AAIAZ,EAAAA,WAAW,CAACG,SAAZ,CAAsBU,QAAtB,GAAiC,UAAUA,QAAV,EAAoB;AACjD,SAAKZ,IAAL,CAAUO,IAAV,CAAe,uBAAf,EAAwCK,QAAxC;AACA,SAAKJ,MAAL,CAAYC,YAAZ,CAAyB,SAAzB,EAAoC;AAAE,kBAAYG;AAAd,KAApC;AACH,GA/BL;AAiCI;;;AAGAb,EAAAA,WAAW,CAACG,SAAZ,CAAsBW,QAAtB,GAAiC,YAAY;AACzC,QAAIC,IAAI,GAAG,IAAX;AAEA,QAAIC,MAAM,GAAGjB,CAAC,CAACkB,cAAF,CAAiBC,SAAjB,EAAb;AACA,QAAIC,OAAO,GAAGpB,CAAC,CAACqB,MAAF,CAAS,EAAT,EAAaJ,MAAM,GAAGA,MAAM,CAACG,OAAV,GAAoB,EAAvC,CAAd;AACA,QAAIE,kBAAkB,GAAGF,OAAO,CAACP,IAAR,GAAeO,OAAO,CAACP,IAAvB,GAA8B,SAAvD,CALyC,CAOzC;;AACA,SAAKR,MAAL,GARyC,CAUzC;;;AACAL,IAAAA,CAAC,CAAC,qBAAD,CAAD,CAAyBuB,EAAzB,CAA4B,OAA5B,EAAqC,UAAUC,KAAV,EAAiB;AAClDA,MAAAA,KAAK,CAACC,cAAN;AACA,UAAIC,WAAW,GAAGV,IAAI,CAACd,IAAL,CAAUO,IAAV,CAAe,mBAAf,CAAlB;;AACA,UAAIO,IAAI,CAACb,MAAL,CAAYwB,KAAZ,MAAuB,GAA3B,EAAgC;AAC5B,YAAID,WAAW,KAAK,WAApB,EAAiC;AAC7BV,UAAAA,IAAI,CAACJ,UAAL,CAAgBU,kBAAhB;AACH,SAFD,MAEO;AACHN,UAAAA,IAAI,CAACJ,UAAL,CAAgB,WAAhB;AACH;AACJ,OAND,MAMO;AACHI,QAAAA,IAAI,CAACJ,UAAL,CAAgBU,kBAAhB;AACAN,QAAAA,IAAI,CAACd,IAAL,CAAU0B,WAAV,CAAsB,gBAAtB;AACH;AACJ,KAbD,EAXyC,CA0BzC;;AACA,QAAI5B,CAAC,CAAC,YAAD,CAAD,CAAgB6B,MAApB,EAA4B;AACxB,UAAIC,WAAW,GAAG9B,CAAC,CAAC,yBAAD,CAAnB,CADwB,CAGxB;;AACA8B,MAAAA,WAAW,CAACP,EAAZ,CAAe;AACX,4BAAoB,wBAAUC,KAAV,EAAiB;AACjC,cAAId,MAAM,GAAGV,CAAC,CAACwB,KAAK,CAACO,MAAP,CAAD,CAAgBC,OAAhB,CAAwB,gBAAxB,CAAb;AACAhC,UAAAA,CAAC,CAAC,2BAAD,CAAD,CAA+BiC,GAA/B,CAAmCvB,MAAnC,EAA2CwB,QAA3C,CAAoD,MAApD;AACH;AAJU,OAAf,EAJwB,CAWxB;;AACAlC,MAAAA,CAAC,CAAC,cAAD,CAAD,CAAkBmC,IAAlB,CAAuB,YAAY;AAC/B,YAAIC,OAAO,GAAGjC,MAAM,CAACkC,QAAP,CAAgBC,IAAhB,CAAqBC,KAArB,CAA2B,MAA3B,EAAmC,CAAnC,CAAd;;AACA,YAAI,KAAKD,IAAL,IAAaF,OAAjB,EAA0B;AACtBpC,UAAAA,CAAC,CAAC,IAAD,CAAD,CAAQwC,QAAR,CAAiB,QAAjB;AACAxC,UAAAA,CAAC,CAAC,IAAD,CAAD,CAAQU,MAAR,GAAiB8B,QAAjB,CAA0B,iBAA1B;AACAxC,UAAAA,CAAC,CAAC,IAAD,CAAD,CAAQU,MAAR,GAAiBA,MAAjB,GAA0BA,MAA1B,GAAmC8B,QAAnC,CAA4C,MAA5C;AACAxC,UAAAA,CAAC,CAAC,IAAD,CAAD,CAAQU,MAAR,GAAiBA,MAAjB,GAA0BA,MAA1B,GAAmCA,MAAnC,GAA4C8B,QAA5C,CAAqD,iBAArD,EAJsB,CAImD;;AAEzE,cAAIC,gBAAgB,GAAGzC,CAAC,CAAC,IAAD,CAAD,CAAQU,MAAR,GAAiBA,MAAjB,GAA0BA,MAA1B,GAAmCA,MAAnC,GAA4CA,MAA5C,GAAqDA,MAArD,EAAvB;AACA,cAAI+B,gBAAgB,CAAChC,IAAjB,CAAsB,IAAtB,MAAgC,cAApC,EACIgC,gBAAgB,CAACD,QAAjB,CAA0B,MAA1B;AAEJxC,UAAAA,CAAC,CAAC,IAAD,CAAD,CAAQU,MAAR,GAAiBA,MAAjB,GAA0BA,MAA1B,GAAmCA,MAAnC,GAA4CA,MAA5C,GAAqDA,MAArD,GAA8DA,MAA9D,GAAuE8B,QAAvE,CAAgF,iBAAhF;AAEA,cAAIE,iBAAiB,GAAG1C,CAAC,CAAC,IAAD,CAAD,CAAQU,MAAR,GAAiBA,MAAjB,GAA0BA,MAA1B,GAAmCA,MAAnC,GAA4CA,MAA5C,GAAqDA,MAArD,GAA8DA,MAA9D,GAAuEA,MAAvE,GAAgFA,MAAhF,EAAxB;AACA,cAAIgC,iBAAiB,CAACjC,IAAlB,CAAuB,IAAvB,MAAiC,SAArC,EACIiC,iBAAiB,CAACF,QAAlB,CAA2B,MAA3B;AAEJ,cAAIG,gBAAgB,GAAG3C,CAAC,CAAC,IAAD,CAAD,CAAQU,MAAR,GAAiBA,MAAjB,GAA0BA,MAA1B,GAAmCA,MAAnC,GAA4CA,MAA5C,GAAqDA,MAArD,GAA8DA,MAA9D,GAAuEA,MAAvE,GAAgFA,MAAhF,GAAyFA,MAAzF,EAAvB;AACA,cAAI,CAACiC,gBAAgB,CAACC,EAAjB,CAAoB,MAApB,CAAL,EACID,gBAAgB,CAACH,QAAjB,CAA0B,iBAA1B;AACP;AACJ,OAtBD;AAuBH,KA9DwC,CAiEzC;;;AACA,QAAIK,aAAa,GAAG7C,CAAC,CAAC,uBAAD,CAArB;;AACA,QAAI6C,aAAa,CAAChB,MAAlB,EAA0B;AACtB,UAAIiB,kBAAkB,GAAG9C,CAAC,CAAC,iCAAD,CAA1B;AACA,UAAI+C,YAAY,GAAG/C,CAAC,CAAC,sBAAD,CAApB,CAFsB,CAItB;;AACA,UAAI,KAAKG,MAAL,CAAYwB,KAAZ,MAAuB,GAA3B,EAAgC;AAC5BmB,QAAAA,kBAAkB,CAACE,OAAnB,CAA2B,QAA3B;AACH,OAFD,MAEO;AACHF,QAAAA,kBAAkB,CAACE,OAAnB,CAA2B,SAA3B;AACH;;AAED,UAAIC,GAAG,GAAGjD,CAAC,CAAC,wCAAD,CAAX;AACA,UAAI8B,WAAW,GAAG9B,CAAC,CAAC,4BAAD,CAAnB,CAZsB,CActB;;AACA8B,MAAAA,WAAW,CAACP,EAAZ,CAAe;AACX,4BAAoB,0BAAY;AAC5B,cAAI2B,UAAU,GAAGlD,CAAC,CAAC,IAAD,CAAD,CAAQmD,OAAR,CAAgBF,GAAhB,EAAqBE,OAArB,CAA6BF,GAA7B,EAAkCG,IAAlC,CAAuCtB,WAAvC,CAAjB;AACA,cAAIoB,UAAU,CAACrB,MAAf,EACIqB,UAAU,CAACjB,GAAX,CAAejC,CAAC,CAAC,IAAD,CAAhB,EAAwBkC,QAAxB,CAAiC,MAAjC,EADJ,KAGIJ,WAAW,CAACG,GAAZ,CAAgBjC,CAAC,CAAC,IAAD,CAAjB,EAAyBkC,QAAzB,CAAkC,MAAlC;AACP;AAPU,OAAf;AAUAY,MAAAA,kBAAkB,CAACvB,EAAnB,CAAsB,OAAtB,EAA+B,UAAU8B,CAAV,EAAa;AACxC,YAAItB,MAAM,GAAG/B,CAAC,CAACA,CAAC,CAAC,IAAD,CAAD,CAAQS,IAAR,CAAa,MAAb,CAAD,CAAd;;AAEA,YAAIsB,MAAM,CAACF,MAAX,EAAmB;AACfwB,UAAAA,CAAC,CAAC5B,cAAF;AAEAqB,UAAAA,kBAAkB,CAACQ,WAAnB,CAA+B,QAA/B;AACAtD,UAAAA,CAAC,CAAC,IAAD,CAAD,CAAQwC,QAAR,CAAiB,QAAjB;AAEAO,UAAAA,YAAY,CAACO,WAAb,CAAyB,SAAzB;AACAvB,UAAAA,MAAM,CAACS,QAAP,CAAgB,SAAhB,EAPe,CASf;;AACAxC,UAAAA,CAAC,CAACkB,cAAF,CAAiBqC,WAAjB,CAA6B3C,UAA7B,CAAwC,SAAxC;AACA,iBAAO,KAAP;AACH;;AACD,eAAO,IAAP;AACH,OAjBD,EAzBsB,CA4CtB;;AACA,UAAIwB,OAAO,GAAGjC,MAAM,CAACkC,QAAP,CAAgBC,IAAhB,CAAqBC,KAArB,CAA2B,MAA3B,EAAmC,CAAnC,CAAd;AACAO,MAAAA,kBAAkB,CAACX,IAAnB,CAAwB,YAAY;AAChC,YAAI,KAAKG,IAAL,IAAaF,OAAjB,EAA0B;AACtBpC,UAAAA,CAAC,CAAC,IAAD,CAAD,CAAQwC,QAAR,CAAiB,QAAjB;AACH;AACJ,OAJD,EA9CsB,CAqDtB;;AACAxC,MAAAA,CAAC,CAAC,iBAAD,CAAD,CAAqBmC,IAArB,CAA0B,YAAY;AAClC,YAAI,KAAKG,IAAL,IAAaF,OAAjB,EAA0B;AACtBpC,UAAAA,CAAC,CAAC,IAAD,CAAD,CAAQwC,QAAR,CAAiB,QAAjB;AACAxC,UAAAA,CAAC,CAAC,IAAD,CAAD,CAAQU,MAAR,GAAiB8B,QAAjB,CAA0B,iBAA1B;AACAxC,UAAAA,CAAC,CAAC,IAAD,CAAD,CAAQU,MAAR,GAAiBA,MAAjB,GAA0BA,MAA1B,GAAmC8B,QAAnC,CAA4C,MAA5C;AACAxC,UAAAA,CAAC,CAAC,IAAD,CAAD,CAAQU,MAAR,GAAiBA,MAAjB,GAA0BA,MAA1B,GAAmCA,MAAnC,GAA4C8B,QAA5C,CAAqD,iBAArD,EAJsB,CAImD;;AAEzE,cAAIC,gBAAgB,GAAGzC,CAAC,CAAC,IAAD,CAAD,CAAQU,MAAR,GAAiBA,MAAjB,GAA0BA,MAA1B,GAAmCA,MAAnC,GAA4CA,MAA5C,GAAqDA,MAArD,EAAvB;AACA,cAAI+B,gBAAgB,CAAChC,IAAjB,CAAsB,IAAtB,MAAgC,cAApC,EACIgC,gBAAgB,CAACD,QAAjB,CAA0B,MAA1B;AAEJxC,UAAAA,CAAC,CAAC,IAAD,CAAD,CAAQU,MAAR,GAAiBA,MAAjB,GAA0BA,MAA1B,GAAmCA,MAAnC,GAA4CA,MAA5C,GAAqDA,MAArD,GAA8DA,MAA9D,GAAuE8B,QAAvE,CAAgF,iBAAhF;AAEA,cAAIE,iBAAiB,GAAG1C,CAAC,CAAC,IAAD,CAAD,CAAQU,MAAR,GAAiBA,MAAjB,GAA0BA,MAA1B,GAAmCA,MAAnC,GAA4CA,MAA5C,GAAqDA,MAArD,GAA8DA,MAA9D,GAAuEA,MAAvE,GAAgFA,MAAhF,EAAxB;AACA,cAAIgC,iBAAiB,CAACjC,IAAlB,CAAuB,IAAvB,MAAiC,SAArC,EACIiC,iBAAiB,CAACF,QAAlB,CAA2B,MAA3B;AAEJ,cAAIG,gBAAgB,GAAG3C,CAAC,CAAC,IAAD,CAAD,CAAQU,MAAR,GAAiBA,MAAjB,GAA0BA,MAA1B,GAAmCA,MAAnC,GAA4CA,MAA5C,GAAqDA,MAArD,GAA8DA,MAA9D,GAAuEA,MAAvE,GAAgFA,MAAhF,GAAyFA,MAAzF,EAAvB;AACA,cAAI,CAACiC,gBAAgB,CAACC,EAAjB,CAAoB,MAApB,CAAL,EACID,gBAAgB,CAACH,QAAjB,CAA0B,iBAA1B,EAlBkB,CAoBtB;;AACA,cAAIgB,YAAY,GAAG,IAAnB;AACA,cAAIC,QAAQ,GAAG,MAAMzD,CAAC,CAAC,IAAD,CAAD,CAAQgC,OAAR,CAAgB,sBAAhB,EAAwCvB,IAAxC,CAA6C,IAA7C,CAArB;AACAT,UAAAA,CAAC,CAAC,iCAAD,CAAD,CAAqCmC,IAArC,CAA0C,YAAY;AAClD,gBAAInC,CAAC,CAAC,IAAD,CAAD,CAAQS,IAAR,CAAa,MAAb,MAAyBgD,QAA7B,EAAuC;AACnCD,cAAAA,YAAY,GAAGxD,CAAC,CAAC,IAAD,CAAhB;AACH;AACJ,WAJD;AAKA,cAAIwD,YAAJ,EAAkBA,YAAY,CAACE,OAAb,CAAqB,OAArB;AACrB;AACJ,OA/BD;AAgCH;AACJ,GA9LL;AAgMI;;;AAGAzD,EAAAA,WAAW,CAACG,SAAZ,CAAsBuD,UAAtB,GAAmC,YAAY;AAC3C;AACA,QAAK,KAAKxD,MAAL,CAAYwB,KAAZ,MAAuB,GAAvB,IAA8B,KAAKxB,MAAL,CAAYwB,KAAZ,MAAuB,IAAtD,IAA+D,KAAKzB,IAAL,CAAU0D,IAAV,CAAe,eAAf,CAAnE,EAAoG;AAChG,WAAKhD,UAAL,CAAgB,WAAhB;AACH,KAFD,MAEO;AACH,WAAKA,UAAL,CAAgB,SAAhB;AACH;AACJ,GA1ML;AA4MI;;;AAGAX,EAAAA,WAAW,CAACG,SAAZ,CAAsByD,IAAtB,GAA6B,YAAY;AACrC,QAAI7C,IAAI,GAAG,IAAX;AACA,SAAKD,QAAL;AACA,SAAK4C,UAAL,GAHqC,CAKrC;;AACA,SAAKxD,MAAL,CAAYoB,EAAZ,CAAe,QAAf,EAAyB,UAAU8B,CAAV,EAAa;AAClCA,MAAAA,CAAC,CAAC5B,cAAF;AACAT,MAAAA,IAAI,CAAC2C,UAAL;AACH,KAHD;AAIH,GAzNL,EA2NI3D,CAAC,CAACC,WAAF,GAAgB,IAAIA,WAAJ,EA3NpB,EA2NqCD,CAAC,CAACC,WAAF,CAAc6D,WAAd,GAA4B7D,WA3NjE;AA4NH,CAvOA,CAuOCE,MAAM,CAAC4D,MAvOR,CAAD;AA0OI;;;;AAIA,UAAU/D,CAAV,EAAa;AACT;;AAEA,MAAIgE,MAAM,GAAG,SAATA,MAAS,GAAY;AACrB,SAAK9D,IAAL,GAAYF,CAAC,CAAC,MAAD,CAAb,EACI,KAAKG,MAAL,GAAcH,CAAC,CAACG,MAAD,CADnB;AAEH,GAHD;AAKA;;;;;AAGA6D,EAAAA,MAAM,CAAC5D,SAAP,CAAiBW,QAAjB,GAA4B,YAAY;AACpC;AACAf,IAAAA,CAAC,CAAC,aAAD,CAAD,CAAiBuB,EAAjB,CAAoB,OAApB,EAA6B,UAAU8B,CAAV,EAAa;AACtCrD,MAAAA,CAAC,CAAC,kBAAD,CAAD,CAAsBwC,QAAtB,CAA+B,SAA/B;AACH,KAFD,EAFoC,CAMpC;;AACAxC,IAAAA,CAAC,CAAC,kBAAD,CAAD,CAAsBuB,EAAtB,CAAyB,kBAAzB,EAA6C,YAAY;AACrDvB,MAAAA,CAAC,CAAC,kBAAD,CAAD,CAAsBsD,WAAtB,CAAkC,SAAlC;AACH,KAFD,EAPoC,CAWpC;;AACAtD,IAAAA,CAAC,CAAC,eAAD,CAAD,CAAmBmC,IAAnB,CAAwB,YAAY;AAChC,UAAIC,OAAO,GAAGjC,MAAM,CAACkC,QAAP,CAAgBC,IAAhB,CAAqBC,KAArB,CAA2B,MAA3B,EAAmC,CAAnC,CAAd;;AACA,UAAI,KAAKD,IAAL,IAAaF,OAAjB,EAA0B;AACtBpC,QAAAA,CAAC,CAAC,IAAD,CAAD,CAAQwC,QAAR,CAAiB,QAAjB;AACAxC,QAAAA,CAAC,CAAC,IAAD,CAAD,CAAQU,MAAR,GAAiB8B,QAAjB,CAA0B,QAA1B;AACAxC,QAAAA,CAAC,CAAC,IAAD,CAAD,CAAQU,MAAR,GAAiBA,MAAjB,GAA0B8B,QAA1B,CAAmC,QAAnC;AACAxC,QAAAA,CAAC,CAAC,IAAD,CAAD,CAAQU,MAAR,GAAiBA,MAAjB,GAA0BA,MAA1B,GAAmC8B,QAAnC,CAA4C,QAA5C;AACAxC,QAAAA,CAAC,CAAC,IAAD,CAAD,CAAQU,MAAR,GAAiBA,MAAjB,GAA0BA,MAA1B,GAAmCA,MAAnC,GAA4C8B,QAA5C,CAAqD,QAArD;AACA,YAAIyB,EAAE,GAAGjE,CAAC,CAAC,IAAD,CAAD,CAAQU,MAAR,GAAiBA,MAAjB,GAA0BA,MAA1B,GAAmCA,MAAnC,GAA4C8B,QAA5C,CAAqD,QAArD,EAA+D0B,IAA/D,EAAT;AACA,YAAID,EAAE,CAACE,QAAH,CAAY,UAAZ,CAAJ,EACIF,EAAE,CAACzB,QAAH,CAAY,QAAZ;AACP;AACJ,KAZD,EAZoC,CA0BpC;;AACAxC,IAAAA,CAAC,CAAC,gBAAD,CAAD,CAAoBuB,EAApB,CAAuB,OAAvB,EAAgC,UAAUC,KAAV,EAAiB;AAC7CxB,MAAAA,CAAC,CAAC,IAAD,CAAD,CAAQ4B,WAAR,CAAoB,MAApB;AACA5B,MAAAA,CAAC,CAAC,aAAD,CAAD,CAAiBoE,WAAjB,CAA6B,GAA7B;AACH,KAHD;AAIH,GA/BD;AAiCI;;;;AAIAJ,EAAAA,MAAM,CAAC5D,SAAP,CAAiBG,WAAjB,GAA+B,UAAUC,KAAV,EAAiB;AAC5C,SAAKN,IAAL,CAAUO,IAAV,CAAe,mBAAf,EAAoCD,KAApC;AACA,SAAKE,MAAL,CAAYC,YAAZ,CAAyB,QAAzB,EAAmC;AAAE,eAASH;AAAX,KAAnC;AACH,GAxCL;AA0CI;;;AAGAwD,EAAAA,MAAM,CAAC5D,SAAP,CAAiByD,IAAjB,GAAwB,YAAY;AAChC,SAAK9C,QAAL;AACH,GA/CL,EAgDIf,CAAC,CAACgE,MAAF,GAAW,IAAIA,MAAJ,EAhDf,EAgD2BhE,CAAC,CAACgE,MAAF,CAASF,WAAT,GAAuBE,MAhDlD;AAiDH,CA5DD,CA4DE7D,MAAM,CAAC4D,MA5DT,CA9OJ;AA6SI;;;;AAIA,UAAU/D,CAAV,EAAa;AACT;;AAEA,MAAIqE,QAAQ,GAAG,SAAXA,QAAW,GAAY;AACvB,SAAKnE,IAAL,GAAYF,CAAC,CAAC,MAAD,CAAb,EACI,KAAKG,MAAL,GAAcH,CAAC,CAACG,MAAD,CADnB;AAEH,GAHD;AAKA;;;;;AAGAkE,EAAAA,QAAQ,CAACjE,SAAT,CAAmBkE,uBAAnB,GAA6C,YAAY;AACrD,QAAItD,IAAI,GAAG,IAAX;AACA,QAAIuD,MAAM,GAAGvD,IAAI,CAACC,MAAL,CAAYE,SAAZ,EAAb;;AAEA,QAAIoD,MAAJ,EAAY;AACRvE,MAAAA,CAAC,CAAC,qDAAqDuE,MAAM,CAACC,IAA5D,GAAmE,GAApE,CAAD,CAA0EC,IAA1E,CAA+E,SAA/E,EAA0F,IAA1F;AACAzE,MAAAA,CAAC,CAAC,yCAAyCuE,MAAM,CAAC5C,KAAhD,GAAwD,GAAzD,CAAD,CAA+D8C,IAA/D,CAAoE,SAApE,EAA+E,IAA/E;AACAzE,MAAAA,CAAC,CAAC,kDAAkDuE,MAAM,CAACG,YAAzD,GAAwE,GAAzE,CAAD,CAA+ED,IAA/E,CAAoF,SAApF,EAA+F,IAA/F;AAEAzE,MAAAA,CAAC,CAAC,qDAAqDuE,MAAM,CAACnD,OAAP,CAAeZ,KAApE,GAA4E,GAA7E,CAAD,CAAmFiE,IAAnF,CAAwF,SAAxF,EAAmG,IAAnG;AACAzE,MAAAA,CAAC,CAAC,oDAAoDuE,MAAM,CAACnD,OAAP,CAAeP,IAAnE,GAA0E,GAA3E,CAAD,CAAiF4D,IAAjF,CAAsF,SAAtF,EAAiG,IAAjG;AACAzE,MAAAA,CAAC,CAAC,6CAAD,CAAD,CAAiDyE,IAAjD,CAAsD,SAAtD,EAAiEF,MAAM,CAACnD,OAAP,CAAeuD,QAAhF,EAPQ,CASR;AACH;AACJ,GAfD;AAiBI;;;AAGAN,EAAAA,QAAQ,CAACjE,SAAT,CAAmBwE,kBAAnB,GAAwC,YAAY;AAChD,QAAI5D,IAAI,GAAG,IAAX;AACAA,IAAAA,IAAI,CAACd,IAAL,CAAU0B,WAAV,CAAsB,mBAAtB;AACAZ,IAAAA,IAAI,CAACsD,uBAAL;AACH,GAxBL;AA0BI;;;AAGAD,EAAAA,QAAQ,CAACjE,SAAT,CAAmByD,IAAnB,GAA0B,YAAY;AAClC,QAAI7C,IAAI,GAAG,IAAX,CADkC,CAGlC;;AACAhB,IAAAA,CAAC,CAAC6E,QAAD,CAAD,CAAYtD,EAAZ,CAAe,OAAf,EAAwB,mBAAxB,EAA6C,YAAY;AACrDP,MAAAA,IAAI,CAAC4D,kBAAL;AACH,KAFD;AAIA5E,IAAAA,CAAC,CAAC6E,QAAD,CAAD,CAAYtD,EAAZ,CAAe,OAAf,EAAwB,MAAxB,EAAgC,UAAU8B,CAAV,EAAa;AACzC;AACA,UAAIrD,CAAC,CAACqD,CAAC,CAACtB,MAAH,CAAD,CAAYoB,OAAZ,CAAoB,aAApB,EAAmCtB,MAAnC,KAA8C,CAAlD,EAAqD;AACjD7B,QAAAA,CAAC,CAAC,kBAAD,CAAD,CAAsBsD,WAAtB,CAAkC,SAAlC;AACH;;AACD,UAAItD,CAAC,CAACqD,CAAC,CAACtB,MAAH,CAAD,CAAYoB,OAAZ,CAAoB,+BAApB,EAAqDtB,MAArD,GAA8D,CAAlE,EAAqE;AACjE;AACH;;AAED,UAAI7B,CAAC,CAACqD,CAAC,CAACtB,MAAH,CAAD,CAAYoB,OAAZ,CAAoB,4BAApB,EAAkDtB,MAAlD,GAA2D,CAA3D,IAAgE7B,CAAC,CAACqD,CAAC,CAACtB,MAAH,CAAD,CAAYoC,QAAZ,CAAqB,oBAArB,CAAhE,IACGnE,CAAC,CAACqD,CAAC,CAACtB,MAAH,CAAD,CAAYoB,OAAZ,CAAoB,qBAApB,EAA2CtB,MAA3C,GAAoD,CAD3D,EAC8D;AAC1D;AACH;;AAED7B,MAAAA,CAAC,CAAC,MAAD,CAAD,CAAUsD,WAAV,CAAsB,mBAAtB;AACAtD,MAAAA,CAAC,CAAC,MAAD,CAAD,CAAUsD,WAAV,CAAsB,gBAAtB;AACA;AACH,KAjBD,EARkC,CA2BlC;;AACAtD,IAAAA,CAAC,CAAC,2CAAD,CAAD,CAA+C8E,MAA/C,CAAsD,YAAY;AAC9D9D,MAAAA,IAAI,CAACC,MAAL,CAAY8D,UAAZ,CAAuB/E,CAAC,CAAC,IAAD,CAAD,CAAQgF,GAAR,EAAvB;AACH,KAFD,EA5BkC,CAgClC;;AACAhF,IAAAA,CAAC,CAAC,+BAAD,CAAD,CAAmC8E,MAAnC,CAA0C,YAAY;AAClD9D,MAAAA,IAAI,CAACC,MAAL,CAAYgE,iBAAZ,CAA8BjF,CAAC,CAAC,IAAD,CAAD,CAAQgF,GAAR,EAA9B;AACH,KAFD,EAjCkC,CAqClC;;AACAhF,IAAAA,CAAC,CAAC,wCAAD,CAAD,CAA4C8E,MAA5C,CAAmD,YAAY;AAC3D9D,MAAAA,IAAI,CAACC,MAAL,CAAYiE,mBAAZ,CAAgClF,CAAC,CAAC,IAAD,CAAD,CAAQgF,GAAR,EAAhC;AACH,KAFD,EAtCkC,CA0ClC;;AACAhF,IAAAA,CAAC,CAAC,2CAAD,CAAD,CAA+C8E,MAA/C,CAAsD,YAAY;AAC9D9D,MAAAA,IAAI,CAACC,MAAL,CAAYsC,WAAZ,CAAwBhD,WAAxB,CAAoCP,CAAC,CAAC,IAAD,CAAD,CAAQgF,GAAR,EAApC;AACH,KAFD,EA3CkC,CA+ClC;;AACAhF,IAAAA,CAAC,CAAC,0CAAD,CAAD,CAA8C8E,MAA9C,CAAqD,YAAY;AAC7D9D,MAAAA,IAAI,CAACC,MAAL,CAAYsC,WAAZ,CAAwB3C,UAAxB,CAAmCZ,CAAC,CAAC,IAAD,CAAD,CAAQgF,GAAR,EAAnC;AACH,KAFD,EAhDkC,CAoDlC;;AACAhF,IAAAA,CAAC,CAAC,6CAAD,CAAD,CAAiD8E,MAAjD,CAAwD,UAAUzB,CAAV,EAAa;AACjErC,MAAAA,IAAI,CAACC,MAAL,CAAYsC,WAAZ,CAAwBzC,QAAxB,CAAiCuC,CAAC,CAACtB,MAAF,CAASoD,OAA1C;AACH,KAFD,EArDkC,CAyDlC;;AACAnF,IAAAA,CAAC,CAAC,sCAAD,CAAD,CAA0C8E,MAA1C,CAAiD,YAAY;AACzD9D,MAAAA,IAAI,CAACC,MAAL,CAAYmE,MAAZ,CAAmB7E,WAAnB,CAA+BP,CAAC,CAAC,IAAD,CAAD,CAAQgF,GAAR,EAA/B;AACH,KAFD,EA1DkC,CA8DlC;;AACAhF,IAAAA,CAAC,CAAC,WAAD,CAAD,CAAeuB,EAAf,CAAkB,OAAlB,EAA2B,UAAU8B,CAAV,EAAa;AACpCA,MAAAA,CAAC,CAAC5B,cAAF,GADoC,CAEpC;;AACAT,MAAAA,IAAI,CAACC,MAAL,CAAYoE,KAAZ;AACArE,MAAAA,IAAI,CAACsD,uBAAL;AACH,KALD;AAMH,GAlGL,EAoGItE,CAAC,CAACqE,QAAF,GAAa,IAAIA,QAAJ,EApGjB,EAoG+BrE,CAAC,CAACqE,QAAF,CAAWP,WAAX,GAAyBO,QApGxD;AAqGH,CAhHD,CAgHElE,MAAM,CAAC4D,MAhHT,CAjTJ;AAoaI;;;;AAKA,UAAU/D,CAAV,EAAa;AACT,eADS,CAGT;;AAEA,MAAIkB,cAAc,GAAG,SAAjBA,cAAiB,GAAY;AAC7B,SAAKhB,IAAL,GAAYF,CAAC,CAAC,MAAD,CAAb,EACI,KAAKG,MAAL,GAAcH,CAAC,CAACG,MAAD,CADnB,EAEI,KAAKoE,MAAL,GAAc,EAFlB,EAGI;AACA,SAAKe,cAAL,GAAsBtF,CAAC,CAAC,wBAAD,CAJ3B,EAKI,KAAKuF,eAAL,GAAuBvF,CAAC,CAAC,yBAAD,CAL5B,EAMI,KAAKwF,WAAL,GAAmBxF,CAAC,CAAC,qBAAD,CANxB,EAOI,KAAKyF,YAAL,GAAoBzF,CAAC,CAAC,sBAAD,CAPzB;AAQI,SAAK0F,cAAL,GAAsB1F,CAAC,CAAC,wBAAD,CAAvB,EACA,KAAK2F,eAAL,GAAuB3F,CAAC,CAAC,yBAAD,CADxB;AAEP,GAXD;AAaA;;;;;AAGAkB,EAAAA,cAAc,CAACd,SAAf,CAAyBwF,WAAzB,GAAuC,UAAUC,SAAV,EAAqB;AACxD,SAAKtB,MAAL,GAAcvE,CAAC,CAACqB,MAAF,CAAS,KAAKkD,MAAd,EAAsBsB,SAAtB,CAAd;AACAC,IAAAA,YAAY,CAACC,OAAb,CAAqB,aAArB,EAAoCC,IAAI,CAACC,SAAL,CAAe,KAAK1B,MAApB,CAApC,EAFwD,CAGxD;AACH,GAJD;AAMI;;;;;AAKArD,EAAAA,cAAc,CAACd,SAAf,CAAyBO,YAAzB,GAAwC,UAAUuF,KAAV,EAAiB3B,MAAjB,EAAyB;AAC7D,QAAI4B,MAAM,GAAG,EAAb;;AACA,QAAI,QAAO5B,MAAP,MAAkB,QAAlB,IAA8BA,MAAM,KAAK,IAA7C,EAAmD;AAC/C,UAAI6B,aAAa,GAAG,KAAK7B,MAAL,CAAY2B,KAAZ,CAApB;AACAC,MAAAA,MAAM,CAACD,KAAD,CAAN,GAAgBlG,CAAC,CAACqB,MAAF,CAAS+E,aAAT,EAAwB7B,MAAxB,CAAhB;AACH,KAHD,MAGO;AACH4B,MAAAA,MAAM,CAACD,KAAD,CAAN,GAAgB3B,MAAhB;AACH;;AACD,SAAKqB,WAAL,CAAiBO,MAAjB;AACH,GApBL;AAsBA;;;;AAGAjF,EAAAA,cAAc,CAACd,SAAf,CAAyBiG,UAAzB,GAAsC,YAAY;AAC9C,QAAIC,UAAU,GAAGN,IAAI,CAACO,KAAL,CAAW,KAAKrG,IAAL,CAAUO,IAAV,CAAe,aAAf,IAAgC,KAAKP,IAAL,CAAUO,IAAV,CAAe,aAAf,CAAhC,GAAgE,IAA3E,CAAjB;AAGA,QAAI8D,MAAM,GAAGvE,CAAC,CAACqB,MAAF,CAAS,EAAT,EAAa;AACtBmD,MAAAA,IAAI,EAAE,MADgB;AAEtB7C,MAAAA,KAAK,EAAE,OAFe;AAGtB+C,MAAAA,YAAY,EAAE,OAHQ;AAItBtD,MAAAA,OAAO,EAAE;AACLZ,QAAAA,KAAK,EAAE,MADF;AAELK,QAAAA,IAAI,EAAE,SAFD;AAGL8D,QAAAA,QAAQ,EAAE;AAHL,OAJa;AAStBS,MAAAA,MAAM,EAAE;AACJ5E,QAAAA,KAAK,EAAE;AADH,OATc;AAYtBgG,MAAAA,0BAA0B,EAAE;AAZN,KAAb,CAAb;;AAcA,QAAIV,YAAY,CAACW,WAAjB,EAA8B;AAC1BlC,MAAAA,MAAM,GAAGvE,CAAC,CAACqB,MAAF,CAAS,EAAT,EAAa2E,IAAI,CAACO,KAAL,CAAWT,YAAY,CAACY,OAAb,CAAqB,aAArB,CAAX,CAAb,CAAT;AACH,KAFD,MAEO;AACHZ,MAAAA,YAAY,CAACC,OAAb,CAAqB,aAArB,EAAoCC,IAAI,CAACC,SAAL,CAAe1B,MAAf,CAApC;AACAA,MAAAA,MAAM,GAAG+B,UAAT;AACH;;AAAA;AACD,WAAO/B,MAAP;AACH,GAzBD;AA2BI;;;AAGArD,EAAAA,cAAc,CAACd,SAAf,CAAyBuG,WAAzB,GAAuC,YAAY;AAC/C;AACA,SAAKpC,MAAL,GAAc,KAAK8B,UAAL,EAAd,CAF+C,CAI/C;;AACA,SAAK9C,WAAL,CAAiBM,IAAjB;AACA,SAAKuB,MAAL,CAAYvB,IAAZ;AAEA,SAAKN,WAAL,CAAiB7C,MAAjB,GAA0B,IAA1B;AACA,SAAK0E,MAAL,CAAY1E,MAAZ,GAAqB,IAArB,CAT+C,CAY/C;;AACA,SAAKqE,UAAL,CAAgB,KAAKR,MAAL,CAAYC,IAA5B,EAb+C,CAe/C;;AACA,SAAKS,iBAAL,CAAuB,KAAKV,MAAL,CAAY5C,KAAnC,EAhB+C,CAkB/C;;AACA,SAAKuD,mBAAL,CAAyB,KAAKX,MAAL,CAAYG,YAArC,EAnB+C,CAqB/C;;AACA,QAAIkC,aAAa,GAAG5G,CAAC,CAACqB,MAAF,CAAS,EAAT,EAAa,KAAKkD,MAAL,CAAYnD,OAAzB,CAApB;AACA,SAAKmC,WAAL,CAAiBhD,WAAjB,CAA6BqG,aAAa,CAACpG,KAA3C;AACA,SAAK+C,WAAL,CAAiB3C,UAAjB,CAA4BgG,aAAa,CAAC/F,IAA1C;AACA,SAAK0C,WAAL,CAAiBzC,QAAjB,CAA0B8F,aAAa,CAACjC,QAAxC,EAzB+C,CA2B/C;;AACA,QAAIkC,YAAY,GAAG7G,CAAC,CAACqB,MAAF,CAAS,EAAT,EAAa,KAAKkD,MAAL,CAAYa,MAAzB,CAAnB;AACA,SAAKA,MAAL,CAAY7E,WAAZ,CAAwBsG,YAAY,CAACrG,KAArC;AACH,GA5DL;AA8DI;;;;AAIAU,EAAAA,cAAc,CAACd,SAAf,CAAyB2E,UAAzB,GAAsC,UAAUP,IAAV,EAAgB;AAClD;AACA,YAAQA,IAAR;AACI,WAAK,SAAL;AAAgB;AACZ,eAAKc,cAAL,CAAoB7E,IAApB,CAAyB,UAAzB,EAAqC,IAArC;AACA,eAAK8E,eAAL,CAAqB9E,IAArB,CAA0B,UAA1B,EAAsC,IAAtC;AAEA,eAAK+E,WAAL,CAAiB/E,IAAjB,CAAsB,UAAtB,EAAkC,IAAlC;AACA,eAAKgF,YAAL,CAAkBhF,IAAlB,CAAuB,UAAvB,EAAmC,IAAnC;AAEA,eAAKiF,cAAL,CAAoBjF,IAApB,CAAyB,UAAzB,EAAqC,KAArC;AACA,eAAKkF,eAAL,CAAqBlF,IAArB,CAA0B,UAA1B,EAAsC,KAAtC;AAEA,eAAK8C,WAAL,CAAiBhD,WAAjB,CAA6B,SAA7B;AACA,eAAK6E,MAAL,CAAY7E,WAAZ,CAAwB,MAAxB;;AACA,eAAKqF,WAAL,CAAiB;AAAEpB,YAAAA,IAAI,EAAEA,IAAR;AAAcpD,YAAAA,OAAO,EAAEpB,CAAC,CAACqB,MAAF,CAAS,EAAT,EAAa,KAAKkD,MAAL,CAAYnD,OAAzB,EAAkC;AAAEZ,cAAAA,KAAK,EAAE;AAAT,aAAlC;AAAvB,WAAjB;;AACA;AACH;;AACD,WAAK,MAAL;AAAa;AACT,eAAK8E,cAAL,CAAoB7E,IAApB,CAAyB,UAAzB,EAAqC,IAArC;AACA,eAAK8E,eAAL,CAAqB9E,IAArB,CAA0B,UAA1B,EAAsC,IAAtC;AAEA,eAAK+E,WAAL,CAAiB/E,IAAjB,CAAsB,UAAtB,EAAkC,KAAlC;AACA,eAAKgF,YAAL,CAAkBhF,IAAlB,CAAuB,UAAvB,EAAmC,KAAnC;AAEA,eAAKiF,cAAL,CAAoBjF,IAApB,CAAyB,UAAzB,EAAqC,IAArC;AACA,eAAKkF,eAAL,CAAqBlF,IAArB,CAA0B,UAA1B,EAAsC,IAAtC;AAEA,eAAK8C,WAAL,CAAiBhD,WAAjB,CAA6B,MAA7B;AACA,eAAK6E,MAAL,CAAY7E,WAAZ,CAAwB,MAAxB;;AAEA,eAAKqF,WAAL,CAAiB;AAAEpB,YAAAA,IAAI,EAAEA,IAAR;AAAcpD,YAAAA,OAAO,EAAEpB,CAAC,CAACqB,MAAF,CAAS,EAAT,EAAa,KAAKkD,MAAL,CAAYnD,OAAzB,EAAkC;AAAEZ,cAAAA,KAAK,EAAE;AAAT,aAAlC;AAAvB,WAAjB;;AACA;AACH;;AACD;AAAS;AACL,eAAK8E,cAAL,CAAoB7E,IAApB,CAAyB,UAAzB,EAAqC,KAArC;AACA,eAAK8E,eAAL,CAAqB9E,IAArB,CAA0B,UAA1B,EAAsC,KAAtC;AAEA,eAAK+E,WAAL,CAAiB/E,IAAjB,CAAsB,UAAtB,EAAkC,IAAlC;AACA,eAAKgF,YAAL,CAAkBhF,IAAlB,CAAuB,UAAvB,EAAmC,IAAnC;AAEA,eAAKiF,cAAL,CAAoBjF,IAApB,CAAyB,UAAzB,EAAqC,IAArC;AACA,eAAKkF,eAAL,CAAqBlF,IAArB,CAA0B,UAA1B,EAAsC,IAAtC;AAEA,eAAK8C,WAAL,CAAiBhD,WAAjB,CAA6B,OAA7B;AACA,eAAK6E,MAAL,CAAY7E,WAAZ,CAAwB,OAAxB;;AAEA,eAAKqF,WAAL,CAAiB;AAAEpB,YAAAA,IAAI,EAAEA,IAAR;AAAcpD,YAAAA,OAAO,EAAEpB,CAAC,CAACqB,MAAF,CAAS,EAAT,EAAa,KAAKkD,MAAL,CAAYnD,OAAzB,EAAkC;AAAEZ,cAAAA,KAAK,EAAE;AAAT,aAAlC;AAAvB,WAAjB;;AACA;AACH;AA/CL;;AAkDA,SAAKsG,QAAL,CAAcxC,uBAAd;AACH,GAvHL;AAyHA;;;;AAGApD,EAAAA,cAAc,CAACd,SAAf,CAAyB6E,iBAAzB,GAA6C,UAAUtD,KAAV,EAAiB;AAC1D,YAAQA,KAAR;AACI,WAAK,OAAL;AAAc;AACV,eAAKzB,IAAL,CAAUO,IAAV,CAAe,mBAAf,EAAoC,OAApC,EADU,CAEV;;AACAT,UAAAA,CAAC,CAACC,WAAF,CAAcW,UAAd,CAAyB,WAAzB;;AACA,eAAKgF,WAAL,CAAiB;AAAEjE,YAAAA,KAAK,EAAEA;AAAT,WAAjB;;AACA;AACH;;AACD;AAAS;AACL,eAAKzB,IAAL,CAAUO,IAAV,CAAe,mBAAf,EAAoC,OAApC,EADK,CAEL;;AACA,cAAI6F,UAAU,GAAGN,IAAI,CAACO,KAAL,CAAW,KAAKrG,IAAL,CAAUO,IAAV,CAAe,aAAf,IAAgC,KAAKP,IAAL,CAAUO,IAAV,CAAe,aAAf,CAAhC,GAAgE,IAA3E,CAAjB;AACAT,UAAAA,CAAC,CAACC,WAAF,CAAcW,UAAd,CAAyB0F,UAAU,IAAIA,UAAU,CAAClF,OAAzB,GAAmCkF,UAAU,CAAClF,OAAX,CAAmBP,IAAtD,GAA6D,SAAtF;;AACA,eAAK+E,WAAL,CAAiB;AAAEjE,YAAAA,KAAK,EAAEA;AAAT,WAAjB;;AACA;AACH;AAfL;;AAiBA,SAAKmF,QAAL,CAAcxC,uBAAd;AACH,GAnBD;AAqBA;;;;;AAGApD,EAAAA,cAAc,CAACd,SAAf,CAAyB8E,mBAAzB,GAA+C,UAAU6B,QAAV,EAAoB;AAC/D,SAAK7G,IAAL,CAAUO,IAAV,CAAe,2BAAf,EAA4CsG,QAA5C;AACH,GAFD;AAIA;;;;;AAGA7F,EAAAA,cAAc,CAACd,SAAf,CAAyB4G,gBAAzB,GAA4C,YAAY;AACpD,SAAKzC,MAAL,GAAc,EAAd;AACH,GAFD;AAII;;;AAGArD,EAAAA,cAAc,CAACd,SAAf,CAAyBe,SAAzB,GAAqC,YAAY;AAC7C,WAAO,KAAKoD,MAAZ;AACH,GATL;AAWI;;;AAGArD,EAAAA,cAAc,CAACd,SAAf,CAAyBiF,KAAzB,GAAiC,YAAY;AACzC,SAAK2B,gBAAL;AACA,SAAKL,WAAL;AACH,GAjBL;AAmBI;;;AAGAzF,EAAAA,cAAc,CAACd,SAAf,CAAyByD,IAAzB,GAAgC,YAAY;AACxC,SAAKN,WAAL,GAAmBvD,CAAC,CAACC,WAArB;AACA,SAAKmF,MAAL,GAAcpF,CAAC,CAACgE,MAAhB;AAEA,SAAKT,WAAL,CAAiB7C,MAAjB,GAA0B,IAA1B;AACA,SAAK0E,MAAL,CAAY1E,MAAZ,GAAqB,IAArB,CALwC,CAOxC;;AACA,SAAKiG,WAAL;AACH,GA/BL,EAiCI3G,CAAC,CAACkB,cAAF,GAAmB,IAAIA,cAAJ,EAjCvB,EAiC2ClB,CAAC,CAACkB,cAAF,CAAiB4C,WAAjB,GAA+B5C,cAjC1E;AAkCH,CA3OD,CA2OEf,MAAM,CAAC4D,MA3OT,CAzaJ","sourcesContent":["/*\r\nTemplate Name: Ubold - Responsive Bootstrap 4 Admin Dashboard\r\nAuthor: CoderThemes\r\nWebsite: https://coderthemes.com/\r\nContact: support@coderthemes.com\r\nFile: Layout\r\n*/\r\n\r\n\r\n/**\r\n * LeftSidebar\r\n * @param {*} $ \r\n */\r\n!function ($) {\r\n 'use strict';\r\n\r\n var LeftSidebar = function () {\r\n this.body = $('body'),\r\n this.window = $(window)\r\n };\r\n\r\n /**\r\n * Reset the theme\r\n */\r\n LeftSidebar.prototype._reset = function () {\r\n this.body.removeAttr('data-sidebar-color');\r\n this.body.removeAttr('data-sidebar-size');\r\n this.body.removeAttr('data-sidebar-showuser');\r\n },\r\n\r\n /**\r\n * Changes the color of sidebar\r\n * @param {*} color \r\n */\r\n LeftSidebar.prototype.changeColor = function (color) {\r\n this.body.attr('data-sidebar-color', color);\r\n this.parent.updateConfig(\"sidebar\", { \"color\": color });\r\n },\r\n\r\n /**\r\n * Changes the size of sidebar\r\n * @param {*} size \r\n */\r\n LeftSidebar.prototype.changeSize = function (size) {\r\n this.body.attr('data-sidebar-size', size);\r\n this.parent.updateConfig(\"sidebar\", { \"size\": size });\r\n },\r\n\r\n /**\r\n * Toggle User information\r\n * @param {*} showUser \r\n */\r\n LeftSidebar.prototype.showUser = function (showUser) {\r\n this.body.attr('data-sidebar-showuser', showUser);\r\n this.parent.updateConfig(\"sidebar\", { \"showuser\": showUser });\r\n },\r\n\r\n /**\r\n * Initilizes the menu\r\n */\r\n LeftSidebar.prototype.initMenu = function () {\r\n var self = this;\r\n\r\n var layout = $.LayoutThemeApp.getConfig();\r\n var sidebar = $.extend({}, layout ? layout.sidebar : {});\r\n var defaultSidebarSize = sidebar.size ? sidebar.size : 'default';\r\n\r\n // resets everything\r\n this._reset();\r\n\r\n // Left menu collapse\r\n $('.button-menu-mobile').on('click', function (event) {\r\n event.preventDefault();\r\n var sidebarSize = self.body.attr('data-sidebar-size');\r\n if (self.window.width() >= 993) {\r\n if (sidebarSize === 'condensed') {\r\n self.changeSize(defaultSidebarSize);\r\n } else {\r\n self.changeSize('condensed');\r\n }\r\n } else {\r\n self.changeSize(defaultSidebarSize);\r\n self.body.toggleClass('sidebar-enable');\r\n }\r\n });\r\n\r\n // sidebar - main menu\r\n if ($(\"#side-menu\").length) {\r\n var navCollapse = $('#side-menu li .collapse');\r\n\r\n // open one menu at a time only\r\n navCollapse.on({\r\n 'show.bs.collapse': function (event) {\r\n var parent = $(event.target).parents('.collapse.show');\r\n $('#side-menu .collapse.show').not(parent).collapse('hide');\r\n }\r\n });\r\n\r\n // activate the menu in left side bar (Vertical Menu) based on url\r\n $(\"#side-menu a\").each(function () {\r\n var pageUrl = window.location.href.split(/[?#]/)[0];\r\n if (this.href == pageUrl) {\r\n $(this).addClass(\"active\");\r\n $(this).parent().addClass(\"menuitem-active\");\r\n $(this).parent().parent().parent().addClass(\"show\");\r\n $(this).parent().parent().parent().parent().addClass(\"menuitem-active\"); // add active to li of the current link\r\n\r\n var firstLevelParent = $(this).parent().parent().parent().parent().parent().parent();\r\n if (firstLevelParent.attr('id') !== 'sidebar-menu')\r\n firstLevelParent.addClass(\"show\");\r\n\r\n $(this).parent().parent().parent().parent().parent().parent().parent().addClass(\"menuitem-active\");\r\n\r\n var secondLevelParent = $(this).parent().parent().parent().parent().parent().parent().parent().parent().parent();\r\n if (secondLevelParent.attr('id') !== 'wrapper')\r\n secondLevelParent.addClass(\"show\");\r\n\r\n var upperLevelParent = $(this).parent().parent().parent().parent().parent().parent().parent().parent().parent().parent();\r\n if (!upperLevelParent.is('body'))\r\n upperLevelParent.addClass(\"menuitem-active\");\r\n }\r\n });\r\n }\r\n\r\n\r\n // handling two columns menu if present\r\n var twoColSideNav = $(\"#two-col-sidenav-main\");\r\n if (twoColSideNav.length) {\r\n var twoColSideNavItems = $(\"#two-col-sidenav-main .nav-link\");\r\n var sideSubMenus = $(\".twocolumn-menu-item\");\r\n\r\n // showing/displaying tooltip based on screen size\r\n if (this.window.width() >= 585) {\r\n twoColSideNavItems.tooltip('enable');\r\n } else {\r\n twoColSideNavItems.tooltip('disable');\r\n }\r\n\r\n var nav = $('.twocolumn-menu-item .nav-second-level');\r\n var navCollapse = $('#two-col-menu li .collapse');\r\n\r\n // open one menu at a time only\r\n navCollapse.on({\r\n 'show.bs.collapse': function () {\r\n var nearestNav = $(this).closest(nav).closest(nav).find(navCollapse);\r\n if (nearestNav.length)\r\n nearestNav.not($(this)).collapse('hide');\r\n else\r\n navCollapse.not($(this)).collapse('hide');\r\n }\r\n });\r\n\r\n twoColSideNavItems.on('click', function (e) {\r\n var target = $($(this).attr('href'));\r\n\r\n if (target.length) {\r\n e.preventDefault();\r\n\r\n twoColSideNavItems.removeClass('active');\r\n $(this).addClass('active');\r\n\r\n sideSubMenus.removeClass(\"d-block\");\r\n target.addClass(\"d-block\");\r\n\r\n // showing full sidebar if menu item is clicked\r\n $.LayoutThemeApp.leftSidebar.changeSize('default');\r\n return false;\r\n }\r\n return true;\r\n });\r\n\r\n // activate menu with no child\r\n var pageUrl = window.location.href.split(/[?#]/)[0];\r\n twoColSideNavItems.each(function () {\r\n if (this.href == pageUrl) {\r\n $(this).addClass('active');\r\n }\r\n });\r\n\r\n\r\n // activate the menu in left side bar (Two column) based on url\r\n $(\"#two-col-menu a\").each(function () {\r\n if (this.href == pageUrl) {\r\n $(this).addClass(\"active\");\r\n $(this).parent().addClass(\"menuitem-active\");\r\n $(this).parent().parent().parent().addClass(\"show\");\r\n $(this).parent().parent().parent().parent().addClass(\"menuitem-active\"); // add active to li of the current link\r\n\r\n var firstLevelParent = $(this).parent().parent().parent().parent().parent().parent();\r\n if (firstLevelParent.attr('id') !== 'sidebar-menu')\r\n firstLevelParent.addClass(\"show\");\r\n\r\n $(this).parent().parent().parent().parent().parent().parent().parent().addClass(\"menuitem-active\");\r\n\r\n var secondLevelParent = $(this).parent().parent().parent().parent().parent().parent().parent().parent().parent();\r\n if (secondLevelParent.attr('id') !== 'wrapper')\r\n secondLevelParent.addClass(\"show\");\r\n\r\n var upperLevelParent = $(this).parent().parent().parent().parent().parent().parent().parent().parent().parent().parent();\r\n if (!upperLevelParent.is('body'))\r\n upperLevelParent.addClass(\"menuitem-active\");\r\n\r\n // opening menu\r\n var matchingItem = null;\r\n var targetEl = '#' + $(this).parents('.twocolumn-menu-item').attr(\"id\");\r\n $(\"#two-col-sidenav-main .nav-link\").each(function () {\r\n if ($(this).attr('href') === targetEl) {\r\n matchingItem = $(this);\r\n }\r\n });\r\n if (matchingItem) matchingItem.trigger('click');\r\n }\r\n });\r\n }\r\n },\r\n\r\n /**\r\n * Initilize the left sidebar size based on screen size\r\n */\r\n LeftSidebar.prototype.initLayout = function () {\r\n // in case of small size, activate the small menu\r\n if ((this.window.width() >= 768 && this.window.width() <= 1028) || this.body.data('keep-enlarged')) {\r\n this.changeSize('condensed');\r\n } else {\r\n this.changeSize('default');\r\n }\r\n },\r\n\r\n /**\r\n * Initilizes the menu\r\n */\r\n LeftSidebar.prototype.init = function () {\r\n var self = this;\r\n this.initMenu();\r\n this.initLayout();\r\n\r\n // on window resize, make menu flipped automatically\r\n this.window.on('resize', function (e) {\r\n e.preventDefault();\r\n self.initLayout();\r\n });\r\n },\r\n\r\n $.LeftSidebar = new LeftSidebar, $.LeftSidebar.Constructor = LeftSidebar\r\n}(window.jQuery),\r\n\r\n\r\n /**\r\n * Topbar\r\n * @param {*} $ \r\n */\r\n function ($) {\r\n 'use strict';\r\n\r\n var Topbar = function () {\r\n this.body = $('body'),\r\n this.window = $(window)\r\n };\r\n\r\n /**\r\n * Initilizes the menu\r\n */\r\n Topbar.prototype.initMenu = function () {\r\n // Serach Toggle\r\n $('#top-search').on('click', function (e) {\r\n $('#search-dropdown').addClass('d-block');\r\n });\r\n\r\n // hide search on opening other dropdown\r\n $('.topbar-dropdown').on('show.bs.dropdown', function () {\r\n $('#search-dropdown').removeClass('d-block');\r\n });\r\n\r\n //activate the menu in topbar(horizontal menu) based on url\r\n $(\".navbar-nav a\").each(function () {\r\n var pageUrl = window.location.href.split(/[?#]/)[0];\r\n if (this.href == pageUrl) {\r\n $(this).addClass(\"active\");\r\n $(this).parent().addClass(\"active\");\r\n $(this).parent().parent().addClass(\"active\");\r\n $(this).parent().parent().parent().addClass(\"active\");\r\n $(this).parent().parent().parent().parent().addClass(\"active\");\r\n var el = $(this).parent().parent().parent().parent().addClass(\"active\").prev();\r\n if (el.hasClass(\"nav-link\"))\r\n el.addClass('active');\r\n }\r\n });\r\n\r\n // Topbar - main menu\r\n $('.navbar-toggle').on('click', function (event) {\r\n $(this).toggleClass('open');\r\n $('#navigation').slideToggle(400);\r\n });\r\n },\r\n\r\n /**\r\n * Changes the color of topbar\r\n * @param {*} color \r\n */\r\n Topbar.prototype.changeColor = function (color) {\r\n this.body.attr('data-topbar-color', color);\r\n this.parent.updateConfig(\"topbar\", { \"color\": color });\r\n },\r\n\r\n /**\r\n * Initilizes the menu\r\n */\r\n Topbar.prototype.init = function () {\r\n this.initMenu();\r\n },\r\n $.Topbar = new Topbar, $.Topbar.Constructor = Topbar\r\n }(window.jQuery),\r\n\r\n\r\n /**\r\n * RightBar\r\n * @param {*} $ \r\n */\r\n function ($) {\r\n 'use strict';\r\n\r\n var RightBar = function () {\r\n this.body = $('body'),\r\n this.window = $(window)\r\n };\r\n\r\n /** \r\n * Select the option based on saved config\r\n */\r\n RightBar.prototype.selectOptionsFromConfig = function () {\r\n var self = this;\r\n var config = self.layout.getConfig();\r\n\r\n if (config) {\r\n $('input[type=radio][name=color-scheme-mode][value=' + config.mode + ']').prop('checked', true);\r\n $('input[type=radio][name=width][value=' + config.width + ']').prop('checked', true);\r\n $('input[type=radio][name=menus-position][value=' + config.menuPosition + ']').prop('checked', true);\r\n\r\n $('input[type=radio][name=leftsidebar-color][value=' + config.sidebar.color + ']').prop('checked', true);\r\n $('input[type=radio][name=leftsidebar-size][value=' + config.sidebar.size + ']').prop('checked', true);\r\n $('input[type=checkbox][name=leftsidebar-user]').prop('checked', config.sidebar.showuser);\r\n\r\n // $('input[type=radio][name=topbar-color][value=' + config.topbar.color + ']').prop('checked', true);\r\n }\r\n },\r\n\r\n /**\r\n * Toggles the right sidebar\r\n */\r\n RightBar.prototype.toggleRightSideBar = function () {\r\n var self = this;\r\n self.body.toggleClass('right-bar-enabled');\r\n self.selectOptionsFromConfig();\r\n },\r\n\r\n /**\r\n * Initilizes the right side bar\r\n */\r\n RightBar.prototype.init = function () {\r\n var self = this;\r\n\r\n // right side-bar toggle\r\n $(document).on('click', '.right-bar-toggle', function () {\r\n self.toggleRightSideBar();\r\n });\r\n\r\n $(document).on('click', 'body', function (e) {\r\n // hiding search bar\r\n if ($(e.target).closest('#top-search').length !== 1) {\r\n $('#search-dropdown').removeClass('d-block');\r\n }\r\n if ($(e.target).closest('.right-bar-toggle, .right-bar').length > 0) {\r\n return;\r\n }\r\n\r\n if ($(e.target).closest('.left-side-menu, .side-nav').length > 0 || $(e.target).hasClass('button-menu-mobile')\r\n || $(e.target).closest('.button-menu-mobile').length > 0) {\r\n return;\r\n }\r\n\r\n $('body').removeClass('right-bar-enabled');\r\n $('body').removeClass('sidebar-enable');\r\n return;\r\n });\r\n\r\n // overall color scheme\r\n $('input[type=radio][name=color-scheme-mode]').change(function () {\r\n self.layout.changeMode($(this).val());\r\n });\r\n\r\n // width mode\r\n $('input[type=radio][name=width]').change(function () {\r\n self.layout.changeLayoutWidth($(this).val());\r\n });\r\n\r\n // menus-position\r\n $('input[type=radio][name=menus-position]').change(function () {\r\n self.layout.changeMenuPositions($(this).val());\r\n });\r\n\r\n // left sidebar color\r\n $('input[type=radio][name=leftsidebar-color]').change(function () {\r\n self.layout.leftSidebar.changeColor($(this).val());\r\n });\r\n\r\n // left sidebar size\r\n $('input[type=radio][name=leftsidebar-size]').change(function () {\r\n self.layout.leftSidebar.changeSize($(this).val());\r\n });\r\n\r\n // left sidebar user information\r\n $('input[type=checkbox][name=leftsidebar-user]').change(function (e) {\r\n self.layout.leftSidebar.showUser(e.target.checked);\r\n });\r\n\r\n // topbar\r\n $('input[type=radio][name=topbar-color]').change(function () {\r\n self.layout.topbar.changeColor($(this).val());\r\n });\r\n\r\n // reset\r\n $('#resetBtn').on('click', function (e) {\r\n e.preventDefault();\r\n // reset to default\r\n self.layout.reset();\r\n self.selectOptionsFromConfig();\r\n });\r\n },\r\n\r\n $.RightBar = new RightBar, $.RightBar.Constructor = RightBar\r\n }(window.jQuery),\r\n\r\n\r\n /**\r\n * Layout and theme manager\r\n * @param {*} $ \r\n */\r\n\r\n function ($) {\r\n 'use strict';\r\n\r\n // Layout and theme manager\r\n\r\n var LayoutThemeApp = function () {\r\n this.body = $('body'),\r\n this.window = $(window),\r\n this.config = {},\r\n // styles\r\n this.defaultBSStyle = $(\"#bs-default-stylesheet\"),\r\n this.defaultAppStyle = $(\"#app-default-stylesheet\"),\r\n this.darkBSStyle = $(\"#bs-dark-stylesheet\"),\r\n this.darkAppStyle = $(\"#app-dark-stylesheet\");\r\n this.exemploBSStyle = $(\"#bs-exemplo-stylesheet\"),\r\n this.exemploAppStyle = $(\"#app-exemplo-stylesheet\");\r\n };\r\n\r\n /**\r\n * Preserves the config in memory\r\n */\r\n LayoutThemeApp.prototype._saveConfig = function (newConfig) {\r\n this.config = $.extend(this.config, newConfig);\r\n localStorage.setItem('ancodeTheme', JSON.stringify(this.config));\r\n // NOTE: You can make ajax call here to save preference on server side or localstorage as well\r\n },\r\n\r\n /**\r\n * Update the config for given config\r\n * @param {*} param \r\n * @param {*} config \r\n */\r\n LayoutThemeApp.prototype.updateConfig = function (param, config) {\r\n var newObj = {};\r\n if (typeof config === 'object' && config !== null) {\r\n var originalParam = this.config[param];\r\n newObj[param] = $.extend(originalParam, config);\r\n } else {\r\n newObj[param] = config;\r\n }\r\n this._saveConfig(newObj);\r\n }\r\n\r\n /**\r\n * Loads the config - takes from body if available else uses default one\r\n */\r\n LayoutThemeApp.prototype.loadConfig = function () {\r\n var bodyConfig = JSON.parse(this.body.attr('data-layout') ? this.body.attr('data-layout') : '{}');\r\n\r\n\r\n var config = $.extend({}, {\r\n mode: \"dark\",\r\n width: \"fluid\",\r\n menuPosition: 'fixed',\r\n sidebar: {\r\n color: \"dark\",\r\n size: \"default\",\r\n showuser: false\r\n },\r\n topbar: {\r\n color: \"dark\"\r\n },\r\n showRightSidebarOnPageLoad: false\r\n });\r\n if (localStorage.ancodeTheme) {\r\n config = $.extend({}, JSON.parse(localStorage.getItem('ancodeTheme')));\r\n } else {\r\n localStorage.setItem('ancodeTheme', JSON.stringify(config));\r\n config = bodyConfig;\r\n };\r\n return config;\r\n },\r\n\r\n /**\r\n * Apply the config\r\n */\r\n LayoutThemeApp.prototype.applyConfig = function () {\r\n // getting the saved config if available\r\n this.config = this.loadConfig();\r\n\r\n // activate menus\r\n this.leftSidebar.init();\r\n this.topbar.init();\r\n\r\n this.leftSidebar.parent = this;\r\n this.topbar.parent = this;\r\n\r\n\r\n // mode\r\n this.changeMode(this.config.mode);\r\n\r\n // width\r\n this.changeLayoutWidth(this.config.width);\r\n\r\n // menu position\r\n this.changeMenuPositions(this.config.menuPosition);\r\n\r\n // left sidebar\r\n var sidebarConfig = $.extend({}, this.config.sidebar);\r\n this.leftSidebar.changeColor(sidebarConfig.color);\r\n this.leftSidebar.changeSize(sidebarConfig.size);\r\n this.leftSidebar.showUser(sidebarConfig.showuser);\r\n\r\n // topbar\r\n var topbarConfig = $.extend({}, this.config.topbar);\r\n this.topbar.changeColor(topbarConfig.color);\r\n },\r\n\r\n /**\r\n * Toggle dark or light mode\r\n * @param {*} mode \r\n */\r\n LayoutThemeApp.prototype.changeMode = function (mode) {\r\n // sets the theme\r\n switch (mode) {\r\n case \"exemplo\": {\r\n this.defaultBSStyle.attr(\"disabled\", true);\r\n this.defaultAppStyle.attr(\"disabled\", true);\r\n\r\n this.darkBSStyle.attr(\"disabled\", true);\r\n this.darkAppStyle.attr(\"disabled\", true);\r\n\r\n this.exemploBSStyle.attr(\"disabled\", false);\r\n this.exemploAppStyle.attr(\"disabled\", false);\r\n\r\n this.leftSidebar.changeColor(\"exemplo\");\r\n this.topbar.changeColor(\"dark\");\r\n this._saveConfig({ mode: mode, sidebar: $.extend({}, this.config.sidebar, { color: 'exemplo' }) });\r\n break;\r\n }\r\n case \"dark\": {\r\n this.defaultBSStyle.attr(\"disabled\", true);\r\n this.defaultAppStyle.attr(\"disabled\", true);\r\n\r\n this.darkBSStyle.attr(\"disabled\", false);\r\n this.darkAppStyle.attr(\"disabled\", false);\r\n\r\n this.exemploBSStyle.attr(\"disabled\", true);\r\n this.exemploAppStyle.attr(\"disabled\", true);\r\n\r\n this.leftSidebar.changeColor(\"dark\");\r\n this.topbar.changeColor(\"dark\");\r\n\r\n this._saveConfig({ mode: mode, sidebar: $.extend({}, this.config.sidebar, { color: 'dark' }) });\r\n break;\r\n }\r\n default: {\r\n this.defaultBSStyle.attr(\"disabled\", false);\r\n this.defaultAppStyle.attr(\"disabled\", false);\r\n\r\n this.darkBSStyle.attr(\"disabled\", true);\r\n this.darkAppStyle.attr(\"disabled\", true);\r\n\r\n this.exemploBSStyle.attr(\"disabled\", true);\r\n this.exemploAppStyle.attr(\"disabled\", true);\r\n \r\n this.leftSidebar.changeColor(\"light\");\r\n this.topbar.changeColor(\"light\");\r\n\r\n this._saveConfig({ mode: mode, sidebar: $.extend({}, this.config.sidebar, { color: 'light' }) });\r\n break;\r\n }\r\n }\r\n\r\n this.rightBar.selectOptionsFromConfig();\r\n }\r\n\r\n /**\r\n * Changes the width of layout\r\n */\r\n LayoutThemeApp.prototype.changeLayoutWidth = function (width) {\r\n switch (width) {\r\n case \"boxed\": {\r\n this.body.attr('data-layout-width', 'boxed');\r\n // automatically activating condensed\r\n $.LeftSidebar.changeSize(\"condensed\");\r\n this._saveConfig({ width: width });\r\n break;\r\n }\r\n default: {\r\n this.body.attr('data-layout-width', 'fluid');\r\n // automatically activating provided size\r\n var bodyConfig = JSON.parse(this.body.attr('data-layout') ? this.body.attr('data-layout') : '{}');\r\n $.LeftSidebar.changeSize(bodyConfig && bodyConfig.sidebar ? bodyConfig.sidebar.size : \"default\");\r\n this._saveConfig({ width: width });\r\n break;\r\n }\r\n }\r\n this.rightBar.selectOptionsFromConfig();\r\n }\r\n\r\n /**\r\n * Changes menu positions\r\n */\r\n LayoutThemeApp.prototype.changeMenuPositions = function (position) {\r\n this.body.attr(\"data-layout-menu-position\", position);\r\n }\r\n\r\n /**\r\n * Clear out the saved config\r\n */\r\n LayoutThemeApp.prototype.clearSavedConfig = function () {\r\n this.config = {};\r\n },\r\n\r\n /**\r\n * Gets the config\r\n */\r\n LayoutThemeApp.prototype.getConfig = function () {\r\n return this.config;\r\n },\r\n\r\n /**\r\n * Reset to default\r\n */\r\n LayoutThemeApp.prototype.reset = function () {\r\n this.clearSavedConfig();\r\n this.applyConfig();\r\n },\r\n\r\n /**\r\n * Init\r\n */\r\n LayoutThemeApp.prototype.init = function () {\r\n this.leftSidebar = $.LeftSidebar;\r\n this.topbar = $.Topbar;\r\n\r\n this.leftSidebar.parent = this;\r\n this.topbar.parent = this;\r\n\r\n // initilize the menu\r\n this.applyConfig();\r\n },\r\n\r\n $.LayoutThemeApp = new LayoutThemeApp, $.LayoutThemeApp.Constructor = LayoutThemeApp\r\n }(window.jQuery);"],"file":"layout.js"}